@opcat-labs/cat-sdk 3.1.0 → 3.2.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 (280) hide show
  1. package/artifacts/.templates/cat20/cat20GuardStateLib.scrypt.tpl +2 -2
  2. package/artifacts/.templates/cat20/cat20Guard_12_12_2.scrypt.map +1 -1
  3. package/artifacts/.templates/cat20/cat20Guard_12_12_2.scrypt.tpl +19 -2
  4. package/artifacts/.templates/cat20/cat20Guard_12_12_2.transformer.json +2 -1
  5. package/artifacts/.templates/cat20/cat20Guard_12_12_4.scrypt.map +1 -1
  6. package/artifacts/.templates/cat20/cat20Guard_12_12_4.scrypt.tpl +19 -2
  7. package/artifacts/.templates/cat20/cat20Guard_12_12_4.transformer.json +2 -1
  8. package/artifacts/.templates/cat20/cat20Guard_6_6_2.scrypt.map +1 -1
  9. package/artifacts/.templates/cat20/cat20Guard_6_6_2.scrypt.tpl +19 -2
  10. package/artifacts/.templates/cat20/cat20Guard_6_6_2.transformer.json +2 -1
  11. package/artifacts/.templates/cat20/cat20Guard_6_6_4.scrypt.map +1 -1
  12. package/artifacts/.templates/cat20/cat20Guard_6_6_4.scrypt.tpl +19 -2
  13. package/artifacts/.templates/cat20/cat20Guard_6_6_4.transformer.json +2 -1
  14. package/artifacts/.templates/cat20/types.scrypt.map +1 -1
  15. package/artifacts/.templates/cat20/types.scrypt.tpl +1 -0
  16. package/artifacts/.templates/cat721/cat721GuardStateLib.scrypt.tpl +2 -2
  17. package/artifacts/.templates/cat721/cat721Guard_12_12_2.scrypt.map +1 -1
  18. package/artifacts/.templates/cat721/cat721Guard_12_12_2.scrypt.tpl +19 -2
  19. package/artifacts/.templates/cat721/cat721Guard_12_12_2.transformer.json +2 -1
  20. package/artifacts/.templates/cat721/cat721Guard_12_12_4.scrypt.map +1 -1
  21. package/artifacts/.templates/cat721/cat721Guard_12_12_4.scrypt.tpl +19 -2
  22. package/artifacts/.templates/cat721/cat721Guard_12_12_4.transformer.json +2 -1
  23. package/artifacts/.templates/cat721/cat721Guard_6_6_2.scrypt.map +1 -1
  24. package/artifacts/.templates/cat721/cat721Guard_6_6_2.scrypt.tpl +19 -2
  25. package/artifacts/.templates/cat721/cat721Guard_6_6_2.transformer.json +2 -1
  26. package/artifacts/.templates/cat721/cat721Guard_6_6_4.scrypt.map +1 -1
  27. package/artifacts/.templates/cat721/cat721Guard_6_6_4.scrypt.tpl +19 -2
  28. package/artifacts/.templates/cat721/cat721Guard_6_6_4.transformer.json +2 -1
  29. package/artifacts/.templates/cat721/types.scrypt.map +1 -1
  30. package/artifacts/.templates/cat721/types.scrypt.tpl +1 -0
  31. package/artifacts/cat20/cat20.json +40 -36
  32. package/artifacts/cat20/cat20.scrypt +18 -18
  33. package/artifacts/cat20/cat20Admin.json +38 -34
  34. package/artifacts/cat20/cat20Admin.scrypt +30 -30
  35. package/artifacts/cat20/cat20GuardStateLib.json +25 -21
  36. package/artifacts/cat20/cat20GuardStateLib.scrypt +7 -7
  37. package/artifacts/cat20/cat20Guard_12_12_2.json +75 -32
  38. package/artifacts/cat20/cat20Guard_12_12_2.scrypt +40 -23
  39. package/artifacts/cat20/cat20Guard_12_12_4.json +75 -32
  40. package/artifacts/cat20/cat20Guard_12_12_4.scrypt +40 -23
  41. package/artifacts/cat20/cat20Guard_6_6_2.json +75 -32
  42. package/artifacts/cat20/cat20Guard_6_6_2.scrypt +40 -23
  43. package/artifacts/cat20/cat20Guard_6_6_4.json +75 -32
  44. package/artifacts/cat20/cat20Guard_6_6_4.scrypt +40 -23
  45. package/artifacts/cat20/cat20StateLib.json +26 -22
  46. package/artifacts/cat20/cat20StateLib.scrypt +5 -5
  47. package/artifacts/cat20/minters/cat20ClosedMinter.json +36 -32
  48. package/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
  49. package/artifacts/cat20/minters/cat20OpenMinter.json +36 -32
  50. package/artifacts/cat20/minters/cat20OpenMinter.scrypt +18 -18
  51. package/artifacts/cat20/types.json +9 -5
  52. package/artifacts/cat20/types.scrypt +6 -5
  53. package/artifacts/cat721/cat721.json +40 -36
  54. package/artifacts/cat721/cat721.scrypt +18 -18
  55. package/artifacts/cat721/cat721GuardStateLib.json +25 -21
  56. package/artifacts/cat721/cat721GuardStateLib.scrypt +7 -7
  57. package/artifacts/cat721/cat721Guard_12_12_2.json +74 -31
  58. package/artifacts/cat721/cat721Guard_12_12_2.scrypt +37 -20
  59. package/artifacts/cat721/cat721Guard_12_12_4.json +74 -31
  60. package/artifacts/cat721/cat721Guard_12_12_4.scrypt +37 -20
  61. package/artifacts/cat721/cat721Guard_6_6_2.json +74 -31
  62. package/artifacts/cat721/cat721Guard_6_6_2.scrypt +37 -20
  63. package/artifacts/cat721/cat721Guard_6_6_4.json +74 -31
  64. package/artifacts/cat721/cat721Guard_6_6_4.scrypt +37 -20
  65. package/artifacts/cat721/cat721StateLib.json +26 -22
  66. package/artifacts/cat721/cat721StateLib.scrypt +5 -5
  67. package/artifacts/cat721/minters/cat721ClosedMinter.json +36 -32
  68. package/artifacts/cat721/minters/cat721ClosedMinter.scrypt +18 -18
  69. package/artifacts/cat721/minters/cat721OpenMintInfo.json +5 -5
  70. package/artifacts/cat721/minters/cat721OpenMintInfo.scrypt +4 -4
  71. package/artifacts/cat721/minters/cat721OpenMinter.json +41 -37
  72. package/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
  73. package/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +23 -19
  74. package/artifacts/cat721/minters/cat721OpenMinterMerkleTree.scrypt +6 -6
  75. package/artifacts/cat721/types.json +9 -5
  76. package/artifacts/cat721/types.scrypt +6 -5
  77. package/artifacts/constants.json +2 -2
  78. package/artifacts/constants.scrypt +1 -1
  79. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +13 -13
  80. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +16 -16
  81. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +1 -1
  82. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +12 -12
  83. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +7 -7
  84. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +12 -12
  85. package/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +8 -8
  86. package/artifacts/types.json +2 -2
  87. package/artifacts/types.scrypt +2 -2
  88. package/artifacts/utils/ownerUtils.json +14 -14
  89. package/artifacts/utils/ownerUtils.scrypt +3 -3
  90. package/artifacts/utils/safeMath.json +14 -14
  91. package/artifacts/utils/safeMath.scrypt +1 -1
  92. package/dist/artifacts/cat20/cat20.json +40 -36
  93. package/dist/artifacts/cat20/cat20.scrypt +18 -18
  94. package/dist/artifacts/cat20/cat20Admin.json +38 -34
  95. package/dist/artifacts/cat20/cat20Admin.scrypt +30 -30
  96. package/dist/artifacts/cat20/cat20GuardStateLib.json +25 -21
  97. package/dist/artifacts/cat20/cat20GuardStateLib.scrypt +7 -7
  98. package/dist/artifacts/cat20/cat20Guard_12_12_2.json +75 -32
  99. package/dist/artifacts/cat20/cat20Guard_12_12_2.scrypt +40 -23
  100. package/dist/artifacts/cat20/cat20Guard_12_12_4.json +75 -32
  101. package/dist/artifacts/cat20/cat20Guard_12_12_4.scrypt +40 -23
  102. package/dist/artifacts/cat20/cat20Guard_6_6_2.json +75 -32
  103. package/dist/artifacts/cat20/cat20Guard_6_6_2.scrypt +40 -23
  104. package/dist/artifacts/cat20/cat20Guard_6_6_4.json +75 -32
  105. package/dist/artifacts/cat20/cat20Guard_6_6_4.scrypt +40 -23
  106. package/dist/artifacts/cat20/cat20StateLib.json +26 -22
  107. package/dist/artifacts/cat20/cat20StateLib.scrypt +5 -5
  108. package/dist/artifacts/cat20/minters/cat20ClosedMinter.json +36 -32
  109. package/dist/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
  110. package/dist/artifacts/cat20/minters/cat20OpenMinter.json +36 -32
  111. package/dist/artifacts/cat20/minters/cat20OpenMinter.scrypt +18 -18
  112. package/dist/artifacts/cat20/types.json +9 -5
  113. package/dist/artifacts/cat20/types.scrypt +6 -5
  114. package/dist/artifacts/cat721/cat721.json +40 -36
  115. package/dist/artifacts/cat721/cat721.scrypt +18 -18
  116. package/dist/artifacts/cat721/cat721GuardStateLib.json +25 -21
  117. package/dist/artifacts/cat721/cat721GuardStateLib.scrypt +7 -7
  118. package/dist/artifacts/cat721/cat721Guard_12_12_2.json +74 -31
  119. package/dist/artifacts/cat721/cat721Guard_12_12_2.scrypt +37 -20
  120. package/dist/artifacts/cat721/cat721Guard_12_12_4.json +74 -31
  121. package/dist/artifacts/cat721/cat721Guard_12_12_4.scrypt +37 -20
  122. package/dist/artifacts/cat721/cat721Guard_6_6_2.json +74 -31
  123. package/dist/artifacts/cat721/cat721Guard_6_6_2.scrypt +37 -20
  124. package/dist/artifacts/cat721/cat721Guard_6_6_4.json +74 -31
  125. package/dist/artifacts/cat721/cat721Guard_6_6_4.scrypt +37 -20
  126. package/dist/artifacts/cat721/cat721StateLib.json +26 -22
  127. package/dist/artifacts/cat721/cat721StateLib.scrypt +5 -5
  128. package/dist/artifacts/cat721/minters/cat721ClosedMinter.json +36 -32
  129. package/dist/artifacts/cat721/minters/cat721ClosedMinter.scrypt +18 -18
  130. package/dist/artifacts/cat721/minters/cat721OpenMintInfo.json +5 -5
  131. package/dist/artifacts/cat721/minters/cat721OpenMintInfo.scrypt +4 -4
  132. package/dist/artifacts/cat721/minters/cat721OpenMinter.json +41 -37
  133. package/dist/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
  134. package/dist/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +23 -19
  135. package/dist/artifacts/cat721/minters/cat721OpenMinterMerkleTree.scrypt +6 -6
  136. package/dist/artifacts/cat721/types.json +9 -5
  137. package/dist/artifacts/cat721/types.scrypt +6 -5
  138. package/dist/artifacts/constants.json +2 -2
  139. package/dist/artifacts/constants.scrypt +1 -1
  140. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +13 -13
  141. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +16 -16
  142. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +1 -1
  143. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +12 -12
  144. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +7 -7
  145. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +12 -12
  146. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +8 -8
  147. package/dist/artifacts/types.json +2 -2
  148. package/dist/artifacts/types.scrypt +2 -2
  149. package/dist/artifacts/utils/ownerUtils.json +14 -14
  150. package/dist/artifacts/utils/ownerUtils.scrypt +3 -3
  151. package/dist/artifacts/utils/safeMath.json +14 -14
  152. package/dist/artifacts/utils/safeMath.scrypt +1 -1
  153. package/dist/cjs/contracts/cat20/cat20GuardStateLib.js +2 -1
  154. package/dist/cjs/contracts/cat20/cat20GuardStateLib.js.map +1 -1
  155. package/dist/cjs/contracts/cat20/cat20Guard_12_12_2.js +19 -0
  156. package/dist/cjs/contracts/cat20/cat20Guard_12_12_2.js.map +1 -1
  157. package/dist/cjs/contracts/cat20/cat20Guard_12_12_4.js +19 -0
  158. package/dist/cjs/contracts/cat20/cat20Guard_12_12_4.js.map +1 -1
  159. package/dist/cjs/contracts/cat20/cat20Guard_6_6_2.js +19 -0
  160. package/dist/cjs/contracts/cat20/cat20Guard_6_6_2.js.map +1 -1
  161. package/dist/cjs/contracts/cat20/cat20Guard_6_6_4.js +19 -0
  162. package/dist/cjs/contracts/cat20/cat20Guard_6_6_4.js.map +1 -1
  163. package/dist/cjs/contracts/cat721/cat721GuardStateLib.js +2 -1
  164. package/dist/cjs/contracts/cat721/cat721GuardStateLib.js.map +1 -1
  165. package/dist/cjs/contracts/cat721/cat721Guard_12_12_2.js +19 -0
  166. package/dist/cjs/contracts/cat721/cat721Guard_12_12_2.js.map +1 -1
  167. package/dist/cjs/contracts/cat721/cat721Guard_12_12_4.js +19 -0
  168. package/dist/cjs/contracts/cat721/cat721Guard_12_12_4.js.map +1 -1
  169. package/dist/cjs/contracts/cat721/cat721Guard_6_6_2.js +19 -0
  170. package/dist/cjs/contracts/cat721/cat721Guard_6_6_2.js.map +1 -1
  171. package/dist/cjs/contracts/cat721/cat721Guard_6_6_4.js +19 -0
  172. package/dist/cjs/contracts/cat721/cat721Guard_6_6_4.js.map +1 -1
  173. package/dist/cjs/contracts/cat721/types.js.map +1 -1
  174. package/dist/cjs/features/cat20/admin/burnByAdmin.js +2 -1
  175. package/dist/cjs/features/cat20/admin/burnByAdmin.js.map +1 -1
  176. package/dist/cjs/features/cat20/burn/burn.js +2 -1
  177. package/dist/cjs/features/cat20/burn/burn.js.map +1 -1
  178. package/dist/cjs/features/cat20/guard/destroyGuard.js +49 -0
  179. package/dist/cjs/features/cat20/guard/destroyGuard.js.map +1 -0
  180. package/dist/cjs/features/cat20/index.js +3 -1
  181. package/dist/cjs/features/cat20/index.js.map +1 -1
  182. package/dist/cjs/features/cat20/send/contractSend.js +2 -1
  183. package/dist/cjs/features/cat20/send/contractSend.js.map +1 -1
  184. package/dist/cjs/features/cat20/send/singleSend.js +4 -3
  185. package/dist/cjs/features/cat20/send/singleSend.js.map +1 -1
  186. package/dist/cjs/features/cat721/burn/burn.js +2 -1
  187. package/dist/cjs/features/cat721/burn/burn.js.map +1 -1
  188. package/dist/cjs/features/cat721/guard/destroyGuard.js +49 -0
  189. package/dist/cjs/features/cat721/guard/destroyGuard.js.map +1 -0
  190. package/dist/cjs/features/cat721/index.js +3 -1
  191. package/dist/cjs/features/cat721/index.js.map +1 -1
  192. package/dist/cjs/features/cat721/send/singleSend.js +4 -3
  193. package/dist/cjs/features/cat721/send/singleSend.js.map +1 -1
  194. package/dist/cjs/utils/contractPeripheral.js +8 -4
  195. package/dist/cjs/utils/contractPeripheral.js.map +1 -1
  196. package/dist/esm/contracts/cat20/cat20GuardStateLib.js +2 -1
  197. package/dist/esm/contracts/cat20/cat20GuardStateLib.js.map +1 -1
  198. package/dist/esm/contracts/cat20/cat20Guard_12_12_2.js +20 -1
  199. package/dist/esm/contracts/cat20/cat20Guard_12_12_2.js.map +1 -1
  200. package/dist/esm/contracts/cat20/cat20Guard_12_12_4.js +20 -1
  201. package/dist/esm/contracts/cat20/cat20Guard_12_12_4.js.map +1 -1
  202. package/dist/esm/contracts/cat20/cat20Guard_6_6_2.js +20 -1
  203. package/dist/esm/contracts/cat20/cat20Guard_6_6_2.js.map +1 -1
  204. package/dist/esm/contracts/cat20/cat20Guard_6_6_4.js +20 -1
  205. package/dist/esm/contracts/cat20/cat20Guard_6_6_4.js.map +1 -1
  206. package/dist/esm/contracts/cat721/cat721GuardStateLib.js +2 -1
  207. package/dist/esm/contracts/cat721/cat721GuardStateLib.js.map +1 -1
  208. package/dist/esm/contracts/cat721/cat721Guard_12_12_2.js +20 -1
  209. package/dist/esm/contracts/cat721/cat721Guard_12_12_2.js.map +1 -1
  210. package/dist/esm/contracts/cat721/cat721Guard_12_12_4.js +20 -1
  211. package/dist/esm/contracts/cat721/cat721Guard_12_12_4.js.map +1 -1
  212. package/dist/esm/contracts/cat721/cat721Guard_6_6_2.js +20 -1
  213. package/dist/esm/contracts/cat721/cat721Guard_6_6_2.js.map +1 -1
  214. package/dist/esm/contracts/cat721/cat721Guard_6_6_4.js +20 -1
  215. package/dist/esm/contracts/cat721/cat721Guard_6_6_4.js.map +1 -1
  216. package/dist/esm/contracts/cat721/types.js.map +1 -1
  217. package/dist/esm/features/cat20/admin/burnByAdmin.js +2 -1
  218. package/dist/esm/features/cat20/admin/burnByAdmin.js.map +1 -1
  219. package/dist/esm/features/cat20/burn/burn.js +3 -2
  220. package/dist/esm/features/cat20/burn/burn.js.map +1 -1
  221. package/dist/esm/features/cat20/guard/destroyGuard.js +46 -0
  222. package/dist/esm/features/cat20/guard/destroyGuard.js.map +1 -0
  223. package/dist/esm/features/cat20/index.js +1 -0
  224. package/dist/esm/features/cat20/index.js.map +1 -1
  225. package/dist/esm/features/cat20/send/contractSend.js +2 -1
  226. package/dist/esm/features/cat20/send/contractSend.js.map +1 -1
  227. package/dist/esm/features/cat20/send/singleSend.js +5 -4
  228. package/dist/esm/features/cat20/send/singleSend.js.map +1 -1
  229. package/dist/esm/features/cat721/burn/burn.js +3 -2
  230. package/dist/esm/features/cat721/burn/burn.js.map +1 -1
  231. package/dist/esm/features/cat721/guard/destroyGuard.js +46 -0
  232. package/dist/esm/features/cat721/guard/destroyGuard.js.map +1 -0
  233. package/dist/esm/features/cat721/index.js +1 -0
  234. package/dist/esm/features/cat721/index.js.map +1 -1
  235. package/dist/esm/features/cat721/send/singleSend.js +5 -4
  236. package/dist/esm/features/cat721/send/singleSend.js.map +1 -1
  237. package/dist/esm/utils/contractPeripheral.js +8 -4
  238. package/dist/esm/utils/contractPeripheral.js.map +1 -1
  239. package/dist/types/contracts/cat20/cat20GuardStateLib.d.ts.map +1 -1
  240. package/dist/types/contracts/cat20/cat20Guard_12_12_2.d.ts +9 -1
  241. package/dist/types/contracts/cat20/cat20Guard_12_12_2.d.ts.map +1 -1
  242. package/dist/types/contracts/cat20/cat20Guard_12_12_4.d.ts +9 -1
  243. package/dist/types/contracts/cat20/cat20Guard_12_12_4.d.ts.map +1 -1
  244. package/dist/types/contracts/cat20/cat20Guard_6_6_2.d.ts +9 -1
  245. package/dist/types/contracts/cat20/cat20Guard_6_6_2.d.ts.map +1 -1
  246. package/dist/types/contracts/cat20/cat20Guard_6_6_4.d.ts +9 -1
  247. package/dist/types/contracts/cat20/cat20Guard_6_6_4.d.ts.map +1 -1
  248. package/dist/types/contracts/cat20/types.d.ts +7 -2
  249. package/dist/types/contracts/cat20/types.d.ts.map +1 -1
  250. package/dist/types/contracts/cat721/cat721GuardStateLib.d.ts.map +1 -1
  251. package/dist/types/contracts/cat721/cat721Guard_12_12_2.d.ts +9 -1
  252. package/dist/types/contracts/cat721/cat721Guard_12_12_2.d.ts.map +1 -1
  253. package/dist/types/contracts/cat721/cat721Guard_12_12_4.d.ts +9 -1
  254. package/dist/types/contracts/cat721/cat721Guard_12_12_4.d.ts.map +1 -1
  255. package/dist/types/contracts/cat721/cat721Guard_6_6_2.d.ts +9 -1
  256. package/dist/types/contracts/cat721/cat721Guard_6_6_2.d.ts.map +1 -1
  257. package/dist/types/contracts/cat721/cat721Guard_6_6_4.d.ts +9 -1
  258. package/dist/types/contracts/cat721/cat721Guard_6_6_4.d.ts.map +1 -1
  259. package/dist/types/contracts/cat721/types.d.ts +6 -0
  260. package/dist/types/contracts/cat721/types.d.ts.map +1 -1
  261. package/dist/types/features/cat20/admin/burnByAdmin.d.ts.map +1 -1
  262. package/dist/types/features/cat20/burn/burn.d.ts.map +1 -1
  263. package/dist/types/features/cat20/guard/destroyGuard.d.ts +21 -0
  264. package/dist/types/features/cat20/guard/destroyGuard.d.ts.map +1 -0
  265. package/dist/types/features/cat20/index.d.ts +1 -0
  266. package/dist/types/features/cat20/index.d.ts.map +1 -1
  267. package/dist/types/features/cat20/send/contractSend.d.ts.map +1 -1
  268. package/dist/types/features/cat20/send/singleSend.d.ts +1 -1
  269. package/dist/types/features/cat20/send/singleSend.d.ts.map +1 -1
  270. package/dist/types/features/cat721/burn/burn.d.ts.map +1 -1
  271. package/dist/types/features/cat721/guard/destroyGuard.d.ts +21 -0
  272. package/dist/types/features/cat721/guard/destroyGuard.d.ts.map +1 -0
  273. package/dist/types/features/cat721/index.d.ts +1 -0
  274. package/dist/types/features/cat721/index.d.ts.map +1 -1
  275. package/dist/types/features/cat721/send/singleSend.d.ts +1 -1
  276. package/dist/types/features/cat721/send/singleSend.d.ts.map +1 -1
  277. package/dist/types/utils/contractPeripheral.d.ts +4 -4
  278. package/dist/types/utils/contractPeripheral.d.ts.map +1 -1
  279. package/package.json +4 -4
  280. package/scrypt.index.json +10 -10
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "version": 10,
3
3
  "compilerVersion": "1.22.0+commit.47800da",
