@opcat-labs/cat-sdk 2.0.2 → 2.1.0

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 (434) hide show
  1. package/artifacts/cat20/cat20.json +34 -34
  2. package/artifacts/cat20/cat20.scrypt +18 -18
  3. package/artifacts/cat20/cat20Admin.json +36 -36
  4. package/artifacts/cat20/cat20Admin.scrypt +30 -30
  5. package/artifacts/cat20/cat20GuardStateLib.json +21 -21
  6. package/artifacts/cat20/cat20GuardStateLib.scrypt +5 -5
  7. package/artifacts/cat20/cat20Guard_12_12_2.json +30 -30
  8. package/artifacts/cat20/cat20Guard_12_12_2.scrypt +21 -21
  9. package/artifacts/cat20/cat20Guard_12_12_4.json +30 -30
  10. package/artifacts/cat20/cat20Guard_12_12_4.scrypt +21 -21
  11. package/artifacts/cat20/cat20Guard_6_6_2.json +30 -30
  12. package/artifacts/cat20/cat20Guard_6_6_2.scrypt +21 -21
  13. package/artifacts/cat20/cat20Guard_6_6_4.json +30 -30
  14. package/artifacts/cat20/cat20Guard_6_6_4.scrypt +21 -21
  15. package/artifacts/cat20/cat20StateLib.json +22 -22
  16. package/artifacts/cat20/cat20StateLib.scrypt +5 -5
  17. package/artifacts/cat20/minters/cat20ClosedMinter.json +34 -34
  18. package/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
  19. package/artifacts/cat20/minters/cat20OpenMinter.json +34 -34
  20. package/artifacts/cat20/minters/cat20OpenMinter.scrypt +18 -18
  21. package/artifacts/cat20/types.json +5 -5
  22. package/artifacts/cat20/types.scrypt +5 -5
  23. package/artifacts/cat721/cat721.json +34 -34
  24. package/artifacts/cat721/cat721.scrypt +18 -18
  25. package/artifacts/cat721/cat721GuardStateLib.json +21 -21
  26. package/artifacts/cat721/cat721GuardStateLib.scrypt +5 -5
  27. package/artifacts/cat721/cat721Guard_12_12_2.json +29 -29
  28. package/artifacts/cat721/cat721Guard_12_12_2.scrypt +18 -18
  29. package/artifacts/cat721/cat721Guard_12_12_4.json +29 -29
  30. package/artifacts/cat721/cat721Guard_12_12_4.scrypt +18 -18
  31. package/artifacts/cat721/cat721Guard_6_6_2.json +29 -29
  32. package/artifacts/cat721/cat721Guard_6_6_2.scrypt +18 -18
  33. package/artifacts/cat721/cat721Guard_6_6_4.json +29 -29
  34. package/artifacts/cat721/cat721Guard_6_6_4.scrypt +18 -18
  35. package/artifacts/cat721/cat721StateLib.json +22 -22
  36. package/artifacts/cat721/cat721StateLib.scrypt +5 -5
  37. package/artifacts/cat721/minters/cat721ClosedMinter.json +34 -34
  38. package/artifacts/cat721/minters/cat721ClosedMinter.scrypt +18 -18
  39. package/artifacts/cat721/minters/cat721OpenMintInfo.json +5 -5
  40. package/artifacts/cat721/minters/cat721OpenMintInfo.scrypt +4 -4
  41. package/artifacts/cat721/minters/cat721OpenMinter.json +39 -39
  42. package/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
  43. package/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +19 -19
  44. package/artifacts/cat721/minters/cat721OpenMinterMerkleTree.scrypt +6 -6
  45. package/artifacts/cat721/types.json +5 -5
  46. package/artifacts/cat721/types.scrypt +5 -5
  47. package/artifacts/constants.json +2 -2
  48. package/artifacts/constants.scrypt +1 -1
  49. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +16 -12
  50. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +16 -16
  51. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +1 -1
  52. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +12 -12
  53. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +7 -7
  54. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +12 -12
  55. package/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +8 -8
  56. package/artifacts/types.json +2 -2
  57. package/artifacts/types.scrypt +2 -2
  58. package/artifacts/utils/ownerUtils.json +14 -14
  59. package/artifacts/utils/ownerUtils.scrypt +3 -3
  60. package/artifacts/utils/safeMath.json +14 -14
  61. package/artifacts/utils/safeMath.scrypt +1 -1
  62. package/dist/artifacts/cat20/cat20.json +34 -34
  63. package/dist/artifacts/cat20/cat20.scrypt +18 -18
  64. package/dist/artifacts/cat20/cat20Admin.json +36 -36
  65. package/dist/artifacts/cat20/cat20Admin.scrypt +30 -30
  66. package/dist/artifacts/cat20/cat20GuardStateLib.json +21 -21
  67. package/dist/artifacts/cat20/cat20GuardStateLib.scrypt +5 -5
  68. package/dist/artifacts/cat20/cat20Guard_12_12_2.json +30 -30
  69. package/dist/artifacts/cat20/cat20Guard_12_12_2.scrypt +21 -21
  70. package/dist/artifacts/cat20/cat20Guard_12_12_4.json +30 -30
  71. package/dist/artifacts/cat20/cat20Guard_12_12_4.scrypt +21 -21
  72. package/dist/artifacts/cat20/cat20Guard_6_6_2.json +30 -30
  73. package/dist/artifacts/cat20/cat20Guard_6_6_2.scrypt +21 -21
  74. package/dist/artifacts/cat20/cat20Guard_6_6_4.json +30 -30
  75. package/dist/artifacts/cat20/cat20Guard_6_6_4.scrypt +21 -21
  76. package/dist/artifacts/cat20/cat20StateLib.json +22 -22
  77. package/dist/artifacts/cat20/cat20StateLib.scrypt +5 -5
  78. package/dist/artifacts/cat20/minters/cat20ClosedMinter.json +34 -34
  79. package/dist/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
  80. package/dist/artifacts/cat20/minters/cat20OpenMinter.json +34 -34
  81. package/dist/artifacts/cat20/minters/cat20OpenMinter.scrypt +18 -18
  82. package/dist/artifacts/cat20/types.json +5 -5
  83. package/dist/artifacts/cat20/types.scrypt +5 -5
  84. package/dist/artifacts/cat721/cat721.json +34 -34
  85. package/dist/artifacts/cat721/cat721.scrypt +18 -18
  86. package/dist/artifacts/cat721/cat721GuardStateLib.json +21 -21
  87. package/dist/artifacts/cat721/cat721GuardStateLib.scrypt +5 -5
  88. package/dist/artifacts/cat721/cat721Guard_12_12_2.json +29 -29
  89. package/dist/artifacts/cat721/cat721Guard_12_12_2.scrypt +18 -18
  90. package/dist/artifacts/cat721/cat721Guard_12_12_4.json +29 -29
  91. package/dist/artifacts/cat721/cat721Guard_12_12_4.scrypt +18 -18
  92. package/dist/artifacts/cat721/cat721Guard_6_6_2.json +29 -29
  93. package/dist/artifacts/cat721/cat721Guard_6_6_2.scrypt +18 -18
  94. package/dist/artifacts/cat721/cat721Guard_6_6_4.json +29 -29
  95. package/dist/artifacts/cat721/cat721Guard_6_6_4.scrypt +18 -18
  96. package/dist/artifacts/cat721/cat721StateLib.json +22 -22
  97. package/dist/artifacts/cat721/cat721StateLib.scrypt +5 -5
  98. package/dist/artifacts/cat721/minters/cat721ClosedMinter.json +34 -34
  99. package/dist/artifacts/cat721/minters/cat721ClosedMinter.scrypt +18 -18
  100. package/dist/artifacts/cat721/minters/cat721OpenMintInfo.json +5 -5
  101. package/dist/artifacts/cat721/minters/cat721OpenMintInfo.scrypt +4 -4
  102. package/dist/artifacts/cat721/minters/cat721OpenMinter.json +39 -39
  103. package/dist/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
  104. package/dist/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +19 -19
  105. package/dist/artifacts/cat721/minters/cat721OpenMinterMerkleTree.scrypt +6 -6
  106. package/dist/artifacts/cat721/types.json +5 -5
  107. package/dist/artifacts/cat721/types.scrypt +5 -5
  108. package/dist/artifacts/constants.json +2 -2
  109. package/dist/artifacts/constants.scrypt +1 -1
  110. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +16 -12
  111. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +16 -16
  112. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +1 -1
  113. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +12 -12
  114. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +7 -7
  115. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +12 -12
  116. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +8 -8
  117. package/dist/artifacts/types.json +2 -2
  118. package/dist/artifacts/types.scrypt +2 -2
  119. package/dist/artifacts/utils/ownerUtils.json +14 -14
  120. package/dist/artifacts/utils/ownerUtils.scrypt +3 -3
  121. package/dist/artifacts/utils/safeMath.json +14 -14
  122. package/dist/artifacts/utils/safeMath.scrypt +1 -1
  123. package/dist/cjs/contracts/cat20/cat20.js +6 -6
  124. package/dist/cjs/contracts/cat20/cat20.js.map +1 -1
  125. package/dist/cjs/contracts/cat20/cat20Admin.js +6 -6
  126. package/dist/cjs/contracts/cat20/cat20Admin.js.map +1 -1
  127. package/dist/cjs/contracts/cat20/cat20GuardStateLib.js +10 -10
  128. package/dist/cjs/contracts/cat20/cat20GuardStateLib.js.map +1 -1
  129. package/dist/cjs/contracts/cat20/cat20Guard_12_12_2.js +29 -29
  130. package/dist/cjs/contracts/cat20/cat20Guard_12_12_2.js.map +1 -1
  131. package/dist/cjs/contracts/cat20/cat20Guard_12_12_4.js +29 -29
  132. package/dist/cjs/contracts/cat20/cat20Guard_12_12_4.js.map +1 -1
  133. package/dist/cjs/contracts/cat20/cat20Guard_6_6_2.js +29 -29
  134. package/dist/cjs/contracts/cat20/cat20Guard_6_6_2.js.map +1 -1
  135. package/dist/cjs/contracts/cat20/cat20Guard_6_6_4.js +29 -29
  136. package/dist/cjs/contracts/cat20/cat20Guard_6_6_4.js.map +1 -1
  137. package/dist/cjs/contracts/cat20/cat20StateLib.js +2 -2
  138. package/dist/cjs/contracts/cat20/cat20StateLib.js.map +1 -1
  139. package/dist/cjs/contracts/cat20/minters/cat20ClosedMinter.js +7 -7
  140. package/dist/cjs/contracts/cat20/minters/cat20ClosedMinter.js.map +1 -1
  141. package/dist/cjs/contracts/cat20/minters/cat20OpenMinter.js +6 -6
  142. package/dist/cjs/contracts/cat20/minters/cat20OpenMinter.js.map +1 -1
  143. package/dist/cjs/contracts/cat721/cat721.js +8 -8
  144. package/dist/cjs/contracts/cat721/cat721.js.map +1 -1
  145. package/dist/cjs/contracts/cat721/cat721GuardStateLib.js +8 -8
  146. package/dist/cjs/contracts/cat721/cat721GuardStateLib.js.map +1 -1
  147. package/dist/cjs/contracts/cat721/cat721Guard_12_12_2.js +24 -24
  148. package/dist/cjs/contracts/cat721/cat721Guard_12_12_2.js.map +1 -1
  149. package/dist/cjs/contracts/cat721/cat721Guard_12_12_4.js +24 -24
  150. package/dist/cjs/contracts/cat721/cat721Guard_12_12_4.js.map +1 -1
  151. package/dist/cjs/contracts/cat721/cat721Guard_6_6_2.js +24 -24
  152. package/dist/cjs/contracts/cat721/cat721Guard_6_6_2.js.map +1 -1
  153. package/dist/cjs/contracts/cat721/cat721Guard_6_6_4.js +24 -24
  154. package/dist/cjs/contracts/cat721/cat721Guard_6_6_4.js.map +1 -1
  155. package/dist/cjs/contracts/cat721/cat721StateLib.js +2 -2
  156. package/dist/cjs/contracts/cat721/cat721StateLib.js.map +1 -1
  157. package/dist/cjs/contracts/cat721/minters/cat721ClosedMinter.js +9 -9
  158. package/dist/cjs/contracts/cat721/minters/cat721ClosedMinter.js.map +1 -1
  159. package/dist/cjs/contracts/cat721/minters/cat721OpenMinter.js +14 -14
  160. package/dist/cjs/contracts/cat721/minters/cat721OpenMinter.js.map +1 -1
  161. package/dist/cjs/contracts/cat721/minters/cat721OpenMinterMerkleTree.js +4 -4
  162. package/dist/cjs/contracts/cat721/minters/cat721OpenMinterMerkleTree.js.map +1 -1
  163. package/dist/cjs/contracts/index.js +32 -32
  164. package/dist/cjs/contracts/index.js.map +1 -1
  165. package/dist/cjs/contracts/utils/ownerUtils.js +4 -4
  166. package/dist/cjs/contracts/utils/ownerUtils.js.map +1 -1
  167. package/dist/cjs/features/cat20/admin/burnByAdmin.js +32 -40
  168. package/dist/cjs/features/cat20/admin/burnByAdmin.js.map +1 -1
  169. package/dist/cjs/features/cat20/admin/transferOwnership.js +9 -14
  170. package/dist/cjs/features/cat20/admin/transferOwnership.js.map +1 -1
  171. package/dist/cjs/features/cat20/burn/burn.js +28 -26
  172. package/dist/cjs/features/cat20/burn/burn.js.map +1 -1
  173. package/dist/cjs/features/cat20/deploy/closedMinter.js +38 -30
  174. package/dist/cjs/features/cat20/deploy/closedMinter.js.map +1 -1
  175. package/dist/cjs/features/cat20/deploy/openMinter.js +39 -28
  176. package/dist/cjs/features/cat20/deploy/openMinter.js.map +1 -1
  177. package/dist/cjs/features/cat20/index.js +34 -31
  178. package/dist/cjs/features/cat20/index.js.map +1 -1
  179. package/dist/cjs/features/cat20/mint/closedMinter.js +21 -24
  180. package/dist/cjs/features/cat20/mint/closedMinter.js.map +1 -1
  181. package/dist/cjs/features/cat20/mint/openMinter.js +11 -11
  182. package/dist/cjs/features/cat20/mint/openMinter.js.map +1 -1
  183. package/dist/cjs/features/cat20/send/contractSend.js +39 -41
  184. package/dist/cjs/features/cat20/send/contractSend.js.map +1 -1
  185. package/dist/cjs/features/cat20/send/mergeSend.js +38 -0
  186. package/dist/cjs/features/cat20/send/mergeSend.js.map +1 -0
  187. package/dist/cjs/features/cat20/send/singleSend.js +34 -35
  188. package/dist/cjs/features/cat20/send/singleSend.js.map +1 -1
  189. package/dist/cjs/features/cat721/burn/burn.js +24 -25
  190. package/dist/cjs/features/cat721/burn/burn.js.map +1 -1
  191. package/dist/cjs/features/cat721/deploy/cat721ClosedMinter.js +28 -20
  192. package/dist/cjs/features/cat721/deploy/cat721ClosedMinter.js.map +1 -1
  193. package/dist/cjs/features/cat721/deploy/cat721OpenMinter.js +27 -19
  194. package/dist/cjs/features/cat721/deploy/cat721OpenMinter.js.map +1 -1
  195. package/dist/cjs/features/cat721/index.js +19 -19
  196. package/dist/cjs/features/cat721/index.js.map +1 -1
  197. package/dist/cjs/features/cat721/mint/cat721ClosedMinter.js +16 -16
  198. package/dist/cjs/features/cat721/mint/cat721ClosedMinter.js.map +1 -1
  199. package/dist/cjs/features/cat721/mint/cat721OpenMinter.js +25 -22
  200. package/dist/cjs/features/cat721/mint/cat721OpenMinter.js.map +1 -1
  201. package/dist/cjs/features/cat721/mint/nft.js +8 -7
  202. package/dist/cjs/features/cat721/mint/nft.js.map +1 -1
  203. package/dist/cjs/features/cat721/send/singleSend.js +30 -31
  204. package/dist/cjs/features/cat721/send/singleSend.js.map +1 -1
  205. package/dist/cjs/features/index.js +13 -13
  206. package/dist/cjs/features/index.js.map +1 -1
  207. package/dist/cjs/index.js +26 -26
  208. package/dist/cjs/index.js.map +1 -1
  209. package/dist/cjs/lib/cat721OPenMinterMerkleTreeData.js +5 -5
  210. package/dist/cjs/lib/cat721OPenMinterMerkleTreeData.js.map +1 -1
  211. package/dist/cjs/lib/index.js +3 -3
  212. package/dist/cjs/lib/index.js.map +1 -1
  213. package/dist/cjs/lib/metadata.js +1 -14
  214. package/dist/cjs/lib/metadata.js.map +1 -1
  215. package/dist/cjs/typeConstants.js +1 -0
  216. package/dist/cjs/typeConstants.js.map +1 -1
  217. package/dist/cjs/utils/contractPeripheral.js +111 -111
  218. package/dist/cjs/utils/contractPeripheral.js.map +1 -1
  219. package/dist/cjs/utils/index.js +42 -3
  220. package/dist/cjs/utils/index.js.map +1 -1
  221. package/dist/cjs/utils/loadAllArtifacts.js +44 -44
  222. package/dist/cjs/utils/loadAllArtifacts.js.map +1 -1
  223. package/dist/esm/contracts/cat20/cat20.js +3 -3
  224. package/dist/esm/contracts/cat20/cat20.js.map +1 -1
  225. package/dist/esm/contracts/cat20/cat20Admin.js +2 -2
  226. package/dist/esm/contracts/cat20/cat20Admin.js.map +1 -1
  227. package/dist/esm/contracts/cat20/cat20GuardStateLib.js +1 -1
  228. package/dist/esm/contracts/cat20/cat20GuardStateLib.js.map +1 -1
  229. package/dist/esm/contracts/cat20/cat20Guard_12_12_2.js +5 -5
  230. package/dist/esm/contracts/cat20/cat20Guard_12_12_2.js.map +1 -1
  231. package/dist/esm/contracts/cat20/cat20Guard_12_12_4.js +5 -5
  232. package/dist/esm/contracts/cat20/cat20Guard_12_12_4.js.map +1 -1
  233. package/dist/esm/contracts/cat20/cat20Guard_6_6_2.js +5 -5
  234. package/dist/esm/contracts/cat20/cat20Guard_6_6_2.js.map +1 -1
  235. package/dist/esm/contracts/cat20/cat20Guard_6_6_4.js +5 -5
  236. package/dist/esm/contracts/cat20/cat20Guard_6_6_4.js.map +1 -1
  237. package/dist/esm/contracts/cat20/cat20StateLib.js +1 -1
  238. package/dist/esm/contracts/cat20/cat20StateLib.js.map +1 -1
  239. package/dist/esm/contracts/cat20/minters/cat20ClosedMinter.js +3 -3
  240. package/dist/esm/contracts/cat20/minters/cat20ClosedMinter.js.map +1 -1
  241. package/dist/esm/contracts/cat20/minters/cat20OpenMinter.js +3 -3
  242. package/dist/esm/contracts/cat20/minters/cat20OpenMinter.js.map +1 -1
  243. package/dist/esm/contracts/cat721/cat721.js +4 -4
  244. package/dist/esm/contracts/cat721/cat721.js.map +1 -1
  245. package/dist/esm/contracts/cat721/cat721GuardStateLib.js +1 -1
  246. package/dist/esm/contracts/cat721/cat721GuardStateLib.js.map +1 -1
  247. package/dist/esm/contracts/cat721/cat721Guard_12_12_2.js +4 -4
  248. package/dist/esm/contracts/cat721/cat721Guard_12_12_2.js.map +1 -1
  249. package/dist/esm/contracts/cat721/cat721Guard_12_12_4.js +4 -4
  250. package/dist/esm/contracts/cat721/cat721Guard_12_12_4.js.map +1 -1
  251. package/dist/esm/contracts/cat721/cat721Guard_6_6_2.js +4 -4
  252. package/dist/esm/contracts/cat721/cat721Guard_6_6_2.js.map +1 -1
  253. package/dist/esm/contracts/cat721/cat721Guard_6_6_4.js +4 -4
  254. package/dist/esm/contracts/cat721/cat721Guard_6_6_4.js.map +1 -1
  255. package/dist/esm/contracts/cat721/cat721StateLib.js +1 -1
  256. package/dist/esm/contracts/cat721/cat721StateLib.js.map +1 -1
  257. package/dist/esm/contracts/cat721/minters/cat721ClosedMinter.js +4 -4
  258. package/dist/esm/contracts/cat721/minters/cat721ClosedMinter.js.map +1 -1
  259. package/dist/esm/contracts/cat721/minters/cat721OpenMinter.js +6 -6
  260. package/dist/esm/contracts/cat721/minters/cat721OpenMinter.js.map +1 -1
  261. package/dist/esm/contracts/cat721/minters/cat721OpenMinterMerkleTree.js +2 -2
  262. package/dist/esm/contracts/cat721/minters/cat721OpenMinterMerkleTree.js.map +1 -1
  263. package/dist/esm/contracts/index.js +32 -32
  264. package/dist/esm/contracts/index.js.map +1 -1
  265. package/dist/esm/contracts/utils/ownerUtils.js +1 -1
  266. package/dist/esm/contracts/utils/ownerUtils.js.map +1 -1
  267. package/dist/esm/features/cat20/admin/burnByAdmin.js +14 -21
  268. package/dist/esm/features/cat20/admin/burnByAdmin.js.map +1 -1
  269. package/dist/esm/features/cat20/admin/transferOwnership.js +8 -12
  270. package/dist/esm/features/cat20/admin/transferOwnership.js.map +1 -1
  271. package/dist/esm/features/cat20/burn/burn.js +15 -12
  272. package/dist/esm/features/cat20/burn/burn.js.map +1 -1
  273. package/dist/esm/features/cat20/deploy/closedMinter.js +26 -17
  274. package/dist/esm/features/cat20/deploy/closedMinter.js.map +1 -1
  275. package/dist/esm/features/cat20/deploy/openMinter.js +26 -14
  276. package/dist/esm/features/cat20/deploy/openMinter.js.map +1 -1
  277. package/dist/esm/features/cat20/index.js +13 -12
  278. package/dist/esm/features/cat20/index.js.map +1 -1
  279. package/dist/esm/features/cat20/mint/closedMinter.js +11 -13
  280. package/dist/esm/features/cat20/mint/closedMinter.js.map +1 -1
  281. package/dist/esm/features/cat20/mint/openMinter.js +8 -7
  282. package/dist/esm/features/cat20/mint/openMinter.js.map +1 -1
  283. package/dist/esm/features/cat20/send/contractSend.js +11 -12
  284. package/dist/esm/features/cat20/send/contractSend.js.map +1 -1
  285. package/dist/esm/features/cat20/send/mergeSend.js +34 -0
  286. package/dist/esm/features/cat20/send/mergeSend.js.map +1 -0
  287. package/dist/esm/features/cat20/send/singleSend.js +11 -11
  288. package/dist/esm/features/cat20/send/singleSend.js.map +1 -1
  289. package/dist/esm/features/cat721/burn/burn.js +11 -11
  290. package/dist/esm/features/cat721/burn/burn.js.map +1 -1
  291. package/dist/esm/features/cat721/deploy/cat721ClosedMinter.js +21 -12
  292. package/dist/esm/features/cat721/deploy/cat721ClosedMinter.js.map +1 -1
  293. package/dist/esm/features/cat721/deploy/cat721OpenMinter.js +21 -12
  294. package/dist/esm/features/cat721/deploy/cat721OpenMinter.js.map +1 -1
  295. package/dist/esm/features/cat721/index.js +8 -8
  296. package/dist/esm/features/cat721/index.js.map +1 -1
  297. package/dist/esm/features/cat721/mint/cat721ClosedMinter.js +10 -9
  298. package/dist/esm/features/cat721/mint/cat721ClosedMinter.js.map +1 -1
  299. package/dist/esm/features/cat721/mint/cat721OpenMinter.js +17 -13
  300. package/dist/esm/features/cat721/mint/cat721OpenMinter.js.map +1 -1
  301. package/dist/esm/features/cat721/mint/nft.js +7 -5
  302. package/dist/esm/features/cat721/mint/nft.js.map +1 -1
  303. package/dist/esm/features/cat721/send/singleSend.js +8 -8
  304. package/dist/esm/features/cat721/send/singleSend.js.map +1 -1
  305. package/dist/esm/features/index.js +5 -5
  306. package/dist/esm/features/index.js.map +1 -1
  307. package/dist/esm/index.js +10 -10
  308. package/dist/esm/index.js.map +1 -1
  309. package/dist/esm/lib/cat721OPenMinterMerkleTreeData.js +1 -1
  310. package/dist/esm/lib/cat721OPenMinterMerkleTreeData.js.map +1 -1
  311. package/dist/esm/lib/index.js +3 -3
  312. package/dist/esm/lib/index.js.map +1 -1
  313. package/dist/esm/lib/metadata.js +1 -14
  314. package/dist/esm/lib/metadata.js.map +1 -1
  315. package/dist/esm/typeConstants.js +1 -0
  316. package/dist/esm/typeConstants.js.map +1 -1
  317. package/dist/esm/utils/contractPeripheral.js +21 -21
  318. package/dist/esm/utils/contractPeripheral.js.map +1 -1
  319. package/dist/esm/utils/index.js +39 -2
  320. package/dist/esm/utils/index.js.map +1 -1
  321. package/dist/esm/utils/loadAllArtifacts.js +44 -44
  322. package/dist/esm/utils/loadAllArtifacts.js.map +1 -1
  323. package/dist/types/contracts/cat20/cat20.d.ts +3 -3
  324. package/dist/types/contracts/cat20/cat20.d.ts.map +1 -1
  325. package/dist/types/contracts/cat20/cat20Admin.d.ts +1 -1
  326. package/dist/types/contracts/cat20/cat20Admin.d.ts.map +1 -1
  327. package/dist/types/contracts/cat20/cat20GuardStateLib.d.ts +2 -2
  328. package/dist/types/contracts/cat20/cat20GuardStateLib.d.ts.map +1 -1
  329. package/dist/types/contracts/cat20/cat20Guard_12_12_2.d.ts +3 -3
  330. package/dist/types/contracts/cat20/cat20Guard_12_12_2.d.ts.map +1 -1
  331. package/dist/types/contracts/cat20/cat20Guard_12_12_4.d.ts +3 -3
  332. package/dist/types/contracts/cat20/cat20Guard_12_12_4.d.ts.map +1 -1
  333. package/dist/types/contracts/cat20/cat20Guard_6_6_2.d.ts +3 -3
  334. package/dist/types/contracts/cat20/cat20Guard_6_6_2.d.ts.map +1 -1
  335. package/dist/types/contracts/cat20/cat20Guard_6_6_4.d.ts +3 -3
  336. package/dist/types/contracts/cat20/cat20Guard_6_6_4.d.ts.map +1 -1
  337. package/dist/types/contracts/cat20/cat20StateLib.d.ts +1 -1
  338. package/dist/types/contracts/cat20/cat20StateLib.d.ts.map +1 -1
  339. package/dist/types/contracts/cat20/minters/cat20ClosedMinter.d.ts +1 -1
  340. package/dist/types/contracts/cat20/minters/cat20ClosedMinter.d.ts.map +1 -1
  341. package/dist/types/contracts/cat20/minters/cat20ClosedMinterMetadata.d.ts +1 -1
  342. package/dist/types/contracts/cat20/minters/cat20ClosedMinterMetadata.d.ts.map +1 -1
  343. package/dist/types/contracts/cat20/minters/cat20OpenMinter.d.ts +1 -1
  344. package/dist/types/contracts/cat20/minters/cat20OpenMinter.d.ts.map +1 -1
  345. package/dist/types/contracts/cat20/minters/cat20OpenMinterMetadata.d.ts +1 -1
  346. package/dist/types/contracts/cat20/minters/cat20OpenMinterMetadata.d.ts.map +1 -1
  347. package/dist/types/contracts/cat20/types.d.ts +1 -1
  348. package/dist/types/contracts/cat20/types.d.ts.map +1 -1
  349. package/dist/types/contracts/cat721/cat721.d.ts +3 -3
  350. package/dist/types/contracts/cat721/cat721.d.ts.map +1 -1
  351. package/dist/types/contracts/cat721/cat721GuardStateLib.d.ts +2 -2
  352. package/dist/types/contracts/cat721/cat721GuardStateLib.d.ts.map +1 -1
  353. package/dist/types/contracts/cat721/cat721Guard_12_12_2.d.ts +2 -2
  354. package/dist/types/contracts/cat721/cat721Guard_12_12_2.d.ts.map +1 -1
  355. package/dist/types/contracts/cat721/cat721Guard_12_12_4.d.ts +2 -2
  356. package/dist/types/contracts/cat721/cat721Guard_12_12_4.d.ts.map +1 -1
  357. package/dist/types/contracts/cat721/cat721Guard_6_6_2.d.ts +2 -2
  358. package/dist/types/contracts/cat721/cat721Guard_6_6_2.d.ts.map +1 -1
  359. package/dist/types/contracts/cat721/cat721Guard_6_6_4.d.ts +2 -2
  360. package/dist/types/contracts/cat721/cat721Guard_6_6_4.d.ts.map +1 -1
  361. package/dist/types/contracts/cat721/cat721StateLib.d.ts +1 -1
  362. package/dist/types/contracts/cat721/cat721StateLib.d.ts.map +1 -1
  363. package/dist/types/contracts/cat721/minters/cat721ClosedMinter.d.ts +1 -1
  364. package/dist/types/contracts/cat721/minters/cat721ClosedMinter.d.ts.map +1 -1
  365. package/dist/types/contracts/cat721/minters/cat721ClosedMinterMetadata.d.ts +1 -1
  366. package/dist/types/contracts/cat721/minters/cat721ClosedMinterMetadata.d.ts.map +1 -1
  367. package/dist/types/contracts/cat721/minters/cat721OpenMinter.d.ts +2 -2
  368. package/dist/types/contracts/cat721/minters/cat721OpenMinter.d.ts.map +1 -1
  369. package/dist/types/contracts/cat721/minters/cat721OpenMinterMerkleTree.d.ts +1 -1
  370. package/dist/types/contracts/cat721/minters/cat721OpenMinterMerkleTree.d.ts.map +1 -1
  371. package/dist/types/contracts/cat721/minters/cat721OpenMinterMetadata.d.ts +1 -1
  372. package/dist/types/contracts/cat721/minters/cat721OpenMinterMetadata.d.ts.map +1 -1
  373. package/dist/types/contracts/cat721/types.d.ts +1 -1
  374. package/dist/types/contracts/cat721/types.d.ts.map +1 -1
  375. package/dist/types/contracts/index.d.ts +40 -40
  376. package/dist/types/contracts/index.d.ts.map +1 -1
  377. package/dist/types/contracts/types.d.ts +1 -1
  378. package/dist/types/contracts/types.d.ts.map +1 -1
  379. package/dist/types/features/cat20/admin/burnByAdmin.d.ts +12 -3
  380. package/dist/types/features/cat20/admin/burnByAdmin.d.ts.map +1 -1
  381. package/dist/types/features/cat20/admin/transferOwnership.d.ts +8 -3
  382. package/dist/types/features/cat20/admin/transferOwnership.d.ts.map +1 -1
  383. package/dist/types/features/cat20/burn/burn.d.ts +9 -2
  384. package/dist/types/features/cat20/burn/burn.d.ts.map +1 -1
  385. package/dist/types/features/cat20/deploy/closedMinter.d.ts +12 -5
  386. package/dist/types/features/cat20/deploy/closedMinter.d.ts.map +1 -1
  387. package/dist/types/features/cat20/deploy/openMinter.d.ts +14 -6
  388. package/dist/types/features/cat20/deploy/openMinter.d.ts.map +1 -1
  389. package/dist/types/features/cat20/index.d.ts +13 -12
  390. package/dist/types/features/cat20/index.d.ts.map +1 -1
  391. package/dist/types/features/cat20/mint/closedMinter.d.ts +9 -3
  392. package/dist/types/features/cat20/mint/closedMinter.d.ts.map +1 -1
  393. package/dist/types/features/cat20/mint/openMinter.d.ts +8 -3
  394. package/dist/types/features/cat20/mint/openMinter.d.ts.map +1 -1
  395. package/dist/types/features/cat20/send/contractSend.d.ts +16 -4
  396. package/dist/types/features/cat20/send/contractSend.d.ts.map +1 -1
  397. package/dist/types/features/cat20/send/mergeSend.d.ts +24 -0
  398. package/dist/types/features/cat20/send/mergeSend.d.ts.map +1 -0
  399. package/dist/types/features/cat20/send/singleSend.d.ts +17 -5
  400. package/dist/types/features/cat20/send/singleSend.d.ts.map +1 -1
  401. package/dist/types/features/cat721/burn/burn.d.ts +9 -2
  402. package/dist/types/features/cat721/burn/burn.d.ts.map +1 -1
  403. package/dist/types/features/cat721/deploy/cat721ClosedMinter.d.ts +17 -5
  404. package/dist/types/features/cat721/deploy/cat721ClosedMinter.d.ts.map +1 -1
  405. package/dist/types/features/cat721/deploy/cat721OpenMinter.d.ts +18 -6
  406. package/dist/types/features/cat721/deploy/cat721OpenMinter.d.ts.map +1 -1
  407. package/dist/types/features/cat721/index.d.ts +8 -8
  408. package/dist/types/features/cat721/index.d.ts.map +1 -1
  409. package/dist/types/features/cat721/mint/cat721ClosedMinter.d.ts +15 -4
  410. package/dist/types/features/cat721/mint/cat721ClosedMinter.d.ts.map +1 -1
  411. package/dist/types/features/cat721/mint/cat721OpenMinter.d.ts +15 -4
  412. package/dist/types/features/cat721/mint/cat721OpenMinter.d.ts.map +1 -1
  413. package/dist/types/features/cat721/mint/nft.d.ts +15 -5
  414. package/dist/types/features/cat721/mint/nft.d.ts.map +1 -1
  415. package/dist/types/features/cat721/send/singleSend.d.ts +12 -4
  416. package/dist/types/features/cat721/send/singleSend.d.ts.map +1 -1
  417. package/dist/types/features/index.d.ts +5 -5
  418. package/dist/types/features/index.d.ts.map +1 -1
  419. package/dist/types/index.d.ts +9 -9
  420. package/dist/types/index.d.ts.map +1 -1
  421. package/dist/types/lib/cat721OPenMinterMerkleTreeData.d.ts +1 -1
  422. package/dist/types/lib/cat721OPenMinterMerkleTreeData.d.ts.map +1 -1
  423. package/dist/types/lib/index.d.ts +2 -2
  424. package/dist/types/lib/index.d.ts.map +1 -1
  425. package/dist/types/lib/metadata.d.ts +2 -2
  426. package/dist/types/lib/metadata.d.ts.map +1 -1
  427. package/dist/types/typeConstants.d.ts +2 -1
  428. package/dist/types/typeConstants.d.ts.map +1 -1
  429. package/dist/types/utils/contractPeripheral.d.ts +7 -7
  430. package/dist/types/utils/contractPeripheral.d.ts.map +1 -1
  431. package/dist/types/utils/index.d.ts +24 -1
  432. package/dist/types/utils/index.d.ts.map +1 -1
  433. package/package.json +7 -6
  434. package/scrypt.index.json +5 -5
