@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
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.burnByAdmin = void 0;
4
4
  const scrypt_ts_opcat_1 = require("@opcat-labs/scrypt-ts-opcat");
5
- const cat20_1 = require("../../../contracts/cat20/cat20");
6
- const constants_1 = require("../../../contracts/constants");
7
- const typeConstants_1 = require("../../../typeConstants");
8
- const utils_1 = require("../../../utils");
9
- const contractPeripheral_1 = require("../../../utils/contractPeripheral");
10
- const cat20StateLib_1 = require("../../../contracts/cat20/cat20StateLib");
11
- const contracts_1 = require("../../../contracts");
5
+ const cat20_js_1 = require("../../../contracts/cat20/cat20.js");
6
+ const constants_js_1 = require("../../../contracts/constants.js");
7
+ const typeConstants_js_1 = require("../../../typeConstants.js");
8
+ const index_js_1 = require("../../../utils/index.js");
9
+ const contractPeripheral_js_1 = require("../../../utils/contractPeripheral.js");
10
+ const cat20StateLib_js_1 = require("../../../contracts/cat20/cat20StateLib.js");
11
+ const index_js_2 = require("../../../contracts/index.js");
12
12
  /**
13
13
  * Burns CAT20 tokens using admin privileges without requiring owner approval.
14
14
  *
@@ -73,30 +73,30 @@ const contracts_1 = require("../../../contracts");
73
73
  * @see {@link CAT20Admin} for admin contract details
74
74
  * @see {@link burn} for user-initiated token burning with owner approval
75
75
  */
