@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,153 @@
1
+ ;; staking-refinery-v5.clar
2
+ ;; @version 2
3
+
4
+ (define-constant err-not-found (err u300))
5
+ (define-constant err-locked (err u301))
6
+ (define-constant err-already-claimed (err u302))
7
+
8
+ (define-data-var lock-period uint u1008)
9
+ (define-data-var nonce uint u0)
10
+
11
+ (define-map stakes
12
+ { user: principal, id: uint }
13
+ { amount: uint, start: uint, end: uint, claimed: bool }
14
+ )
15
+
16
+ ;; =========================
17
+ ;; READ ONLY STATUS
18
+ ;; =========================
19
+
20
+ (define-read-only (get-stake-status (user principal) (id uint))
21
+ (let
22
+ (
23
+ (data (map-get? stakes { user: user, id: id }))
24
+ (current burn-block-height)
25
+ )
26
+ (match data d
27
+ {
28
+ start: (get start d),
29
+ end: (get end d),
30
+ current: current,
31
+ blocks-left:
32
+ (if (>= current (get end d))
33
+ u0
34
+ (- (get end d) current)
35
+ ),
36
+ claimed: (get claimed d)
37
+ }
38
+ {
39
+ start: u0,
40
+ end: u0,
41
+ current: current,
42
+ blocks-left: u0,
43
+ claimed: false
44
+ }
45
+ )
46
+ )
47
+ )
48
+
49
+ ;; =========================
50
+ ;; STAKE
51
+ ;; =========================
52
+
53
+ (define-public (stake (amount uint))
54
+ (let
55
+ (
56
+ (user tx-sender)
57
+ (id (var-get nonce))
58
+ (end (+ burn-block-height (var-get lock-period)))
59
+ )
60
+
61
+ ;; Transfer poin dari user ke alamat smart contract ini
62
+ ;; Menggunakan try! untuk menangani response dari contract-call?
63
+ (try! (contract-call? .token-poin-v5 transfer amount tx-sender (as-contract tx-sender)))
64
+
65
+ (map-set stakes
66
+ { user: user, id: id }
67
+ {
68
+ amount: amount,
69
+ start: burn-block-height,
70
+ end: end,
71
+ claimed: false
72
+ }
73
+ )
74
+
75
+ (var-set nonce (+ id u1))
76
+ (ok id)
77
+ )
78
+ )
79
+
80
+ ;; =========================
81
+ ;; HARVEST
82
+ ;; =========================
83
+
84
+ (define-public (harvest (id uint))
85
+ (let
86
+ (
87
+ (user tx-sender)
88
+ (data (unwrap! (map-get? stakes { user: user, id: id }) err-not-found))
89
+ )
90
+
91
+ ;; Pastikan waktu lock sudah habis
92
+ (asserts! (>= burn-block-height (get end data)) err-locked)
93
+
94
+ ;; Pastikan belum pernah di-claim sebelumnya
95
+ (asserts! (not (get claimed data)) err-already-claimed)
96
+
97
+ (let
98
+ (
99
+ (reward (/ (get amount data) u10))
100
+ )
101
+
102
+ ;; Kembalikan poin dari kontrak ke user
103
+ (try! (as-contract (contract-call? .token-poin-v5 transfer (get amount data) tx-sender user)))
104
+
105
+ ;; Mint reward ONE dari kontrak ke user
106
+ (try! (as-contract (contract-call? .token-one-v5 mint reward user)))
107
+
108
+ ;; Update status menjadi claimed
109
+ (map-set stakes
110
+ { user: user, id: id }
111
+ (merge data { claimed: true })
112
+ )
113
+
114
+ (ok reward)
115
+ )
116
+ )
117
+ )
118
+
119
+ (define-public (ping-42)
120
+ (ok true))
121
+
122
+ (define-public (ping-84)
123
+ (ok true))
124
+
125
+ (define-public (ping-23)
126
+ (ok true))
127
+
128
+ (define-public (ping-46)
129
+ (ok true))
130
+
131
+ (define-public (ping-108)
132
+ (ok true))
133
+
134
+ (define-public (ping-169)
135
+ (ok true))
136
+
137
+ (define-public (ping-62)
138
+ (ok true))
139
+
140
+ (define-public (ping-33)
141
+ (ok true))
142
+
143
+ (define-public (ping-77)
144
+ (ok true))
145
+
146
+ (define-public (ping-125)
147
+ (ok true))
148
+
149
+ (define-public (ping-89)
150
+ (ok true))
151
+
152
+ (define-public (ping-29)
153
+ (ok true))
@@ -0,0 +1,122 @@
1
+ ;; staking-refinery-v6.clar
2
+
3
+ (define-constant err-not-found (err u300))
4
+ (define-constant err-locked (err u301))
5
+ (define-constant err-already-claimed (err u302)) ;; Mencegah harvest berkali-kali
6
+
7
+ (define-data-var lock-period uint u1008)
8
+ (define-data-var nonce uint u0)
9
+
10
+ (define-map stakes
11
+ { user: principal, id: uint }
12
+ { amount: uint, start: uint, end: uint, claimed: bool }
13
+ )
14
+
15
+ ;; =========================
16
+ ;; READ ONLY STATUS
17
+ ;; =========================
18
+
19
+ (define-read-only (get-stake-status (user principal) (id uint))
20
+ (let
21
+ (
22
+ (data (map-get? stakes { user: user, id: id }))
23
+ (current burn-block-height)
24
+ )
25
+ (match data d
26
+ {
27
+ start: (get start d),
28
+ end: (get end d),
29
+ current: current,
30
+ blocks-left:
31
+ (if (>= current (get end d))
32
+ u0
33
+ (- (get end d) current)
34
+ ),
35
+ claimed: (get claimed d)
36
+ }
37
+ {
38
+ start: u0,
39
+ end: u0,
40
+ current: current,
41
+ blocks-left: u0,
42
+ claimed: false
43
+ }
44
+ )
45
+ )
46
+ )
47
+
48
+ ;; =========================
49
+ ;; STAKE
50
+ ;; =========================
51
+
52
+ (define-public (stake (amount uint))
53
+ (let
54
+ (
55
+ (user tx-sender)
56
+ (id (var-get nonce))
57
+ (end (+ burn-block-height (var-get lock-period)))
58
+ )
59
+
60
+ ;; Menggunakan (as-contract tx-sender) agar poin berpindah dan tersimpan ke dalam kontrak dengan benar
61
+ (try! (contract-call? .token-poin-v6 transfer amount user (as-contract tx-sender)))
62
+
63
+ (map-set stakes
64
+ { user: user, id: id }
65
+ {
66
+ amount: amount,
67
+ start: burn-block-height,
68
+ end: end,
69
+ claimed: false
70
+ }
71
+ )
72
+
73
+ (var-set nonce (+ id u1))
74
+ (ok id)
75
+ )
76
+ )
77
+
78
+ ;; =========================
79
+ ;; HARVEST
80
+ ;; =========================
81
+
82
+ (define-public (harvest (id uint))
83
+ (let
84
+ (
85
+ (user tx-sender)
86
+ (data (unwrap! (map-get? stakes { user: user, id: id }) err-not-found))
87
+ )
88
+
89
+ (asserts! (>= burn-block-height (get end data)) err-locked)
90
+ ;; Validasi agar tidak bisa double-claim
91
+ (asserts! (not (get claimed data)) err-already-claimed)
92
+
93
+ (let
94
+ (
95
+ (reward (/ (get amount data) u10))
96
+ )
97
+
98
+ ;; Menggunakan as-contract untuk mengembalikan poin yang tersimpan di kontrak ke user
99
+ (try! (as-contract (contract-call? .token-poin-v6 transfer (get amount data) tx-sender user)))
100
+
101
+ ;; Mint reward token ONE dari v6
102
+ (try! (contract-call? .token-one-v6 mint reward user))
103
+
104
+ ;; Memperbarui status agar tidak bisa di-harvest lagi
105
+ (map-set stakes { user: user, id: id } (merge data { claimed: true }))
106
+
107
+ (ok reward)
108
+ )
109
+ )
110
+ )
111
+
112
+ (define-public (ping-122)
113
+ (ok true))
114
+
115
+ (define-public (ping-35)
116
+ (ok true))
117
+
118
+ (define-public (ping-152)
119
+ (ok true))
120
+
121
+ (define-public (ping-129)
122
+ (ok true))
@@ -0,0 +1,144 @@
1
+ ;; staking-refinery-v7.clar
2
+
3
+ (define-constant err-not-found (err u300))
4
+ (define-constant err-locked (err u301))
5
+ (define-constant err-already-claimed (err u302))
6
+
7
+ (define-data-var lock-period uint u1008)
8
+ (define-data-var nonce uint u0)
9
+
10
+ (define-map stakes
11
+ { user: principal, id: uint }
12
+ { amount: uint, start: uint, end: uint, claimed: bool }
13
+ )
14
+
15
+ ;; =========================
16
+ ;; READ ONLY STATUS
17
+ ;; =========================
18
+
19
+ (define-read-only (get-stake-status (user principal) (id uint))
20
+ (let
21
+ (
22
+ (data (map-get? stakes { user: user, id: id }))
23
+ (current burn-block-height)
24
+ )
25
+ (match data d
26
+ {
27
+ start: (get start d),
28
+ end: (get end d),
29
+ current: current,
30
+ blocks-left:
31
+ (if (>= current (get end d))
32
+ u0
33
+ (- (get end d) current)
34
+ ),
35
+ claimed: (get claimed d)
36
+ }
37
+ {
38
+ start: u0,
39
+ end: u0,
40
+ current: current,
41
+ blocks-left: u0,
42
+ claimed: false
43
+ }
44
+ )
45
+ )
46
+ )
47
+
48
+ ;; =========================
49
+ ;; STAKE
50
+ ;; =========================
51
+
52
+ (define-public (stake (amount uint))
53
+ (let
54
+ (
55
+ (user tx-sender)
56
+ (id (var-get nonce))
57
+ (end (+ burn-block-height (var-get lock-period)))
58
+ )
59
+
60
+ ;; Menggunakan poin v7
61
+ (try! (contract-call? .token-poin-v7 transfer amount user (as-contract tx-sender)))
62
+
63
+ (map-set stakes
64
+ { user: user, id: id }
65
+ {
66
+ amount: amount,
67
+ start: burn-block-height,
68
+ end: end,
69
+ claimed: false
70
+ }
71
+ )
72
+
73
+ (var-set nonce (+ id u1))
74
+ (ok id)
75
+ )
76
+ )
77
+
78
+ ;; =========================
79
+ ;; HARVEST
80
+ ;; =========================
81
+
82
+ (define-public (harvest (id uint))
83
+ (let
84
+ (
85
+ (user tx-sender)
86
+ (data (unwrap! (map-get? stakes { user: user, id: id }) err-not-found))
87
+ )
88
+
89
+ (asserts! (>= burn-block-height (get end data)) err-locked)
90
+ (asserts! (not (get claimed data)) err-already-claimed)
91
+
92
+ (let
93
+ (
94
+ (reward (/ (get amount data) u10))
95
+ )
96
+
97
+ ;; Menggunakan poin v7
98
+ (try! (as-contract (contract-call? .token-poin-v7 transfer (get amount data) tx-sender user)))
99
+
100
+ ;; Mint reward token ONE dari v7
101
+ (try! (contract-call? .token-one-v7 mint reward user))
102
+
103
+ (map-set stakes { user: user, id: id } (merge data { claimed: true }))
104
+
105
+ (ok reward)
106
+ )
107
+ )
108
+ )
109
+
110
+ (define-public (ping-57)
111
+ (ok true))
112
+
113
+ (define-public (ping-120)
114
+ (ok true))
115
+
116
+ (define-public (ping-141)
117
+ (ok true))
118
+
119
+ (define-public (ping-103)
120
+ (ok true))
121
+
122
+ (define-public (ping-34)
123
+ (ok true))
124
+
125
+ (define-public (ping-23)
126
+ (ok true))
127
+
128
+ (define-public (ping-205)
129
+ (ok true))
130
+
131
+ (define-public (ping-76)
132
+ (ok true))
133
+
134
+ (define-public (ping-299)
135
+ (ok true))
136
+
137
+ (define-public (ping-116)
138
+ (ok true))
139
+
140
+ (define-public (ping-211)
141
+ (ok true))
142
+
143
+ (define-public (ping-270)
144
+ (ok true))
@@ -0,0 +1,80 @@
1
+ ;; staking-refinery.clar
2
+ ;; Mengubah Token Poin menjadi Token ONE melalui Staking
3
+
4
+ (define-constant err-lock-period-not-finished (err u300))
5
+ (define-constant err-not-found (err u301))
6
+
7
+ ;; Pilihan durasi: 7 hari (~1000 blok) atau 30 hari (~4300 blok)
8
+ (define-data-var lock-period-short uint u1008) ;; ~1 minggu
9
+ (define-constant exchange-rate u10) ;; 100 POIN = 10 ONE (contoh)
10
+
11
+ (define-map stakes
12
+ { staker: principal, id: uint }
13
+ { amount-poin: uint, start-height: uint, end-height: uint, claimed: bool }
14
+ )
15
+ (define-data-var stake-nonce uint u0)
16
+
17
+ (define-public (stake-tokens (amount-poin uint))
18
+ (let
19
+ (
20
+ (user tx-sender)
21
+ (current-id (var-get stake-nonce))
22
+ (end-block (+ block-height (var-get lock-period-short)))
23
+ )
24
+ ;; Transfer POIN dari user ke kontrak ini (dikunci)
25
+ (try! (contract-call? .token-poin transfer amount-poin user (as-contract tx-sender) none))
26
+
27
+ ;; Simpan data staking
28
+ (map-set stakes { staker: user, id: current-id }
29
+ {
30
+ amount-poin: amount-poin,
31
+ start-height: block-height,
32
+ end-height: end-block,
33
+ claimed: false
34
+ }
35
+ )
36
+ (var-set stake-nonce (+ current-id u1))
37
+ (ok current-id)
38
+ )
39
+ )
40
+
41
+ (define-public (harvest (stake-id uint))
42
+ (let
43
+ (
44
+ (user tx-sender)
45
+ (stake-data (unwrap! (map-get? stakes { staker: user, id: stake-id }) err-not-found))
46
+ )
47
+ ;; Validasi
48
+ (asserts! (>= block-height (get end-height stake-data)) err-lock-period-not-finished)
49
+ (asserts! (is-eq (get claimed stake-data) false) (err u302))
50
+
51
+ ;; Hitung Reward (Misal 10% dari poin yang distake dikonversi jadi ONE)
52
+ (let
53
+ (
54
+ (reward-amount (/ (get amount-poin stake-data) exchange-rate))
55
+ )
56
+ ;; Update status jadi claimed
57
+ (map-set stakes { staker: user, id: stake-id }
58
+ (merge stake-data { claimed: true })
59
+ )
60
+
61
+ ;; Kembalikan POIN user
62
+ (try! (as-contract (contract-call? .token-poin transfer (get amount-poin stake-data) tx-sender user none)))
63
+
64
+ ;; Mint Reward ONE ke user
65
+ (as-contract (contract-call? .token-one mint reward-amount user))
66
+ )
67
+ )
68
+ )
69
+
70
+ (define-public (ping-59)
71
+ (ok true))
72
+
73
+ (define-public (ping-67)
74
+ (ok true))
75
+
76
+ (define-public (ping-15)
77
+ (ok true))
78
+
79
+ (define-public (ping-114)
80
+ (ok true))
@@ -0,0 +1,74 @@
1
+ (impl-trait 'SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE.sip-010-trait-ft-standard.sip-010-trait)
2
+
3
+ (define-fungible-token token-one-v3)
4
+
5
+ (define-constant contract-owner tx-sender)
6
+ (define-constant err-owner-only (err u100))
7
+ (define-constant err-not-authorized (err u101))
8
+
9
+ (define-map approved-minters principal bool)
10
+
11
+ (define-read-only (get-balance (who principal))
12
+ (ok (ft-get-balance token-one-v3 who))
13
+ )
14
+
15
+ (define-read-only (get-total-supply)
16
+ (ok (ft-get-supply token-one-v3))
17
+ )
18
+
19
+ (define-read-only (get-name)
20
+ (ok "Stacks One V3")
21
+ )
22
+
23
+ (define-read-only (get-symbol)
24
+ (ok "ONE")
25
+ )
26
+
27
+ (define-read-only (get-decimals)
28
+ (ok u6)
29
+ )
30
+
31
+ (define-read-only (get-token-uri)
32
+ (ok none)
33
+ )
34
+
35
+ (define-public (transfer (amount uint) (sender principal) (recipient principal) (memo (optional (buff 34))))
36
+ (begin
37
+ (asserts! (is-eq tx-sender sender) err-not-authorized)
38
+ (try! (ft-transfer? token-one-v3 amount sender recipient))
39
+ (match memo to-print (print to-print) 0x)
40
+ (ok true)
41
+ )
42
+ )
43
+
44
+ (define-public (mint (amount uint) (recipient principal))
45
+ (let
46
+ (
47
+ (is-approved (default-to false (map-get? approved-minters tx-sender)))
48
+ )
49
+ (asserts! (or (is-eq tx-sender contract-owner) is-approved) err-not-authorized)
50
+ (ft-mint? token-one-v3 amount recipient)
51
+ )
52
+ )
53
+
54
+ (define-public (add-minter (minter principal))
55
+ (begin
56
+ (asserts! (is-eq tx-sender contract-owner) err-owner-only)
57
+ (ok (map-set approved-minters minter true))
58
+ )
59
+ )
60
+
61
+ (define-public (ping-133)
62
+ (ok true))
63
+
64
+ (define-public (ping-40)
65
+ (ok true))
66
+
67
+ (define-public (ping-14)
68
+ (ok true))
69
+
70
+ (define-public (ping-2)
71
+ (ok true))
72
+
73
+ (define-public (ping-27)
74
+ (ok true))
@@ -0,0 +1,51 @@
1
+ (define-fungible-token one)
2
+
3
+ (define-constant contract-owner tx-sender)
4
+ (define-constant err-owner-only (err u100))
5
+ (define-constant err-not-authorized (err u101))
6
+
7
+ (define-map approved-minters principal bool)
8
+
9
+ (define-read-only (get-balance (who principal))
10
+ (ok (ft-get-balance one who))
11
+ )
12
+
13
+ (define-read-only (get-total-supply)
14
+ (ok (ft-get-supply one))
15
+ )
16
+
17
+ (define-public (transfer (amount uint) (sender principal) (recipient principal))
18
+ (begin
19
+ (asserts! (is-eq tx-sender sender) err-not-authorized)
20
+ (ft-transfer? one amount sender recipient)
21
+ )
22
+ )
23
+
24
+ (define-public (mint (amount uint) (recipient principal))
25
+ (let
26
+ (
27
+ (is-approved (default-to false (map-get? approved-minters tx-sender)))
28
+ )
29
+ (asserts! (or (is-eq tx-sender contract-owner) is-approved) err-not-authorized)
30
+ (ft-mint? one amount recipient)
31
+ )
32
+ )
33
+
34
+ (define-public (add-minter (minter principal))
35
+ (begin
36
+ (asserts! (is-eq tx-sender contract-owner) err-owner-only)
37
+ (ok (map-set approved-minters minter true))
38
+ )
39
+ )
40
+
41
+ (define-public (ping-114)
42
+ (ok true))
43
+
44
+ (define-public (ping-77)
45
+ (ok true))
46
+
47
+ (define-public (ping-190)
48
+ (ok true))
49
+
50
+ (define-public (ping-77)
51
+ (ok true))
@@ -0,0 +1,78 @@
1
+ ;; token-one-v5.clar
2
+ ;; @version 2
3
+
4
+ (define-fungible-token one)
5
+
6
+ (define-constant contract-owner tx-sender)
7
+ (define-constant err-owner-only (err u100))
8
+ (define-constant err-not-authorized (err u101))
9
+
10
+ (define-map approved-minters principal bool)
11
+
12
+ ;; Standard SIP-010 Functions
13
+ (define-read-only (get-name) (ok "StacksOne Token"))
14
+ (define-read-only (get-symbol) (ok "ONE"))
15
+ (define-read-only (get-decimals) (ok u6))
16
+ (define-read-only (get-token-uri) (ok none))
17
+
18
+ (define-read-only (get-balance (who principal))
19
+ (ok (ft-get-balance one who))
20
+ )
21
+
22
+ (define-read-only (get-total-supply)
23
+ (ok (ft-get-supply one))
24
+ )
25
+
26
+ (define-public (transfer (amount uint) (sender principal) (recipient principal) (memo (optional (buff 34))))
27
+ (begin
28
+ (asserts! (is-eq tx-sender sender) err-not-authorized)
29
+ (try! (ft-transfer? one amount sender recipient))
30
+ (match memo to-print (print to-print) 0)
31
+ (ok true)
32
+ )
33
+ )
34
+
35
+ (define-public (mint (amount uint) (recipient principal))
36
+ (let
37
+ (
38
+ (is-approved (default-to false (map-get? approved-minters tx-sender)))
39
+ )
40
+ ;; Tx-sender di sini akan menjadi alamat kontrak Faucet/Staking jika dipanggil via as-contract
41
+ (asserts! (or (is-eq tx-sender contract-owner) is-approved) err-not-authorized)
42
+ (ft-mint? one amount recipient)
43
+ )
44
+ )
45
+
46
+ (define-public (add-minter (minter principal))
47
+ (begin
48
+ (asserts! (is-eq tx-sender contract-owner) err-owner-only)
49
+ (ok (map-set approved-minters minter true))
50
+ )
51
+ )
52
+
53
+ (define-public (ping-142)
54
+ (ok true))
55
+
56
+ (define-public (ping-122)
57
+ (ok true))
58
+
59
+ (define-public (ping-30)
60
+ (ok true))
61
+
62
+ (define-public (ping-110)
63
+ (ok true))
64
+
65
+ (define-public (ping-27)
66
+ (ok true))
67
+
68
+ (define-public (ping-46)
69
+ (ok true))
70
+
71
+ (define-public (ping-7)
72
+ (ok true))
73
+
74
+ (define-public (ping-127)
75
+ (ok true))
76
+
77
+ (define-public (ping-20)
78
+ (ok true))