@bayybays/stacksone-sdk 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (435) hide show
  1. package/.github/workflows/clarinet.yaml +33 -0
  2. package/README.md +444 -0
  3. package/docs/ARCHITECTURE.md +69 -0
  4. package/docs/CONTRACT_REGISTRY.md +11 -0
  5. package/docs/MODULE_OVERVIEW.md +38 -0
  6. package/docs/ROADMAP_Q1_2026.md +21 -0
  7. package/docs/SECURITY.md +47 -0
  8. package/docs/devlog.md +925 -0
  9. package/docs/notes.md +5 -0
  10. package/eslint.config.js +29 -0
  11. package/index.html +24 -0
  12. package/nonce.txt +1 -0
  13. package/nonce_store/nonce_1.txt +1 -0
  14. package/nonce_store/nonce_10.txt +1 -0
  15. package/nonce_store/nonce_2.txt +1 -0
  16. package/nonce_store/nonce_3.txt +1 -0
  17. package/nonce_store/nonce_4.txt +1 -0
  18. package/nonce_store/nonce_5.txt +1 -0
  19. package/nonce_store/nonce_6.txt +1 -0
  20. package/nonce_store/nonce_7.txt +1 -0
  21. package/nonce_store/nonce_8.txt +1 -0
  22. package/nonce_store/nonce_9.txt +1 -0
  23. package/package.json +62 -0
  24. package/package.json.save +60 -0
  25. package/postcss.config.js +6 -0
  26. package/public/logo.png +0 -0
  27. package/public/vite.svg +1 -0
  28. package/smart-contracts/.gitattributes +3 -0
  29. package/smart-contracts/.vscode/settings.json +4 -0
  30. package/smart-contracts/.vscode/tasks.json +19 -0
  31. package/smart-contracts/Clarinet.toml +11 -0
  32. package/smart-contracts/Mainnet.toml +5 -0
  33. package/smart-contracts/contracts/chaintap.clar +200 -0
  34. package/smart-contracts/contracts/contract-0.clar +35 -0
  35. package/smart-contracts/contracts/contract-1.clar +26 -0
  36. package/smart-contracts/contracts/contract-10.clar +31 -0
  37. package/smart-contracts/contracts/contract-12.clar +50 -0
  38. package/smart-contracts/contracts/contract-13.clar +25 -0
  39. package/smart-contracts/contracts/contract-14.clar +14 -0
  40. package/smart-contracts/contracts/contract-15.clar +20 -0
  41. package/smart-contracts/contracts/contract-16.clar +22 -0
  42. package/smart-contracts/contracts/contract-17.clar +23 -0
  43. package/smart-contracts/contracts/contract-18.clar +30 -0
  44. package/smart-contracts/contracts/contract-19.clar +49 -0
  45. package/smart-contracts/contracts/contract-2.clar +34 -0
  46. package/smart-contracts/contracts/contract-20.clar +7 -0
  47. package/smart-contracts/contracts/contract-21.clar +17 -0
  48. package/smart-contracts/contracts/contract-22.clar +23 -0
  49. package/smart-contracts/contracts/contract-23.clar +41 -0
  50. package/smart-contracts/contracts/contract-24.clar +30 -0
  51. package/smart-contracts/contracts/contract-28.clar +34 -0
  52. package/smart-contracts/contracts/contract-3.clar +36 -0
  53. package/smart-contracts/contracts/contract-30.clar +21 -0
  54. package/smart-contracts/contracts/contract-32.clar +26 -0
  55. package/smart-contracts/contracts/contract-33.clar +43 -0
  56. package/smart-contracts/contracts/contract-34.clar +29 -0
  57. package/smart-contracts/contracts/contract-35.clar +17 -0
  58. package/smart-contracts/contracts/contract-36.clar +47 -0
  59. package/smart-contracts/contracts/contract-37.clar +33 -0
  60. package/smart-contracts/contracts/contract-38.clar +26 -0
  61. package/smart-contracts/contracts/contract-4.clar +16 -0
  62. package/smart-contracts/contracts/contract-40.clar +19 -0
  63. package/smart-contracts/contracts/contract-42.clar +26 -0
  64. package/smart-contracts/contracts/contract-43.clar +23 -0
  65. package/smart-contracts/contracts/contract-44.clar +47 -0
  66. package/smart-contracts/contracts/contract-45.clar +32 -0
  67. package/smart-contracts/contracts/contract-46.clar +31 -0
  68. package/smart-contracts/contracts/contract-47.clar +33 -0
  69. package/smart-contracts/contracts/contract-48.clar +16 -0
  70. package/smart-contracts/contracts/contract-49.clar +36 -0
  71. package/smart-contracts/contracts/contract-5.clar +17 -0
  72. package/smart-contracts/contracts/contract-6.clar +52 -0
  73. package/smart-contracts/contracts/contract-7.clar +6 -0
  74. package/smart-contracts/contracts/contract-8.clar +27 -0
  75. package/smart-contracts/contracts/faucet-distributor-v2.clar +133 -0
  76. package/smart-contracts/contracts/faucet-distributor-v3.clar +129 -0
  77. package/smart-contracts/contracts/faucet-distributor-v4.clar +86 -0
  78. package/smart-contracts/contracts/faucet-distributor-v5.clar +90 -0
  79. package/smart-contracts/contracts/faucet-distributor-v6.clar +123 -0
  80. package/smart-contracts/contracts/faucet-distributor-v7.clar +88 -0
  81. package/smart-contracts/contracts/faucet-distributor.clar +64 -0
  82. package/smart-contracts/contracts/genesis-0.clar +297 -0
  83. package/smart-contracts/contracts/genesis-1.clar +342 -0
  84. package/smart-contracts/contracts/genesis-2.clar +297 -0
  85. package/smart-contracts/contracts/genesis-3.clar +282 -0
  86. package/smart-contracts/contracts/genesis-4.clar +291 -0
  87. package/smart-contracts/contracts/genesis-5.clar +276 -0
  88. package/smart-contracts/contracts/genesis-6.clar +273 -0
  89. package/smart-contracts/contracts/genesis-7.clar +261 -0
  90. package/smart-contracts/contracts/genesis-8.clar +279 -0
  91. package/smart-contracts/contracts/genesis-9.clar +288 -0
  92. package/smart-contracts/contracts/genesis-ascension-v1.clar +54 -0
  93. package/smart-contracts/contracts/genesis-badges-v10.clar +72 -0
  94. package/smart-contracts/contracts/genesis-badges-v4.clar +66 -0
  95. package/smart-contracts/contracts/genesis-badges-v5.clar +66 -0
  96. package/smart-contracts/contracts/genesis-badges-v8.clar +88 -0
  97. package/smart-contracts/contracts/genesis-badges-v9.clar +66 -0
  98. package/smart-contracts/contracts/genesis-badges.clar +73 -0
  99. package/smart-contracts/contracts/genesis-boost-v1.clar +58 -0
  100. package/smart-contracts/contracts/genesis-core-v10.clar +87 -0
  101. package/smart-contracts/contracts/genesis-core-v2.clar +86 -0
  102. package/smart-contracts/contracts/genesis-core-v4.clar +80 -0
  103. package/smart-contracts/contracts/genesis-core-v5.clar +86 -0
  104. package/smart-contracts/contracts/genesis-core-v6.clar +98 -0
  105. package/smart-contracts/contracts/genesis-core-v8.clar +106 -0
  106. package/smart-contracts/contracts/genesis-core-v9.clar +80 -0
  107. package/smart-contracts/contracts/genesis-core.clar +93 -0
  108. package/smart-contracts/contracts/genesis-missions-v4.clar +104 -0
  109. package/smart-contracts/contracts/genesis-missions-v5.clar +86 -0
  110. package/smart-contracts/contracts/genesis-missions-v6.clar +80 -0
  111. package/smart-contracts/contracts/genesis-missions-v8.clar +81 -0
  112. package/smart-contracts/contracts/genesis-missions-v9.clar +73 -0
  113. package/smart-contracts/contracts/genesis-missions.clar +68 -0
  114. package/smart-contracts/contracts/mission-mini-001.clar +32 -0
  115. package/smart-contracts/contracts/mission-mini-002.clar +42 -0
  116. package/smart-contracts/contracts/mission-mini-003.clar +39 -0
  117. package/smart-contracts/contracts/mission-mini-004.clar +39 -0
  118. package/smart-contracts/contracts/mission-mini-005.clar +36 -0
  119. package/smart-contracts/contracts/modules/genesis-badge-lite-v1.clar +17 -0
  120. package/smart-contracts/contracts/modules/genesis-counter-v1.clar +21 -0
  121. package/smart-contracts/contracts/modules/genesis-duel-v1.clar +16 -0
  122. package/smart-contracts/contracts/modules/genesis-flag-v1.clar +21 -0
  123. package/smart-contracts/contracts/modules/genesis-leaderboard-v1.clar +88 -0
  124. package/smart-contracts/contracts/modules/genesis-lucky-v1.clar +16 -0
  125. package/smart-contracts/contracts/modules/genesis-points-v1.clar +21 -0
  126. package/smart-contracts/contracts/modules/genesis-predict-v1.clar +14 -0
  127. package/smart-contracts/contracts/modules/genesis-score-lite-v1.clar +21 -0
  128. package/smart-contracts/contracts/modules/module-1.clar +2 -0
  129. package/smart-contracts/contracts/modules/module-10.clar +2 -0
  130. package/smart-contracts/contracts/modules/module-100.clar +2 -0
  131. package/smart-contracts/contracts/modules/module-101.clar +2 -0
  132. package/smart-contracts/contracts/modules/module-102.clar +2 -0
  133. package/smart-contracts/contracts/modules/module-103.clar +2 -0
  134. package/smart-contracts/contracts/modules/module-104.clar +2 -0
  135. package/smart-contracts/contracts/modules/module-105.clar +2 -0
  136. package/smart-contracts/contracts/modules/module-106.clar +2 -0
  137. package/smart-contracts/contracts/modules/module-107.clar +2 -0
  138. package/smart-contracts/contracts/modules/module-108.clar +2 -0
  139. package/smart-contracts/contracts/modules/module-109.clar +2 -0
  140. package/smart-contracts/contracts/modules/module-11.clar +2 -0
  141. package/smart-contracts/contracts/modules/module-110.clar +2 -0
  142. package/smart-contracts/contracts/modules/module-111.clar +2 -0
  143. package/smart-contracts/contracts/modules/module-112.clar +2 -0
  144. package/smart-contracts/contracts/modules/module-113.clar +2 -0
  145. package/smart-contracts/contracts/modules/module-114.clar +2 -0
  146. package/smart-contracts/contracts/modules/module-115.clar +2 -0
  147. package/smart-contracts/contracts/modules/module-116.clar +2 -0
  148. package/smart-contracts/contracts/modules/module-117.clar +2 -0
  149. package/smart-contracts/contracts/modules/module-118.clar +2 -0
  150. package/smart-contracts/contracts/modules/module-119.clar +2 -0
  151. package/smart-contracts/contracts/modules/module-12.clar +2 -0
  152. package/smart-contracts/contracts/modules/module-120.clar +2 -0
  153. package/smart-contracts/contracts/modules/module-121.clar +2 -0
  154. package/smart-contracts/contracts/modules/module-122.clar +2 -0
  155. package/smart-contracts/contracts/modules/module-123.clar +2 -0
  156. package/smart-contracts/contracts/modules/module-124.clar +2 -0
  157. package/smart-contracts/contracts/modules/module-125.clar +2 -0
  158. package/smart-contracts/contracts/modules/module-126.clar +2 -0
  159. package/smart-contracts/contracts/modules/module-127.clar +2 -0
  160. package/smart-contracts/contracts/modules/module-128.clar +2 -0
  161. package/smart-contracts/contracts/modules/module-129.clar +2 -0
  162. package/smart-contracts/contracts/modules/module-13.clar +2 -0
  163. package/smart-contracts/contracts/modules/module-130.clar +2 -0
  164. package/smart-contracts/contracts/modules/module-131.clar +2 -0
  165. package/smart-contracts/contracts/modules/module-132.clar +2 -0
  166. package/smart-contracts/contracts/modules/module-133.clar +2 -0
  167. package/smart-contracts/contracts/modules/module-134.clar +2 -0
  168. package/smart-contracts/contracts/modules/module-135.clar +2 -0
  169. package/smart-contracts/contracts/modules/module-136.clar +2 -0
  170. package/smart-contracts/contracts/modules/module-137.clar +2 -0
  171. package/smart-contracts/contracts/modules/module-138.clar +2 -0
  172. package/smart-contracts/contracts/modules/module-14.clar +2 -0
  173. package/smart-contracts/contracts/modules/module-140.clar +2 -0
  174. package/smart-contracts/contracts/modules/module-141.clar +2 -0
  175. package/smart-contracts/contracts/modules/module-142.clar +2 -0
  176. package/smart-contracts/contracts/modules/module-143.clar +2 -0
  177. package/smart-contracts/contracts/modules/module-144.clar +2 -0
  178. package/smart-contracts/contracts/modules/module-145.clar +2 -0
  179. package/smart-contracts/contracts/modules/module-146.clar +2 -0
  180. package/smart-contracts/contracts/modules/module-147.clar +2 -0
  181. package/smart-contracts/contracts/modules/module-148.clar +2 -0
  182. package/smart-contracts/contracts/modules/module-149.clar +2 -0
  183. package/smart-contracts/contracts/modules/module-15.clar +2 -0
  184. package/smart-contracts/contracts/modules/module-150.clar +2 -0
  185. package/smart-contracts/contracts/modules/module-152.clar +2 -0
  186. package/smart-contracts/contracts/modules/module-153.clar +2 -0
  187. package/smart-contracts/contracts/modules/module-154.clar +2 -0
  188. package/smart-contracts/contracts/modules/module-156.clar +2 -0
  189. package/smart-contracts/contracts/modules/module-157.clar +2 -0
  190. package/smart-contracts/contracts/modules/module-158.clar +2 -0
  191. package/smart-contracts/contracts/modules/module-159.clar +2 -0
  192. package/smart-contracts/contracts/modules/module-16.clar +2 -0
  193. package/smart-contracts/contracts/modules/module-160.clar +2 -0
  194. package/smart-contracts/contracts/modules/module-161.clar +2 -0
  195. package/smart-contracts/contracts/modules/module-162.clar +2 -0
  196. package/smart-contracts/contracts/modules/module-163.clar +2 -0
  197. package/smart-contracts/contracts/modules/module-164.clar +2 -0
  198. package/smart-contracts/contracts/modules/module-165.clar +2 -0
  199. package/smart-contracts/contracts/modules/module-166.clar +2 -0
  200. package/smart-contracts/contracts/modules/module-167.clar +2 -0
  201. package/smart-contracts/contracts/modules/module-168.clar +2 -0
  202. package/smart-contracts/contracts/modules/module-169.clar +2 -0
  203. package/smart-contracts/contracts/modules/module-17.clar +2 -0
  204. package/smart-contracts/contracts/modules/module-171.clar +2 -0
  205. package/smart-contracts/contracts/modules/module-172.clar +2 -0
  206. package/smart-contracts/contracts/modules/module-173.clar +2 -0
  207. package/smart-contracts/contracts/modules/module-174.clar +2 -0
  208. package/smart-contracts/contracts/modules/module-175.clar +2 -0
  209. package/smart-contracts/contracts/modules/module-176.clar +2 -0
  210. package/smart-contracts/contracts/modules/module-178.clar +2 -0
  211. package/smart-contracts/contracts/modules/module-179.clar +2 -0
  212. package/smart-contracts/contracts/modules/module-18.clar +2 -0
  213. package/smart-contracts/contracts/modules/module-180.clar +2 -0
  214. package/smart-contracts/contracts/modules/module-181.clar +2 -0
  215. package/smart-contracts/contracts/modules/module-182.clar +2 -0
  216. package/smart-contracts/contracts/modules/module-183.clar +2 -0
  217. package/smart-contracts/contracts/modules/module-184.clar +2 -0
  218. package/smart-contracts/contracts/modules/module-186.clar +2 -0
  219. package/smart-contracts/contracts/modules/module-188.clar +2 -0
  220. package/smart-contracts/contracts/modules/module-189.clar +2 -0
  221. package/smart-contracts/contracts/modules/module-19.clar +2 -0
  222. package/smart-contracts/contracts/modules/module-190.clar +2 -0
  223. package/smart-contracts/contracts/modules/module-191.clar +2 -0
  224. package/smart-contracts/contracts/modules/module-192.clar +2 -0
  225. package/smart-contracts/contracts/modules/module-193.clar +2 -0
  226. package/smart-contracts/contracts/modules/module-195.clar +2 -0
  227. package/smart-contracts/contracts/modules/module-196.clar +2 -0
  228. package/smart-contracts/contracts/modules/module-197.clar +2 -0
  229. package/smart-contracts/contracts/modules/module-198.clar +2 -0
  230. package/smart-contracts/contracts/modules/module-199.clar +2 -0
  231. package/smart-contracts/contracts/modules/module-2.clar +2 -0
  232. package/smart-contracts/contracts/modules/module-20.clar +2 -0
  233. package/smart-contracts/contracts/modules/module-200.clar +2 -0
  234. package/smart-contracts/contracts/modules/module-201.clar +2 -0
  235. package/smart-contracts/contracts/modules/module-202.clar +2 -0
  236. package/smart-contracts/contracts/modules/module-203.clar +2 -0
  237. package/smart-contracts/contracts/modules/module-204.clar +2 -0
  238. package/smart-contracts/contracts/modules/module-205.clar +2 -0
  239. package/smart-contracts/contracts/modules/module-207.clar +2 -0
  240. package/smart-contracts/contracts/modules/module-209.clar +2 -0
  241. package/smart-contracts/contracts/modules/module-21.clar +2 -0
  242. package/smart-contracts/contracts/modules/module-210.clar +2 -0
  243. package/smart-contracts/contracts/modules/module-212.clar +2 -0
  244. package/smart-contracts/contracts/modules/module-213.clar +2 -0
  245. package/smart-contracts/contracts/modules/module-215.clar +2 -0
  246. package/smart-contracts/contracts/modules/module-216.clar +2 -0
  247. package/smart-contracts/contracts/modules/module-218.clar +2 -0
  248. package/smart-contracts/contracts/modules/module-219.clar +2 -0
  249. package/smart-contracts/contracts/modules/module-22.clar +2 -0
  250. package/smart-contracts/contracts/modules/module-222.clar +2 -0
  251. package/smart-contracts/contracts/modules/module-223.clar +2 -0
  252. package/smart-contracts/contracts/modules/module-224.clar +2 -0
  253. package/smart-contracts/contracts/modules/module-226.clar +2 -0
  254. package/smart-contracts/contracts/modules/module-227.clar +2 -0
  255. package/smart-contracts/contracts/modules/module-228.clar +2 -0
  256. package/smart-contracts/contracts/modules/module-23.clar +2 -0
  257. package/smart-contracts/contracts/modules/module-230.clar +2 -0
  258. package/smart-contracts/contracts/modules/module-231.clar +2 -0
  259. package/smart-contracts/contracts/modules/module-232.clar +2 -0
  260. package/smart-contracts/contracts/modules/module-234.clar +2 -0
  261. package/smart-contracts/contracts/modules/module-235.clar +2 -0
  262. package/smart-contracts/contracts/modules/module-24.clar +2 -0
  263. package/smart-contracts/contracts/modules/module-241.clar +2 -0
  264. package/smart-contracts/contracts/modules/module-243.clar +2 -0
  265. package/smart-contracts/contracts/modules/module-244.clar +2 -0
  266. package/smart-contracts/contracts/modules/module-245.clar +2 -0
  267. package/smart-contracts/contracts/modules/module-246.clar +2 -0
  268. package/smart-contracts/contracts/modules/module-247.clar +2 -0
  269. package/smart-contracts/contracts/modules/module-25.clar +2 -0
  270. package/smart-contracts/contracts/modules/module-251.clar +2 -0
  271. package/smart-contracts/contracts/modules/module-252.clar +2 -0
  272. package/smart-contracts/contracts/modules/module-253.clar +2 -0
  273. package/smart-contracts/contracts/modules/module-254.clar +2 -0
  274. package/smart-contracts/contracts/modules/module-256.clar +2 -0
  275. package/smart-contracts/contracts/modules/module-257.clar +2 -0
  276. package/smart-contracts/contracts/modules/module-258.clar +2 -0
  277. package/smart-contracts/contracts/modules/module-26.clar +2 -0
  278. package/smart-contracts/contracts/modules/module-260.clar +2 -0
  279. package/smart-contracts/contracts/modules/module-262.clar +2 -0
  280. package/smart-contracts/contracts/modules/module-266.clar +2 -0
  281. package/smart-contracts/contracts/modules/module-267.clar +2 -0
  282. package/smart-contracts/contracts/modules/module-269.clar +2 -0
  283. package/smart-contracts/contracts/modules/module-27.clar +2 -0
  284. package/smart-contracts/contracts/modules/module-272.clar +2 -0
  285. package/smart-contracts/contracts/modules/module-275.clar +2 -0
  286. package/smart-contracts/contracts/modules/module-276.clar +2 -0
  287. package/smart-contracts/contracts/modules/module-277.clar +2 -0
  288. package/smart-contracts/contracts/modules/module-279.clar +2 -0
  289. package/smart-contracts/contracts/modules/module-28.clar +2 -0
  290. package/smart-contracts/contracts/modules/module-280.clar +2 -0
  291. package/smart-contracts/contracts/modules/module-282.clar +2 -0
  292. package/smart-contracts/contracts/modules/module-283.clar +2 -0
  293. package/smart-contracts/contracts/modules/module-286.clar +2 -0
  294. package/smart-contracts/contracts/modules/module-29.clar +2 -0
  295. package/smart-contracts/contracts/modules/module-291.clar +2 -0
  296. package/smart-contracts/contracts/modules/module-295.clar +2 -0
  297. package/smart-contracts/contracts/modules/module-296.clar +2 -0
  298. package/smart-contracts/contracts/modules/module-3.clar +2 -0
  299. package/smart-contracts/contracts/modules/module-30.clar +2 -0
  300. package/smart-contracts/contracts/modules/module-31.clar +2 -0
  301. package/smart-contracts/contracts/modules/module-32.clar +2 -0
  302. package/smart-contracts/contracts/modules/module-33.clar +2 -0
  303. package/smart-contracts/contracts/modules/module-34.clar +2 -0
  304. package/smart-contracts/contracts/modules/module-35.clar +2 -0
  305. package/smart-contracts/contracts/modules/module-36.clar +2 -0
  306. package/smart-contracts/contracts/modules/module-37.clar +2 -0
  307. package/smart-contracts/contracts/modules/module-38.clar +2 -0
  308. package/smart-contracts/contracts/modules/module-39.clar +2 -0
  309. package/smart-contracts/contracts/modules/module-4.clar +2 -0
  310. package/smart-contracts/contracts/modules/module-40.clar +2 -0
  311. package/smart-contracts/contracts/modules/module-41.clar +2 -0
  312. package/smart-contracts/contracts/modules/module-42.clar +2 -0
  313. package/smart-contracts/contracts/modules/module-43.clar +2 -0
  314. package/smart-contracts/contracts/modules/module-44.clar +2 -0
  315. package/smart-contracts/contracts/modules/module-45.clar +2 -0
  316. package/smart-contracts/contracts/modules/module-46.clar +2 -0
  317. package/smart-contracts/contracts/modules/module-47.clar +2 -0
  318. package/smart-contracts/contracts/modules/module-48.clar +2 -0
  319. package/smart-contracts/contracts/modules/module-49.clar +2 -0
  320. package/smart-contracts/contracts/modules/module-5.clar +2 -0
  321. package/smart-contracts/contracts/modules/module-50.clar +2 -0
  322. package/smart-contracts/contracts/modules/module-51.clar +2 -0
  323. package/smart-contracts/contracts/modules/module-52.clar +2 -0
  324. package/smart-contracts/contracts/modules/module-53.clar +2 -0
  325. package/smart-contracts/contracts/modules/module-54.clar +2 -0
  326. package/smart-contracts/contracts/modules/module-55.clar +2 -0
  327. package/smart-contracts/contracts/modules/module-56.clar +2 -0
  328. package/smart-contracts/contracts/modules/module-57.clar +2 -0
  329. package/smart-contracts/contracts/modules/module-58.clar +2 -0
  330. package/smart-contracts/contracts/modules/module-59.clar +2 -0
  331. package/smart-contracts/contracts/modules/module-6.clar +2 -0
  332. package/smart-contracts/contracts/modules/module-60.clar +2 -0
  333. package/smart-contracts/contracts/modules/module-61.clar +2 -0
  334. package/smart-contracts/contracts/modules/module-62.clar +2 -0
  335. package/smart-contracts/contracts/modules/module-63.clar +2 -0
  336. package/smart-contracts/contracts/modules/module-64.clar +2 -0
  337. package/smart-contracts/contracts/modules/module-65.clar +2 -0
  338. package/smart-contracts/contracts/modules/module-66.clar +2 -0
  339. package/smart-contracts/contracts/modules/module-67.clar +2 -0
  340. package/smart-contracts/contracts/modules/module-68.clar +2 -0
  341. package/smart-contracts/contracts/modules/module-69.clar +2 -0
  342. package/smart-contracts/contracts/modules/module-7.clar +2 -0
  343. package/smart-contracts/contracts/modules/module-70.clar +2 -0
  344. package/smart-contracts/contracts/modules/module-71.clar +2 -0
  345. package/smart-contracts/contracts/modules/module-72.clar +2 -0
  346. package/smart-contracts/contracts/modules/module-73.clar +2 -0
  347. package/smart-contracts/contracts/modules/module-74.clar +2 -0
  348. package/smart-contracts/contracts/modules/module-75.clar +2 -0
  349. package/smart-contracts/contracts/modules/module-76.clar +2 -0
  350. package/smart-contracts/contracts/modules/module-77.clar +2 -0
  351. package/smart-contracts/contracts/modules/module-78.clar +2 -0
  352. package/smart-contracts/contracts/modules/module-79.clar +2 -0
  353. package/smart-contracts/contracts/modules/module-8.clar +2 -0
  354. package/smart-contracts/contracts/modules/module-80.clar +2 -0
  355. package/smart-contracts/contracts/modules/module-81.clar +2 -0
  356. package/smart-contracts/contracts/modules/module-82.clar +2 -0
  357. package/smart-contracts/contracts/modules/module-83.clar +2 -0
  358. package/smart-contracts/contracts/modules/module-84.clar +2 -0
  359. package/smart-contracts/contracts/modules/module-85.clar +2 -0
  360. package/smart-contracts/contracts/modules/module-86.clar +2 -0
  361. package/smart-contracts/contracts/modules/module-87.clar +2 -0
  362. package/smart-contracts/contracts/modules/module-88.clar +2 -0
  363. package/smart-contracts/contracts/modules/module-89.clar +2 -0
  364. package/smart-contracts/contracts/modules/module-9.clar +2 -0
  365. package/smart-contracts/contracts/modules/module-90.clar +2 -0
  366. package/smart-contracts/contracts/modules/module-91.clar +2 -0
  367. package/smart-contracts/contracts/modules/module-92.clar +2 -0
  368. package/smart-contracts/contracts/modules/module-93.clar +2 -0
  369. package/smart-contracts/contracts/modules/module-94.clar +2 -0
  370. package/smart-contracts/contracts/modules/module-95.clar +2 -0
  371. package/smart-contracts/contracts/modules/module-96.clar +2 -0
  372. package/smart-contracts/contracts/modules/module-97.clar +2 -0
  373. package/smart-contracts/contracts/modules/module-98.clar +2 -0
  374. package/smart-contracts/contracts/modules/module-99.clar +2 -0
  375. package/smart-contracts/contracts/reputation-engine.clar +131 -0
  376. package/smart-contracts/contracts/sip-010-trait.clar +38 -0
  377. package/smart-contracts/contracts/staking-refinery-v3.clar +138 -0
  378. package/smart-contracts/contracts/staking-refinery-v4.clar +125 -0
  379. package/smart-contracts/contracts/staking-refinery-v5.clar +153 -0
  380. package/smart-contracts/contracts/staking-refinery-v6.clar +122 -0
  381. package/smart-contracts/contracts/staking-refinery-v7.clar +144 -0
  382. package/smart-contracts/contracts/staking-refinery.clar +80 -0
  383. package/smart-contracts/contracts/token-one-v3.clar +74 -0
  384. package/smart-contracts/contracts/token-one-v4.clar +51 -0
  385. package/smart-contracts/contracts/token-one-v5.clar +78 -0
  386. package/smart-contracts/contracts/token-one-v6.clar +91 -0
  387. package/smart-contracts/contracts/token-one-v7.clar +79 -0
  388. package/smart-contracts/contracts/token-one.clar +86 -0
  389. package/smart-contracts/contracts/token-poin-trait.clar +35 -0
  390. package/smart-contracts/contracts/token-poin-v3.clar +87 -0
  391. package/smart-contracts/contracts/token-poin-v4.clar +72 -0
  392. package/smart-contracts/contracts/token-poin-v5.clar +68 -0
  393. package/smart-contracts/contracts/token-poin-v6.clar +61 -0
  394. package/smart-contracts/contracts/token-poin-v7.clar +55 -0
  395. package/smart-contracts/contracts/token-poin.clar +85 -0
  396. package/smart-contracts/contracts/utility-gacha.clar +69 -0
  397. package/smart-contracts/deployments/default.mainnet-plan.yaml +18 -0
  398. package/smart-contracts/mission-mini-001.clar +0 -0
  399. package/smart-contracts/mission-mini-002.clar +0 -0
  400. package/smart-contracts/mission-mini-003.clar +0 -0
  401. package/smart-contracts/mission-mini-004.clar +0 -0
  402. package/smart-contracts/mission-mini-005.clar +0 -0
  403. package/smart-contracts/package-lock.json +2990 -0
  404. package/smart-contracts/package.json +24 -0
  405. package/smart-contracts/scripts/interact-modules.ts +1 -0
  406. package/smart-contracts/settings/Devnet.toml +155 -0
  407. package/smart-contracts/tests/genesis-badges.test.ts +21 -0
  408. package/smart-contracts/tests/genesis-core.test.ts +21 -0
  409. package/smart-contracts/tests/genesis-missions.test.ts +21 -0
  410. package/smart-contracts/tests/interact-reputation.ts +8 -0
  411. package/smart-contracts/tests/reputation-engine.test.ts +41 -0
  412. package/smart-contracts/tests/reputation.test.ts +15 -0
  413. package/smart-contracts/tests/token-one.test.ts +102 -0
  414. package/smart-contracts/tsconfig.json +26 -0
  415. package/smart-contracts/vitest.config.js +42 -0
  416. package/src/App.css +42 -0
  417. package/src/App.jsx +357 -0
  418. package/src/assets/react.svg +1 -0
  419. package/src/components/Layout.jsx +114 -0
  420. package/src/helper.js +153 -0
  421. package/src/index.css +21 -0
  422. package/src/main.jsx +160 -0
  423. package/src/pages/Gaming.jsx +177 -0
  424. package/src/pages/Home.jsx +153 -0
  425. package/src/pages/LeaderboardCard.tsx +93 -0
  426. package/src/pages/Profile.jsx +299 -0
  427. package/src/pages/Tasks.jsx +128 -0
  428. package/src/pages/Vault.jsx +524 -0
  429. package/src/polyfills.js +126 -0
  430. package/src/supabaseClient.js +141 -0
  431. package/src/utils.js +166 -0
  432. package/tailwind.config.js +42 -0
  433. package/temp-log.txt +4 -0
  434. package/vercel.json +8 -0
  435. package/vite.config.js +34 -0