4
- "contract": "_opcat_labs_cat_sdk_3_1_0__rs__CAT20Guard_6_6_2",
5
- "md5": "5fcc5afa7a51e05816c3800b62ebb19c",
4
+ "contract": "_opcat_labs_cat_sdk_3_2_0__rs__CAT20Guard_6_6_2",
5
+ "md5": "6d7878a3a291dead7795c0b4c0bc7fdd",
6
6
  "structs": [
7
7
  {
8
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__CAT20GuardConstState",
8
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT20GuardConstState",
9
9
  "params": [
10
+ {
11
+ "name": "deployerAddr",
12
+ "type": "bytes"
13
+ },
10
14
  {
11
15
  "name": "tokenScriptHashes",
12
16
  "type": "bytes[4]"
@@ -27,7 +31,7 @@
27
31
  "genericTypes": []
28
32
  },
29
33
  {
30
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__CAT20State",
34
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT20State",
31
35
  "params": [
32
36
  {
33
37
  "name": "ownerAddr",
@@ -41,7 +45,7 @@
41
45
  "genericTypes": []
42
46
  },
43
47
  {
44
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__CAT20ClosedMinterState",
48
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT20ClosedMinterState",
45
49
  "params": [
46
50
  {
47
51
  "name": "tokenScriptHash",
@@ -51,7 +55,7 @@
51
55
  "genericTypes": []
52
56
  },
53
57
  {
54
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__CAT20OpenMinterState",
58
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT20OpenMinterState",
55
59
  "params": [
56
60
  {
57
61
  "name": "tokenScriptHash",
@@ -69,7 +73,7 @@
69
73
  "genericTypes": []
70
74
  },
71
75
  {
72
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__CAT20AdminState",
76
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT20AdminState",
73
77
  "params": [
74
78
  {
75
79
  "name": "tag",
@@ -83,7 +87,7 @@
83
87
  "genericTypes": []
84
88
  },
85
89
  {
86
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__TxOut",
90
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxOut",
87
91
  "params": [
88
92
  {
89
93
  "name": "scriptHash",
@@ -101,7 +105,7 @@
101
105
  "genericTypes": []
102
106
  },
103
107
  {
104
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__TxIn",
108
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxIn",
105
109
  "params": [
106
110
  {
107
111
  "name": "prevTxHash",
@@ -123,7 +127,7 @@
123
127
  "genericTypes": []
124
128
  },
125
129
  {
126
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__TxHashPreimage",
130
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxHashPreimage",
127
131
  "params": [
128
132
  {
129
133
  "name": "version",
@@ -145,11 +149,11 @@
145
149
  "genericTypes": []
146
150
  },
147
151
  {
148
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__BacktraceInfo",
152
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__BacktraceInfo",
149
153
  "params": [
150
154
  {
151
155
  "name": "prevTxInput",
152
- "type": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__TxIn"
156
+ "type": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxIn"
153
157
  },
154
158
  {
155
159
  "name": "prevTxInputIndex",
@@ -157,13 +161,13 @@
157
161
  },
158
162
  {
159
163
  "name": "prevPrevTxPreimage",
160
- "type": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__TxHashPreimage"
164
+ "type": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxHashPreimage"
161
165
  }
162
166
  ],
163
167
  "genericTypes": []
164
168
  },
165
169
  {
166
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__SHPreimage",
170
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__SHPreimage",
167
171
  "params": [
168
172
  {
169
173
  "name": "nVersion",
@@ -225,7 +229,7 @@
225
229
  "genericTypes": []
226
230
  },
227
231
  {
228
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__Outpoint",
232
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__Outpoint",
229
233
  "params": [
230
234
  {
231
235
  "name": "txHash",
@@ -239,7 +243,7 @@
239
243
  "genericTypes": []
240
244
  },
241
245
  {
242
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__ReadVarintResult",
246
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ReadVarintResult",
243
247
  "params": [
244
248
  {
245
249
  "name": "data",
@@ -255,57 +259,57 @@
255
259
  ],
256
260
  "library": [
257
261
  {
258
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__OwnerUtils",
262
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__OwnerUtils",
259
263
  "params": [],
260
264
  "properties": [],
261
265
  "genericTypes": []
262
266
  },
263
267
  {
264
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__TxUtils",
268
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxUtils",
265
269
  "params": [],
266
270
  "properties": [],
267
271
  "genericTypes": []
268
272
  },
269
273
  {
270
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__StateUtils",
274
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__StateUtils",
271
275
  "params": [],
272
276
  "properties": [],
273
277
  "genericTypes": []
274
278
  },
275
279
  {
276
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__SafeMath",
280
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__SafeMath",
277
281
  "params": [],
278
282
  "properties": [],
279
283
  "genericTypes": []
280
284
  },
281
285
  {
282
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__CAT20GuardStateLib",
286
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT20GuardStateLib",
283
287
  "params": [],
284
288
  "properties": [],
285
289
  "genericTypes": [],
286
- "stateType": "_opcat_labs_cat_sdk_3_1_0__rs__CAT20GuardConstState"
290
+ "stateType": "_opcat_labs_cat_sdk_3_2_0__rs__CAT20GuardConstState"
287
291
  },
288
292
  {
289
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__ConstantsLib",
293
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__ConstantsLib",
290
294
  "params": [],
291
295
  "properties": [],
292
296
  "genericTypes": []
293
297
  },
294
298
  {
295
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils",
299
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils",
296
300
  "params": [],
297
301
  "properties": [],
298
302
  "genericTypes": []
299
303
  },
300
304
  {
301
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__CAT20StateLib",
305
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT20StateLib",
302
306
  "params": [],
303
307
  "properties": [],
304
308
  "genericTypes": [],
305
- "stateType": "_opcat_labs_cat_sdk_3_1_0__rs__CAT20State"
309
+ "stateType": "_opcat_labs_cat_sdk_3_2_0__rs__CAT20State"
306
310
  },
307
311
  {
308
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__StdUtils",
312
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__StdUtils",
309
313
  "params": [],
310
314
  "properties": [],
311
315
  "genericTypes": []
@@ -340,7 +344,7 @@
340
344
  },
341
345
  {
342
346
  "name": "cat20States",
343
- "type": "_opcat_labs_cat_sdk_3_1_0__rs__CAT20State[6]"
347
+ "type": "_opcat_labs_cat_sdk_3_2_0__rs__CAT20State[6]"
344
348
  },
345
349
  {
346
350
  "name": "outputCount",
@@ -348,7 +352,7 @@
348
352
  },
349
353
  {
350
354
  "name": "__scrypt_ts_shPreimage",
351
- "type": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__SHPreimage"
355
+ "type": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__SHPreimage"
352
356
  },
353
357
  {
354
358
  "name": "__scrypt_ts_preimageSig",
@@ -356,7 +360,7 @@
356
360
  },
357
361
  {
358
362
  "name": "__scrypt_ts_curState",
359
- "type": "_opcat_labs_cat_sdk_3_1_0__rs__CAT20GuardConstState"
363
+ "type": "_opcat_labs_cat_sdk_3_2_0__rs__CAT20GuardConstState"
360
364
  },
361
365
  {
362
366
  "name": "__scrypt_ts_spentAmounts",
@@ -372,14 +376,53 @@
372
376
  }
373
377
  ]
374
378
  },
379
+ {
380
+ "type": "function",
381
+ "name": "destroy",
382
+ "index": 1,
383
+ "params": [
384
+ {
385
+ "name": "userSig",
386
+ "type": "Sig"
387
+ },
388
+ {
389
+ "name": "userPubKey",
390
+ "type": "PubKey"
391
+ },
392
+ {
393
+ "name": "__scrypt_ts_shPreimage",
394
+ "type": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__SHPreimage"
395
+ },
396
+ {
397
+ "name": "__scrypt_ts_preimageSig",
398
+ "type": "Sig"
399
+ },
400
+ {
401
+ "name": "__scrypt_ts_changeInfo",
402
+ "type": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxOut"
403
+ },
404
+ {
405
+ "name": "__scrypt_ts_curState",
406
+ "type": "_opcat_labs_cat_sdk_3_2_0__rs__CAT20GuardConstState"
407
+ },
408
+ {
409
+ "name": "__scrypt_ts_spentAmounts",
410
+ "type": "bytes"
411
+ },
412
+ {
413
+ "name": "__scrypt_ts_spentDataHashes",
414
+ "type": "bytes"
415
+ }
416
+ ]
417
+ },
375
418
  {
376
419
  "type": "constructor",
377
420
  "params": []
378
421
  }
379
422
  ],
380
423
  "stateProps": [],
381
- "stateType": "_opcat_labs_cat_sdk_3_1_0__rs__CAT20GuardConstState",
424
+ "stateType": "_opcat_labs_cat_sdk_3_2_0__rs__CAT20GuardConstState",
382
425
  "buildType": "release",
383
426
  "file": "../cat20Guard_6_6_2.scrypt",
384
- "hex": "2102ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec03822000000000000000000000000000000000000000000000000000000000000000ff2000000000000000000000000000000000000000000000000000000000000000fe2000000000000000000000000000000000000000000000000000000000000000fd2000000000000000000000000000000000000000000000000000000000000000fc01157901167982778c7f75007f770124790124790124790124790124790124790124790124790124790124790124790124790124790124795d798277549d5c79827701209d5b79827701209d5a79827701209d597900a26958798277549d5779827701209d5679827701209d5579827701209d5479827701209d5379827701209d527900a2697800a26976519c6476529c6751686476539c67516864760281009c67516864760282009c67516864760283009c675168695d795d797e5c797e5b797e5a79767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c7e59797e58797e57797e56797e55797e54797e5379546e8b806e7c7f75007f6b6d6d6c7e5279546e8b806e7c7f75007f6b6d6d6c7e7854807e6b6d6d6d6d6d6d6d6ca85679ba630115795579ac670068695779011e7978aa7888785878827d77527997009d6e7c966b6d6d6c775679011e796f75aa527988765379012078827d77527997009d6e7c967777779d6d755779011d796f75aa527988765379012078827d77527997009d6e7c967777779d6d750115790115790115790115790115790115790115790115790115790115790115790115790115790126790123790123790123790123790123790123790123790123790123790123790123790123790123795c795c795c795c7953766b796c756b6d6d6c827752805d795d795d795d7953766b796c756b6d6d6c7e5d795d795d795d7952766b796c756b6d6d6c827752807e5d795d795d795d7952766b796c756b6d6d6c7e5d795d795d795d7951766b796c756b6d6d6c827752807e5d795d795d795d7951766b796c756b6d6d6c7e5d795d795d795d7900766b796c756b6d6d6c827752807e5d795d795d795d7900766b796c756b6d6d6c7e597959795979597953766b796c756b6d6d6c827752807e597959795979597953766b796c756b6d6d6c7e597959795979597952766b796c756b6d6d6c827752807e597959795979597952766b796c756b6d6d6c7e597959795979597951766b796c756b6d6d6c827752807e597959795979597951766b796c756b6d6d6c7e597959795979597900766b796c756b6d6d6c827752807e597959795979597900766b796c756b6d6d6c7e557955795579557953766b796c756b6d6d6c827752807e557955795579557953766b796c756b6d6d6c7e557955795579557952766b796c756b6d6d6c827752807e557955795579557952766b796c756b6d6d6c7e557955795579557951766b796c756b6d6d6c827752807e557955795579557951766b796c756b6d6d6c7e557955795579557900766b796c756b6d6d6c827752807e557955795579557900766b796c756b6d6d6c7e78827752807e787e5d795d795d795d7953766b796c756b6d6d6ca95e795e795e795e7952766b796c756b6d6d6ca97e5e795e795e795e7951766b796c756b6d6d6ca97e5e795e795e795e7900766b796c756b6d6d6ca97e5a795a795a795a7953766b796c756b6d6d6ca97e5a795a795a795a7952766b796c756b6d6d6ca97e5a795a795a795a7951766b796c756b6d6d6ca97e5a795a795a795a7900766b796c756b6d6d6ca97e567956795679567953766b796c756b6d6d6ca97e567956795679567952766b796c756b6d6d6ca97e567956795679567951766b796c756b6d6d6ca97e567956795679567900766b796c756b6d6d6ca97e5279a97ea97ea86b6d6d6d6d6d6d6c770116797653798b0120957f7553790120957f775279886d755c795c795c795c795c795c795c795c795c795c795c795c795c79565d795d795d795d7953766b796c7553766b796c7587916953766b796c7552766b796c7587916953766b796c7551766b796c7587916952766b796c7552766b796c7587916952766b796c7551766b796c7587916951766b796c7551766b796c758791696d6d5d795d795d795d7953766b796c756b6d6d6c827d7701209d5a795a795a795a7953766b796c756b6d6d6c00a269567956795679567953766b796c756b6d6d6c00a269755d795d795d795d7952766b796c756b6d6d6c827d7701209d5a795a795a795a7952766b796c756b6d6d6c00a269567956795679567952766b796c756b6d6d6c00a269755d795d795d795d7951766b796c756b6d6d6c827d7701209d5a795a795a795a7951766b796c756b6d6d6c00a269567956795679567951766b796c756b6d6d6c00a269755d795d795d795d7900766b796c756b6d6d6c827d7701209d5a795a795a795a7900766b796c756b6d6d6c00a269567956795679567900766b796c756b6d6d6c00a26975788277569d78517f75007f7781764fa26376549f670068697578527f75517f7781764fa26376549f670068697578537f75527f7781764fa26376549f670068697578547f75537f7781764fa26376549f670068697578557f75547f7781764fa26376549f670068697578567f75557f7781764fa26376549f670068696d6d6d6d6d6d6d75000112790112790112790112790052a26301117901117901117901117953766b796c756b6d6d6c54766b796c75885d795d795d795d7953766b796c756b6d6d6c009d597959795979597953766b796c756b6d6d6c009d685152a26301117901117901117901117952766b796c756b6d6d6c53766b796c75885d795d795d795d7952766b796c756b6d6d6c009d597959795979597952766b796c756b6d6d6c009d685252a26301117901117901117901117951766b796c756b6d6d6c52766b796c75885d795d795d795d7951766b796c756b6d6d6c009d597959795979597951766b796c756b6d6d6c009d685352a26301117901117901117901117900766b796c756b6d6d6c51766b796c75885d795d795d795d7900766b796c756b6d6d6c009d597959795979597900766b796c756b6d6d6c009d6801117901117901117901117953766b796c756b6d6d6c54766b796c7587645479768b567a757171557a756801117901117901117901117952766b796c756b6d6d6c53766b796c7587645479768b567a757171557a75680055799f6301117901117901117901117953766b796c756b6d6d6c54766b796c7587916901117901117901117901117953766b796c756b6d6d6c827701209d6701117901117901117901117953766b796c756b6d6d6c54766b796c7588685155799f6301117901117901117901117952766b796c756b6d6d6c53766b796c7587916901117901117901117901117952766b796c756b6d6d6c827701209d6701117901117901117901117952766b796c756b6d6d6c53766b796c758868547900a06900004f0115795979517f75007f77810052799f63765a799f69764f9e630116790116790116790116795455797600a26976549f69948c766b796c756b6d6d6c76011f79006e8b0120957f75780120957f777777880149766b796c766b796c757876827d7701199c647601209c675168696d51787700a0696d011f79006e8b0120957f75780120957f777777014a766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885552797600a26976529f6994766b796c75014a766b796c766b796c786d776e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a75785479a0637867537968547a7572537a756867764f9d68755979527f75517f77815152799f63765a799f69764f9e630116790116790116790116795455797600a26976549f69948c766b796c756b6d6d6c76011f79516e8b0120957f75780120957f777777880147766b796c766b796c757876827d7701199c647601209c675168696d51787700a0696d011f79516e8b0120957f75780120957f7777770148766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885552797600a26976529f6994766b796c750148766b796c766b796c786d776e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a75785479a0637867537968547a7572537a756867764f9d68755979537f75527f77815252799f63765a799f69764f9e630116790116790116790116795455797600a26976549f69948c766b796c756b6d6d6c76011f79526e8b0120957f75780120957f777777880145766b796c766b796c757876827d7701199c647601209c675168696d51787700a0696d011f79526e8b0120957f75780120957f7777770146766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885552797600a26976529f6994766b796c750146766b796c766b796c786d776e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a75785479a0637867537968547a7572537a756867764f9d68755979547f75537f77815352799f63765a799f69764f9e630116790116790116790116795455797600a26976549f69948c766b796c756b6d6d6c76011f79536e8b0120957f75780120957f777777880143766b796c766b796c757876827d7701199c647601209c675168696d51787700a0696d011f79536e8b0120957f75780120957f7777770144766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885552797600a26976529f6994766b796c750144766b796c766b796c786d776e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a75785479a0637867537968547a7572537a756867764f9d68755979557f75547f77815452799f63765a799f69764f9e630116790116790116790116795455797600a26976549f69948c766b796c756b6d6d6c76011f79546e8b0120957f75780120957f777777880141766b796c766b796c757876827d7701199c647601209c675168696d51787700a0696d011f79546e8b0120957f75780120957f7777770142766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885552797600a26976529f6994766b796c750142766b796c766b796c786d776e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a75785479a0637867537968547a7572537a756867764f9d68755979567f75557f77815552799f63765a799f69764f9e630116790116790116790116795455797600a26976549f69948c766b796c756b6d6d6c76011f79556e8b0120957f75780120957f77777788013f766b796c766b796c757876827d7701199c647601209c675168696d51787700a0696d011f79556e8b0120957f75780120957f7777770140766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885552797600a26976529f6994766b796c750140766b796c766b796c786d776e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a75785479a0637867537968547a7572537a756867764f9d68757800a2637859798c9c67006869013b7900a263013b7956a16700686900000000013f799f630162766b796c7877827700a0690157766b796c78775e799f69764f9e63015e766b796c787700a0695552797600a26976529f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a7552796e8277528052797e78827752807e787e5279a95279a97ea97ea87777016c766b796c757888011c79011c79011c79011c795457797600a26976549f69948c766b796c756b6d6d6c5579780157766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67015e766b796c75009d78011b79011b79011b79011b7953766b796c756b6d6d6c87916978011b79011b79011b79011b7952766b796c756b6d6d6c8791696f750154766b796c75016d766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670162766b796c758277009d0156766b796c754f9d015c766b796c75009d0168766b796c7500880150766b796c75009d6851013f799f630161766b796c7877827700a0690156766b796c78775e799f69764f9e63015d766b796c787700a0695552797600a26976529f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a7552796e8277528052797e78827752807e787e5279a95279a97ea97ea87777016b766b796c757888011c79011c79011c79011c795457797600a26976549f69948c766b796c756b6d6d6c5579780156766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67015d766b796c75009d78011b79011b79011b79011b7953766b796c756b6d6d6c87916978011b79011b79011b79011b7952766b796c756b6d6d6c8791696f750153766b796c75016c766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670161766b796c758277009d0155766b796c754f9d015b766b796c75009d0167766b796c750088014f766b796c75009d6852013f799f630160766b796c7877827700a0690155766b796c78775e799f69764f9e63015c766b796c787700a0695552797600a26976529f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a7552796e8277528052797e78827752807e787e5279a95279a97ea97ea87777016a766b796c757888011c79011c79011c79011c795457797600a26976549f69948c766b796c756b6d6d6c5579780155766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67015c766b796c75009d78011b79011b79011b79011b7953766b796c756b6d6d6c87916978011b79011b79011b79011b7952766b796c756b6d6d6c8791696f750152766b796c75016b766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670160766b796c758277009d0154766b796c754f9d015a766b796c75009d0166766b796c750088014e766b796c75009d6853013f799f63015f766b796c7877827700a0690154766b796c78775e799f69764f9e63015b766b796c787700a0695552797600a26976529f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a7552796e8277528052797e78827752807e787e5279a95279a97ea97ea877770169766b796c757888011c79011c79011c79011c795457797600a26976549f69948c766b796c756b6d6d6c5579780154766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67015b766b796c75009d78011b79011b79011b79011b7953766b796c756b6d6d6c87916978011b79011b79011b79011b7952766b796c756b6d6d6c8791696f750151766b796c75016a766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67015f766b796c758277009d0153766b796c754f9d0159766b796c75009d0165766b796c750088014d766b796c75009d6854013f799f63015e766b796c7877827700a0690153766b796c78775e799f69764f9e63015a766b796c787700a0695552797600a26976529f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a7552796e8277528052797e78827752807e787e5279a95279a97ea97ea877770168766b796c757888011c79011c79011c79011c795457797600a26976549f69948c766b796c756b6d6d6c5579780153766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67015a766b796c75009d78011b79011b79011b79011b7953766b796c756b6d6d6c87916978011b79011b79011b79011b7952766b796c756b6d6d6c8791696f750150766b796c750169766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67015e766b796c758277009d0152766b796c754f9d0158766b796c75009d0164766b796c750088014c766b796c75009d6855013f799f63015d766b796c7877827700a0690152766b796c78775e799f69764f9e630159766b796c787700a0695552797600a26976529f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a7552796e8277528052797e78827752807e787e5279a95279a97ea97ea877770167766b796c757888011c79011c79011c79011c795457797600a26976549f69948c766b796c756b6d6d6c5579780152766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d670159766b796c75009d78011b79011b79011b79011b7953766b796c756b6d6d6c87916978011b79011b79011b79011b7952766b796c756b6d6d6c8791696f75014f766b796c750168766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67015d766b796c758277009d0151766b796c754f9d0157766b796c75009d0163766b796c750088014b766b796c75009d6856766b796c7501157901157901157901157953766b796c756b6d6d6c9d56766b796c7553766b796c7501127901127901127901127953766b796c756b6d6d6c6e93765379a2636e7ca26700686977779d005c799f6356766b796c7500a0696756766b796c75009d52766b796c75009d01147901147901147901147953766b796c756b6d6d6c009d607960796079607953766b796c756b6d6d6c009d6855766b796c7501157901157901157901157952766b796c756b6d6d6c9d55766b796c7552766b796c7501127901127901127901127952766b796c756b6d6d6c6e93765379a2636e7ca26700686977779d515c799f6355766b796c7500a0696755766b796c75009d51766b796c75009d01147901147901147901147952766b796c756b6d6d6c009d607960796079607952766b796c756b6d6d6c009d6876aa013479876b6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c77"
427
+ "hex": "2102ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec03822000000000000000000000000000000000000000000000000000000000000000ff2000000000000000000000000000000000000000000000000000000000000000fe2000000000000000000000000000000000000000000000000000000000000000fd2000000000000000000000000000000000000000000000000000000000000000fc557900876301177901187982778c7f75007f770126790126790126790126790126790126790126790126790126790126790126790126790126790126795d798277549d5c79827701209d5b79827701209d5a79827701209d597900a26958798277549d5779827701209d5679827701209d5579827701209d5479827701209d5379827701209d527900a2697800a26976519c6476529c6751686476539c67516864760281009c67516864760282009c67516864760283009c675168695d795d797e5c797e5b797e5a79767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c7e59797e58797e57797e56797e55797e54797e5379546e8b806e7c7f75007f6b6d6d6c7e5279546e8b806e7c7f75007f6b6d6d6c7e7854807e6b6d6d6d6d6d6d6d6ca85679ba630117795579ac67006869587901207978aa7888785878827d77527997009d6e7c966b6d6d6c7757790120796f75aa527988765379012078827d77527997009d6e7c967777779d6d755879011f796f75aa527988765379012078827d77527997009d6e7c967777779d6d750117790117790117790117790117790117790117790117790117790117790117790117790117790117790129790126790126790126790126790126790126790126790126790126790126790126790126790126790126795d79827752805e797e5d795d795d795d7953766b796c756b6d6d6c827752807e5d795d795d795d7953766b796c756b6d6d6c7e5d795d795d795d7952766b796c756b6d6d6c827752807e5d795d795d795d7952766b796c756b6d6d6c7e5d795d795d795d7951766b796c756b6d6d6c827752807e5d795d795d795d7951766b796c756b6d6d6c7e5d795d795d795d7900766b796c756b6d6d6c827752807e5d795d795d795d7900766b796c756b6d6d6c7e597959795979597953766b796c756b6d6d6c827752807e597959795979597953766b796c756b6d6d6c7e597959795979597952766b796c756b6d6d6c827752807e597959795979597952766b796c756b6d6d6c7e597959795979597951766b796c756b6d6d6c827752807e597959795979597951766b796c756b6d6d6c7e597959795979597900766b796c756b6d6d6c827752807e597959795979597900766b796c756b6d6d6c7e557955795579557953766b796c756b6d6d6c827752807e557955795579557953766b796c756b6d6d6c7e557955795579557952766b796c756b6d6d6c827752807e557955795579557952766b796c756b6d6d6c7e557955795579557951766b796c756b6d6d6c827752807e557955795579557951766b796c756b6d6d6c7e557955795579557900766b796c756b6d6d6c827752807e557955795579557900766b796c756b6d6d6c7e78827752807e787e5e79a95e795e795e795e7953766b796c756b6d6d6ca97e5e795e795e795e7952766b796c756b6d6d6ca97e5e795e795e795e7951766b796c756b6d6d6ca97e5e795e795e795e7900766b796c756b6d6d6ca97e5a795a795a795a7953766b796c756b6d6d6ca97e5a795a795a795a7952766b796c756b6d6d6ca97e5a795a795a795a7951766b796c756b6d6d6ca97e5a795a795a795a7900766b796c756b6d6d6ca97e567956795679567953766b796c756b6d6d6ca97e567956795679567952766b796c756b6d6d6ca97e567956795679567951766b796c756b6d6d6ca97e567956795679567900766b796c756b6d6d6ca97e5279a97ea97ea86b6d6d6d6d6d6d6d6c0118797653798b0120957f7553790120957f775279886d755d795d795d795d795d795d795d795d795d795d795d795d795d795d79565d795d795d795d7953766b796c7553766b796c7587916953766b796c7552766b796c7587916953766b796c7551766b796c7587916952766b796c7552766b796c7587916952766b796c7551766b796c7587916951766b796c7551766b796c758791696d6d5d795d795d795d7953766b796c756b6d6d6c827d7701209d5a795a795a795a7953766b796c756b6d6d6c00a269567956795679567953766b796c756b6d6d6c00a269755d795d795d795d7952766b796c756b6d6d6c827d7701209d5a795a795a795a7952766b796c756b6d6d6c00a269567956795679567952766b796c756b6d6d6c00a269755d795d795d795d7951766b796c756b6d6d6c827d7701209d5a795a795a795a7951766b796c756b6d6d6c00a269567956795679567951766b796c756b6d6d6c00a269755d795d795d795d7900766b796c756b6d6d6c827d7701209d5a795a795a795a7900766b796c756b6d6d6c00a269567956795679567900766b796c756b6d6d6c00a26975788277569d78517f75007f7781764fa26376549f670068697578527f75517f7781764fa26376549f670068697578537f75527f7781764fa26376549f670068697578547f75537f7781764fa26376549f670068697578557f75547f7781764fa26376549f670068697578567f75557f7781764fa26376549f670068696d6d6d6d6d6d6d6d000113790113790113790113790052a26301117901117901117901117953766b796c756b6d6d6c54766b796c75885d795d795d795d7953766b796c756b6d6d6c009d597959795979597953766b796c756b6d6d6c009d685152a26301117901117901117901117952766b796c756b6d6d6c53766b796c75885d795d795d795d7952766b796c756b6d6d6c009d597959795979597952766b796c756b6d6d6c009d685252a26301117901117901117901117951766b796c756b6d6d6c52766b796c75885d795d795d795d7951766b796c756b6d6d6c009d597959795979597951766b796c756b6d6d6c009d685352a26301117901117901117901117900766b796c756b6d6d6c51766b796c75885d795d795d795d7900766b796c756b6d6d6c009d597959795979597900766b796c756b6d6d6c009d6801117901117901117901117953766b796c756b6d6d6c54766b796c7587645479768b567a757171557a756801117901117901117901117952766b796c756b6d6d6c53766b796c7587645479768b567a757171557a75680055799f6301117901117901117901117953766b796c756b6d6d6c54766b796c7587916901117901117901117901117953766b796c756b6d6d6c827701209d6701117901117901117901117953766b796c756b6d6d6c54766b796c7588685155799f6301117901117901117901117952766b796c756b6d6d6c53766b796c7587916901117901117901117901117952766b796c756b6d6d6c827701209d6701117901117901117901117952766b796c756b6d6d6c53766b796c758868547900a06900004f0116795979517f75007f77810052799f63765a799f69764f9e630116790116790116790116795455797600a26976549f69948c766b796c756b6d6d6c76012179006e8b0120957f75780120957f77777788014c766b796c766b796c757876827d7701199c647601209c675168696d51787700a0696d012179006e8b0120957f75780120957f777777014d766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885552797600a26976529f6994766b796c75014d766b796c766b796c786d776e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a75785479a0637867537968547a7572537a756867764f9d68755979527f75517f77815152799f63765a799f69764f9e630116790116790116790116795455797600a26976549f69948c766b796c756b6d6d6c76012179516e8b0120957f75780120957f77777788014a766b796c766b796c757876827d7701199c647601209c675168696d51787700a0696d012179516e8b0120957f75780120957f777777014b766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885552797600a26976529f6994766b796c75014b766b796c766b796c786d776e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a75785479a0637867537968547a7572537a756867764f9d68755979537f75527f77815252799f63765a799f69764f9e630116790116790116790116795455797600a26976549f69948c766b796c756b6d6d6c76012179526e8b0120957f75780120957f777777880148766b796c766b796c757876827d7701199c647601209c675168696d51787700a0696d012179526e8b0120957f75780120957f7777770149766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885552797600a26976529f6994766b796c750149766b796c766b796c786d776e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a75785479a0637867537968547a7572537a756867764f9d68755979547f75537f77815352799f63765a799f69764f9e630116790116790116790116795455797600a26976549f69948c766b796c756b6d6d6c76012179536e8b0120957f75780120957f777777880146766b796c766b796c757876827d7701199c647601209c675168696d51787700a0696d012179536e8b0120957f75780120957f7777770147766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885552797600a26976529f6994766b796c750147766b796c766b796c786d776e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a75785479a0637867537968547a7572537a756867764f9d68755979557f75547f77815452799f63765a799f69764f9e630116790116790116790116795455797600a26976549f69948c766b796c756b6d6d6c76012179546e8b0120957f75780120957f777777880144766b796c766b796c757876827d7701199c647601209c675168696d51787700a0696d012179546e8b0120957f75780120957f7777770145766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885552797600a26976529f6994766b796c750145766b796c766b796c786d776e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a75785479a0637867537968547a7572537a756867764f9d68755979567f75557f77815552799f63765a799f69764f9e630116790116790116790116795455797600a26976549f69948c766b796c756b6d6d6c76012179556e8b0120957f75780120957f777777880142766b796c766b796c757876827d7701199c647601209c675168696d51787700a0696d012179556e8b0120957f75780120957f7777770143766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885552797600a26976529f6994766b796c750143766b796c766b796c786d776e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a75785479a0637867537968547a7572537a756867764f9d68757800a2637859798c9c67006869013e7900a263013e7956a167006869000000000142799f630165766b796c7877827700a069015a766b796c78775e799f69764f9e630161766b796c787700a0695552797600a26976529f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a7552796e8277528052797e78827752807e787e5279a95279a97ea97ea87777016f766b796c757888011c79011c79011c79011c795457797600a26976549f69948c766b796c756b6d6d6c557978015a766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d670161766b796c75009d78011b79011b79011b79011b7953766b796c756b6d6d6c87916978011b79011b79011b79011b7952766b796c756b6d6d6c8791696f750157766b796c750170766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670165766b796c758277009d0159766b796c754f9d015f766b796c75009d016b766b796c7500880153766b796c75009d68510142799f630164766b796c7877827700a0690159766b796c78775e799f69764f9e630160766b796c787700a0695552797600a26976529f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a7552796e8277528052797e78827752807e787e5279a95279a97ea97ea87777016e766b796c757888011c79011c79011c79011c795457797600a26976549f69948c766b796c756b6d6d6c5579780159766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d670160766b796c75009d78011b79011b79011b79011b7953766b796c756b6d6d6c87916978011b79011b79011b79011b7952766b796c756b6d6d6c8791696f750156766b796c75016f766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670164766b796c758277009d0158766b796c754f9d015e766b796c75009d016a766b796c7500880152766b796c75009d68520142799f630163766b796c7877827700a0690158766b796c78775e799f69764f9e63015f766b796c787700a0695552797600a26976529f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a7552796e8277528052797e78827752807e787e5279a95279a97ea97ea87777016d766b796c757888011c79011c79011c79011c795457797600a26976549f69948c766b796c756b6d6d6c5579780158766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67015f766b796c75009d78011b79011b79011b79011b7953766b796c756b6d6d6c87916978011b79011b79011b79011b7952766b796c756b6d6d6c8791696f750155766b796c75016e766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670163766b796c758277009d0157766b796c754f9d015d766b796c75009d0169766b796c7500880151766b796c75009d68530142799f630162766b796c7877827700a0690157766b796c78775e799f69764f9e63015e766b796c787700a0695552797600a26976529f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a7552796e8277528052797e78827752807e787e5279a95279a97ea97ea87777016c766b796c757888011c79011c79011c79011c795457797600a26976549f69948c766b796c756b6d6d6c5579780157766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67015e766b796c75009d78011b79011b79011b79011b7953766b796c756b6d6d6c87916978011b79011b79011b79011b7952766b796c756b6d6d6c8791696f750154766b796c75016d766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670162766b796c758277009d0156766b796c754f9d015c766b796c75009d0168766b796c7500880150766b796c75009d68540142799f630161766b796c7877827700a0690156766b796c78775e799f69764f9e63015d766b796c787700a0695552797600a26976529f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a7552796e8277528052797e78827752807e787e5279a95279a97ea97ea87777016b766b796c757888011c79011c79011c79011c795457797600a26976549f69948c766b796c756b6d6d6c5579780156766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67015d766b796c75009d78011b79011b79011b79011b7953766b796c756b6d6d6c87916978011b79011b79011b79011b7952766b796c756b6d6d6c8791696f750153766b796c75016c766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670161766b796c758277009d0155766b796c754f9d015b766b796c75009d0167766b796c750088014f766b796c75009d68550142799f630160766b796c7877827700a0690155766b796c78775e799f69764f9e63015c766b796c787700a0695552797600a26976529f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976529f69577a78008763757868577a5279518763755279687b75567a567a567a567a567a7552796e8277528052797e78827752807e787e5279a95279a97ea97ea87777016a766b796c757888011c79011c79011c79011c795457797600a26976549f69948c766b796c756b6d6d6c5579780155766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67015c766b796c75009d78011b79011b79011b79011b7953766b796c756b6d6d6c87916978011b79011b79011b79011b7952766b796c756b6d6d6c8791696f750152766b796c75016b766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670160766b796c758277009d0154766b796c754f9d015a766b796c75009d0166766b796c750088014e766b796c75009d6856766b796c7501157901157901157901157953766b796c756b6d6d6c9d56766b796c7553766b796c7501127901127901127901127953766b796c756b6d6d6c6e93765379a2636e7ca26700686977779d005c799f6356766b796c7500a0696756766b796c75009d52766b796c75009d01147901147901147901147953766b796c756b6d6d6c009d607960796079607953766b796c756b6d6d6c009d6855766b796c7501157901157901157901157952766b796c756b6d6d6c9d55766b796c7552766b796c7501127901127901127901127952766b796c756b6d6d6c6e93765379a2636e7ca26700686977779d515c799f6355766b796c7500a0696755766b796c75009d51766b796c75009d01147901147901147901147952766b796c756b6d6d6c009d607960796079607952766b796c756b6d6d6c009d6876aa013779876b6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c675579518763011979011a7982778c7f75007f770128790128790128790128790128790128790128790128790128790128790128790128790128790128795d798277549d5c79827701209d5b79827701209d5a79827701209d597900a26958798277549d5779827701209d5679827701209d5579827701209d5479827701209d5379827701209d527900a2697800a26976519c6476529c6751686476539c67516864760281009c67516864760282009c67516864760283009c675168695d795d797e5c797e5b797e5a79767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c7e59797e58797e57797e56797e55797e54797e5379546e8b806e7c7f75007f6b6d6d6c7e5279546e8b806e7c7f75007f6b6d6d6c7e7854807e6b6d6d6d6d6d6d6d6ca85679ba630119795579ac67006869577901227978aa7888785878827d77527997009d6e7c966b6d6d6c7757790121796f75aa527988765379012078827d77527997009d6e7c967777779d6d75011679011679011679011679011679011679011679011679011679011679011679011679011679011679012b790125790125790125790125790125790125790125790125790125790125790125790125790125790125795d79827752805e797e5d795d795d795d7953766b796c756b6d6d6c827752807e5d795d795d795d7953766b796c756b6d6d6c7e5d795d795d795d7952766b796c756b6d6d6c827752807e5d795d795d795d7952766b796c756b6d6d6c7e5d795d795d795d7951766b796c756b6d6d6c827752807e5d795d795d795d7951766b796c756b6d6d6c7e5d795d795d795d7900766b796c756b6d6d6c827752807e5d795d795d795d7900766b796c756b6d6d6c7e597959795979597953766b796c756b6d6d6c827752807e597959795979597953766b796c756b6d6d6c7e597959795979597952766b796c756b6d6d6c827752807e597959795979597952766b796c756b6d6d6c7e597959795979597951766b796c756b6d6d6c827752807e597959795979597951766b796c756b6d6d6c7e597959795979597900766b796c756b6d6d6c827752807e597959795979597900766b796c756b6d6d6c7e557955795579557953766b796c756b6d6d6c827752807e557955795579557953766b796c756b6d6d6c7e557955795579557952766b796c756b6d6d6c827752807e557955795579557952766b796c756b6d6d6c7e557955795579557951766b796c756b6d6d6c827752807e557955795579557951766b796c756b6d6d6c7e557955795579557900766b796c756b6d6d6c827752807e557955795579557900766b796c756b6d6d6c7e78827752807e787e5e79a95e795e795e795e7953766b796c756b6d6d6ca97e5e795e795e795e7952766b796c756b6d6d6ca97e5e795e795e795e7951766b796c756b6d6d6ca97e5e795e795e795e7900766b796c756b6d6d6ca97e5a795a795a795a7953766b796c756b6d6d6ca97e5a795a795a795a7952766b796c756b6d6d6ca97e5a795a795a795a7951766b796c756b6d6d6ca97e5a795a795a795a7900766b796c756b6d6d6ca97e567956795679567953766b796c756b6d6d6ca97e567956795679567952766b796c756b6d6d6ca97e567956795679567951766b796c756b6d6d6ca97e567956795679567900766b796c756b6d6d6ca97e5279a97ea97ea86b6d6d6d6d6d6d6d6c0117797653798b0120957f7553790120957f775279886d750137795e79787676827701219d750376a91478a97e0288ac7e7778886d013879013879ad01257900a0630127790126796e00a8527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6d6c77670068aa012d79876b6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c7767006868"
385
428
  }
@@ -5,6 +5,7 @@ import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scryp
5
5
  import "cat20StateLib.scrypt";
6
6
  import "../utils/safeMath.scrypt";
7
7
  import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt";
8
+ import "../utils/ownerUtils.scrypt";
8
9
  import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt";
9
10
  import "../scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt";
10
11
  import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt";
@@ -12,24 +13,24 @@ import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt"
12
13
 
13
14
 
14
15
 
15
- contract _opcat_labs_cat_sdk_3_1_0__rs__CAT20Guard_6_6_2 {
16
+ contract _opcat_labs_cat_sdk_3_2_0__rs__CAT20Guard_6_6_2 {
16
17
  constructor(){}
17
- public function unlock(bytes[6] nextStateHashes, bytes[6] ownerAddrOrScriptHashes, int[6] outputTokens, int[6] tokenScriptHashIndexes, int[6] outputSatoshis, _opcat_labs_cat_sdk_3_1_0__rs__CAT20State[6] cat20States, int outputCount, _opcat_labs_scrypt_ts_opcat_3_1_0__rs__SHPreimage __scrypt_ts_shPreimage, Sig __scrypt_ts_preimageSig, _opcat_labs_cat_sdk_3_1_0__rs__CAT20GuardConstState __scrypt_ts_curState, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes, bytes __scrypt_ts_spentScriptHashes) {
18
- require(checkDataSig(Sig(__scrypt_ts_preimageSig[0 : len(__scrypt_ts_preimageSig) - 1]), sha256(_opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage)), _opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils.pubKey) && checkSig(__scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils.pubKey));
18
+ public function unlock(bytes[6] nextStateHashes, bytes[6] ownerAddrOrScriptHashes, int[6] outputTokens, int[6] tokenScriptHashIndexes, int[6] outputSatoshis, _opcat_labs_cat_sdk_3_2_0__rs__CAT20State[6] cat20States, int outputCount, _opcat_labs_scrypt_ts_opcat_3_2_0__rs__SHPreimage __scrypt_ts_shPreimage, Sig __scrypt_ts_preimageSig, _opcat_labs_cat_sdk_3_2_0__rs__CAT20GuardConstState __scrypt_ts_curState, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes, bytes __scrypt_ts_spentScriptHashes) {
19
+ require(checkDataSig(Sig(__scrypt_ts_preimageSig[0 : len(__scrypt_ts_preimageSig) - 1]), sha256(_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage)), _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.pubKey) && checkSig(__scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.pubKey));
19
20
 
20
- int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
21
+ int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
21
22
 
22
- _opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils.checkSpentScripts(__scrypt_ts_spentScriptHashes, __scrypt_ts_shPreimage.hashSpentScriptHashes, __scrypt_ts_inputCount);
23
+ _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.checkSpentScripts(__scrypt_ts_spentScriptHashes, __scrypt_ts_shPreimage.hashSpentScriptHashes, __scrypt_ts_inputCount);
23
24
 
24
- _opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
25
+ _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
25
26
 
26
- _opcat_labs_cat_sdk_3_1_0__rs__CAT20GuardConstState __scrypt_ts_nextState = __scrypt_ts_curState;
27
+ _opcat_labs_cat_sdk_3_2_0__rs__CAT20GuardConstState __scrypt_ts_nextState = __scrypt_ts_curState;
27
28
 
28
- _opcat_labs_scrypt_ts_opcat_3_1_0__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_3_1_0__rs__CAT20Guard_6_6_2.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
29
+ _opcat_labs_scrypt_ts_opcat_3_2_0__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_3_2_0__rs__CAT20Guard_6_6_2.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
29
30
 
30
- _opcat_labs_cat_sdk_3_1_0__rs__CAT20GuardStateLib.formalCheckState(__scrypt_ts_nextState, 6);
31
+ _opcat_labs_cat_sdk_3_2_0__rs__CAT20GuardStateLib.formalCheckState(__scrypt_ts_nextState, 6);
31
32
  int inputTokenTypes = 0;
32
- bytes[4] tokenScriptPlaceholders = [_opcat_labs_cat_sdk_3_1_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FF, _opcat_labs_cat_sdk_3_1_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FE, _opcat_labs_cat_sdk_3_1_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FD, _opcat_labs_cat_sdk_3_1_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FC];
33
+ bytes[4] tokenScriptPlaceholders = [_opcat_labs_cat_sdk_3_2_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FF, _opcat_labs_cat_sdk_3_2_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FE, _opcat_labs_cat_sdk_3_2_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FD, _opcat_labs_cat_sdk_3_2_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FC];
33
34
  loop (4) : i {
34
35
  if(i >= 2) {
35
36
  require(__scrypt_ts_nextState.tokenScriptHashes[(i)] == tokenScriptPlaceholders[(i)]);
@@ -60,10 +61,10 @@ contract _opcat_labs_cat_sdk_3_1_0__rs__CAT20Guard_6_6_2 {
60
61
  require(tokenScriptIndex < inputTokenTypes);
61
62
  if(tokenScriptIndex != -1) {
62
63
  bytes tokenScriptHash = __scrypt_ts_nextState.tokenScriptHashes[(tokenScriptIndex)];
63
- require(tokenScriptHash == _opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils.getSpentScriptHash(__scrypt_ts_spentScriptHashes, (i)));
64
- _opcat_labs_cat_sdk_3_1_0__rs__CAT20StateLib.checkState(cat20States[i]);
65
- require(_opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils.getSpentDataHash(__scrypt_ts_spentDataHashes, (i)) == _opcat_labs_cat_sdk_3_1_0__rs__CAT20StateLib.stateHash(cat20States[i]));
66
- sumInputTokens[(tokenScriptIndex)] = _opcat_labs_cat_sdk_3_1_0__rs__SafeMath.add(sumInputTokens[(tokenScriptIndex)], cat20States[i].amount);
64
+ require(tokenScriptHash == _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.getSpentScriptHash(__scrypt_ts_spentScriptHashes, (i)));
65
+ _opcat_labs_cat_sdk_3_2_0__rs__CAT20StateLib.checkState(cat20States[i]);
66
+ require(_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.getSpentDataHash(__scrypt_ts_spentDataHashes, (i)) == _opcat_labs_cat_sdk_3_2_0__rs__CAT20StateLib.stateHash(cat20States[i]));
67
+ sumInputTokens[(tokenScriptIndex)] = _opcat_labs_cat_sdk_3_2_0__rs__SafeMath.add(sumInputTokens[(tokenScriptIndex)], cat20States[i].amount);
67
68
  tokenScriptIndexMax = tokenScriptIndex > tokenScriptIndexMax ? tokenScriptIndex : tokenScriptIndexMax;
68
69
  }
69
70
  } else {
@@ -83,17 +84,17 @@ contract _opcat_labs_cat_sdk_3_1_0__rs__CAT20Guard_6_6_2 {
83
84
  if(tokenScriptHashIndex != -1) {
84
85
  int tokenAmount = outputTokens[i];
85
86
  require(tokenAmount > 0);
86
- sumOutputTokens[(tokenScriptHashIndex)] = _opcat_labs_cat_sdk_3_1_0__rs__SafeMath.add(sumOutputTokens[(tokenScriptHashIndex)], tokenAmount);
87
- bytes tokenStateHash = _opcat_labs_cat_sdk_3_1_0__rs__CAT20StateLib.stateHash({ownerAddrOrScriptHash, tokenAmount});
87
+ sumOutputTokens[(tokenScriptHashIndex)] = _opcat_labs_cat_sdk_3_2_0__rs__SafeMath.add(sumOutputTokens[(tokenScriptHashIndex)], tokenAmount);
88
+ bytes tokenStateHash = _opcat_labs_cat_sdk_3_2_0__rs__CAT20StateLib.stateHash({ownerAddrOrScriptHash, tokenAmount});
88
89
  require(nextStateHashes[i] == tokenStateHash);
89
90
  bytes tokenScriptHash = __scrypt_ts_nextState.tokenScriptHashes[(tokenScriptHashIndex)];
90
- outputs += _opcat_labs_scrypt_ts_opcat_3_1_0__rs__TxUtils.buildDataOutput(tokenScriptHash, outputSatoshis[i], tokenStateHash);
91
+ outputs += _opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxUtils.buildDataOutput(tokenScriptHash, outputSatoshis[i], tokenStateHash);
91
92
  } else {
92
93
  require(outputTokens[i] == 0);
93
94
  loop (2) : j {
94
95
  require(ownerAddrOrScriptHash != __scrypt_ts_nextState.tokenScriptHashes[j]);
95
96
  }
96
- outputs += _opcat_labs_scrypt_ts_opcat_3_1_0__rs__TxUtils.buildDataOutput(ownerAddrOrScriptHash, outputSatoshis[i], nextStateHashes[i]);
97
+ outputs += _opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxUtils.buildDataOutput(ownerAddrOrScriptHash, outputSatoshis[i], nextStateHashes[i]);
97
98
  }
98
99
  } else {
99
100
  require(len(ownerAddrOrScriptHashes[i]) == 0);
@@ -105,7 +106,7 @@ contract _opcat_labs_cat_sdk_3_1_0__rs__CAT20Guard_6_6_2 {
105
106
  }
106
107
  loop (2) : i {
107
108
  require(sumInputTokens[i] == __scrypt_ts_nextState.tokenAmounts[i]);
108
- require(sumInputTokens[i] == _opcat_labs_cat_sdk_3_1_0__rs__SafeMath.add(sumOutputTokens[i], __scrypt_ts_nextState.tokenBurnAmounts[i]));
109
+ require(sumInputTokens[i] == _opcat_labs_cat_sdk_3_2_0__rs__SafeMath.add(sumOutputTokens[i], __scrypt_ts_nextState.tokenBurnAmounts[i]));
109
110
  if(i < (inputTokenTypes)) {
110
111
  require(sumInputTokens[i] > 0);
111
112
  } else {
@@ -117,10 +118,26 @@ contract _opcat_labs_cat_sdk_3_1_0__rs__CAT20Guard_6_6_2 {
117
118
  }
118
119
  require(hash256(outputs) == __scrypt_ts_shPreimage.hashOutputs);
119
120
  }
120
- static function serializeState(_opcat_labs_cat_sdk_3_1_0__rs__CAT20GuardConstState __scrypt_ts_curState): bytes {
121
- return num2bin(len(__scrypt_ts_curState.tokenScriptHashes[0]), 2) + __scrypt_ts_curState.tokenScriptHashes[0] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[1]), 2) + __scrypt_ts_curState.tokenScriptHashes[1] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[2]), 2) + __scrypt_ts_curState.tokenScriptHashes[2] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[3]), 2) + __scrypt_ts_curState.tokenScriptHashes[3] + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenAmounts[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[3]) + num2bin(len(__scrypt_ts_curState.tokenScriptIndexes), 2) + __scrypt_ts_curState.tokenScriptIndexes + hash160(hash160(__scrypt_ts_curState.tokenScriptHashes[0]) + hash160(__scrypt_ts_curState.tokenScriptHashes[1]) + hash160(__scrypt_ts_curState.tokenScriptHashes[2]) + hash160(__scrypt_ts_curState.tokenScriptHashes[3]) + hash160(pack(__scrypt_ts_curState.tokenAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[3])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[3])) + hash160(__scrypt_ts_curState.tokenScriptIndexes));
121
+ public function destroy(Sig userSig, PubKey userPubKey, _opcat_labs_scrypt_ts_opcat_3_2_0__rs__SHPreimage __scrypt_ts_shPreimage, Sig __scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxOut __scrypt_ts_changeInfo, _opcat_labs_cat_sdk_3_2_0__rs__CAT20GuardConstState __scrypt_ts_curState, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes) {
122
+ require(checkDataSig(Sig(__scrypt_ts_preimageSig[0 : len(__scrypt_ts_preimageSig) - 1]), sha256(_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage)), _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.pubKey) && checkSig(__scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.pubKey));
123
+
124
+ int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
125
+
126
+ _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
127
+
128
+ _opcat_labs_cat_sdk_3_2_0__rs__CAT20GuardConstState __scrypt_ts_nextState = __scrypt_ts_curState;
129
+
130
+ _opcat_labs_scrypt_ts_opcat_3_2_0__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_3_2_0__rs__CAT20Guard_6_6_2.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
131
+
132
+ _opcat_labs_cat_sdk_3_2_0__rs__OwnerUtils.checkUserOwner(userPubKey, __scrypt_ts_nextState.deployerAddr);
133
+ require(checkSig(userSig, userPubKey));
134
+ require(hash256(
135
+ (__scrypt_ts_changeInfo.satoshis > 0 ? _opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxUtils.buildOutput(__scrypt_ts_changeInfo.scriptHash, __scrypt_ts_changeInfo.satoshis) : b'')) == __scrypt_ts_shPreimage.hashOutputs);
136
+ }
137
+ static function serializeState(_opcat_labs_cat_sdk_3_2_0__rs__CAT20GuardConstState __scrypt_ts_curState): bytes {
138
+ return num2bin(len(__scrypt_ts_curState.deployerAddr), 2) + __scrypt_ts_curState.deployerAddr + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[0]), 2) + __scrypt_ts_curState.tokenScriptHashes[0] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[1]), 2) + __scrypt_ts_curState.tokenScriptHashes[1] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[2]), 2) + __scrypt_ts_curState.tokenScriptHashes[2] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[3]), 2) + __scrypt_ts_curState.tokenScriptHashes[3] + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenAmounts[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[3]) + num2bin(len(__scrypt_ts_curState.tokenScriptIndexes), 2) + __scrypt_ts_curState.tokenScriptIndexes + hash160(hash160(__scrypt_ts_curState.deployerAddr) + hash160(__scrypt_ts_curState.tokenScriptHashes[0]) + hash160(__scrypt_ts_curState.tokenScriptHashes[1]) + hash160(__scrypt_ts_curState.tokenScriptHashes[2]) + hash160(__scrypt_ts_curState.tokenScriptHashes[3]) + hash160(pack(__scrypt_ts_curState.tokenAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[3])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[3])) + hash160(__scrypt_ts_curState.tokenScriptIndexes));
122
139
  }
123
- static function stateHash(_opcat_labs_cat_sdk_3_1_0__rs__CAT20GuardConstState __scrypt_ts_curState): bytes {
124
- return sha256(num2bin(len(__scrypt_ts_curState.tokenScriptHashes[0]), 2) + __scrypt_ts_curState.tokenScriptHashes[0] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[1]), 2) + __scrypt_ts_curState.tokenScriptHashes[1] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[2]), 2) + __scrypt_ts_curState.tokenScriptHashes[2] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[3]), 2) + __scrypt_ts_curState.tokenScriptHashes[3] + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenAmounts[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[3]) + num2bin(len(__scrypt_ts_curState.tokenScriptIndexes), 2) + __scrypt_ts_curState.tokenScriptIndexes + hash160(hash160(__scrypt_ts_curState.tokenScriptHashes[0]) + hash160(__scrypt_ts_curState.tokenScriptHashes[1]) + hash160(__scrypt_ts_curState.tokenScriptHashes[2]) + hash160(__scrypt_ts_curState.tokenScriptHashes[3]) + hash160(pack(__scrypt_ts_curState.tokenAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[3])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[3])) + hash160(__scrypt_ts_curState.tokenScriptIndexes)));
140
+ static function stateHash(_opcat_labs_cat_sdk_3_2_0__rs__CAT20GuardConstState __scrypt_ts_curState): bytes {
141
+ return sha256(num2bin(len(__scrypt_ts_curState.deployerAddr), 2) + __scrypt_ts_curState.deployerAddr + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[0]), 2) + __scrypt_ts_curState.tokenScriptHashes[0] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[1]), 2) + __scrypt_ts_curState.tokenScriptHashes[1] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[2]), 2) + __scrypt_ts_curState.tokenScriptHashes[2] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[3]), 2) + __scrypt_ts_curState.tokenScriptHashes[3] + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenAmounts[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[3]) + num2bin(len(__scrypt_ts_curState.tokenScriptIndexes), 2) + __scrypt_ts_curState.tokenScriptIndexes + hash160(hash160(__scrypt_ts_curState.deployerAddr) + hash160(__scrypt_ts_curState.tokenScriptHashes[0]) + hash160(__scrypt_ts_curState.tokenScriptHashes[1]) + hash160(__scrypt_ts_curState.tokenScriptHashes[2]) + hash160(__scrypt_ts_curState.tokenScriptHashes[3]) + hash160(pack(__scrypt_ts_curState.tokenAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[3])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[3])) + hash160(__scrypt_ts_curState.tokenScriptIndexes)));
125
142
  }
126
143
  }