76
- async function burnByAdmin(signer, cat20Admin, adminUtxo, provider, minterScriptHash, inputTokenUtxos, feeRate, hasAdmin = false, adminScriptHash = constants_1.NULL_ADMIN_SCRIPT_HASH) {
77
- if (inputTokenUtxos.length + 2 > constants_1.TX_INPUT_COUNT_MAX) {
78
- throw new Error(`Too many inputs that exceed the maximum input limit of ${constants_1.TX_INPUT_COUNT_MAX}`);
76
+ exports.burnByAdmin = (0, index_js_1.createFeatureWithDryRun)(async function (signer, cat20Admin, adminUtxo, provider, minterScriptHash, inputTokenUtxos, feeRate, hasAdmin = false, adminScriptHash = constants_js_1.NULL_ADMIN_SCRIPT_HASH) {
77
+ if (inputTokenUtxos.length + 2 > constants_js_1.TX_INPUT_COUNT_MAX) {
78
+ throw new Error(`Too many inputs that exceed the maximum input limit of ${constants_js_1.TX_INPUT_COUNT_MAX}`);
79
79
  }
80
80
  const changeAddress = await signer.getAddress();
81
81
  // we use the p2pkh contract as the contract owner
82
- const expectContractOwner = (0, utils_1.toTokenOwnerAddress)(changeAddress, true);
82
+ const expectContractOwner = (0, index_js_1.toTokenOwnerAddress)(changeAddress, true);
83
83
  let utxos = await provider.getUtxos(changeAddress);
84
- utxos = (0, utils_1.filterFeeUtxos)(utxos).slice(0, constants_1.TX_INPUT_COUNT_MAX);
84
+ utxos = (0, index_js_1.filterFeeUtxos)(utxos).slice(0, constants_js_1.TX_INPUT_COUNT_MAX);
85
85
  if (utxos.length === 0) {
86
86
  throw new Error('Insufficient satoshis input amount');
87
87
  }
88
- const guardScriptHashes = contractPeripheral_1.CAT20GuardPeripheral.getGuardVariantScriptHashes();
89
- const cat20 = new cat20_1.CAT20(minterScriptHash, guardScriptHashes, hasAdmin, adminScriptHash);
88
+ const guardScriptHashes = contractPeripheral_js_1.CAT20GuardPeripheral.getGuardVariantScriptHashes();
89
+ const cat20 = new cat20_js_1.CAT20(minterScriptHash, guardScriptHashes, hasAdmin, adminScriptHash);
90
90
  const cat20Script = cat20.lockingScript.toHex();
91
- inputTokenUtxos = (0, utils_1.normalizeUtxoScripts)(inputTokenUtxos, cat20Script);
92
- const inputTokenStates = inputTokenUtxos.map((utxo) => cat20_1.CAT20.deserializeState(utxo.data));
91
+ inputTokenUtxos = (0, index_js_1.normalizeUtxoScripts)(inputTokenUtxos, cat20Script);
92
+ const inputTokenStates = inputTokenUtxos.map((utxo) => cat20_js_1.CAT20.deserializeState(utxo.data));
93
93
  inputTokenStates.map((state, index) => {
94
94
  if (state.ownerAddr != expectContractOwner) {
95
95
  throw new Error(`the ${index} input token owner=${state.ownerAddr} is not ${expectContractOwner}`);
96
96
  }
97
97
  });
98
98
  const changeTokenOutputIndex = -1;
99
- const { guard, guardState, outputTokens: _outputTokens, txInputCountMax, txOutputCountMax } = contractPeripheral_1.CAT20GuardPeripheral.createBurnGuard(inputTokenUtxos.map((utxo, index) => ({
99
+ const { guard, guardState, outputTokens: _outputTokens, txInputCountMax, txOutputCountMax } = contractPeripheral_js_1.CAT20GuardPeripheral.createBurnGuard(inputTokenUtxos.map((utxo, index) => ({
100
100
  token: utxo,
101
101
  inputIndex: index,
102
102
  })));
@@ -105,22 +105,19 @@ async function burnByAdmin(signer, cat20Admin, adminUtxo, provider, minterScript
105
105
  guard.state = guardState;
106
106
  const guardPsbt = new scrypt_ts_opcat_1.ExtPsbt({ network: await provider.getNetwork() })
107
107
  .spendUTXO(utxos)
108
- .addContractOutput(guard, typeConstants_1.Postage.GUARD_POSTAGE)
108
+ .addContractOutput(guard, typeConstants_js_1.Postage.GUARD_POSTAGE)
109
109
  .change(changeAddress, feeRate)
110
110
  .seal();
111
111
  const signedGuardPsbt = await signer.signPsbt(guardPsbt.toHex(), guardPsbt.psbtOptions());
112
112
  guardPsbt.combine(scrypt_ts_opcat_1.ExtPsbt.fromHex(signedGuardPsbt));
113
113
  guardPsbt.finalizeAllInputs();
114
- const backtraces = await contractPeripheral_1.CAT20GuardPeripheral.getBackTraceInfo(minterScriptHash, inputTokenUtxos, provider, hasAdmin, adminScriptHash);
115
114
  const guardUtxo = guardPsbt.getUtxo(0);
116
115
  const feeUtxo = guardPsbt.getChangeUTXO();
117
- const inputTokens = inputTokenUtxos.map((utxo, index) => new cat20_1.CAT20(minterScriptHash, guardScriptHashes, true, adminScriptHash).bindToUtxo({
118
- ...utxo,
119
- txHashPreimage: (0, scrypt_ts_opcat_1.toHex)(new scrypt_ts_opcat_1.Transaction(backtraces[index].prevTxHex).toTxHashPreimage()),
120
- }));
116
+ const inputTokens = inputTokenUtxos.map((utxo) => new cat20_js_1.CAT20(minterScriptHash, guardScriptHashes, true, adminScriptHash).bindToUtxo(utxo));
121
117
  /// we use the fee input as contract input;
122
118
  const sendPsbt = new scrypt_ts_opcat_1.ExtPsbt({ network: await provider.getNetwork() });
123
119
  const guardInputIndex = inputTokens.length;
120
+ const backtraces = await contractPeripheral_js_1.CAT20GuardPeripheral.getBackTraceInfo(minterScriptHash, inputTokenUtxos, provider, hasAdmin, adminScriptHash);
124
121
  // Transaction input structure:
125
122
  // - Token inputs: [0 to inputTokens.length - 1]
126
123
  // - Guard input: inputTokens.length
@@ -131,7 +128,7 @@ async function burnByAdmin(signer, cat20Admin, adminUtxo, provider, minterScript
131
128
  for (let index = 0; index < inputTokens.length; index++) {
132
129
  sendPsbt.addContractInput(inputTokens[index], (contract) => {
133
130
  contract.unlock({
134
- spendType: contracts_1.SPEND_TYPE_ADMIN_SPEND,
131
+ spendType: index_js_2.SPEND_TYPE_ADMIN_SPEND,
135
132
  userPubKey: '',
136
133
  userSig: '',
137
134
  spendScriptInputIndex: BigInt(adminInputIndex),
@@ -142,24 +139,25 @@ async function burnByAdmin(signer, cat20Admin, adminUtxo, provider, minterScript
142
139
  guard.bindToUtxo(guardUtxo);
143
140
  sendPsbt.addContractInput(guard, (contract, tx) => {
144
141
  const ownerAddrOrScript = (0, scrypt_ts_opcat_1.fill)((0, scrypt_ts_opcat_1.toByteString)(''), txOutputCountMax);
145
- (0, utils_1.applyFixedArray)(ownerAddrOrScript, tx.txOutputs.map((output, index) => {
142
+ (0, index_js_1.applyFixedArray)(ownerAddrOrScript, tx.txOutputs.map((output, index) => {
146
143
  return index < outputTokens.length
147
144
  ? outputTokens[index].ownerAddr
148
- : contractPeripheral_1.ContractPeripheral.scriptHash((0, scrypt_ts_opcat_1.toHex)(output.script));
145
+ : contractPeripheral_js_1.ContractPeripheral.scriptHash((0, scrypt_ts_opcat_1.toHex)(output.script));
149
146
  }));
150
147
  const outputTokenAmts = (0, scrypt_ts_opcat_1.fill)(BigInt(0), txOutputCountMax);
151
- (0, utils_1.applyFixedArray)(outputTokenAmts, outputTokens.map((t) => t.amount));
148
+ (0, index_js_1.applyFixedArray)(outputTokenAmts, outputTokens.map((t) => t.amount));
152
149
  const tokenScriptIndexArray = (0, scrypt_ts_opcat_1.fill)(-1n, txOutputCountMax);
153
- (0, utils_1.applyFixedArray)(tokenScriptIndexArray, outputTokens.map(() => 0n));
150
+ (0, index_js_1.applyFixedArray)(tokenScriptIndexArray, outputTokens.map(() => 0n));
154
151
  const outputSatoshis = (0, scrypt_ts_opcat_1.fill)(0n, txOutputCountMax);
155
- (0, utils_1.applyFixedArray)(outputSatoshis, tx.txOutputs.map((output) => output.value));
156
- const inputCAT20States = (0, scrypt_ts_opcat_1.fill)(cat20StateLib_1.CAT20StateLib.create(0n, ''), txInputCountMax);
157
- (0, utils_1.applyFixedArray)(inputCAT20States, inputTokenStates);
152
+ (0, index_js_1.applyFixedArray)(outputSatoshis, tx.txOutputs.map((output) => output.value));
153
+ const inputCAT20States = (0, scrypt_ts_opcat_1.fill)(cat20StateLib_js_1.CAT20StateLib.create(0n, ''), txInputCountMax);
154
+ (0, index_js_1.applyFixedArray)(inputCAT20States, inputTokenStates);
158
155
  const nextStateHashes = (0, scrypt_ts_opcat_1.fill)((0, scrypt_ts_opcat_1.toByteString)(''), txOutputCountMax);
159
- (0, utils_1.applyFixedArray)(nextStateHashes, tx.txOutputs.map((output) => (0, scrypt_ts_opcat_1.sha256)((0, scrypt_ts_opcat_1.toHex)(output.data))));
156
+ (0, index_js_1.applyFixedArray)(nextStateHashes, tx.txOutputs.map((output) => (0, scrypt_ts_opcat_1.sha256)((0, scrypt_ts_opcat_1.toHex)(output.data))));
160
157
  contract.unlock(nextStateHashes, ownerAddrOrScript, outputTokenAmts, tokenScriptIndexArray, outputSatoshis, inputCAT20States, BigInt(tx.data.outputs.length));
161
158
  });
162
159
  // add admin input
160
+ cat20Admin.bindToUtxo(adminUtxo);
163
161
  const pubkey = await signer.getPublicKey();
164
162
  const address = await signer.getAddress();
165
163
  const spentAdminTxHex = await provider.getRawTransaction(adminUtxo.txId);
@@ -171,10 +169,6 @@ async function burnByAdmin(signer, cat20Admin, adminUtxo, provider, minterScript
171
169
  }
172
170
  const spentAdminPreTxHex = await provider.getRawTransaction((0, scrypt_ts_opcat_1.toHex)(spentAdminTx.inputs[adminBacktraceInputIndex].prevTxId));
173
171
  const backTraceInfo = (0, scrypt_ts_opcat_1.getBackTraceInfo)(spentAdminTxHex, spentAdminPreTxHex, adminBacktraceInputIndex);
174
- cat20Admin.bindToUtxo({
175
- ...adminUtxo,
176
- txHashPreimage: (0, scrypt_ts_opcat_1.toHex)(new scrypt_ts_opcat_1.Transaction(spentAdminTxHex).toTxHashPreimage()),
177
- });
178
172
  sendPsbt.addContractInput(cat20Admin, (contract, tx) => {
179
173
  // Use the dynamically calculated adminInputIndex (from line 205)
180
174
  const sig = tx.getSig(adminInputIndex, {
@@ -191,13 +185,12 @@ async function burnByAdmin(signer, cat20Admin, adminUtxo, provider, minterScript
191
185
  sendPsbt.combine(scrypt_ts_opcat_1.ExtPsbt.fromHex(signedSendPsbt));
192
186
  sendPsbt.finalizeAllInputs();
193
187
  const newCAT20Utxos = outputTokens.map((_, index) => sendPsbt.getUtxo(index));
194
- const newFeeUtxo = sendPsbt.getChangeUTXO();
195
188
  // broadcast
196
189
  await provider.broadcast(guardPsbt.extractTransaction().toHex());
197
190
  (0, scrypt_ts_opcat_1.markSpent)(provider, guardPsbt.extractTransaction());
198
191
  await provider.broadcast(sendPsbt.extractTransaction().toHex());
199
192
  (0, scrypt_ts_opcat_1.markSpent)(provider, sendPsbt.extractTransaction());
200
- provider.addNewUTXO(newFeeUtxo);
193
+ (0, scrypt_ts_opcat_1.addChangeUtxoToProvider)(provider, sendPsbt);
201
194
  return {
202
195
  sendTxId: sendPsbt.extractTransaction().id,
203
196
  guardTxId: guardPsbt.extractTransaction().id,
@@ -206,6 +199,5 @@ async function burnByAdmin(signer, cat20Admin, adminUtxo, provider, minterScript
206
199
  newCAT20Utxos,
207
200
  changeTokenOutputIndex,
208
201
  };
209
- }
210
- exports.burnByAdmin = burnByAdmin;
202
+ });
211
203
  //# sourceMappingURL=burnByAdmin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"burnByAdmin.js","sourceRoot":"","sources":["../../../../../src/features/cat20/admin/burnByAdmin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"burnByAdmin.js","sourceRoot":"","sources":["../../../../../src/features/cat20/admin/burnByAdmin.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.transferOwnership = void 0;
4
4
  const scrypt_ts_opcat_1 = require("@opcat-labs/scrypt-ts-opcat");
5
- const constants_1 = require("../../../contracts/constants");
6
- const utils_1 = require("../../../utils");
7
- const contracts_1 = require("../../../contracts");
5
+ const constants_js_1 = require("../../../contracts/constants.js");
6
+ const index_js_1 = require("../../../utils/index.js");
7
+ const index_js_2 = require("../../../contracts/index.js");
8
8
  /**
9
9
  * Change CAT20 admin owner in a single transaction.
10
10
  * @param signer a signer, such as {@link DefaultSigner} or {@link WalletSigner}
@@ -15,16 +15,17 @@ const contracts_1 = require("../../../contracts");
15
15
  * @param feeRate the fee rate for constructing transactions
16
16
  * @returns a transferOwnership transaction
17
17
  */
18
- async function transferOwnership(adminSigner, feeSigner, cat20Admin, adminUtxo, provider, newPubKeyHash, feeRate) {
18
+ exports.transferOwnership = (0, index_js_1.createFeatureWithDryRun)(async function (adminSigner, feeSigner, cat20Admin, adminUtxo, provider, newPubKeyHash, feeRate) {
19
19
  const changeAddress = await feeSigner.getAddress();
20
20
  let utxos = await provider.getUtxos(changeAddress);
21
- utxos = (0, utils_1.filterFeeUtxos)(utxos).slice(0, constants_1.TX_INPUT_COUNT_MAX);
21
+ utxos = (0, index_js_1.filterFeeUtxos)(utxos).slice(0, constants_js_1.TX_INPUT_COUNT_MAX);
22
22
  if (utxos.length === 0) {
23
23
  throw new Error('Insufficient satoshis input amount');
24
24
  }
25
25
  /// we use the fee input as contract input;
26
26
  const sendPsbt = new scrypt_ts_opcat_1.ExtPsbt({ network: await provider.getNetwork() });
27
27
  // add admin input
28
+ cat20Admin.bindToUtxo(adminUtxo);
28
29
  const adminPubKey = await adminSigner.getPublicKey();
29
30
  const adminAddress = await adminSigner.getAddress();
30
31
  const adminTxHex = await provider.getRawTransaction(adminUtxo.txId);
@@ -35,10 +36,6 @@ async function transferOwnership(adminSigner, feeSigner, cat20Admin, adminUtxo,
35
36
  }
36
37
  const spentAdminPreTxHex = await provider.getRawTransaction((0, scrypt_ts_opcat_1.toHex)(adminTx.inputs[prevAdminInputIndex].prevTxId));
37
38
  const backTraceInfo = (0, scrypt_ts_opcat_1.getBackTraceInfo)(adminTxHex, spentAdminPreTxHex, prevAdminInputIndex);
38
- cat20Admin.bindToUtxo({
39
- ...adminUtxo,
40
- txHashPreimage: (0, scrypt_ts_opcat_1.toHex)(new scrypt_ts_opcat_1.Transaction(adminTxHex).toTxHashPreimage()),
41
- });
42
39
  sendPsbt.addContractInput(cat20Admin, (contract, tx) => {
43
40
  // sign admin input
44
41
  const sig = tx.getSig(0, {
@@ -48,7 +45,7 @@ async function transferOwnership(adminSigner, feeSigner, cat20Admin, adminUtxo,
48
45
  });
49
46
  const newCat20Admin = cat20Admin.next({
50
47
  tag: cat20Admin.state.tag,
51
- adminAddress: contracts_1.OwnerUtils.pubKeyHashtoLockingScript(newPubKeyHash),
48
+ adminAddress: index_js_2.OwnerUtils.pubKeyHashtoLockingScript(newPubKeyHash),
52
49
  });
53
50
  sendPsbt.addContractOutput(newCat20Admin, adminUtxo.satoshis);
54
51
  // add fee input, also is a contract input to unlock cat20
@@ -63,15 +60,13 @@ async function transferOwnership(adminSigner, feeSigner, cat20Admin, adminUtxo,
63
60
  sendPsbt.combine(scrypt_ts_opcat_1.ExtPsbt.fromHex(signedSendPsbt2));
64
61
  }
65
62
  sendPsbt.finalizeAllInputs();
66
- const newFeeUtxo = sendPsbt.getChangeUTXO();
67
63
  // broadcast
68
64
  await provider.broadcast(sendPsbt.extractTransaction().toHex());
69
65
  (0, scrypt_ts_opcat_1.markSpent)(provider, sendPsbt.extractTransaction());
70
- provider.addNewUTXO(newFeeUtxo);
66
+ (0, scrypt_ts_opcat_1.addChangeUtxoToProvider)(provider, sendPsbt);
71
67
  return {
72
68
  sendTxId: sendPsbt.extractTransaction().id,
73
69
  sendPsbt,
74
70
  };
75
- }
76
- exports.transferOwnership = transferOwnership;
71
+ });
77
72
  //# 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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"}
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.burnToken = void 0;
4
4
  const scrypt_ts_opcat_1 = require("@opcat-labs/scrypt-ts-opcat");
5
- const cat20_1 = require("../../../contracts/cat20/cat20");
6
- const cat20StateLib_1 = require("../../../contracts/cat20/cat20StateLib");
7
- const constants_1 = require("../../../contracts/constants");
8
- const typeConstants_1 = require("../../../typeConstants");
9
- const utils_1 = require("../../../utils");
10
- const contractPeripheral_1 = require("../../../utils/contractPeripheral");
11
- const contracts_1 = require("../../../contracts");
5
+ const cat20_js_1 = require("../../../contracts/cat20/cat20.js");
6
+ const cat20StateLib_js_1 = require("../../../contracts/cat20/cat20StateLib.js");
7
+ const constants_js_1 = require("../../../contracts/constants.js");
8
+ const typeConstants_js_1 = require("../../../typeConstants.js");
9
+ const index_js_1 = require("../../../utils/index.js");
10
+ const contractPeripheral_js_1 = require("../../../utils/contractPeripheral.js");
11
+ const index_js_2 = require("../../../contracts/index.js");
12
12
  /**
13
13
  * Burns a CAT20 token using `CAT20Guard` contract
14
14
  * @category Feature
@@ -21,20 +21,20 @@ const contracts_1 = require("../../../contracts");
21
21
  * @param adminScriptHash the admin script hash of the CAT20 token
22
22
  * @returns the PSBTs for the guard and burn transactions
23
23
  */
24
- async function burnToken(signer, provider, minterScriptHash, inputTokenUtxos, feeRate, hasAdmin = false, adminScriptHash = constants_1.NULL_ADMIN_SCRIPT_HASH) {
24
+ exports.burnToken = (0, index_js_1.createFeatureWithDryRun)(async function (signer, provider, minterScriptHash, inputTokenUtxos, feeRate, hasAdmin = false, adminScriptHash = constants_js_1.NULL_ADMIN_SCRIPT_HASH) {
25
25
  const pubkey = await signer.getPublicKey();
26
26
  const changeAddress = await signer.getAddress();
27
27
  let utxos = await provider.getUtxos(changeAddress);
28
- utxos = (0, utils_1.filterFeeUtxos)(utxos).slice(0, constants_1.TX_INPUT_COUNT_MAX);
28
+ utxos = (0, index_js_1.filterFeeUtxos)(utxos).slice(0, constants_js_1.TX_INPUT_COUNT_MAX);
29
29
  if (utxos.length === 0) {
30
30
  throw new Error('Insufficient satoshis input amount');
31
31
  }
32
- const guardScriptHashes = contractPeripheral_1.CAT20GuardPeripheral.getGuardVariantScriptHashes();
33
- const cat20 = new cat20_1.CAT20(minterScriptHash, guardScriptHashes, hasAdmin, adminScriptHash);
32
+ const guardScriptHashes = contractPeripheral_js_1.CAT20GuardPeripheral.getGuardVariantScriptHashes();
33
+ const cat20 = new cat20_js_1.CAT20(minterScriptHash, guardScriptHashes, hasAdmin, adminScriptHash);
34
34
  const cat20Script = cat20.lockingScript.toHex();
35
- inputTokenUtxos = (0, utils_1.normalizeUtxoScripts)(inputTokenUtxos, cat20Script);
36
- const inputTokenStates = inputTokenUtxos.map((utxo) => cat20_1.CAT20.deserializeState(utxo.data));
37
- const { guard, guardState, txInputCountMax, txOutputCountMax } = contractPeripheral_1.CAT20GuardPeripheral.createBurnGuard(inputTokenUtxos.map((utxo, index) => ({
35
+ inputTokenUtxos = (0, index_js_1.normalizeUtxoScripts)(inputTokenUtxos, cat20Script);
36
+ const inputTokenStates = inputTokenUtxos.map((utxo) => cat20_js_1.CAT20.deserializeState(utxo.data));
37
+ const { guard, guardState, txInputCountMax, txOutputCountMax } = contractPeripheral_js_1.CAT20GuardPeripheral.createBurnGuard(inputTokenUtxos.map((utxo, index) => ({
38
38
  token: utxo,
39
39
  inputIndex: index,
40
40
  })));
@@ -42,7 +42,7 @@ async function burnToken(signer, provider, minterScriptHash, inputTokenUtxos, fe
42
42
  guard.state = guardState;
43
43
  const guardPsbt = new scrypt_ts_opcat_1.ExtPsbt({ network: await provider.getNetwork() })
44
44
  .spendUTXO(utxos)
45
- .addContractOutput(guard, typeConstants_1.Postage.GUARD_POSTAGE)
45
+ .addContractOutput(guard, typeConstants_js_1.Postage.GUARD_POSTAGE)
46
46
  .change(changeAddress, feeRate)
47
47
  .seal();
48
48
  const signedGuardPsbt = await signer.signPsbt(guardPsbt.toHex(), guardPsbt.psbtOptions());
@@ -50,15 +50,18 @@ async function burnToken(signer, provider, minterScriptHash, inputTokenUtxos, fe
50
50
  guardPsbt.finalizeAllInputs();
51
51
  const guardUtxo = guardPsbt.getUtxo(0);
52
52
  const feeUtxo = guardPsbt.getChangeUTXO();
53
- const backtraces = await contractPeripheral_1.CAT20GuardPeripheral.getBackTraceInfo(minterScriptHash, inputTokenUtxos, provider, hasAdmin, adminScriptHash);
54
- const inputTokens = inputTokenUtxos.map((utxo, index) => new cat20_1.CAT20(minterScriptHash, guardScriptHashes, hasAdmin, adminScriptHash).bindToUtxo({ ...utxo, txHashPreimage: (0, scrypt_ts_opcat_1.toHex)(new scrypt_ts_opcat_1.Transaction(backtraces[index].prevTxHex).toTxHashPreimage()) }));
53
+ const backtraces = await contractPeripheral_js_1.CAT20GuardPeripheral.getBackTraceInfo(minterScriptHash, inputTokenUtxos, provider, hasAdmin, adminScriptHash);
54
+ const inputTokens = inputTokenUtxos.map((utxo, index) => new cat20_js_1.CAT20(minterScriptHash, guardScriptHashes, hasAdmin, adminScriptHash).bindToUtxo({
55
+ ...utxo,
56
+ txHashPreimage: (0, scrypt_ts_opcat_1.toHex)(new scrypt_ts_opcat_1.Transaction(backtraces[index].prevTxHex).toTxHashPreimage())
57
+ }));
55
58
  const burnPsbt = new scrypt_ts_opcat_1.ExtPsbt({ network: await provider.getNetwork() });
56
59
  const guardInputIndex = inputTokens.length;
57
60
  // add token inputs
58
61
  for (let index = 0; index < inputTokens.length; index++) {
59
62
  burnPsbt.addContractInput(inputTokens[index], (contract, tx) => {
60
63
  contract.unlock({
61
- spendType: contracts_1.SPEND_TYPE_USER_SPEND,
64
+ spendType: index_js_2.SPEND_TYPE_USER_SPEND,
62
65
  userPubKey: (0, scrypt_ts_opcat_1.PubKey)(pubkey),
63
66
  userSig: tx.getSig(index, { address: changeAddress }),
64
67
  spendScriptInputIndex: BigInt(-1),
@@ -69,15 +72,15 @@ async function burnToken(signer, provider, minterScriptHash, inputTokenUtxos, fe
69
72
  guard.bindToUtxo(guardUtxo);
70
73
  burnPsbt.addContractInput(guard, (contract, tx) => {
71
74
  const ownerAddrOrScript = (0, scrypt_ts_opcat_1.fill)((0, scrypt_ts_opcat_1.toByteString)(''), txOutputCountMax);
72
- (0, utils_1.applyFixedArray)(ownerAddrOrScript, tx.txOutputs.map((output) => contractPeripheral_1.ContractPeripheral.scriptHash((0, scrypt_ts_opcat_1.toHex)(output.script))));
75
+ (0, index_js_1.applyFixedArray)(ownerAddrOrScript, tx.txOutputs.map((output) => contractPeripheral_js_1.ContractPeripheral.scriptHash((0, scrypt_ts_opcat_1.toHex)(output.script))));
73
76
  const outputTokenAmts = (0, scrypt_ts_opcat_1.fill)(BigInt(0), txOutputCountMax);
74
77
  const tokenScriptIndexArray = (0, scrypt_ts_opcat_1.fill)(-1n, txOutputCountMax);
75
78
  const outputSatoshis = (0, scrypt_ts_opcat_1.fill)(0n, txOutputCountMax);
76
- (0, utils_1.applyFixedArray)(outputSatoshis, tx.txOutputs.map((output) => BigInt(output.value)));
77
- const inputCAT20States = (0, scrypt_ts_opcat_1.fill)(cat20StateLib_1.CAT20StateLib.create(0n, (0, scrypt_ts_opcat_1.toByteString)('')), txInputCountMax);
78
- (0, utils_1.applyFixedArray)(inputCAT20States, inputTokenStates);
79
+ (0, index_js_1.applyFixedArray)(outputSatoshis, tx.txOutputs.map((output) => BigInt(output.value)));
80
+ const inputCAT20States = (0, scrypt_ts_opcat_1.fill)(cat20StateLib_js_1.CAT20StateLib.create(0n, (0, scrypt_ts_opcat_1.toByteString)('')), txInputCountMax);
81
+ (0, index_js_1.applyFixedArray)(inputCAT20States, inputTokenStates);
79
82
  const nextStateHashes = (0, scrypt_ts_opcat_1.fill)((0, scrypt_ts_opcat_1.toByteString)(''), txOutputCountMax);
80
- (0, utils_1.applyFixedArray)(nextStateHashes, tx.txOutputs.map((output) => (0, scrypt_ts_opcat_1.sha256)((0, scrypt_ts_opcat_1.toHex)(output.data))));
83
+ (0, index_js_1.applyFixedArray)(nextStateHashes, tx.txOutputs.map((output) => (0, scrypt_ts_opcat_1.sha256)((0, scrypt_ts_opcat_1.toHex)(output.data))));
81
84
  contract.unlock(nextStateHashes, ownerAddrOrScript, outputTokenAmts, tokenScriptIndexArray, outputSatoshis, inputCAT20States, BigInt(tx.txOutputs.length));
82
85
  });
83
86
  // add fee input
@@ -92,13 +95,12 @@ async function burnToken(signer, provider, minterScriptHash, inputTokenUtxos, fe
92
95
  (0, scrypt_ts_opcat_1.markSpent)(provider, guardPsbt.extractTransaction());
93
96
  await provider.broadcast(burnPsbt.extractTransaction().toHex());
94
97
  (0, scrypt_ts_opcat_1.markSpent)(provider, burnPsbt.extractTransaction());
95
- provider.addNewUTXO(burnPsbt.getChangeUTXO());
98
+ (0, scrypt_ts_opcat_1.addChangeUtxoToProvider)(provider, burnPsbt);
96
99
  return {
97
100
  guardPsbt,
98
101
  burnPsbt,
99
102
  guardTxid: guardPsbt.extractTransaction().id,
100
103
  burnTxid: burnPsbt.extractTransaction().id,
101
104
  };
102
- }
103
- exports.burnToken = burnToken;
105
+ });
104
106
  //# 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":";;;AAAA,iEAgBoC;AACpC,gEAAyD;AACzD,gFAAyE;AACzE,kEAKwC;AACxC,gEAAwE;AACxE,sDAAwH;AACxH,gFAG6C;AAC7C,0DAAmE;AAEnE;;;;;;;;;;;GAWG;AACU,QAAA,SAAS,GAAG,IAAA,kCAAuB,EAAC,KAAK,WACpD,MAAc,EACd,QAAsC,EACtC,gBAA4B,EAC5B,eAAuB,EACvB,OAAe,EACf,WAAoB,KAAK,EACzB,kBAA8B,qCAAsB;IAOpD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAA;IAC1C,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;IAE/C,IAAI,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IAClD,KAAK,GAAG,IAAA,yBAAc,EAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,iCAAkB,CAAC,CAAA;IAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,iBAAiB,GAAG,4CAAoB,CAAC,2BAA2B,EAAE,CAAA;IAC5E,MAAM,KAAK,GAAG,IAAI,gBAAK,CACrB,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,eAAe,CAChB,CAAA;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;IAC/C,eAAe,GAAG,IAAA,+BAAoB,EAAC,eAAe,EAAE,WAAW,CAAC,CAAA;IAEpE,MAAM,gBAAgB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACpD,gBAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAClC,CAAA;IACD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,4CAAoB,CAAC,eAAe,CACnG,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACpC,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC,CACJ,CAAA;IACD,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAC3D,KAAK,CAAC,KAAK,GAAG,UAAU,CAAA;IAExB,MAAM,SAAS,GAAG,IAAI,yBAAO,CAAC,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;SACpE,SAAS,CAAC,KAAK,CAAC;SAChB,iBAAiB,CAAC,KAAK,EAAE,0BAAO,CAAC,aAAa,CAAC;SAC/C,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC;SAC9B,IAAI,EAAE,CAAA;IAET,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,QAAQ,CAC3C,SAAS,CAAC,KAAK,EAAE,EACjB,SAAS,CAAC,WAAW,EAAE,CACxB,CAAA;IACD,SAAS,CAAC,OAAO,CAAC,yBAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAA;IAEnD,SAAS,CAAC,iBAAiB,EAAE,CAAA;IAE7B,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACtC,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,EAAE,CAAA;IAGzC,MAAM,UAAU,GAAG,MAAM,4CAAoB,CAAC,gBAAgB,CAC5D,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,eAAe,CAChB,CAAA;IACD,MAAM,WAAW,GAAY,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC/D,IAAI,gBAAK,CACP,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,eAAe,CAChB,CAAC,UAAU,CAAC;QACX,GAAG,IAAI;QACP,cAAc,EAAE,IAAA,uBAAK,EACnB,IAAI,6BAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAChE;KACF,CAAC,CACH,CAAA;IAED,MAAM,QAAQ,GAAG,IAAI,yBAAO,CAAC,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IAEtE,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAA;IAE1C,mBAAmB;IACnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACxD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE;YAC7D,QAAQ,CAAC,MAAM,CACb;gBACE,SAAS,EAAE,gCAAqB;gBAChC,UAAU,EAAE,IAAA,wBAAM,EAAC,MAAM,CAAC;gBAC1B,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;gBACrD,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAClC,EACD,UAAU,EACV,MAAM,CAAC,eAAe,CAAC,EAEvB,IAAA,kCAAgB,EACd,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,EAC3B,UAAU,CAAC,KAAK,CAAC,CAAC,aAAa,EAC/B,UAAU,CAAC,KAAK,CAAC,CAAC,WAAW,CAC9B,CACF,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE;QAC9C,MAAM,iBAAiB,GAAG,IAAA,sBAAI,EAAC,IAAA,8BAAY,EAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAA;QAClE,IAAA,0BAAe,EACb,iBAAiB,EACjB,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC1B,0CAAkB,CAAC,UAAU,CAAC,IAAA,uBAAK,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CACpD,CACF,CAAA;QACD,MAAM,eAAe,GAAG,IAAA,sBAAI,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;QACzD,MAAM,qBAAqB,GAAG,IAAA,sBAAI,EAAC,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAA;QACzD,MAAM,cAAc,GAAG,IAAA,sBAAI,EAAC,EAAE,EAAE,gBAAgB,CAAC,CAAA;QACjD,IAAA,0BAAe,EACb,cAAc,EACd,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACnD,CAAA;QACD,MAAM,gBAAgB,GAAG,IAAA,sBAAI,EAC3B,gCAAa,CAAC,MAAM,CAAC,EAAE,EAAE,IAAA,8BAAY,EAAC,EAAE,CAAC,CAAC,EAC1C,eAAe,CAChB,CAAA;QACD,IAAA,0BAAe,EAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAA;QACnD,MAAM,eAAe,GAAG,IAAA,sBAAI,EAAC,IAAA,8BAAY,EAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAA;QAChE,IAAA,0BAAe,EACb,eAAe,EACf,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,wBAAM,EAAC,IAAA,uBAAK,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CACzD,CAAA;QACD,QAAQ,CAAC,MAAM,CACb,eAAsB,EACtB,iBAAwB,EACxB,eAAsB,EACtB,qBAA4B,EAC5B,cAAqB,EACrB,gBAAuB,EACvB,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAC5B,CAAA;IACH,CAAC,CACF,CAAA;IAED,gBAAgB;IAChB,QAAQ,CAAC,SAAS,CAAC,OAAQ,CAAC,CAAA;IAC5B,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IACvC,QAAQ,CAAC,IAAI,EAAE,CAAA;IAEf,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,QAAQ,CAC1C,QAAQ,CAAC,KAAK,EAAE,EAChB,QAAQ,CAAC,WAAW,EAAE,CACvB,CAAA;IACD,QAAQ,CAAC,OAAO,CAAC,yBAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAA;IACjD,QAAQ,CAAC,iBAAiB,EAAE,CAAA;IAE5B,YAAY;IACZ,MAAM,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAAC,CAAA;IAChE,IAAA,2BAAS,EAAC,QAAQ,EAAE,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAA;IACnD,MAAM,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAAC,CAAA;IAC/D,IAAA,2BAAS,EAAC,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAClD,IAAA,yCAAuB,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE3C,OAAO;QACL,SAAS;QACT,QAAQ;QACR,SAAS,EAAE,SAAS,CAAC,kBAAkB,EAAE,CAAC,EAAE;QAC5C,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,EAAE,CAAC,EAAE;KAC3C,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -2,16 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.deployClosedMinterToken = void 0;
4
4
  const scrypt_ts_opcat_1 = require("@opcat-labs/scrypt-ts-opcat");
5
- const contracts_1 = require("../../../contracts");
6
- const metadata_1 = require("../../../lib/metadata");
7
- const check_1 = require("../../../utils/check");
8
- const cat20ClosedMinter_1 = require("../../../contracts/cat20/minters/cat20ClosedMinter");
9
- const cat20Admin_1 = require("../../../contracts/cat20/cat20Admin");
10
- const utils_1 = require("../../../utils");
11
- const cat20_1 = require("../../../contracts/cat20/cat20");
12
- const contractPeripheral_1 = require("../../../utils/contractPeripheral");
13
- const typeConstants_1 = require("../../../typeConstants");
14
- const contracts_2 = require("../../../contracts");
5
+ const index_js_1 = require("../../../contracts/index.js");
6
+ const metadata_js_1 = require("../../../lib/metadata.js");
7
+ const check_js_1 = require("../../../utils/check.js");
8
+ const cat20ClosedMinter_js_1 = require("../../../contracts/cat20/minters/cat20ClosedMinter.js");
9
+ const cat20Admin_js_1 = require("../../../contracts/cat20/cat20Admin.js");
10
+ const index_js_2 = require("../../../utils/index.js");
11
+ const cat20_js_1 = require("../../../contracts/cat20/cat20.js");
12
+ const contractPeripheral_js_1 = require("../../../utils/contractPeripheral.js");
13
+ const typeConstants_js_1 = require("../../../typeConstants.js");
14
+ const index_js_3 = require("../../../contracts/index.js");
15
+ const index_js_4 = require("../../../utils/index.js");
15
16
  /**
16
17
  * Deploys a CAT20 token and its metadata using `CAT20ClosedMinter` contract
17
18
  * Only the token issuer can mint token
@@ -23,49 +24,56 @@ const contracts_2 = require("../../../contracts");
23
24
  * @param changeAddress the address for the change output
24
25
  * @returns the token info and the PSBTs for the genesis and deploy transactions
25
26
  */
26
- async function deployClosedMinterToken(signer, provider, deployInfo, feeRate, changeAddress) {
27
+ exports.deployClosedMinterToken = (0, index_js_4.createFeatureWithDryRun)(async function (signer, provider, deployInfo, feeRate, changeAddress) {
27
28
  const address = await signer.getAddress();
28
29
  const feeAddress = await signer.getAddress();
29
30
  changeAddress = changeAddress || feeAddress;
30
31
  const utxos = await provider.getUtxos(feeAddress);
31
- (0, check_1.checkState)(utxos.length > 0, 'Insufficient satoshis');
32
+ (0, check_js_1.checkState)(utxos.length > 0, 'Insufficient satoshis');
32
33
  const { metadata } = deployInfo;
33
34
  if (metadata.icon) {
34
- (0, check_1.checkState)(metadata_1.ImageMimeTypes.includes(metadata.icon.type), 'Invalid icon MIME type');
35
+ (0, check_js_1.checkState)(metadata_js_1.ImageMimeTypes.includes(metadata.icon.type), 'Invalid icon MIME type');
35
36
  }
37
+ // Create Genesis contract instance and set metadata in its data field
38
+ const genesis = new scrypt_ts_opcat_1.Genesis();
39
+ genesis.data = metadata_js_1.MetadataSerializer.serialize('Token', deployInfo);
36
40
  const genesisTx = new scrypt_ts_opcat_1.ExtPsbt({ network: await provider.getNetwork() })
37
41
  .spendUTXO(utxos)
38
- .change(changeAddress, feeRate, (0, scrypt_ts_opcat_1.hexToUint8Array)(metadata_1.MetadataSerializer.serialize('Token', deployInfo)))
42
+ .addContractOutput(genesis, typeConstants_js_1.Postage.GENESIS_POSTAGE)
43
+ .change(changeAddress, feeRate)
39
44
  .seal();
40
45
  const signedGenesisTx = await signer.signPsbt(genesisTx.toHex(), genesisTx.psbtOptions());
41
46
  genesisTx.combine(scrypt_ts_opcat_1.ExtPsbt.fromHex(signedGenesisTx));
42
47
  genesisTx.finalizeAllInputs();
43
- const genesisUtxo = genesisTx.getChangeUTXO();
48
+ const genesisUtxo = genesisTx.getUtxo(0);
44
49
  const tokenId = `${genesisUtxo.txId}_${genesisUtxo.outputIndex}`;
45
- const closeMinter = new cat20ClosedMinter_1.CAT20ClosedMinter((0, utils_1.toTokenOwnerAddress)(address), (0, utils_1.outpoint2ByteString)(tokenId));
46
- const admin = new cat20Admin_1.CAT20Admin((0, utils_1.outpoint2ByteString)(tokenId));
47
- const minterScriptHash = contractPeripheral_1.ContractPeripheral.scriptHash(closeMinter);
48
- const adminScriptHash = metadata.hasAdmin ? contractPeripheral_1.ContractPeripheral.scriptHash(admin) : contracts_1.NULL_ADMIN_SCRIPT_HASH;
49
- const guardVariantScriptHashes = contractPeripheral_1.CAT20GuardPeripheral.getGuardVariantScriptHashes();
50
- const cat20 = new cat20_1.CAT20(minterScriptHash, guardVariantScriptHashes, metadata.hasAdmin, adminScriptHash);
51
- const tokenScriptHash = contractPeripheral_1.ContractPeripheral.scriptHash(cat20);
50
+ const closeMinter = new cat20ClosedMinter_js_1.CAT20ClosedMinter((0, index_js_2.toTokenOwnerAddress)(address), (0, index_js_2.outpoint2ByteString)(tokenId));
51
+ const admin = new cat20Admin_js_1.CAT20Admin((0, index_js_2.outpoint2ByteString)(tokenId));
52
+ const minterScriptHash = contractPeripheral_js_1.ContractPeripheral.scriptHash(closeMinter);
53
+ const adminScriptHash = metadata.hasAdmin ? contractPeripheral_js_1.ContractPeripheral.scriptHash(admin) : index_js_1.NULL_ADMIN_SCRIPT_HASH;
54
+ const guardVariantScriptHashes = contractPeripheral_js_1.CAT20GuardPeripheral.getGuardVariantScriptHashes();
55
+ const cat20 = new cat20_js_1.CAT20(minterScriptHash, guardVariantScriptHashes, metadata.hasAdmin, adminScriptHash);
56
+ const tokenScriptHash = contractPeripheral_js_1.ContractPeripheral.scriptHash(cat20);
52
57
  const minterState = {
53
58
  tokenScriptHash,
54
59
  };
55
60
  const adminState = {
56
- tag: contracts_2.ConstantsLib.OPCAT_CAT20_ADMIN_TAG,
57
- adminAddress: (0, utils_1.toTokenOwnerAddress)(address),
61
+ tag: index_js_3.ConstantsLib.OPCAT_CAT20_ADMIN_TAG,
62
+ adminAddress: (0, index_js_2.toTokenOwnerAddress)(address),
58
63
  };
59
64
  closeMinter.state = minterState;
60
65
  admin.state = adminState;
66
+ // Bind Genesis contract to UTXO
67
+ genesis.bindToUtxo(genesisTx.getUtxo(0));
61
68
  const deployTx = new scrypt_ts_opcat_1.ExtPsbt({ network: await provider.getNetwork() })
62
- .spendUTXO(genesisUtxo)
63
- .addContractOutput(closeMinter, typeConstants_1.Postage.MINTER_POSTAGE);
69
+ .addContractInput(genesis, (0, scrypt_ts_opcat_1.genesisCheckDeploy)())
70
+ .spendUTXO(genesisTx.getChangeUTXO())
71
+ .addContractOutput(closeMinter, typeConstants_js_1.Postage.MINTER_POSTAGE);
64
72
  if (metadata.hasAdmin) {
65
- deployTx.addContractOutput(admin, typeConstants_1.Postage.ADMIN_POSTAGE);
73
+ deployTx.addContractOutput(admin, typeConstants_js_1.Postage.ADMIN_POSTAGE);
66
74
  }
67
75
  deployTx
68
- .change(changeAddress, feeRate, (0, scrypt_ts_opcat_1.hexToUint8Array)(metadata_1.MetadataSerializer.serialize('Token', deployInfo)))
76
+ .change(changeAddress, feeRate)
69
77
  .seal();
70
78
  const signedDeployTx = await signer.signPsbt(deployTx.toHex(), deployTx.psbtOptions());
71
79
  deployTx.combine(scrypt_ts_opcat_1.ExtPsbt.fromHex(signedDeployTx));
@@ -74,6 +82,7 @@ async function deployClosedMinterToken(signer, provider, deployInfo, feeRate, ch
74
82
  (0, scrypt_ts_opcat_1.markSpent)(provider, genesisTx.extractTransaction());
75
83
  await provider.broadcast(deployTx.extractTransaction().toHex());
76
84
  (0, scrypt_ts_opcat_1.markSpent)(provider, deployTx.extractTransaction());
85
+ (0, scrypt_ts_opcat_1.addChangeUtxoToProvider)(provider, deployTx);
77
86
  return {
78
87
  tokenId,
79
88
  tokenScriptHash,
@@ -87,6 +96,5 @@ async function deployClosedMinterToken(signer, provider, deployInfo, feeRate, ch
87
96
  metadata,
88
97
  timestamp: Date.now(),
89
98
  };
90
- }
91
- exports.deployClosedMinterToken = deployClosedMinterToken;
99
+ });
92
100
  //# 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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"}