@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
package/src/App.jsx ADDED
@@ -0,0 +1,357 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import { Routes, Route, Navigate } from 'react-router-dom'; // Tambahkan import dari react-router-dom
3
+ import { showConnect, openContractCall } from '@stacks/connect';
4
+ import { StacksMainnet } from '@stacks/network';
5
+ import {
6
+ uintCV,
7
+ PostConditionMode,
8
+ callReadOnlyFunction,
9
+ standardPrincipalCV,
10
+ tupleCV,
11
+ cvToHex,
12
+ hexToCV,
13
+ cvToValue,
14
+ stringAsciiCV
15
+ } from '@stacks/transactions';
16
+
17
+ import { supabase, userSession } from './supabaseClient';
18
+
19
+ import Layout from './components/Layout';
20
+ import Home from './pages/Home';
21
+ import Tasks from './pages/Tasks';
22
+ import Profile from './pages/Profile';
23
+ import Vault from './pages/Vault';
24
+ import Gaming from './pages/Gaming';
25
+
26
+ const CONTRACT_ADDRESS = 'SP3GHKMV4GSYNA8WGBX83DACG80K1RRVQZAZMB9J3';
27
+ const CONTRACT_NAME = 'genesis-core-v10';
28
+ const LEADERBOARD_CONTRACT = 'genesis-leaderboard-v1';
29
+
30
+ const network = new StacksMainnet();
31
+
32
+ function App() {
33
+
34
+ const [userData, setUserData] = useState(null);
35
+
36
+ const [leaderboardScore, setLeaderboardScore] = useState(0);
37
+ const [leaderboardTier, setLeaderboardTier] = useState(0);
38
+
39
+ const [userXP, setUserXP] = useState(0);
40
+ const [userLevel, setUserLevel] = useState(1);
41
+
42
+ const [tasks] = useState([
43
+ {
44
+ id: 101,
45
+ name: "Security Audit Sentinel",
46
+ desc: "Perform a comprehensive vulnerability scan on the smart contracts",
47
+ reward: 300,
48
+ icon: "🛡️"
49
+ },
50
+ {
51
+ id: 102,
52
+ name: "SIP Implementation",
53
+ desc: "Implement a new Stacks Improvement Proposal (SIP) standard in your app",
54
+ reward: 450,
55
+ icon: "📜"
56
+ },
57
+ {
58
+ id: 103,
59
+ name: "Gasless Transaction Setup",
60
+ desc: "Enable meta-transactions to allow users to interact without STX gas fees",
61
+ reward: 220,
62
+ icon: "⛽"
63
+ },
64
+ {
65
+ id: 104,
66
+ name: "DeFi Liquidity Provider",
67
+ desc: "Provide liquidity to a Stacks-based DEX using your Diamond assets",
68
+ reward: 190,
69
+ icon: "💧"
70
+ },
71
+ {
72
+ id: 105,
73
+ name: "Identity Recovery Protocol",
74
+ desc: "Set up a social recovery mechanism for your decentralized identity",
75
+ reward: 280,
76
+ icon: "🔑"
77
+ },
78
+ {
79
+ id: 106,
80
+ name: "Multi-sig Governance",
81
+ desc: "Deploy a multi-signature wallet for shared project treasury management",
82
+ reward: 320,
83
+ icon: "👥"
84
+ },
85
+ {
86
+ id: 107,
87
+ name: "Zero-Knowledge Proofs",
88
+ desc: "Integrate ZK-proofs for private identity verification on-chain",
89
+ reward: 550,
90
+ icon: "🕵️"
91
+ },
92
+ {
93
+ id: 108,
94
+ name: "Community Workshop Lead",
95
+ desc: "Host a technical workshop for new developers joining the Genesis ecosystem",
96
+ reward: 250,
97
+ icon: "🎓"
98
+ },
99
+ {
100
+ id: 109,
101
+ name: "Cross-chain Bridge Test",
102
+ desc: "Successfully bridge assets from Ethereum to Stacks via an official portal",
103
+ reward: 210,
104
+ icon: "🌉"
105
+ },
106
+ {
107
+ id: 110,
108
+ name: "Genesis Overlord",
109
+ desc: "Consolidate 10 high-tier Diamond Vaults into a single Master Node",
110
+ reward: 1200,
111
+ icon: "👑"
112
+ }
113
+ ]);
114
+
115
+ useEffect(() => {
116
+
117
+ if (userSession.isUserSignedIn()) {
118
+
119
+ const user = userSession.loadUserData();
120
+ const wallet = user.profile.stxAddress.mainnet;
121
+
122
+ setUserData(user);
123
+
124
+ fetchLeaderboard(wallet);
125
+ fetchUserProfile(wallet);
126
+
127
+ }
128
+
129
+ }, []);
130
+
131
+ const fetchUserProfile = async (wallet) => {
132
+
133
+ try {
134
+
135
+ const key = standardPrincipalCV(wallet);
136
+
137
+ const response = await fetch(
138
+ `${network.coreApiUrl}/v2/map_entry/${CONTRACT_ADDRESS}/${CONTRACT_NAME}/user-profile`,
139
+ {
140
+ method: "POST",
141
+ headers: { "Content-Type": "application/json" },
142
+ body: JSON.stringify(cvToHex(key))
143
+ }
144
+ );
145
+
146
+ if (!response.ok) {
147
+ setUserXP(0);
148
+ setUserLevel(1);
149
+ return;
150
+ }
151
+
152
+ const data = await response.json();
153
+ const resultCV = hexToCV(data.data);
154
+ const val = cvToValue(resultCV);
155
+
156
+ let xp = 0;
157
+ let level = 1;
158
+
159
+ if (val && val.value) {
160
+ xp = val.value.xp?.value !== undefined ? val.value.xp.value : (val.value.xp ?? 0);
161
+ level = val.value.level?.value !== undefined ? val.value.level.value : (val.value.level ?? 1);
162
+ } else if (val) {
163
+ xp = val.xp?.value !== undefined ? val.xp.value : (val.xp ?? 0);
164
+ level = val.level?.value !== undefined ? val.level.value : (val.level ?? 1);
165
+ }
166
+
167
+ setUserXP(Number(xp));
168
+ setUserLevel(Number(level));
169
+
170
+ } catch (err) {
171
+ console.log("Profile fetch error:", err);
172
+ }
173
+
174
+ };
175
+
176
+ const fetchLeaderboard = async (wallet) => {
177
+
178
+ try {
179
+
180
+ const scoreResult = await callReadOnlyFunction({
181
+ contractAddress: CONTRACT_ADDRESS,
182
+ contractName: LEADERBOARD_CONTRACT,
183
+ functionName: 'get-score',
184
+ functionArgs: [standardPrincipalCV(wallet)],
185
+ network,
186
+ senderAddress: wallet
187
+ });
188
+
189
+ const tierResult = await callReadOnlyFunction({
190
+ contractAddress: CONTRACT_ADDRESS,
191
+ contractName: LEADERBOARD_CONTRACT,
192
+ functionName: 'get-rank-tier',
193
+ functionArgs: [standardPrincipalCV(wallet)],
194
+ network,
195
+ senderAddress: wallet
196
+ });
197
+
198
+ const scoreValue = scoreResult?.value?.data?.score?.value ?? 0;
199
+ const tierValue = tierResult?.value?.value ?? 0;
200
+
201
+ setLeaderboardScore(Number(scoreValue));
202
+ setLeaderboardTier(Number(tierValue));
203
+
204
+ } catch (err) {
205
+ console.log("Leaderboard error:", err);
206
+ }
207
+
208
+ };
209
+
210
+ const handleAddLeaderboardScore = async () => {
211
+
212
+ if (!userData) return;
213
+
214
+ await openContractCall({
215
+ network,
216
+ contractAddress: CONTRACT_ADDRESS,
217
+ contractName: LEADERBOARD_CONTRACT,
218
+ functionName: 'add-score',
219
+ functionArgs: [uintCV(10)],
220
+ postConditionMode: PostConditionMode.Allow,
221
+ onFinish: () => {
222
+ fetchLeaderboard(userData.profile.stxAddress.mainnet);
223
+ fetchUserProfile(userData.profile.stxAddress.mainnet);
224
+ }
225
+ });
226
+
227
+ };
228
+
229
+ const handleTask = async (taskId) => {
230
+
231
+ if (!userData) {
232
+ alert("Connect wallet first");
233
+ return false;
234
+ }
235
+
236
+ const reward = tasks.find(t => t.id === taskId)?.reward ?? 0;
237
+
238
+ return new Promise((resolve) => {
239
+ openContractCall({
240
+ network,
241
+ contractAddress: CONTRACT_ADDRESS,
242
+ contractName: CONTRACT_NAME,
243
+ functionName: 'complete-mission',
244
+ functionArgs: [uintCV(taskId), uintCV(reward)],
245
+ postConditionMode: PostConditionMode.Allow,
246
+ onFinish: () => {
247
+ const newXP = userXP + reward;
248
+ setUserXP(newXP);
249
+ setUserLevel(Math.floor(newXP / 500) + 1);
250
+ setTimeout(() => fetchUserProfile(userData.profile.stxAddress.mainnet), 10000);
251
+ resolve(true);
252
+ },
253
+ onCancel: () => {
254
+ resolve(false);
255
+ }
256
+ });
257
+ });
258
+
259
+ };
260
+
261
+ const handleMint = async (badgeId) => {
262
+
263
+ if (!userData) {
264
+ alert("Connect wallet first");
265
+ return false;
266
+ }
267
+
268
+ return new Promise((resolve) => {
269
+ openContractCall({
270
+ network,
271
+ contractAddress: CONTRACT_ADDRESS,
272
+ contractName: CONTRACT_NAME,
273
+ functionName: 'claim-badge',
274
+ functionArgs: [stringAsciiCV(badgeId)],
275
+ postConditionMode: PostConditionMode.Allow,
276
+ onFinish: () => {
277
+ resolve(true);
278
+ },
279
+ onCancel: () => {
280
+ resolve(false);
281
+ }
282
+ });
283
+ });
284
+
285
+ };
286
+
287
+ const connectWallet = () => {
288
+
289
+ showConnect({
290
+ userSession,
291
+ appDetails: {
292
+ name: 'Genesis Platform',
293
+ icon: window.location.origin + '/vite.svg'
294
+ }
295
+ });
296
+
297
+ };
298
+
299
+ return (
300
+ <Layout
301
+ walletButton={
302
+ !userData ?
303
+
304
+ <button
305
+ onClick={connectWallet}
306
+ className="bg-indigo-500 text-white px-4 py-2 rounded-lg text-sm font-bold"
307
+ >
308
+ CONNECT
309
+ </button>
310
+
311
+ :
312
+
313
+ <button
314
+ onClick={() => {
315
+ userSession.signUserOut();
316
+ setUserData(null);
317
+ }}
318
+ className="bg-slate-800 px-4 py-2 rounded-lg text-sm font-mono"
319
+ >
320
+ {userData.profile.stxAddress.mainnet.slice(0,5)}...
321
+ </button>
322
+ }
323
+ >
324
+ <Routes>
325
+ {/* Redirect root (/) ke /home */}
326
+ <Route path="/" element={<Navigate to="/home" replace />} />
327
+
328
+ <Route path="/home" element={
329
+ <Home
330
+ userData={userData}
331
+ userXP={userXP}
332
+ userLevel={userLevel}
333
+ handleMint={handleMint}
334
+ />
335
+ } />
336
+
337
+ <Route path="/tasks" element={
338
+ <Tasks
339
+ initialTasks={tasks}
340
+ handleTask={handleTask}
341
+ />
342
+ } />
343
+
344
+ <Route path="/vault" element={<Vault userData={userData} />} />
345
+
346
+ <Route path="/profile" element={<Profile userData={userData} />} />
347
+
348
+ {/* --- TAMBAHAN ROUTE GAMING DI SINI --- */}
349
+ <Route path="/gaming" element={<Gaming userData={userData} />} />
350
+
351
+ </Routes>
352
+ </Layout>
353
+ );
354
+ }
355
+
356
+ export default App;
357
+
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="35.93" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 228"><path fill="#00D8FF" d="M210.483 73.824a171.49 171.49 0 0 0-8.24-2.597c.465-1.9.893-3.777 1.273-5.621c6.238-30.281 2.16-54.676-11.769-62.708c-13.355-7.7-35.196.329-57.254 19.526a171.23 171.23 0 0 0-6.375 5.848a155.866 155.866 0 0 0-4.241-3.917C100.759 3.829 77.587-4.822 63.673 3.233C50.33 10.957 46.379 33.89 51.995 62.588a170.974 170.974 0 0 0 1.892 8.48c-3.28.932-6.445 1.924-9.474 2.98C17.309 83.498 0 98.307 0 113.668c0 15.865 18.582 31.778 46.812 41.427a145.52 145.52 0 0 0 6.921 2.165a167.467 167.467 0 0 0-2.01 9.138c-5.354 28.2-1.173 50.591 12.134 58.266c13.744 7.926 36.812-.22 59.273-19.855a145.567 145.567 0 0 0 5.342-4.923a168.064 168.064 0 0 0 6.92 6.314c21.758 18.722 43.246 26.282 56.54 18.586c13.731-7.949 18.194-32.003 12.4-61.268a145.016 145.016 0 0 0-1.535-6.842c1.62-.48 3.21-.974 4.76-1.488c29.348-9.723 48.443-25.443 48.443-41.52c0-15.417-17.868-30.326-45.517-39.844Zm-6.365 70.984c-1.4.463-2.836.91-4.3 1.345c-3.24-10.257-7.612-21.163-12.963-32.432c5.106-11 9.31-21.767 12.459-31.957c2.619.758 5.16 1.557 7.61 2.4c23.69 8.156 38.14 20.213 38.14 29.504c0 9.896-15.606 22.743-40.946 31.14Zm-10.514 20.834c2.562 12.94 2.927 24.64 1.23 33.787c-1.524 8.219-4.59 13.698-8.382 15.893c-8.067 4.67-25.32-1.4-43.927-17.412a156.726 156.726 0 0 1-6.437-5.87c7.214-7.889 14.423-17.06 21.459-27.246c12.376-1.098 24.068-2.894 34.671-5.345a134.17 134.17 0 0 1 1.386 6.193ZM87.276 214.515c-7.882 2.783-14.16 2.863-17.955.675c-8.075-4.657-11.432-22.636-6.853-46.752a156.923 156.923 0 0 1 1.869-8.499c10.486 2.32 22.093 3.988 34.498 4.994c7.084 9.967 14.501 19.128 21.976 27.15a134.668 134.668 0 0 1-4.877 4.492c-9.933 8.682-19.886 14.842-28.658 17.94ZM50.35 144.747c-12.483-4.267-22.792-9.812-29.858-15.863c-6.35-5.437-9.555-10.836-9.555-15.216c0-9.322 13.897-21.212 37.076-29.293c2.813-.98 5.757-1.905 8.812-2.773c3.204 10.42 7.406 21.315 12.477 32.332c-5.137 11.18-9.399 22.249-12.634 32.792a134.718 134.718 0 0 1-6.318-1.979Zm12.378-84.26c-4.811-24.587-1.616-43.134 6.425-47.789c8.564-4.958 27.502 2.111 47.463 19.835a144.318 144.318 0 0 1 3.841 3.545c-7.438 7.987-14.787 17.08-21.808 26.988c-12.04 1.116-23.565 2.908-34.161 5.309a160.342 160.342 0 0 1-1.76-7.887Zm110.427 27.268a347.8 347.8 0 0 0-7.785-12.803c8.168 1.033 15.994 2.404 23.343 4.08c-2.206 7.072-4.956 14.465-8.193 22.045a381.151 381.151 0 0 0-7.365-13.322Zm-45.032-43.861c5.044 5.465 10.096 11.566 15.065 18.186a322.04 322.04 0 0 0-30.257-.006c4.974-6.559 10.069-12.652 15.192-18.18ZM82.802 87.83a323.167 323.167 0 0 0-7.227 13.238c-3.184-7.553-5.909-14.98-8.134-22.152c7.304-1.634 15.093-2.97 23.209-3.984a321.524 321.524 0 0 0-7.848 12.897Zm8.081 65.352c-8.385-.936-16.291-2.203-23.593-3.793c2.26-7.3 5.045-14.885 8.298-22.6a321.187 321.187 0 0 0 7.257 13.246c2.594 4.48 5.28 8.868 8.038 13.147Zm37.542 31.03c-5.184-5.592-10.354-11.779-15.403-18.433c4.902.192 9.899.29 14.978.29c5.218 0 10.376-.117 15.453-.343c-4.985 6.774-10.018 12.97-15.028 18.486Zm52.198-57.817c3.422 7.8 6.306 15.345 8.596 22.52c-7.422 1.694-15.436 3.058-23.88 4.071a382.417 382.417 0 0 0 7.859-13.026a347.403 347.403 0 0 0 7.425-13.565Zm-16.898 8.101a358.557 358.557 0 0 1-12.281 19.815a329.4 329.4 0 0 1-23.444.823c-7.967 0-15.716-.248-23.178-.732a310.202 310.202 0 0 1-12.513-19.846h.001a307.41 307.41 0 0 1-10.923-20.627a310.278 310.278 0 0 1 10.89-20.637l-.001.001a307.318 307.318 0 0 1 12.413-19.761c7.613-.576 15.42-.876 23.31-.876H128c7.926 0 15.743.303 23.354.883a329.357 329.357 0 0 1 12.335 19.695a358.489 358.489 0 0 1 11.036 20.54a329.472 329.472 0 0 1-11 20.722Zm22.56-122.124c8.572 4.944 11.906 24.881 6.52 51.026c-.344 1.668-.73 3.367-1.15 5.09c-10.622-2.452-22.155-4.275-34.23-5.408c-7.034-10.017-14.323-19.124-21.64-27.008a160.789 160.789 0 0 1 5.888-5.4c18.9-16.447 36.564-22.941 44.612-18.3ZM128 90.808c12.625 0 22.86 10.235 22.86 22.86s-10.235 22.86-22.86 22.86s-22.86-10.235-22.86-22.86s10.235-22.86 22.86-22.86Z"></path></svg>
@@ -0,0 +1,114 @@
1
+ import React from 'react';
2
+ import { Link, useLocation } from 'react-router-dom';
3
+
4
+ const Layout = ({ children, walletButton }) => {
5
+ const location = useLocation();
6
+ const currentPath = location.pathname;
7
+
8
+ const menuItems = [
9
+ { id: 'home', label: 'Overview', icon: '◱', path: '/home' },
10
+ { id: 'tasks', label: 'Protocol Tasks', icon: '≡', path: '/tasks' },
11
+ { id: 'vault', label: 'Treasury Vault', icon: '⧉', path: '/vault' },
12
+ { id: 'gaming', label: 'Engagement', icon: '⍐', path: '/gaming' },
13
+ { id: 'profile', label: 'Identity', icon: '⍥', path: '/profile' }
14
+ ];
15
+
16
+ return (
17
+ <div className="min-h-screen flex bg-app-bg text-zinc-200 font-sans overflow-hidden selection:bg-app-accent selection:text-white">
18
+
19
+ {/* DESKTOP SIDEBAR */}
20
+ <aside className="w-64 hidden md:flex flex-col border-r border-app-border bg-app-bg z-20 transition-all">
21
+ <div className="p-6 flex items-center gap-3">
22
+ <div className="w-8 h-8 bg-white rounded flex items-center justify-center font-bold text-black shadow-sm">
23
+ G
24
+ </div>
25
+ <span className="font-bold tracking-tight text-lg text-white">
26
+ GENESIS
27
+ </span>
28
+ </div>
29
+
30
+ <nav className="flex-1 px-4 space-y-1 mt-6">
31
+ {menuItems.map((item) => {
32
+ const isActive = currentPath.includes(item.path);
33
+ return (
34
+ <Link
35
+ key={item.id}
36
+ to={item.path}
37
+ className={`w-full flex items-center gap-3 px-3 py-2.5 rounded-md transition-all duration-200 text-sm font-medium group ${
38
+ isActive
39
+ ? 'bg-app-card text-white shadow-sm'
40
+ : 'text-app-muted hover:bg-zinc-800/50 hover:text-zinc-200'
41
+ }`}
42
+ >
43
+ <span className={`text-lg transition-transform duration-200 ${isActive ? 'scale-110 text-app-accent' : 'group-hover:scale-110'}`}>
44
+ {item.icon}
45
+ </span>
46
+ {item.label}
47
+ </Link>
48
+ );
49
+ })}
50
+ </nav>
51
+ </aside>
52
+
53
+ {/* MAIN AREA */}
54
+ <main className="flex-1 flex flex-col relative overflow-y-auto h-screen scroll-smooth">
55
+ {/* HEADER */}
56
+ <header className="sticky top-0 z-10 bg-app-bg/80 backdrop-blur-md border-b border-app-border px-8 py-4 flex justify-between items-center">
57
+ <div className="hidden md:flex items-center gap-2 text-app-muted text-xs uppercase tracking-widest font-semibold">
58
+ <span className="w-2 h-2 rounded-full bg-green-500 animate-pulse-subtle"></span>
59
+ Mainnet Environment
60
+ </div>
61
+ <div>
62
+ {walletButton}
63
+ </div>
64
+ </header>
65
+
66
+ {/* PAGE CONTENT */}
67
+ <div className="p-6 md:p-8 max-w-5xl w-full flex-1 animate-fade-in mx-auto">
68
+ {children}
69
+ </div>
70
+
71
+ {/* FOOTER */}
72
+ <footer className="w-full border-t border-app-border py-8 mt-auto pb-24 md:pb-8 bg-app-bg">
73
+ <div className="flex flex-col items-center justify-center gap-4">
74
+ <span className="text-app-muted text-[10px] font-bold uppercase tracking-widest">
75
+ Join The Ecosystem
76
+ </span>
77
+ <div className="flex items-center gap-6">
78
+ <a href="https://t.me/+urf3qEq3FkE2NDA1" target="_blank" rel="noreferrer" className="text-zinc-500 hover:text-white transition-colors text-sm font-medium flex items-center gap-2">
79
+ Telegram
80
+ </a>
81
+ <a href="https://x.com/stacksone_ngasal" target="_blank" rel="noreferrer" className="text-zinc-500 hover:text-white transition-colors text-sm font-medium flex items-center gap-2">
82
+ X (Twitter)
83
+ </a>
84
+ <a href="https://discord.gg/ngasaldulu" target="_blank" rel="noreferrer" className="text-zinc-500 hover:text-white transition-colors text-sm font-medium flex items-center gap-2">
85
+ Discord
86
+ </a>
87
+ </div>
88
+ </div>
89
+ </footer>
90
+ </main>
91
+
92
+ {/* MOBILE BOTTOM NAVIGATION */}
93
+ <div className="md:hidden fixed bottom-0 left-0 right-0 bg-app-bg/95 backdrop-blur-xl border-t border-app-border flex justify-around py-3 z-30 px-2 pb-safe">
94
+ {menuItems.map((item) => {
95
+ const isActive = currentPath.includes(item.path);
96
+ return (
97
+ <Link
98
+ key={item.id}
99
+ to={item.path}
100
+ className={`flex flex-col items-center gap-1 text-[10px] font-medium transition-colors ${
101
+ isActive ? 'text-white' : 'text-app-muted'
102
+ }`}
103
+ >
104
+ <span className={`text-xl ${isActive ? 'text-app-accent' : ''}`}>{item.icon}</span>
105
+ {item.label}
106
+ </Link>
107
+ );
108
+ })}
109
+ </div>
110
+ </div>
111
+ );
112
+ };
113
+
114
+ export default Layout;
package/src/helper.js ADDED
@@ -0,0 +1,153 @@
1
+ // updated at Sen 30 Mar 2026 21:01:36 WIB
2
+ // update 1 at Min 29 Mar 2026 20:24:36 WIB
3
+ // update 29 at Sen 30 Mar 2026 00:48:02 WIB
4
+ // update 37 at Sen 30 Mar 2026 01:59:01 WIB
5
+ // update 95 at Sen 30 Mar 2026 10:24:29 WIB
6
+ // update 145 at Sen 30 Mar 2026 18:21:16 WIB
7
+ // update 149 at Sen 30 Mar 2026 18:50:06 WIB
8
+ // update 34 at Sel 31 Mar 2026 03:48:32 WIB
9
+ // update 39 at Sel 31 Mar 2026 04:26:09 WIB
10
+ // update 64 at Sel 31 Mar 2026 08:12:52 WIB
11
+ // update 4 at Sel 31 Mar 2026 09:29:28 WIB
12
+ // update 6 at Sel 31 Mar 2026 09:36:35 WIB
13
+ // update 31 at Sel 31 Mar 2026 11:13:43 WIB
14
+ // update 39 at Sel 31 Mar 2026 11:46:31 WIB
15
+ // update 45 at Sel 31 Mar 2026 12:11:21 WIB
16
+ // update 63 at Sel 31 Mar 2026 13:23:03 WIB
17
+ // update 9 at Sel 31 Mar 2026 15:54:52 WIB
18
+ // update 65 at Sel 31 Mar 2026 19:38:52 WIB
19
+ // update 76 at Sel 31 Mar 2026 20:22:14 WIB
20
+ // update 128 at Rab 01 Apr 2026 00:04:06 WIB
21
+ // update 3 at Min 05 Apr 2026 13:18:49 WIB
22
+ // update 9 at Min 05 Apr 2026 14:06:29 WIB
23
+ // update 47 at Sel 07 Apr 2026 00:04:02 WIB
24
+ // update 59 at Sel 07 Apr 2026 01:30:02 WIB
25
+ // update 62 at Sel 07 Apr 2026 01:50:19 WIB
26
+ // update 31 at Rab 08 Apr 2026 14:33:16 WIB
27
+ // update 32 at Rab 08 Apr 2026 14:41:17 WIB
28
+ // update 43 at Rab 08 Apr 2026 16:03:36 WIB
29
+ // update 77 at Rab 08 Apr 2026 20:12:34 WIB
30
+ // update 89 at Rab 08 Apr 2026 21:39:02 WIB
31
+ // update 106 at Rab 08 Apr 2026 23:43:50 WIB
32
+ // update 117 at Kam 09 Apr 2026 01:05:41 WIB
33
+ // update 119 at Kam 09 Apr 2026 01:19:15 WIB
34
+ // update 17 at Kam 09 Apr 2026 10:47:24 WIB
35
+ // update 27 at Kam 09 Apr 2026 12:06:59 WIB
36
+ // update 2 at Jum 10 Apr 2026 11:25:42 WIB
37
+ // update 11 at Jum 10 Apr 2026 12:27:38 WIB
38
+ // update 20 at Jum 10 Apr 2026 13:36:30 WIB
39
+ // update 31 at Jum 10 Apr 2026 15:01:05 WIB
40
+ // update 44 at Jum 10 Apr 2026 16:40:09 WIB
41
+ // update 51 at Sab 11 Apr 2026 20:31:35 WIB
42
+ // update 77 at Sab 11 Apr 2026 23:45:24 WIB
43
+ // update 80 at Min 12 Apr 2026 00:08:12 WIB
44
+ // update 86 at Min 12 Apr 2026 00:58:56 WIB
45
+ // update 93 at Min 12 Apr 2026 01:57:39 WIB
46
+ // update 17 at Sen 13 Apr 2026 10:41:59 WIB
47
+ // update 22 at Sel 14 Apr 2026 10:38:34 WIB
48
+ // update 19 at Kam 16 Apr 2026 00:53:26 WIB
49
+ // update 79 at Kam 16 Apr 2026 06:53:04 WIB
50
+ // update 115 at Kam 16 Apr 2026 10:34:30 WIB
51
+ // update 60 at Jum 17 Apr 2026 00:25:09 WIB
52
+ // update 26 at Jum 17 Apr 2026 13:57:19 WIB
53
+ // update 13 at Sab 18 Apr 2026 10:55:50 WIB
54
+ // update 17 at Sab 18 Apr 2026 11:24:07 WIB
55
+ // update 25 at Sab 18 Apr 2026 12:13:43 WIB
56
+ // update 30 at Sab 18 Apr 2026 12:49:25 WIB
57
+ // update 38 at Sab 18 Apr 2026 13:38:31 WIB
58
+ // update 180 at Min 19 Apr 2026 05:01:34 WIB
59
+ // update 181 at Min 19 Apr 2026 05:06:43 WIB
60
+ // update 285 at Min 19 Apr 2026 16:06:26 WIB
61
+ // update 1 at Min 19 Apr 2026 16:28:24 WIB
62
+ // update 24 at Min 19 Apr 2026 18:59:44 WIB
63
+ // update 63 at Min 19 Apr 2026 23:28:49 WIB
64
+ // update 71 at Sen 20 Apr 2026 00:16:42 WIB
65
+ // update 75 at Sen 20 Apr 2026 00:43:15 WIB
66
+ // update 90 at Sen 20 Apr 2026 02:23:49 WIB
67
+ // update 92 at Sen 20 Apr 2026 02:37:36 WIB
68
+ // update 13 at Sen 20 Apr 2026 15:58:43 WIB
69
+ // update 19 at Sen 20 Apr 2026 16:41:07 WIB
70
+ // update 29 at Sen 20 Apr 2026 17:43:29 WIB
71
+ // update 145 at Sel 21 Apr 2026 06:12:08 WIB
72
+ // update 175 at Sel 21 Apr 2026 09:25:02 WIB
73
+ // update 1 at Sel 21 Apr 2026 13:36:34 WIB
74
+ // update 24 at Sel 21 Apr 2026 16:03:19 WIB
75
+ // update 44 at Sel 21 Apr 2026 18:11:51 WIB
76
+ // update 53 at Sel 21 Apr 2026 19:07:05 WIB
77
+ // update 71 at Sel 21 Apr 2026 20:55:19 WIB
78
+ // update 101 at Rab 22 Apr 2026 00:18:14 WIB
79
+ // update 123 at Rab 22 Apr 2026 02:51:26 WIB
80
+ // update 20 at Rab 22 Apr 2026 16:47:54 WIB
81
+ // update 40 at Rab 22 Apr 2026 18:58:53 WIB
82
+ // update 77 at Rab 22 Apr 2026 22:56:07 WIB
83
+ // update 27 at Kam 23 Apr 2026 01:56:48 WIB
84
+ // update 20 at Kam 23 Apr 2026 10:15:23 WIB
85
+ // update 22 at Kam 23 Apr 2026 10:24:28 WIB
86
+ // update 105 at Kam 23 Apr 2026 22:06:15 WIB
87
+ // update 112 at Kam 23 Apr 2026 22:41:18 WIB
88
+ // update 116 at Kam 23 Apr 2026 22:57:11 WIB
89
+ // update 172 at Jum 24 Apr 2026 03:31:10 WIB
90
+ // update 188 at Jum 24 Apr 2026 04:54:03 WIB
91
+ // update 210 at Jum 24 Apr 2026 06:50:44 WIB
92
+ // update 6 at Jum 24 Apr 2026 08:45:22 WIB
93
+ // update 24 at Jum 24 Apr 2026 10:15:25 WIB
94
+ // update 22 at Jum 24 Apr 2026 17:25:00 WIB
95
+ // update 29 at Jum 24 Apr 2026 17:57:54 WIB
96
+ // update 52 at Jum 24 Apr 2026 19:48:28 WIB
97
+ // update 67 at Jum 24 Apr 2026 21:23:46 WIB
98
+ // update 133 at Sab 25 Apr 2026 02:51:48 WIB
99
+ // update 12 at Sab 25 Apr 2026 11:35:41 WIB
100
+ // update 37 at Sab 25 Apr 2026 13:44:43 WIB
101
+ // update 43 at Sab 25 Apr 2026 14:12:18 WIB
102
+ // update 63 at Sab 25 Apr 2026 15:54:06 WIB
103
+ // update 94 at Sab 25 Apr 2026 18:38:08 WIB
104
+ // update 101 at Sab 25 Apr 2026 19:15:22 WIB
105
+ // update 176 at Min 26 Apr 2026 01:31:51 WIB
106
+ // update 224 at Min 26 Apr 2026 05:28:48 WIB
107
+ // update 229 at Min 26 Apr 2026 05:53:12 WIB
108
+ // update 255 at Min 26 Apr 2026 07:57:08 WIB
109
+ // update 270 at Min 26 Apr 2026 09:10:13 WIB
110
+ // update 11 at Sen 27 Apr 2026 13:28:43 WIB
111
+ // update 16 at Sen 27 Apr 2026 13:49:55 WIB
112
+ // update 26 at Sen 27 Apr 2026 14:41:14 WIB
113
+ // update 75 at Sen 27 Apr 2026 18:49:42 WIB
114
+ // update 115 at Sen 27 Apr 2026 22:10:46 WIB
115
+ // update 125 at Sen 27 Apr 2026 22:59:18 WIB
116
+ // update 12 at Sel 28 Apr 2026 01:09:43 WIB
117
+ // update 24 at Sel 28 Apr 2026 02:09:58 WIB
118
+ // update 39 at Sel 28 Apr 2026 03:30:36 WIB
119
+ // update 53 at Sel 28 Apr 2026 04:40:59 WIB
120
+ // update 72 at Sel 28 Apr 2026 06:14:25 WIB
121
+ // update 104 at Sel 28 Apr 2026 08:54:45 WIB
122
+ // update 145 at Sel 28 Apr 2026 12:23:20 WIB
123
+ // update 207 at Sel 28 Apr 2026 17:45:20 WIB
124
+ // update 246 at Sel 28 Apr 2026 21:08:51 WIB
125
+ // update 280 at Sel 28 Apr 2026 23:55:57 WIB
126
+ // update 1 at Rab 29 Apr 2026 13:11:50 WIB
127
+ // update 21 at Rab 29 Apr 2026 14:58:11 WIB
128
+ // update 36 at Rab 29 Apr 2026 16:15:25 WIB
129
+ // update 12 at Kam 30 Apr 2026 00:25:07 WIB
130
+ // update 17 at Kam 30 Apr 2026 00:52:06 WIB
131
+ // update 6 at Kam 30 Apr 2026 02:19:08 WIB
132
+ // update 52 at Kam 30 Apr 2026 06:00:14 WIB
133
+ // update 65 at Kam 30 Apr 2026 07:05:18 WIB
134
+ // update 96 at Kam 30 Apr 2026 09:36:27 WIB
135
+ // update 105 at Kam 30 Apr 2026 10:22:06 WIB
136
+ // update 153 at Kam 30 Apr 2026 14:17:34 WIB
137
+ // update 164 at Kam 30 Apr 2026 15:17:14 WIB
138
+ // update 205 at Kam 30 Apr 2026 18:43:36 WIB
139
+ // update 238 at Kam 30 Apr 2026 21:34:15 WIB
140
+ // update 58 at Jum 01 Mei 2026 07:16:25 WIB
141
+ // update 104 at Jum 01 Mei 2026 11:18:43 WIB
142
+ // update 61 at Jum 01 Mei 2026 19:08:34 WIB
143
+ // update 70 at Jum 01 Mei 2026 20:00:04 WIB
144
+ // update 111 at Jum 01 Mei 2026 23:18:20 WIB
145
+ // update 136 at Sab 02 Mei 2026 01:27:30 WIB
146
+ // update 174 at Sab 02 Mei 2026 04:39:50 WIB
147
+ // update 237 at Sab 02 Mei 2026 10:11:18 WIB
148
+ // update 24 at Min 03 Mei 2026 19:09:09 WIB
149
+ // update 31 at Min 03 Mei 2026 19:47:39 WIB
150
+ // update 81 at Sen 04 Mei 2026 00:04:30 WIB
151
+ // update 130 at Sen 04 Mei 2026 04:00:03 WIB
152
+ // update 206 at Sen 04 Mei 2026 10:29:07 WIB
153
+ // update 7 at Sen 04 Mei 2026 11:08:47 WIB
package/src/index.css ADDED
@@ -0,0 +1,21 @@
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ body {
6
+ @apply bg-app-bg text-white antialiased selection:bg-app-accent selection:text-white;
7
+ }
8
+
9
+ /* Custom Scrollbar yang Elegan */
10
+ ::-webkit-scrollbar {
11
+ width: 6px;
12
+ }
13
+ ::-webkit-scrollbar-track {
14
+ background: transparent;
15
+ }
16
+ ::-webkit-scrollbar-thumb {
17
+ @apply bg-app-border rounded-full;
18
+ }
19
+ ::-webkit-scrollbar-thumb:hover {
20
+ @apply bg-zinc-600;
21
+ }