@@ -1,7 +1,7 @@
1
- import { PubKey, toHex, ExtPsbt, markSpent, getBackTraceInfo, Transaction, } from '@opcat-labs/scrypt-ts-opcat';
2
- import { TX_INPUT_COUNT_MAX } from '../../../contracts/constants';
3
- import { filterFeeUtxos } from '../../../utils';
4
- import { OwnerUtils } from '../../../contracts';
1
+ import { PubKey, toHex, ExtPsbt, markSpent, getBackTraceInfo, Transaction, addChangeUtxoToProvider, } from '@opcat-labs/scrypt-ts-opcat';
2
+ import { TX_INPUT_COUNT_MAX } from '../../../contracts/constants.js';
3
+ import { filterFeeUtxos, createFeatureWithDryRun } from '../../../utils/index.js';
4
+ import { OwnerUtils } from '../../../contracts/index.js';
5
5
  /**
6
6
  * Change CAT20 admin owner in a single transaction.
7
7
  * @param signer a signer, such as {@link DefaultSigner} or {@link WalletSigner}
@@ -12,7 +12,7 @@ import { OwnerUtils } from '../../../contracts';
12
12
  * @param feeRate the fee rate for constructing transactions
13
13
  * @returns a transferOwnership transaction
14
14
  */
15
- export async function transferOwnership(adminSigner, feeSigner, cat20Admin, adminUtxo, provider, newPubKeyHash, feeRate) {
15
+ export const transferOwnership = createFeatureWithDryRun(async function (adminSigner, feeSigner, cat20Admin, adminUtxo, provider, newPubKeyHash, feeRate) {
16
16
  const changeAddress = await feeSigner.getAddress();
17
17
  let utxos = await provider.getUtxos(changeAddress);
18
18
  utxos = filterFeeUtxos(utxos).slice(0, TX_INPUT_COUNT_MAX);
@@ -22,6 +22,7 @@ export async function transferOwnership(adminSigner, feeSigner, cat20Admin, admi
22
22
  /// we use the fee input as contract input;
23
23
  const sendPsbt = new ExtPsbt({ network: await provider.getNetwork() });
24
24
  // add admin input
25
+ cat20Admin.bindToUtxo(adminUtxo);
25
26
  const adminPubKey = await adminSigner.getPublicKey();
26
27
  const adminAddress = await adminSigner.getAddress();
27
28
  const adminTxHex = await provider.getRawTransaction(adminUtxo.txId);
@@ -32,10 +33,6 @@ export async function transferOwnership(adminSigner, feeSigner, cat20Admin, admi
32
33
  }
33
34
  const spentAdminPreTxHex = await provider.getRawTransaction(toHex(adminTx.inputs[prevAdminInputIndex].prevTxId));
34
35
  const backTraceInfo = getBackTraceInfo(adminTxHex, spentAdminPreTxHex, prevAdminInputIndex);
35
- cat20Admin.bindToUtxo({
36
- ...adminUtxo,
37
- txHashPreimage: toHex(new Transaction(adminTxHex).toTxHashPreimage()),
38
- });
39
36
  sendPsbt.addContractInput(cat20Admin, (contract, tx) => {
40
37
  // sign admin input
41
38
  const sig = tx.getSig(0, {
@@ -60,14 +57,13 @@ export async function transferOwnership(adminSigner, feeSigner, cat20Admin, admi
60
57
  sendPsbt.combine(ExtPsbt.fromHex(signedSendPsbt2));
61
58
  }
62
59
  sendPsbt.finalizeAllInputs();
63
- const newFeeUtxo = sendPsbt.getChangeUTXO();
64
60
  // broadcast
65
61
  await provider.broadcast(sendPsbt.extractTransaction().toHex());
66
62
  markSpent(provider, sendPsbt.extractTransaction());
67
- provider.addNewUTXO(newFeeUtxo);
63
+ addChangeUtxoToProvider(provider, sendPsbt);
68
64
  return {
69
65
  sendTxId: sendPsbt.extractTransaction().id,
70
66
  sendPsbt,
71
67
  };
72
- }
68
+ });
73
69
  //# sourceMappingURL=transferOwnership.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transferOwnership.js","sourceRoot":"","sources":["../../../../../src/features/cat20/admin/transferOwnership.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transferOwnership.js","sourceRoot":"","sources":["../../../../../src/features/cat20/admin/transferOwnership.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { fill, PubKey, sha256, toByteString, toHex, ExtPsbt, markSpent, getBackTraceInfo, Transaction, } from '@opcat-labs/scrypt-ts-opcat';
2
- import { CAT20 } from '../../../contracts/cat20/cat20';
3
- import { CAT20StateLib } from '../../../contracts/cat20/cat20StateLib';
4
- import { NULL_ADMIN_SCRIPT_HASH, TX_INPUT_COUNT_MAX, } from '../../../contracts/constants';
5
- import { Postage } from '../../../typeConstants';
6
- import { applyFixedArray, filterFeeUtxos, normalizeUtxoScripts } from '../../../utils';
7
- import { CAT20GuardPeripheral, ContractPeripheral, } from '../../../utils/contractPeripheral';
8
- import { SPEND_TYPE_USER_SPEND } from '../../../contracts';
1
+ import { fill, PubKey, sha256, toByteString, toHex, ExtPsbt, markSpent, getBackTraceInfo, addChangeUtxoToProvider, Transaction, } from '@opcat-labs/scrypt-ts-opcat';
2
+ import { CAT20 } from '../../../contracts/cat20/cat20.js';
3
+ import { CAT20StateLib } from '../../../contracts/cat20/cat20StateLib.js';
4
+ import { NULL_ADMIN_SCRIPT_HASH, TX_INPUT_COUNT_MAX, } from '../../../contracts/constants.js';
5
+ import { Postage } from '../../../typeConstants.js';
6
+ import { applyFixedArray, createFeatureWithDryRun, filterFeeUtxos, normalizeUtxoScripts } from '../../../utils/index.js';
7
+ import { CAT20GuardPeripheral, ContractPeripheral, } from '../../../utils/contractPeripheral.js';
8
+ import { SPEND_TYPE_USER_SPEND } from '../../../contracts/index.js';
9
9
  /**
10
10
  * Burns a CAT20 token using `CAT20Guard` contract
11
11
  * @category Feature
@@ -18,7 +18,7 @@ import { SPEND_TYPE_USER_SPEND } from '../../../contracts';
18
18
  * @param adminScriptHash the admin script hash of the CAT20 token
19
19
  * @returns the PSBTs for the guard and burn transactions
20
20
  */
21
- export async function burnToken(signer, provider, minterScriptHash, inputTokenUtxos, feeRate, hasAdmin = false, adminScriptHash = NULL_ADMIN_SCRIPT_HASH) {
21
+ export const burnToken = createFeatureWithDryRun(async function (signer, provider, minterScriptHash, inputTokenUtxos, feeRate, hasAdmin = false, adminScriptHash = NULL_ADMIN_SCRIPT_HASH) {
22
22
  const pubkey = await signer.getPublicKey();
23
23
  const changeAddress = await signer.getAddress();
24
24
  let utxos = await provider.getUtxos(changeAddress);
@@ -48,7 +48,10 @@ export async function burnToken(signer, provider, minterScriptHash, inputTokenUt
48
48
  const guardUtxo = guardPsbt.getUtxo(0);
49
49
  const feeUtxo = guardPsbt.getChangeUTXO();
50
50
  const backtraces = await CAT20GuardPeripheral.getBackTraceInfo(minterScriptHash, inputTokenUtxos, provider, hasAdmin, adminScriptHash);
51
- const inputTokens = inputTokenUtxos.map((utxo, index) => new CAT20(minterScriptHash, guardScriptHashes, hasAdmin, adminScriptHash).bindToUtxo({ ...utxo, txHashPreimage: toHex(new Transaction(backtraces[index].prevTxHex).toTxHashPreimage()) }));
51
+ const inputTokens = inputTokenUtxos.map((utxo, index) => new CAT20(minterScriptHash, guardScriptHashes, hasAdmin, adminScriptHash).bindToUtxo({
52
+ ...utxo,
53
+ txHashPreimage: toHex(new Transaction(backtraces[index].prevTxHex).toTxHashPreimage())
54
+ }));
52
55
  const burnPsbt = new ExtPsbt({ network: await provider.getNetwork() });
53
56
  const guardInputIndex = inputTokens.length;
54
57
  // add token inputs
@@ -89,12 +92,12 @@ export async function burnToken(signer, provider, minterScriptHash, inputTokenUt
89
92
  markSpent(provider, guardPsbt.extractTransaction());
90
93
  await provider.broadcast(burnPsbt.extractTransaction().toHex());
91
94
  markSpent(provider, burnPsbt.extractTransaction());
92
- provider.addNewUTXO(burnPsbt.getChangeUTXO());
95
+ addChangeUtxoToProvider(provider, burnPsbt);
93
96
  return {
94
97
  guardPsbt,
95
98
  burnPsbt,
96
99
  guardTxid: guardPsbt.extractTransaction().id,
97
100
  burnTxid: burnPsbt.extractTransaction().id,
98
101
  };
99
- }
102
+ });
100
103
  //# sourceMappingURL=burn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"burn.js","sourceRoot":"","sources":["../../../../../src/features/cat20/burn/burn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"burn.js","sourceRoot":"","sources":["../../../../../src/features/cat20/burn/burn.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
- import { ExtPsbt, hexToUint8Array, markSpent } from '@opcat-labs/scrypt-ts-opcat';
2
- import { NULL_ADMIN_SCRIPT_HASH } from '../../../contracts';
3
- import { ImageMimeTypes, MetadataSerializer } from '../../../lib/metadata';
4
- import { checkState } from '../../../utils/check';
5
- import { CAT20ClosedMinter } from '../../../contracts/cat20/minters/cat20ClosedMinter';
6
- import { CAT20Admin } from '../../../contracts/cat20/cat20Admin';
7
- import { outpoint2ByteString, toTokenOwnerAddress } from '../../../utils';
8
- import { CAT20 } from '../../../contracts/cat20/cat20';
9
- import { ContractPeripheral, CAT20GuardPeripheral } from '../../../utils/contractPeripheral';
10
- import { Postage } from '../../../typeConstants';
11
- import { ConstantsLib } from '../../../contracts';
1
+ import { ExtPsbt, markSpent, Genesis, genesisCheckDeploy, addChangeUtxoToProvider } from '@opcat-labs/scrypt-ts-opcat';
2
+ import { NULL_ADMIN_SCRIPT_HASH } from '../../../contracts/index.js';
3
+ import { ImageMimeTypes, MetadataSerializer } from '../../../lib/metadata.js';
4
+ import { checkState } from '../../../utils/check.js';
5
+ import { CAT20ClosedMinter } from '../../../contracts/cat20/minters/cat20ClosedMinter.js';
6
+ import { CAT20Admin } from '../../../contracts/cat20/cat20Admin.js';
7
+ import { outpoint2ByteString, toTokenOwnerAddress } from '../../../utils/index.js';
8
+ import { CAT20 } from '../../../contracts/cat20/cat20.js';
9
+ import { ContractPeripheral, CAT20GuardPeripheral } from '../../../utils/contractPeripheral.js';
10
+ import { Postage } from '../../../typeConstants.js';
11
+ import { ConstantsLib } from '../../../contracts/index.js';
12
+ import { createFeatureWithDryRun } from '../../../utils/index.js';
12
13
  /**
13
14
  * Deploys a CAT20 token and its metadata using `CAT20ClosedMinter` contract
14
15
  * Only the token issuer can mint token
@@ -20,7 +21,7 @@ import { ConstantsLib } from '../../../contracts';
20
21
  * @param changeAddress the address for the change output
21
22
  * @returns the token info and the PSBTs for the genesis and deploy transactions
22
23
  */
23
- export async function deployClosedMinterToken(signer, provider, deployInfo, feeRate, changeAddress) {
24
+ export const deployClosedMinterToken = createFeatureWithDryRun(async function (signer, provider, deployInfo, feeRate, changeAddress) {
24
25
  const address = await signer.getAddress();
25
26
  const feeAddress = await signer.getAddress();
26
27
  changeAddress = changeAddress || feeAddress;
@@ -30,14 +31,18 @@ export async function deployClosedMinterToken(signer, provider, deployInfo, feeR
30
31
  if (metadata.icon) {
31
32
  checkState(ImageMimeTypes.includes(metadata.icon.type), 'Invalid icon MIME type');
32
33
  }
34
+ // Create Genesis contract instance and set metadata in its data field
35
+ const genesis = new Genesis();
36
+ genesis.data = MetadataSerializer.serialize('Token', deployInfo);
33
37
  const genesisTx = new ExtPsbt({ network: await provider.getNetwork() })
34
38
  .spendUTXO(utxos)
35
- .change(changeAddress, feeRate, hexToUint8Array(MetadataSerializer.serialize('Token', deployInfo)))
39
+ .addContractOutput(genesis, Postage.GENESIS_POSTAGE)
40
+ .change(changeAddress, feeRate)
36
41
  .seal();
37
42
  const signedGenesisTx = await signer.signPsbt(genesisTx.toHex(), genesisTx.psbtOptions());
38
43
  genesisTx.combine(ExtPsbt.fromHex(signedGenesisTx));
39
44
  genesisTx.finalizeAllInputs();
40
- const genesisUtxo = genesisTx.getChangeUTXO();
45
+ const genesisUtxo = genesisTx.getUtxo(0);
41
46
  const tokenId = `${genesisUtxo.txId}_${genesisUtxo.outputIndex}`;
42
47
  const closeMinter = new CAT20ClosedMinter(toTokenOwnerAddress(address), outpoint2ByteString(tokenId));
43
48
  const admin = new CAT20Admin(outpoint2ByteString(tokenId));
@@ -55,14 +60,17 @@ export async function deployClosedMinterToken(signer, provider, deployInfo, feeR
55
60
  };
56
61
  closeMinter.state = minterState;
57
62
  admin.state = adminState;
63
+ // Bind Genesis contract to UTXO
64
+ genesis.bindToUtxo(genesisTx.getUtxo(0));
58
65
  const deployTx = new ExtPsbt({ network: await provider.getNetwork() })
59
- .spendUTXO(genesisUtxo)
66
+ .addContractInput(genesis, genesisCheckDeploy())
67
+ .spendUTXO(genesisTx.getChangeUTXO())
60
68
  .addContractOutput(closeMinter, Postage.MINTER_POSTAGE);
61
69
  if (metadata.hasAdmin) {
62
70
  deployTx.addContractOutput(admin, Postage.ADMIN_POSTAGE);
63
71
  }
64
72
  deployTx
65
- .change(changeAddress, feeRate, hexToUint8Array(MetadataSerializer.serialize('Token', deployInfo)))
73
+ .change(changeAddress, feeRate)
66
74
  .seal();
67
75
  const signedDeployTx = await signer.signPsbt(deployTx.toHex(), deployTx.psbtOptions());
68
76
  deployTx.combine(ExtPsbt.fromHex(signedDeployTx));
@@ -71,6 +79,7 @@ export async function deployClosedMinterToken(signer, provider, deployInfo, feeR
71
79
  markSpent(provider, genesisTx.extractTransaction());
72
80
  await provider.broadcast(deployTx.extractTransaction().toHex());
73
81
  markSpent(provider, deployTx.extractTransaction());
82
+ addChangeUtxoToProvider(provider, deployTx);
74
83
  return {
75
84
  tokenId,
76
85
  tokenScriptHash,
@@ -84,5 +93,5 @@ export async function deployClosedMinterToken(signer, provider, deployInfo, feeR
84
93
  metadata,
85
94
  timestamp: Date.now(),
86
95
  };
87
- }
96
+ });
88
97
  //# sourceMappingURL=closedMinter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"closedMinter.js","sourceRoot":"","sources":["../../../../../src/features/cat20/deploy/closedMinter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"closedMinter.js","sourceRoot":"","sources":["../../../../../src/features/cat20/deploy/closedMinter.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
- import { ImageMimeTypes, MetadataSerializer } from '../../../lib/metadata';
2
- import { CAT20OpenMinter } from '../../../contracts/cat20/minters/cat20OpenMinter';
3
- import { Postage } from '../../../typeConstants';
4
- import { CAT20 } from '../../../contracts/cat20/cat20';
5
- import { checkState } from '../../../utils/check';
6
- import { PubKey, ExtPsbt, markSpent, hexToUint8Array, getBackTraceInfo, toHex, } from '@opcat-labs/scrypt-ts-opcat';
7
- import { CAT20GuardPeripheral, CAT20OpenMinterPeripheral, ContractPeripheral, } from '../../../utils/contractPeripheral';
1
+ import { ImageMimeTypes, MetadataSerializer } from '../../../lib/metadata.js';
2
+ import { CAT20OpenMinter } from '../../../contracts/cat20/minters/cat20OpenMinter.js';
3
+ import { Postage } from '../../../typeConstants.js';
4
+ import { CAT20 } from '../../../contracts/cat20/cat20.js';
5
+ import { checkState } from '../../../utils/check.js';
6
+ import { PubKey, ExtPsbt, markSpent, getBackTraceInfo, toHex, Genesis, genesisCheckDeploy, addChangeUtxoToProvider, } from '@opcat-labs/scrypt-ts-opcat';
7
+ import { CAT20GuardPeripheral, CAT20OpenMinterPeripheral, ContractPeripheral, } from '../../../utils/contractPeripheral.js';
8
8
  import { Transaction } from '@opcat-labs/opcat';
9
- import { NULL_ADMIN_SCRIPT_HASH, } from '../../../contracts/constants';
9
+ import { NULL_ADMIN_SCRIPT_HASH, } from '../../../contracts/constants.js';
10
+ import { createFeatureWithDryRun } from '../../../utils/index.js';
10
11
  /**
11
12
  * Deploys a CAT20 token and its metadata using `CAT20OpenMinter` contract, and premines the token if applicable.
12
13
  * The preimner can mint the token with premined amount first, other users can mint the token with a fixed amount later
@@ -20,7 +21,7 @@ import { NULL_ADMIN_SCRIPT_HASH, } from '../../../contracts/constants';
20
21
  * @param changeAddress the address for the change output
21
22
  * @returns the token info and the PSBTs for the genesis, deploy, and premine transactions
22
23
  */
23
- export async function deployOpenMinterToken(
24
+ export const deployOpenMinterToken = createFeatureWithDryRun(async function (
24
25
  // signer for deployer
25
26
  signer,
26
27
  // signer for preminer
@@ -36,14 +37,18 @@ preminerSigner, provider, deployInfo, feeRate, changeAddress) {
36
37
  if (metadata.icon) {
37
38
  checkState(ImageMimeTypes.includes(metadata.icon.type), 'Invalid icon MIME type');
38
39
  }
40
+ // Create Genesis contract instance and set metadata in its data field
41
+ const genesis = new Genesis();
42
+ genesis.data = MetadataSerializer.serialize('Token', deployInfo);
39
43
  const genesisPsbt = new ExtPsbt({ network: await provider.getNetwork() })
40
44
  .spendUTXO(utxos)
41
- .change(changeAddress, feeRate, hexToUint8Array(MetadataSerializer.serialize('Token', deployInfo)))
45
+ .addContractOutput(genesis, Postage.GENESIS_POSTAGE)
46
+ .change(changeAddress, feeRate)
42
47
  .seal();
43
48
  const signedGenesisPsbt = await signer.signPsbt(genesisPsbt.toHex(), genesisPsbt.psbtOptions());
44
49
  genesisPsbt.combine(ExtPsbt.fromHex(signedGenesisPsbt));
45
50
  genesisPsbt.finalizeAllInputs();
46
- const genesisUtxo = genesisPsbt.getChangeUTXO();
51
+ const genesisUtxo = genesisPsbt.getUtxo(0);
47
52
  const tokenId = `${genesisUtxo.txId}_${genesisUtxo.outputIndex}`;
48
53
  const openMinter = CAT20OpenMinterPeripheral.createMinter(tokenId, metadata);
49
54
  openMinter.checkProps();
@@ -57,15 +62,18 @@ preminerSigner, provider, deployInfo, feeRate, changeAddress) {
57
62
  remainingCount: remainingSupplyCount,
58
63
  };
59
64
  openMinter.state = minterState;
65
+ // Bind Genesis contract to UTXO with metadata
66
+ genesis.bindToUtxo(genesisPsbt.getUtxo(0));
60
67
  const deployPsbt = new ExtPsbt({ network: await provider.getNetwork() })
61
- .spendUTXO(genesisUtxo)
68
+ .addContractInput(genesis, genesisCheckDeploy())
69
+ .spendUTXO(genesisPsbt.getChangeUTXO())
62
70
  .addContractOutput(openMinter, Postage.MINTER_POSTAGE)
63
71
  .change(changeAddress, feeRate)
64
72
  .seal();
65
73
  const signedDeployPsbt = await signer.signPsbt(deployPsbt.toHex(), deployPsbt.psbtOptions());
66
74
  deployPsbt.combine(ExtPsbt.fromHex(signedDeployPsbt));
67
75
  deployPsbt.finalizeAllInputs();
68
- const minterOutputIndex = 0;
76
+ const minterOutputIndex = 0; // Minter is now at output index 0
69
77
  const deployUtxo = deployPsbt.getUtxo(minterOutputIndex);
70
78
  // build premine tx if applicable
71
79
  let preminePsbt;
@@ -88,6 +96,10 @@ preminerSigner, provider, deployInfo, feeRate, changeAddress) {
88
96
  if (preminePsbt) {
89
97
  await provider.broadcast(preminePsbt.extractTransaction().toHex());
90
98
  markSpent(provider, preminePsbt.extractTransaction());
99
+ addChangeUtxoToProvider(provider, preminePsbt);
100
+ }
101
+ else {
102
+ addChangeUtxoToProvider(provider, deployPsbt);
91
103
  }
92
104
  return {
93
105
  tokenId,
@@ -103,7 +115,7 @@ preminerSigner, provider, deployInfo, feeRate, changeAddress) {
103
115
  deployPsbt,
104
116
  preminePsbt,
105
117
  };
106
- }
118
+ });
107
119
  export function buildMintPsbt(spentMinterPreTxHex, spentMinterTxHex, spentMinter, spentMinterUtxo, tokenReceiver, feeUtxos, feeRate, network, changeAddress, metadata, preminerPubKey) {
108
120
  const spentMinterState = CAT20OpenMinter.deserializeState(spentMinterUtxo.data);
109
121
  if (!spentMinterState) {
@@ -1 +1 @@
1
- {"version":3,"file":"openMinter.js","sourceRoot":"","sources":["../../../../../src/features/cat20/deploy/openMinter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openMinter.js","sourceRoot":"","sources":["../../../../../src/features/cat20/deploy/openMinter.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,27 @@
1
- export { deployOpenMinterToken } from './deploy/openMinter';
2
- export { deployClosedMinterToken } from './deploy/closedMinter';
3
- export { mintOpenMinterToken } from './mint/openMinter';
4
- export { mintClosedMinterToken } from './mint/closedMinter';
5
- export { burnToken } from './burn/burn';
6
- export { singleSend as singleSendToken, singleSendStep1 as singleSendTokenStep1, singleSendStep2 as singleSendTokenStep2, singleSendStep3 as singleSendTokenStep3, } from './send/singleSend';
7
- export { burnByAdmin } from './admin/burnByAdmin';
8
- export { transferOwnership } from './admin/transferOwnership';
1
+ export { deployOpenMinterToken } from './deploy/openMinter.js';
2
+ export { deployClosedMinterToken } from './deploy/closedMinter.js';
3
+ export { mintOpenMinterToken } from './mint/openMinter.js';
4
+ export { mintClosedMinterToken } from './mint/closedMinter.js';
5
+ export { burnToken } from './burn/burn.js';
6
+ export { singleSend as singleSendToken, singleSendStep1 as singleSendTokenStep1, singleSendStep2 as singleSendTokenStep2, singleSendStep3 as singleSendTokenStep3, } from './send/singleSend.js';
7
+ export { mergeSendToken, calculateTokenTransferCount } from './send/mergeSend.js';
8
+ export { burnByAdmin } from './admin/burnByAdmin.js';
9
+ export { transferOwnership } from './admin/transferOwnership.js';
9
10
  // legacy exports
10
11
  /**
11
12
  * @hidden
12
13
  */
13
- export { burnToken as burn } from './burn/burn';
14
+ export { burnToken as burn } from './burn/burn.js';
14
15
  /**
15
16
  * @hidden
16
17
  */
17
- export { deployOpenMinterToken as deployOpenMinter } from './deploy/openMinter';
18
+ export { deployOpenMinterToken as deployOpenMinter } from './deploy/openMinter.js';
18
19
  /**
19
20
  * @hidden
20
21
  */
21
- export { mintOpenMinterToken as openMinterMint } from './mint/openMinter';
22
+ export { mintOpenMinterToken as openMinterMint } from './mint/openMinter.js';
22
23
  /**
23
24
  * @hidden
24
25
  */
25
- export { singleSend, singleSendStep1, singleSendStep2, singleSendStep3 } from './send/singleSend';
26
+ export { singleSend, singleSendStep1, singleSendStep2, singleSendStep3 } from './send/singleSend.js';
26
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/features/cat20/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACH,UAAU,IAAI,eAAe,EAC7B,eAAe,IAAI,oBAAoB,EACvC,eAAe,IAAI,oBAAoB,EACvC,eAAe,IAAI,oBAAoB,GAC1C,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE7D,iBAAiB;AACjB;;GAEG;AACH,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,aAAa,CAAA;AAC/C;;GAEG;AACH,OAAO,EAAE,qBAAqB,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC/E;;GAEG;AACH,OAAO,EAAE,mBAAmB,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACzE;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/features/cat20/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EACH,UAAU,IAAI,eAAe,EAC7B,eAAe,IAAI,oBAAoB,EACvC,eAAe,IAAI,oBAAoB,EACvC,eAAe,IAAI,oBAAoB,GAC1C,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACH,cAAc,EACd,2BAA2B,EAC9B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAEhE,iBAAiB;AACjB;;GAEG;AACH,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAClD;;GAEG;AACH,OAAO,EAAE,qBAAqB,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAClF;;GAEG;AACH,OAAO,EAAE,mBAAmB,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC5E;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA"}
@@ -1,11 +1,11 @@
1
- import { PubKey, toHex } from '@opcat-labs/scrypt-ts-opcat';
1
+ import { addChangeUtxoToProvider, PubKey, toHex } from '@opcat-labs/scrypt-ts-opcat';
2
2
  import { ExtPsbt, getBackTraceInfo, markSpent } from '@opcat-labs/scrypt-ts-opcat';
3
- import { ContractPeripheral, CAT20GuardPeripheral } from '../../../utils/contractPeripheral';
4
- import { CAT20 } from '../../../contracts/cat20/cat20';
5
- import { checkArgument } from '../../../utils/check';
6
- import { CAT20ClosedMinter } from '../../../contracts/cat20/minters/cat20ClosedMinter';
7
- import { outpoint2ByteString, toTokenOwnerAddress, normalizeUtxoScripts } from '../../../utils';
8
- import { Postage } from '../../../typeConstants';
3
+ import { ContractPeripheral, CAT20GuardPeripheral } from '../../../utils/contractPeripheral.js';
4
+ import { CAT20 } from '../../../contracts/cat20/cat20.js';
5
+ import { checkArgument } from '../../../utils/check.js';
6
+ import { CAT20ClosedMinter } from '../../../contracts/cat20/minters/cat20ClosedMinter.js';
7
+ import { outpoint2ByteString, toTokenOwnerAddress, normalizeUtxoScripts, createFeatureWithDryRun } from '../../../utils/index.js';
8
+ import { Postage } from '../../../typeConstants.js';
9
9
  import { Transaction } from '@opcat-labs/opcat';
10
10
  /**
11
11
  * Mints a CAT20 token using `CAT20ClosedMinter` contract
@@ -23,7 +23,7 @@ import { Transaction } from '@opcat-labs/opcat';
23
23
  * @param feeRate the fee rate for the transaction
24
24
  * @returns the mint Psbt and the UTXO of the minted token
25
25
  */
26
- export async function mintClosedMinterToken(signer, provider, minterUtxo, hasAdmin, adminScriptHash, tokenId, tokenReceiver, tokenAmount, changeAddress, feeRate) {
26
+ export const mintClosedMinterToken = createFeatureWithDryRun(async function (signer, provider, minterUtxo, hasAdmin, adminScriptHash, tokenId, tokenReceiver, tokenAmount, changeAddress, feeRate) {
27
27
  const address = await signer.getAddress();
28
28
  const pubkey = await signer.getPublicKey();
29
29
  // fetch minter preTx
@@ -47,10 +47,7 @@ export async function mintClosedMinterToken(signer, provider, minterUtxo, hasAdm
47
47
  cat20.state = cat20State;
48
48
  const backtraceInfo = getBackTraceInfo(spentMinterTxHex, minterPreTxHex, minterInputIndex);
49
49
  const utxos = await provider.getUtxos(address);
50
- closedMinter.bindToUtxo({
51
- ...minterUtxo,
52
- txHashPreimage: toHex(new Transaction(spentMinterTxHex).toTxHashPreimage()),
53
- });
50
+ closedMinter.bindToUtxo({ ...minterUtxo, txHashPreimage: toHex(new Transaction(spentMinterTxHex).toTxHashPreimage()) });
54
51
  closedMinter.state = minterState;
55
52
  const nextMinter = closedMinter.next(closedMinter.state);
56
53
  const mintTx = new ExtPsbt({ network: await provider.getNetwork() })
@@ -70,10 +67,11 @@ export async function mintClosedMinterToken(signer, provider, minterUtxo, hasAdm
70
67
  mintTx.finalizeAllInputs();
71
68
  await provider.broadcast(mintTx.extractTransaction().toHex());
72
69
  markSpent(provider, mintTx.extractTransaction());
70
+ addChangeUtxoToProvider(provider, mintTx);
73
71
  return {
74
72
  mintPsbt: mintTx,
75
73
  cat20Utxo: mintTx.getUtxo(1),
76
74
  mintTxId: mintTx.extractTransaction().id,
77
75
  };
78
- }
76
+ });
79
77
  //# sourceMappingURL=closedMinter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"closedMinter.js","sourceRoot":"","sources":["../../../../../src/features/cat20/mint/closedMinter.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,MAAM,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,OAAO,EAA6C,gBAAgB,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAG7H,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AAC5F,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAA;AACtF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAI/C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,QAAsC,EACtC,UAAgB,EAChB,QAAiB,EACjB,eAAuB,EACvB,OAAe,EACf,aAAyB,EACzB,WAAyB,EACzB,aAAqB,EACrB,OAAe;IAMf,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;IACzC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAA;IAE1C,qBAAqB;IACrB,MAAM,gBAAgB,GAAG,CAAC,CAAA;IAC1B,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAC1E,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAAA;IACvD,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CACrD,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CACvD,CAAA;IAED,MAAM,YAAY,GAAG,IAAI,iBAAiB,CACxC,mBAAmB,CAAC,aAAa,CAAC,EAClC,mBAAmB,CAAC,OAAO,CAAC,CAC7B,CAAA;IACD,MAAM,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;IACvD,UAAU,GAAG,oBAAoB,CAAC,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;IAChE,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACzE,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,gBAAgB,EAChB,oBAAoB,CAAC,2BAA2B,EAAE,EAClD,QAAQ,EACR,eAAe,CAChB,CAAA;IACD,MAAM,eAAe,GAAG,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAE5D,MAAM,WAAW,GACf,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACrD,aAAa,CACX,WAAW,CAAC,eAAe,KAAK,eAAe,EAC/C,8DAA8D,eAAe,aAAa,WAAW,CAAC,eAAe,EAAE,CACxH,CAAA;IAED,aAAa,CACX,kBAAkB,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,gBAAgB,EAChE,+DAA+D,gBAAgB,aAAa,kBAAkB,CAAC,UAAU,CACvH,YAAY,CACb,EAAE,CACJ,CAAA;IAED,MAAM,UAAU,GAAe;QAC7B,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE,WAAW;KACpB,CAAA;IACD,KAAK,CAAC,KAAK,GAAG,UAAU,CAAA;IAExB,MAAM,aAAa,GAAG,gBAAgB,CACpC,gBAAgB,EAChB,cAAc,EACd,gBAAgB,CACjB,CAAA;IACD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAE9C,YAAY,CAAC,UAAU,CAAC;QACtB,GAAG,UAAU;QACb,cAAc,EAAE,KAAK,CAAC,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;KAC5E,CAAC,CAAA;IACF,YAAY,CAAC,KAAK,GAAG,WAAW,CAAA;IAEhC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;SACjE,gBAAgB,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE;QAC/C,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE;YACtC,OAAO,EAAE,aAAa;SACvB,CAAC,CAAA;QACF,QAAQ,CAAC,IAAI,CACX,UAAU,EAEV,MAAM,CAAC,MAAM,CAAC,EACd,GAAG,EAEH,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAC9B,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAC7B,aAAa,CACd,CAAA;IACH,CAAC,CACA;SACA,SAAS,CAAC,KAAK,CAAC;SAChB,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC;SACrD,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC;SAC/C,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC;SAC9B,IAAI,EAAE,CAAA;IAET,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,QAAQ,CACxC,MAAM,CAAC,KAAK,EAAE,EACd,MAAM,CAAC,WAAW,EAAE,CACrB,CAAA;IACD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;IAC7C,MAAM,CAAC,iBAAiB,EAAE,CAAA;IAE1B,MAAM,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAAC,CAAA;IAC7D,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAEhD,OAAO;QACL,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,QAAQ,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC,EAAE;KACzC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"closedMinter.js","sourceRoot":"","sources":["../../../../../src/features/cat20/mint/closedMinter.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { buildMintPsbt } from '../deploy/openMinter';
2
- import { CAT20OpenMinterPeripheral } from '../../../utils/contractPeripheral';
3
- import { ExtPsbt, markSpent, toHex, } from '@opcat-labs/scrypt-ts-opcat';
1
+ import { buildMintPsbt } from '../deploy/openMinter.js';
2
+ import { CAT20OpenMinterPeripheral } from '../../../utils/contractPeripheral.js';
3
+ import { ExtPsbt, markSpent, toHex, addChangeUtxoToProvider, } from '@opcat-labs/scrypt-ts-opcat';
4
4
  import { Transaction } from '@opcat-labs/opcat';
5
- import { CAT20OpenMinter } from '../../../contracts';
6
- import { normalizeUtxoScripts } from '../../../utils';
5
+ import { CAT20OpenMinter } from '../../../contracts/index.js';
6
+ import { normalizeUtxoScripts, createFeatureWithDryRun } from '../../../utils/index.js';
7
7
  /**
8
8
  * Mints a CAT20 token using `CAT20OpenMinter` contract
9
9
  * The preimner can mint the token with premined amount first, other users can mint the token with a fixed amount later
@@ -19,7 +19,7 @@ import { normalizeUtxoScripts } from '../../../utils';
19
19
  * @param feeRate the fee rate for constructing transactions
20
20
  * @returns the mint transaction
21
21
  */
22
- export async function mintOpenMinterToken(signer, preminerSigner, provider, minterUtxo, tokenId, metadata, tokenReceiver, changeAddress, feeRate) {
22
+ export const mintOpenMinterToken = createFeatureWithDryRun(async function (signer, preminerSigner, provider, minterUtxo, tokenId, metadata, tokenReceiver, changeAddress, feeRate) {
23
23
  const address = await signer.getAddress();
24
24
  const pubkey = await signer.getPublicKey();
25
25
  // fetch minter preTx
@@ -43,9 +43,10 @@ export async function mintOpenMinterToken(signer, preminerSigner, provider, mint
43
43
  mintPsbt.finalizeAllInputs();
44
44
  await provider.broadcast(mintPsbt.extractTransaction().toHex());
45
45
  markSpent(provider, mintPsbt.extractTransaction());
46
+ addChangeUtxoToProvider(provider, mintPsbt);
46
47
  return {
47
48
  mintPsbt,
48
49
  mintTxid: mintPsbt.extractTransaction().id,
49
50
  };
50
- }
51
+ });
51
52
  //# sourceMappingURL=openMinter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openMinter.js","sourceRoot":"","sources":["../../../../../src/features/cat20/mint/openMinter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openMinter.js","sourceRoot":"","sources":["../../../../../src/features/cat20/mint/openMinter.ts"],"names":[],"mappings":"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"}