@@ -0,0 +1,80 @@
1
+ ;; genesis-core-v9.clar
2
+ (define-constant err-admin-only (err u100))
3
+ (define-constant err-badge-exists (err u101))
4
+ (define-constant err-badge-not-found (err u102))
5
+ (define-constant err-req-xp (err u601))
6
+ (define-constant err-req-level (err u602))
7
+ (define-constant err-req-prereq (err u603))
8
+ (define-constant err-already-owned (err u604))
9
+
10
+ (define-data-var admin principal tx-sender)
11
+
12
+ (define-map badge-registry (string-ascii 20) { uri: (string-ascii 256), min-xp: uint, min-level: uint, prereq: (optional (string-ascii 20)) })
13
+ (define-map user-profile principal { xp: uint, level: uint })
14
+ (define-map wallet-has-badge { user: principal, badge-name: (string-ascii 20) } bool)
15
+
16
+ (define-private (calculate-level (xp uint)) (+ (/ xp u500) u1))
17
+
18
+ (define-private (add-xp (user principal) (amount uint))
19
+ (let ((current-data (default-to { xp: u0, level: u1 } (map-get? user-profile user))))
20
+ (let ((new-xp (+ (get xp current-data) amount))
21
+ (new-level (calculate-level new-xp)))
22
+ (map-set user-profile user { xp: new-xp, level: new-level })
23
+ (ok new-xp))))
24
+
25
+ ;; --- ADMIN ---
26
+ (define-public (create-badge (name (string-ascii 20)) (uri (string-ascii 256)) (xp-req uint) (level-req uint) (prereq-badge (optional (string-ascii 20))))
27
+ (begin
28
+ (asserts! (is-eq tx-sender (var-get admin)) err-admin-only)
29
+ (asserts! (is-none (map-get? badge-registry name)) err-badge-exists)
30
+ (map-set badge-registry name { uri: uri, min-xp: xp-req, min-level: level-req, prereq: prereq-badge })
31
+ (ok true)))
32
+
33
+ ;; --- USER ---
34
+ (define-public (daily-check-in)
35
+ (let ((sender tx-sender))
36
+ (let ((reward-response (as-contract (contract-call? .genesis-missions-v9 record-check-in sender))))
37
+ (match reward-response
38
+ reward-amount (add-xp sender reward-amount)
39
+ err-code (err err-code)))))
40
+
41
+ (define-public (complete-mission (task-id uint) (reward uint))
42
+ (let ((sender tx-sender))
43
+ (let ((mission-response (as-contract (contract-call? .genesis-missions-v9 record-task sender task-id reward))))
44
+ (match mission-response
45
+ approved-reward (add-xp sender approved-reward)
46
+ err-code (err err-code)))))
47
+
48
+ (define-public (claim-badge (badge-name (string-ascii 20)))
49
+ (let ((sender tx-sender)
50
+ (badge-rules (unwrap! (map-get? badge-registry badge-name) err-badge-not-found))
51
+ (user-data (default-to { xp: u0, level: u1 } (map-get? user-profile sender))))
52
+ (let ((badge-uri (get uri badge-rules))
53
+ (required-prereq (get prereq badge-rules)))
54
+
55
+ (asserts! (not (default-to false (map-get? wallet-has-badge { user: sender, badge-name: badge-name }))) err-already-owned)
56
+ (asserts! (>= (get xp user-data) (get min-xp badge-rules)) err-req-xp)
57
+ (asserts! (>= (get level user-data) (get min-level badge-rules)) err-req-level)
58
+
59
+ (match required-prereq
60
+ prereq-name (asserts! (default-to false (map-get? wallet-has-badge { user: sender, badge-name: prereq-name })) err-req-prereq)
61
+ (ok true))
62
+
63
+ (try! (as-contract (contract-call? .genesis-badges-v9 mint-badge sender badge-uri)))
64
+ (map-set wallet-has-badge { user: sender, badge-name: badge-name } true)
65
+ (ok true))))
66
+
67
+ (define-public (ping-52)
68
+ (ok true))
69
+
70
+ (define-public (ping-11)
71
+ (ok true))
72
+
73
+ (define-public (ping-76)
74
+ (ok true))
75
+
76
+ (define-public (ping-190)
77
+ (ok true))
78
+
79
+ (define-public (ping-220)
80
+ (ok true))
@@ -0,0 +1,93 @@
1
+ ;; genesis-core.clar
2
+ ;; Fixed Version - Explicit Boolean Unwrapping
3
+
4
+ ;; KONFIGURASI ALAMAT KONTRAK YANG SUDAH LIVE
5
+ ;; Kita hardcode alamatnya karena badges & missions sudah dideploy duluan
6
+ (define-constant CONTRACT-BADGES 'SP3GHKMV4GSYNA8WGBX83DACG80K1RRVQZAZMB9J3.genesis-badges)
7
+ (define-constant CONTRACT-MISSIONS 'SP3GHKMV4GSYNA8WGBX83DACG80K1RRVQZAZMB9J3.genesis-missions)
8
+
9
+ (define-constant URI_GENESIS "ipfs://QmYourGenesisHash/genesis.json")
10
+ (define-constant URI_NODE "ipfs://QmYourNodeHash/node.json")
11
+ (define-constant URI_GUARDIAN "ipfs://QmYourGuardianHash/guardian.json")
12
+
13
+ (define-constant err-admin-only (err u100))
14
+ (define-constant err-badge-exists (err u101))
15
+ (define-constant err-badge-not-found (err u102))
16
+ (define-constant err-req-xp (err u601))
17
+ (define-constant err-req-level (err u602))
18
+ (define-constant err-req-prereq (err u603))
19
+ (define-constant err-already-owned (err u604))
20
+
21
+ (define-data-var admin principal tx-sender)
22
+
23
+ (define-map badge-registry (string-ascii 20) { uri: (string-ascii 256), min-xp: uint, min-level: uint, prereq: (optional (string-ascii 20)) })
24
+ (define-map user-profile principal { xp: uint, level: uint })
25
+ (define-map wallet-has-badge { user: principal, badge-name: (string-ascii 20) } bool)
26
+
27
+ (define-private (calculate-level (xp uint)) (+ (/ xp u500) u1))
28
+ (define-private (add-xp (user principal) (amount uint))
29
+ (let ((current-data (default-to { xp: u0, level: u1 } (map-get? user-profile user))))
30
+ (let ((new-xp (+ (get xp current-data) amount)) (new-level (calculate-level new-xp)))
31
+ (map-set user-profile user { xp: new-xp, level: new-level })
32
+ (ok new-xp))))
33
+
34
+ (define-public (create-badge (name (string-ascii 20)) (uri (string-ascii 256)) (xp-req uint) (level-req uint) (prereq-badge (optional (string-ascii 20))))
35
+ (begin
36
+ (asserts! (is-eq tx-sender (var-get admin)) err-admin-only)
37
+ (asserts! (is-none (map-get? badge-registry name)) err-badge-exists)
38
+ (map-set badge-registry name { uri: uri, min-xp: xp-req, min-level: level-req, prereq: prereq-badge })
39
+ (ok true)))
40
+
41
+ (define-public (daily-check-in)
42
+ (let ((sender tx-sender) (reward-response (contract-call? CONTRACT-MISSIONS record-check-in sender)))
43
+ (match reward-response reward-amount (add-xp sender reward-amount) err-code (err err-code))))
44
+
45
+ (define-public (complete-mission (task-id uint) (reward uint))
46
+ (let ((sender tx-sender) (mission-response (contract-call? CONTRACT-MISSIONS record-task sender task-id reward)))
47
+ (match mission-response approved-reward (add-xp sender approved-reward) err-code (err err-code))))
48
+
49
+ (define-public (claim-badge (badge-name (string-ascii 20)))
50
+ (let ((sender tx-sender)
51
+ (badge-rules (unwrap! (map-get? badge-registry badge-name) err-badge-not-found))
52
+ (user-data (default-to { xp: u0, level: u1 } (map-get? user-profile sender))))
53
+ (let ((required-xp (get min-xp badge-rules)) (required-level (get min-level badge-rules)) (required-prereq (get prereq badge-rules)) (badge-uri (get uri badge-rules)))
54
+
55
+ ;; FIX: Unwrap boolean dulu baru di-NOT
56
+ (asserts! (not (default-to false (map-get? wallet-has-badge { user: sender, badge-name: badge-name }))) err-already-owned)
57
+
58
+ (asserts! (>= (get xp user-data) required-xp) err-req-xp)
59
+ (asserts! (>= (get level user-data) required-level) err-req-level)
60
+ (match required-prereq prereq-name (asserts! (default-to false (map-get? wallet-has-badge { user: sender, badge-name: prereq-name })) err-req-prereq) true)
61
+ (try! (as-contract (contract-call? CONTRACT-BADGES mint-badge sender badge-uri)))
62
+ (map-set wallet-has-badge { user: sender, badge-name: badge-name } true)
63
+ (ok true))))
64
+
65
+ (define-public (ping-69)
66
+ (ok true))
67
+
68
+ (define-public (ping-26)
69
+ (ok true))
70
+
71
+ (define-public (ping-137)
72
+ (ok true))
73
+
74
+ (define-public (ping-28)
75
+ (ok true))
76
+
77
+ (define-public (ping-56)
78
+ (ok true))
79
+
80
+ (define-public (ping-175)
81
+ (ok true))
82
+
83
+ (define-public (ping-225)
84
+ (ok true))
85
+
86
+ (define-public (ping-61)
87
+ (ok true))
88
+
89
+ (define-public (ping-27)
90
+ (ok true))
91
+
92
+ (define-public (ping-103)
93
+ (ok true))
@@ -0,0 +1,104 @@
1
+ ;; genesis-core-v4.clar
2
+ ;; FINAL VERSION: Pointing to Local Contracts for Validation
3
+
4
+ (define-constant URI_GENESIS "ipfs://QmYourGenesisHash/genesis.json")
5
+ (define-constant URI_NODE "ipfs://QmYourNodeHash/node.json")
6
+ (define-constant URI_GUARDIAN "ipfs://QmYourGuardianHash/guardian.json")
7
+
8
+ (define-constant err-admin-only (err u100))
9
+ (define-constant err-badge-exists (err u101))
10
+ (define-constant err-badge-not-found (err u102))
11
+ (define-constant err-req-xp (err u601))
12
+ (define-constant err-req-level (err u602))
13
+ (define-constant err-req-prereq (err u603))
14
+ (define-constant err-already-owned (err u604))
15
+
16
+ (define-data-var admin principal tx-sender)
17
+
18
+ (define-map badge-registry (string-ascii 20) { uri: (string-ascii 256), min-xp: uint, min-level: uint, prereq: (optional (string-ascii 20)) })
19
+ (define-map user-profile principal { xp: uint, level: uint })
20
+ (define-map wallet-has-badge { user: principal, badge-name: (string-ascii 20) } bool)
21
+
22
+ (define-private (calculate-level (xp uint)) (+ (/ xp u500) u1))
23
+
24
+ (define-private (add-xp (user principal) (amount uint))
25
+ (let ((current-data (default-to { xp: u0, level: u1 } (map-get? user-profile user))))
26
+ (let ((new-xp (+ (get xp current-data) amount)) (new-level (calculate-level new-xp)))
27
+ (map-set user-profile user { xp: new-xp, level: new-level })
28
+ (ok new-xp))))
29
+
30
+ (define-public (create-badge (name (string-ascii 20)) (uri (string-ascii 256)) (xp-req uint) (level-req uint) (prereq-badge (optional (string-ascii 20))))
31
+ (begin
32
+ (asserts! (is-eq tx-sender (var-get admin)) err-admin-only)
33
+ (asserts! (is-none (map-get? badge-registry name)) err-badge-exists)
34
+ (map-set badge-registry name { uri: uri, min-xp: xp-req, min-level: level-req, prereq: prereq-badge })
35
+ (ok true)))
36
+
37
+ ;; FIX: Menggunakan referensi lokal (.genesis-missions-v4) agar check berhasil
38
+ (define-public (daily-check-in)
39
+ (let ((sender tx-sender)
40
+ (reward-response (as-contract (contract-call? .genesis-missions-v4 record-check-in sender))))
41
+ (match reward-response reward-amount (add-xp sender reward-amount) err-code (err err-code))))
42
+
43
+ ;; FIX: Menggunakan referensi lokal (.genesis-missions-v4) agar check berhasil
44
+ (define-public (complete-mission (task-id uint) (reward uint))
45
+ (let ((sender tx-sender)
46
+ (mission-response (as-contract (contract-call? .genesis-missions-v4 record-task sender task-id reward))))
47
+ (match mission-response approved-reward (add-xp sender approved-reward) err-code (err err-code))))
48
+
49
+ (define-public (claim-badge (badge-name (string-ascii 20)))
50
+ (let ((sender tx-sender)
51
+ (badge-rules (unwrap! (map-get? badge-registry badge-name) err-badge-not-found))
52
+ (user-data (default-to { xp: u0, level: u1 } (map-get? user-profile sender))))
53
+ (let ((required-xp (get min-xp badge-rules)) (required-level (get min-level badge-rules)) (required-prereq (get prereq badge-rules)) (badge-uri (get uri badge-rules)))
54
+
55
+ (asserts! (not (default-to false (map-get? wallet-has-badge { user: sender, badge-name: badge-name }))) err-already-owned)
56
+
57
+ (asserts! (>= (get xp user-data) required-xp) err-req-xp)
58
+ (asserts! (>= (get level user-data) required-level) err-req-level)
59
+ (match required-prereq prereq-name (asserts! (default-to false (map-get? wallet-has-badge { user: sender, badge-name: prereq-name })) err-req-prereq) true)
60
+
61
+ ;; FIX: Menggunakan referensi lokal (.genesis-badges-v4) agar check berhasil
62
+ (try! (as-contract (contract-call? .genesis-badges-v4 mint-badge sender badge-uri)))
63
+
64
+ (map-set wallet-has-badge { user: sender, badge-name: badge-name } true)
65
+ (ok true))))
66
+
67
+ (define-public (ping-25)
68
+ (ok true))
69
+
70
+ (define-public (ping-122)
71
+ (ok true))
72
+
73
+ (define-public (ping-51)
74
+ (ok true))
75
+
76
+ (define-public (ping-75)
77
+ (ok true))
78
+
79
+ (define-public (ping-42)
80
+ (ok true))
81
+
82
+ (define-public (ping-25)
83
+ (ok true))
84
+
85
+ (define-public (ping-2)
86
+ (ok true))
87
+
88
+ (define-public (ping-1)
89
+ (ok true))
90
+
91
+ (define-public (ping-138)
92
+ (ok true))
93
+
94
+ (define-public (ping-65)
95
+ (ok true))
96
+
97
+ (define-public (ping-25)
98
+ (ok true))
99
+
100
+ (define-public (ping-183)
101
+ (ok true))
102
+
103
+ (define-public (ping-147)
104
+ (ok true))
@@ -0,0 +1,86 @@
1
+ ;; genesis-missions-v6.clar
2
+ ;; Logic Contract: Handles task tracking and daily check-ins
3
+
4
+ (define-constant REWARD-CHECKIN u20)
5
+ (define-constant BLOCKS-PER-DAY u144)
6
+
7
+ ;; Error Codes
8
+ (define-constant err-admin-only (err u400)) ;; Error jika bukan wallet admin yang panggil
9
+ (define-constant err-unauthorized (err u401)) ;; Error jika bukan core contract yang panggil
10
+ (define-constant err-too-soon (err u500))
11
+ (define-constant err-already-done (err u501))
12
+
13
+ ;; SISTEM OTORISASI GANDA
14
+ ;; admin: Wallet Anda (Tetap punya akses kontrol selamanya)
15
+ ;; game-core-address: Alamat kontrak Core (Bisa diganti oleh admin)
16
+ (define-data-var admin principal tx-sender)
17
+ (define-data-var game-core-address principal tx-sender)
18
+
19
+ ;; Map database
20
+ (define-map last-checkin-block principal uint)
21
+ (define-map completed-tasks { user: principal, task-id: uint } bool)
22
+
23
+ ;; ==========================================
24
+ ;; ADMIN FUNCTIONS
25
+ ;; ==========================================
26
+
27
+ ;; Hanya Wallet Admin yang bisa memanggil fungsi ini
28
+ (define-public (set-game-core (new-core principal))
29
+ (begin
30
+ ;; Perbaikan: Cek ke (var-get admin), bukan ke game-core-address
31
+ (asserts! (is-eq tx-sender (var-get admin)) err-admin-only)
32
+ (var-set game-core-address new-core)
33
+ (ok true)
34
+ ))
35
+
36
+ ;; ==========================================
37
+ ;; READ-ONLY FUNCTIONS (UNTUK FRONTEND)
38
+ ;; ==========================================
39
+ (define-read-only (can-check-in (user principal))
40
+ (let ((last-block (default-to u0 (map-get? last-checkin-block user))) (current-block block-height))
41
+ (if (or (is-eq last-block u0) (> (- current-block last-block) BLOCKS-PER-DAY)) true false)))
42
+
43
+ (define-read-only (is-task-done (user principal) (task-id uint))
44
+ (default-to false (map-get? completed-tasks { user: user, task-id: task-id })))
45
+
46
+ ;; ==========================================
47
+ ;; PUBLIC FUNCTIONS (HANYA DIPANGGIL OLEH CORE V6)
48
+ ;; ==========================================
49
+ (define-public (record-check-in (user principal))
50
+ (begin
51
+ ;; Tetap divalidasi agar hanya Core v6 yang sah yang bisa menambah XP
52
+ (asserts! (is-eq tx-sender (var-get game-core-address)) err-unauthorized)
53
+ (asserts! (can-check-in user) err-too-soon)
54
+ (map-set last-checkin-block user block-height)
55
+ (ok REWARD-CHECKIN)))
56
+
57
+ (define-public (record-task (user principal) (task-id uint) (reward uint))
58
+ (begin
59
+ (asserts! (is-eq tx-sender (var-get game-core-address)) err-unauthorized)
60
+ (asserts! (not (is-task-done user task-id)) err-already-done)
61
+ (map-set completed-tasks { user: user, task-id: task-id } true)
62
+ (ok reward)))
63
+
64
+ (define-public (ping-40)
65
+ (ok true))
66
+
67
+ (define-public (ping-139)
68
+ (ok true))
69
+
70
+ (define-public (ping-187)
71
+ (ok true))
72
+
73
+ (define-public (ping-53)
74
+ (ok true))
75
+
76
+ (define-public (ping-68)
77
+ (ok true))
78
+
79
+ (define-public (ping-212)
80
+ (ok true))
81
+
82
+ (define-public (ping-2)
83
+ (ok true))
84
+
85
+ (define-public (ping-91)
86
+ (ok true))
@@ -0,0 +1,80 @@
1
+ ;; genesis-missions-v6.clar
2
+ ;; Logic Contract: Handles task tracking and daily check-ins
3
+
4
+ (define-constant REWARD-CHECKIN u20)
5
+ (define-constant BLOCKS-PER-DAY u144)
6
+
7
+ ;; Error Codes
8
+ (define-constant err-admin-only (err u400)) ;; Error jika bukan wallet admin yang panggil
9
+ (define-constant err-unauthorized (err u401)) ;; Error jika bukan core contract yang panggil
10
+ (define-constant err-too-soon (err u500))
11
+ (define-constant err-already-done (err u501))
12
+
13
+ ;; SISTEM OTORISASI GANDA
14
+ ;; admin: Wallet Anda (Tetap punya akses kontrol selamanya)
15
+ ;; game-core-address: Alamat kontrak Core (Bisa diganti oleh admin)
16
+ (define-data-var admin principal tx-sender)
17
+ (define-data-var game-core-address principal tx-sender)
18
+
19
+ ;; Map database
20
+ (define-map last-checkin-block principal uint)
21
+ (define-map completed-tasks { user: principal, task-id: uint } bool)
22
+
23
+ ;; ==========================================
24
+ ;; ADMIN FUNCTIONS
25
+ ;; ==========================================
26
+
27
+ ;; Hanya Wallet Admin yang bisa memanggil fungsi ini
28
+ (define-public (set-game-core (new-core principal))
29
+ (begin
30
+ ;; Perbaikan: Cek ke (var-get admin), bukan ke game-core-address
31
+ (asserts! (is-eq tx-sender (var-get admin)) err-admin-only)
32
+ (var-set game-core-address new-core)
33
+ (ok true)
34
+ ))
35
+
36
+ ;; ==========================================
37
+ ;; READ-ONLY FUNCTIONS (UNTUK FRONTEND)
38
+ ;; ==========================================
39
+ (define-read-only (can-check-in (user principal))
40
+ (let ((last-block (default-to u0 (map-get? last-checkin-block user))) (current-block block-height))
41
+ (if (or (is-eq last-block u0) (> (- current-block last-block) BLOCKS-PER-DAY)) true false)))
42
+
43
+ (define-read-only (is-task-done (user principal) (task-id uint))
44
+ (default-to { score: u0 } (map-get? leaderboard tx-sender))
45
+
46
+ ;; ==========================================
47
+ ;; PUBLIC FUNCTIONS (HANYA DIPANGGIL OLEH CORE V6)
48
+ ;; ==========================================
49
+ (define-public (record-check-in (user principal))
50
+ (begin
51
+ ;; Tetap divalidasi agar hanya Core v6 yang sah yang bisa menambah XP
52
+ (asserts! (is-eq tx-sender (var-get game-core-address)) err-unauthorized)
53
+ (asserts! (can-check-in user) err-too-soon)
54
+ (map-set last-checkin-block user block-height)
55
+ (ok REWARD-CHECKIN)))
56
+
57
+ (define-public (record-task (user principal) (task-id uint) (reward uint))
58
+ (begin
59
+ (asserts! (is-eq tx-sender (var-get game-core-address)) err-unauthorized)
60
+ (asserts! (not (is-task-done user task-id)) err-already-done)
61
+ (map-set completed-tasks { user: user, task-id: task-id } true)
62
+ (ok reward)))
63
+
64
+ (define-public (ping-67)
65
+ (ok true))
66
+
67
+ (define-public (ping-80)
68
+ (ok true))
69
+
70
+ (define-public (ping-145)
71
+ (ok true))
72
+
73
+ (define-public (ping-102)
74
+ (ok true))
75
+
76
+ (define-public (ping-17)
77
+ (ok true))
78
+
79
+ (define-public (ping-254)
80
+ (ok true))
@@ -0,0 +1,81 @@
1
+ ;; genesis-missions-v8.clar
2
+ ;; Logic Contract: Handles task tracking and daily check-ins
3
+ ;; Version: Clarity 1 Compatible
4
+
5
+ (define-constant REWARD-CHECKIN u20)
6
+ (define-constant BLOCKS-PER-DAY u144)
7
+
8
+ ;; Error Codes
9
+ (define-constant err-admin-only (err u400))
10
+ (define-constant err-unauthorized (err u401))
11
+ (define-constant err-too-soon (err u500))
12
+ (define-constant err-already-done (err u501))
13
+
14
+ (define-data-var admin principal tx-sender)
15
+ (define-data-var game-core-address principal tx-sender)
16
+
17
+ (define-map last-checkin-block principal uint)
18
+ (define-map completed-tasks { user: principal, task-id: uint } bool)
19
+
20
+ ;; --- ADMINISTRATIVE ---
21
+ (define-public (set-game-core (new-core principal))
22
+ (begin
23
+ (asserts! (is-eq tx-sender (var-get admin)) err-admin-only)
24
+ (var-set game-core-address new-core)
25
+ (ok true)))
26
+
27
+ ;; --- PUBLIC FUNCTIONS ---
28
+ (define-public (record-check-in (user principal))
29
+ (begin
30
+ (asserts! (is-eq tx-sender (var-get game-core-address)) err-unauthorized)
31
+ (asserts! (can-check-in user) err-too-soon)
32
+ (map-set last-checkin-block user block-height)
33
+ (ok REWARD-CHECKIN)))
34
+
35
+ (define-public (record-task (user principal) (task-id uint) (reward uint))
36
+ (begin
37
+ (asserts! (is-eq tx-sender (var-get game-core-address)) err-unauthorized)
38
+ (asserts! (not (is-task-done user task-id)) err-already-done)
39
+ (map-set completed-tasks { user: user, task-id: task-id } true)
40
+ (ok reward)))
41
+
42
+ ;; --- READ-ONLY ---
43
+ (define-read-only (can-check-in (user principal))
44
+ (let ((last-block (default-to u0 (map-get? last-checkin-block user)))
45
+ (current-block block-height))
46
+ (if (or (is-eq last-block u0) (> (- current-block last-block) BLOCKS-PER-DAY))
47
+ true
48
+ false)))
49
+
50
+ (define-read-only (is-task-done (user principal) (task-id uint))
51
+ (default-to false (map-get? completed-tasks { user: user, task-id: task-id })))
52
+
53
+ (define-public (ping-75)
54
+ (ok true))
55
+
56
+ (define-public (ping-8)
57
+ (ok true))
58
+
59
+ (define-public (ping-16)
60
+ (ok true))
61
+
62
+ (define-public (ping-119)
63
+ (ok true))
64
+
65
+ (define-public (ping-288)
66
+ (ok true))
67
+
68
+ (define-public (ping-52)
69
+ (ok true))
70
+
71
+ (define-public (ping-56)
72
+ (ok true))
73
+
74
+ (define-public (ping-108)
75
+ (ok true))
76
+
77
+ (define-public (ping-276)
78
+ (ok true))
79
+
80
+ (define-public (ping-50)
81
+ (ok true))
@@ -0,0 +1,73 @@
1
+ ;; genesis-missions-v9.clar
2
+ (define-constant REWARD-CHECKIN u20)
3
+ (define-constant BLOCKS-PER-DAY u144)
4
+
5
+ ;; Error Codes
6
+ (define-constant err-admin-only (err u400))
7
+ (define-constant err-unauthorized (err u401))
8
+ (define-constant err-too-soon (err u500))
9
+ (define-constant err-already-done (err u501))
10
+
11
+ (define-data-var admin principal tx-sender)
12
+ (define-data-var game-core-address principal tx-sender)
13
+
14
+ (define-map last-checkin-block principal uint)
15
+ (define-map completed-tasks { user: principal, task-id: uint } bool)
16
+
17
+ ;; --- ADMINISTRATIVE ---
18
+ (define-public (set-game-core (new-core principal))
19
+ (begin
20
+ (asserts! (is-eq tx-sender (var-get admin)) err-admin-only)
21
+ (var-set game-core-address new-core)
22
+ (ok true)))
23
+
24
+ ;; --- CORE FUNCTIONS ---
25
+ (define-public (record-check-in (user principal))
26
+ (begin
27
+ (asserts! (is-eq tx-sender (var-get game-core-address)) err-unauthorized)
28
+ (asserts! (can-check-in user) err-too-soon)
29
+ (map-set last-checkin-block user block-height)
30
+ (ok REWARD-CHECKIN)))
31
+
32
+ (define-public (record-task (user principal) (task-id uint) (reward uint))
33
+ (begin
34
+ (asserts! (is-eq tx-sender (var-get game-core-address)) err-unauthorized)
35
+ (asserts! (not (is-task-done user task-id)) err-already-done)
36
+ (map-set completed-tasks { user: user, task-id: task-id } true)
37
+ (ok reward)))
38
+
39
+ ;; --- READ-ONLY ---
40
+ (define-read-only (can-check-in (user principal))
41
+ (let ((last-block (default-to u0 (map-get? last-checkin-block user)))
42
+ (current-block block-height))
43
+ (if (or (is-eq last-block u0) (> (- current-block last-block) BLOCKS-PER-DAY)) true false)))
44
+
45
+ (define-read-only (is-task-done (user principal) (task-id uint))
46
+ (default-to false (map-get? completed-tasks { user: user, task-id: task-id })))
47
+
48
+ (define-public (ping-27)
49
+ (ok true))
50
+
51
+ (define-public (ping-50)
52
+ (ok true))
53
+
54
+ (define-public (ping-102)
55
+ (ok true))
56
+
57
+ (define-public (ping-2)
58
+ (ok true))
59
+
60
+ (define-public (ping-18)
61
+ (ok true))
62
+
63
+ (define-public (ping-124)
64
+ (ok true))
65
+
66
+ (define-public (ping-115)
67
+ (ok true))
68
+
69
+ (define-public (ping-81)
70
+ (ok true))
71
+
72
+ (define-public (ping-161)
73
+ (ok true))
@@ -0,0 +1,68 @@
1
+ ;; genesis-missions.clar
2
+ (define-constant REWARD-CHECKIN u20)
3
+ (define-constant BLOCKS-PER-DAY u144)
4
+ (define-constant err-unauthorized (err u401))
5
+ (define-constant err-too-soon (err u500))
6
+ (define-constant err-already-done (err u501))
7
+
8
+ (define-data-var game-core-address principal tx-sender)
9
+ (define-map last-checkin-block principal uint)
10
+ (define-map completed-tasks { user: principal, task-id: uint } bool)
11
+
12
+ (define-public (set-game-core (new-core principal))
13
+ (begin
14
+ (asserts! (is-eq tx-sender (var-get game-core-address)) err-unauthorized)
15
+ (var-set game-core-address new-core)
16
+ (ok true)
17
+ ))
18
+
19
+ (define-read-only (can-check-in (user principal))
20
+ (let ((last-block (default-to u0 (map-get? last-checkin-block user))) (current-block block-height))
21
+ (if (or (is-eq last-block u0) (> (- current-block last-block) BLOCKS-PER-DAY)) true false)))
22
+
23
+ (define-read-only (is-task-done (user principal) (task-id uint))
24
+ (default-to false (map-get? completed-tasks { user: user, task-id: task-id })))
25
+
26
+ (define-public (record-check-in (user principal))
27
+ (begin
28
+ (asserts! (is-eq tx-sender (var-get game-core-address)) err-unauthorized)
29
+ (asserts! (can-check-in user) err-too-soon)
30
+ (map-set last-checkin-block user block-height)
31
+ (ok REWARD-CHECKIN)))
32
+
33
+ (define-public (record-task (user principal) (task-id uint) (reward uint))
34
+ (begin
35
+ (asserts! (is-eq tx-sender (var-get game-core-address)) err-unauthorized)
36
+ (asserts! (not (is-task-done user task-id)) err-already-done)
37
+ (map-set completed-tasks { user: user, task-id: task-id } true)
38
+ (ok reward)))
39
+
40
+ (define-public (ping-40)
41
+ (ok true))
42
+
43
+ (define-public (ping-27)
44
+ (ok true))
45
+
46
+ (define-public (ping-73)
47
+ (ok true))
48
+
49
+ (define-public (ping-166)
50
+ (ok true))
51
+
52
+ (define-public (ping-161)
53
+ (ok true))
54
+
55
+ (define-public (ping-11)
56
+ (ok true))
57
+
58
+ (define-public (ping-68)
59
+ (ok true))
60
+
61
+ (define-public (ping-191)
62
+ (ok true))
63
+
64
+ (define-public (ping-140)
65
+ (ok true))
66
+
67
+ (define-public (ping-176)
68
+ (ok true))