@opcat-labs/cat-sdk 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/README.md +19 -0
  2. package/artifacts/.templates/cat20/cat20.scrypt.map +1 -0
  3. package/artifacts/.templates/cat20/cat20.scrypt.tpl +60 -0
  4. package/artifacts/.templates/cat20/cat20.transformer.json +9 -0
  5. package/artifacts/.templates/cat20/cat20Guard.scrypt.map +1 -0
  6. package/artifacts/.templates/cat20/cat20Guard.scrypt.tpl +117 -0
  7. package/artifacts/.templates/cat20/cat20Guard.transformer.json +9 -0
  8. package/artifacts/.templates/cat20/cat20GuardStateLib.scrypt.map +1 -0
  9. package/artifacts/.templates/cat20/cat20GuardStateLib.scrypt.tpl +36 -0
  10. package/artifacts/.templates/cat20/cat20GuardStateLib.transformer.json +7 -0
  11. package/artifacts/.templates/cat20/cat20StateLib.scrypt.map +1 -0
  12. package/artifacts/.templates/cat20/cat20StateLib.scrypt.tpl +21 -0
  13. package/artifacts/.templates/cat20/cat20StateLib.transformer.json +7 -0
  14. package/artifacts/.templates/cat20/minters/cat20ClosedMinter.scrypt.map +1 -0
  15. package/artifacts/.templates/cat20/minters/cat20ClosedMinter.scrypt.tpl +61 -0
  16. package/artifacts/.templates/cat20/minters/cat20ClosedMinter.transformer.json +9 -0
  17. package/artifacts/.templates/cat20/minters/cat20ClosedMinterMetadata.scrypt.map +1 -0
  18. package/artifacts/.templates/cat20/minters/cat20ClosedMinterMetadata.scrypt.tpl +11 -0
  19. package/artifacts/.templates/cat20/minters/cat20ClosedMinterMetadata.transformer.json +7 -0
  20. package/artifacts/.templates/cat20/minters/cat20OpenMinter.scrypt.map +1 -0
  21. package/artifacts/.templates/cat20/minters/cat20OpenMinter.scrypt.tpl +94 -0
  22. package/artifacts/.templates/cat20/minters/cat20OpenMinter.transformer.json +9 -0
  23. package/artifacts/.templates/cat20/minters/cat20OpenMinterMetadata.scrypt.map +1 -0
  24. package/artifacts/.templates/cat20/minters/cat20OpenMinterMetadata.scrypt.tpl +11 -0
  25. package/artifacts/.templates/cat20/minters/cat20OpenMinterMetadata.transformer.json +7 -0
  26. package/artifacts/.templates/cat20/types.scrypt.map +1 -0
  27. package/artifacts/.templates/cat20/types.scrypt.tpl +45 -0
  28. package/artifacts/.templates/cat20/types.transformer.json +7 -0
  29. package/artifacts/.templates/cat20Incinerator.scrypt.map +1 -0
  30. package/artifacts/.templates/cat20Incinerator.scrypt.tpl +31 -0
  31. package/artifacts/.templates/cat20Incinerator.transformer.json +9 -0
  32. package/artifacts/.templates/constants.scrypt.map +1 -0
  33. package/artifacts/.templates/constants.scrypt.tpl +16 -0
  34. package/artifacts/.templates/constants.transformer.json +7 -0
  35. package/artifacts/.templates/counter.scrypt.map +1 -0
  36. package/artifacts/.templates/counter.scrypt.tpl +36 -0
  37. package/artifacts/.templates/counter.transformer.json +9 -0
  38. package/artifacts/.templates/p2pkh.scrypt.map +1 -0
  39. package/artifacts/.templates/p2pkh.scrypt.tpl +11 -0
  40. package/artifacts/.templates/p2pkh.transformer.json +7 -0
  41. package/artifacts/.templates/types.scrypt.map +1 -0
  42. package/artifacts/.templates/types.scrypt.tpl +6 -0
  43. package/artifacts/.templates/types.transformer.json +7 -0
  44. package/artifacts/.templates/utils/ownerUtils.scrypt.map +1 -0
  45. package/artifacts/.templates/utils/ownerUtils.scrypt.tpl +26 -0
  46. package/artifacts/.templates/utils/ownerUtils.transformer.json +7 -0
  47. package/artifacts/.templates/utils/safeMath.scrypt.map +1 -0
  48. package/artifacts/.templates/utils/safeMath.scrypt.tpl +11 -0
  49. package/artifacts/.templates/utils/safeMath.transformer.json +7 -0
  50. package/artifacts/cat20/cat20.json +477 -0
  51. package/artifacts/cat20/cat20.scrypt +62 -0
  52. package/artifacts/cat20/cat20Guard.json +447 -0
  53. package/artifacts/cat20/cat20Guard.scrypt +119 -0
  54. package/artifacts/cat20/cat20GuardStateLib.json +361 -0
  55. package/artifacts/cat20/cat20GuardStateLib.scrypt +38 -0
  56. package/artifacts/cat20/cat20StateLib.json +373 -0
  57. package/artifacts/cat20/cat20StateLib.scrypt +23 -0
  58. package/artifacts/cat20/minters/cat20ClosedMinter.json +477 -0
  59. package/artifacts/cat20/minters/cat20ClosedMinter.scrypt +63 -0
  60. package/artifacts/cat20/minters/cat20ClosedMinterMetadata.json +173 -0
  61. package/artifacts/cat20/minters/cat20ClosedMinterMetadata.scrypt +13 -0
  62. package/artifacts/cat20/minters/cat20OpenMinter.json +508 -0
  63. package/artifacts/cat20/minters/cat20OpenMinter.scrypt +96 -0
  64. package/artifacts/cat20/minters/cat20OpenMinterMetadata.json +173 -0
  65. package/artifacts/cat20/minters/cat20OpenMinterMetadata.scrypt +13 -0
  66. package/artifacts/cat20/types.json +159 -0
  67. package/artifacts/cat20/types.scrypt +47 -0
  68. package/artifacts/cat20Incinerator.json +396 -0
  69. package/artifacts/cat20Incinerator.scrypt +33 -0
  70. package/artifacts/constants.json +26 -0
  71. package/artifacts/constants.scrypt +18 -0
  72. package/artifacts/counter.json +253 -0
  73. package/artifacts/counter.scrypt +38 -0
  74. package/artifacts/p2pkh.json +229 -0
  75. package/artifacts/p2pkh.scrypt +13 -0
  76. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +38 -0
  77. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +93 -0
  78. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +9 -0
  79. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +96 -0
  80. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +20 -0
  81. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +48 -0
  82. package/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +50 -0
  83. package/artifacts/types.json +33 -0
  84. package/artifacts/types.scrypt +8 -0
  85. package/artifacts/utils/ownerUtils.json +215 -0
  86. package/artifacts/utils/ownerUtils.scrypt +28 -0
  87. package/artifacts/utils/safeMath.json +215 -0
  88. package/artifacts/utils/safeMath.scrypt +13 -0
  89. package/dist/artifacts/.templates/cat20/cat20.scrypt.map +1 -0
  90. package/dist/artifacts/.templates/cat20/cat20.scrypt.tpl +60 -0
  91. package/dist/artifacts/.templates/cat20/cat20.transformer.json +9 -0
  92. package/dist/artifacts/.templates/cat20/cat20Guard.scrypt.map +1 -0
  93. package/dist/artifacts/.templates/cat20/cat20Guard.scrypt.tpl +117 -0
  94. package/dist/artifacts/.templates/cat20/cat20Guard.transformer.json +9 -0
  95. package/dist/artifacts/.templates/cat20/cat20GuardStateLib.scrypt.map +1 -0
  96. package/dist/artifacts/.templates/cat20/cat20GuardStateLib.scrypt.tpl +36 -0
  97. package/dist/artifacts/.templates/cat20/cat20GuardStateLib.transformer.json +7 -0
  98. package/dist/artifacts/.templates/cat20/cat20StateLib.scrypt.map +1 -0
  99. package/dist/artifacts/.templates/cat20/cat20StateLib.scrypt.tpl +21 -0
  100. package/dist/artifacts/.templates/cat20/cat20StateLib.transformer.json +7 -0
  101. package/dist/artifacts/.templates/cat20/minters/cat20ClosedMinter.scrypt.map +1 -0
  102. package/dist/artifacts/.templates/cat20/minters/cat20ClosedMinter.scrypt.tpl +61 -0
  103. package/dist/artifacts/.templates/cat20/minters/cat20ClosedMinter.transformer.json +9 -0
  104. package/dist/artifacts/.templates/cat20/minters/cat20ClosedMinterMetadata.scrypt.map +1 -0
  105. package/dist/artifacts/.templates/cat20/minters/cat20ClosedMinterMetadata.scrypt.tpl +11 -0
  106. package/dist/artifacts/.templates/cat20/minters/cat20ClosedMinterMetadata.transformer.json +7 -0
  107. package/dist/artifacts/.templates/cat20/minters/cat20OpenMinter.scrypt.map +1 -0
  108. package/dist/artifacts/.templates/cat20/minters/cat20OpenMinter.scrypt.tpl +94 -0
  109. package/dist/artifacts/.templates/cat20/minters/cat20OpenMinter.transformer.json +9 -0
  110. package/dist/artifacts/.templates/cat20/minters/cat20OpenMinterMetadata.scrypt.map +1 -0
  111. package/dist/artifacts/.templates/cat20/minters/cat20OpenMinterMetadata.scrypt.tpl +11 -0
  112. package/dist/artifacts/.templates/cat20/minters/cat20OpenMinterMetadata.transformer.json +7 -0
  113. package/dist/artifacts/.templates/cat20/types.scrypt.map +1 -0
  114. package/dist/artifacts/.templates/cat20/types.scrypt.tpl +45 -0
  115. package/dist/artifacts/.templates/cat20/types.transformer.json +7 -0
  116. package/dist/artifacts/.templates/cat20Incinerator.scrypt.map +1 -0
  117. package/dist/artifacts/.templates/cat20Incinerator.scrypt.tpl +31 -0
  118. package/dist/artifacts/.templates/cat20Incinerator.transformer.json +9 -0
  119. package/dist/artifacts/.templates/constants.scrypt.map +1 -0
  120. package/dist/artifacts/.templates/constants.scrypt.tpl +16 -0
  121. package/dist/artifacts/.templates/constants.transformer.json +7 -0
  122. package/dist/artifacts/.templates/counter.scrypt.map +1 -0
  123. package/dist/artifacts/.templates/counter.scrypt.tpl +36 -0
  124. package/dist/artifacts/.templates/counter.transformer.json +9 -0
  125. package/dist/artifacts/.templates/p2pkh.scrypt.map +1 -0
  126. package/dist/artifacts/.templates/p2pkh.scrypt.tpl +11 -0
  127. package/dist/artifacts/.templates/p2pkh.transformer.json +7 -0
  128. package/dist/artifacts/.templates/types.scrypt.map +1 -0
  129. package/dist/artifacts/.templates/types.scrypt.tpl +6 -0
  130. package/dist/artifacts/.templates/types.transformer.json +7 -0
  131. package/dist/artifacts/.templates/utils/ownerUtils.scrypt.map +1 -0
  132. package/dist/artifacts/.templates/utils/ownerUtils.scrypt.tpl +26 -0
  133. package/dist/artifacts/.templates/utils/ownerUtils.transformer.json +7 -0
  134. package/dist/artifacts/.templates/utils/safeMath.scrypt.map +1 -0
  135. package/dist/artifacts/.templates/utils/safeMath.scrypt.tpl +11 -0
  136. package/dist/artifacts/.templates/utils/safeMath.transformer.json +7 -0
  137. package/dist/artifacts/cat20/cat20.json +477 -0
  138. package/dist/artifacts/cat20/cat20.scrypt +62 -0
  139. package/dist/artifacts/cat20/cat20Guard.json +447 -0
  140. package/dist/artifacts/cat20/cat20Guard.scrypt +119 -0
  141. package/dist/artifacts/cat20/cat20GuardStateLib.json +361 -0
  142. package/dist/artifacts/cat20/cat20GuardStateLib.scrypt +38 -0
  143. package/dist/artifacts/cat20/cat20StateLib.json +373 -0
  144. package/dist/artifacts/cat20/cat20StateLib.scrypt +23 -0
  145. package/dist/artifacts/cat20/minters/cat20ClosedMinter.json +477 -0
  146. package/dist/artifacts/cat20/minters/cat20ClosedMinter.scrypt +63 -0
  147. package/dist/artifacts/cat20/minters/cat20ClosedMinterMetadata.json +173 -0
  148. package/dist/artifacts/cat20/minters/cat20ClosedMinterMetadata.scrypt +13 -0
  149. package/dist/artifacts/cat20/minters/cat20OpenMinter.json +508 -0
  150. package/dist/artifacts/cat20/minters/cat20OpenMinter.scrypt +96 -0
  151. package/dist/artifacts/cat20/minters/cat20OpenMinterMetadata.json +173 -0
  152. package/dist/artifacts/cat20/minters/cat20OpenMinterMetadata.scrypt +13 -0
  153. package/dist/artifacts/cat20/types.json +159 -0
  154. package/dist/artifacts/cat20/types.scrypt +47 -0
  155. package/dist/artifacts/cat20Incinerator.json +396 -0
  156. package/dist/artifacts/cat20Incinerator.scrypt +33 -0
  157. package/dist/artifacts/constants.json +26 -0
  158. package/dist/artifacts/constants.scrypt +18 -0
  159. package/dist/artifacts/counter.json +253 -0
  160. package/dist/artifacts/counter.scrypt +38 -0
  161. package/dist/artifacts/p2pkh.json +229 -0
  162. package/dist/artifacts/p2pkh.scrypt +13 -0
  163. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +38 -0
  164. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +93 -0
  165. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +9 -0
  166. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +96 -0
  167. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +20 -0
  168. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +48 -0
  169. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +50 -0
  170. package/dist/artifacts/types.json +33 -0
  171. package/dist/artifacts/types.scrypt +8 -0
  172. package/dist/artifacts/utils/ownerUtils.json +215 -0
  173. package/dist/artifacts/utils/ownerUtils.scrypt +28 -0
  174. package/dist/artifacts/utils/safeMath.json +215 -0
  175. package/dist/artifacts/utils/safeMath.scrypt +13 -0
  176. package/dist/cjs/contracts/cat20/cat20.js +74 -0
  177. package/dist/cjs/contracts/cat20/cat20.js.map +1 -0
  178. package/dist/cjs/contracts/cat20/cat20Guard.js +169 -0
  179. package/dist/cjs/contracts/cat20/cat20Guard.js.map +1 -0
  180. package/dist/cjs/contracts/cat20/cat20GuardStateLib.js +72 -0
  181. package/dist/cjs/contracts/cat20/cat20GuardStateLib.js.map +1 -0
  182. package/dist/cjs/contracts/cat20/cat20StateLib.js +37 -0
  183. package/dist/cjs/contracts/cat20/cat20StateLib.js.map +1 -0
  184. package/dist/cjs/contracts/cat20/minters/cat20ClosedMinter.js +77 -0
  185. package/dist/cjs/contracts/cat20/minters/cat20ClosedMinter.js.map +1 -0
  186. package/dist/cjs/contracts/cat20/minters/cat20ClosedMinterMetadata.js +18 -0
  187. package/dist/cjs/contracts/cat20/minters/cat20ClosedMinterMetadata.js.map +1 -0
  188. package/dist/cjs/contracts/cat20/minters/cat20OpenMinter.js +138 -0
  189. package/dist/cjs/contracts/cat20/minters/cat20OpenMinter.js.map +1 -0
  190. package/dist/cjs/contracts/cat20/minters/cat20OpenMinterMetadata.js +22 -0
  191. package/dist/cjs/contracts/cat20/minters/cat20OpenMinterMetadata.js.map +1 -0
  192. package/dist/cjs/contracts/cat20/types.js +3 -0
  193. package/dist/cjs/contracts/cat20/types.js.map +1 -0
  194. package/dist/cjs/contracts/cat20Incinerator.js +45 -0
  195. package/dist/cjs/contracts/cat20Incinerator.js.map +1 -0
  196. package/dist/cjs/contracts/constants.js +110 -0
  197. package/dist/cjs/contracts/constants.js.map +1 -0
  198. package/dist/cjs/contracts/counter.js +29 -0
  199. package/dist/cjs/contracts/counter.js.map +1 -0
  200. package/dist/cjs/contracts/index.js +32 -0
  201. package/dist/cjs/contracts/index.js.map +1 -0
  202. package/dist/cjs/contracts/p2pkh.js +35 -0
  203. package/dist/cjs/contracts/p2pkh.js.map +1 -0
  204. package/dist/cjs/contracts/types.js +3 -0
  205. package/dist/cjs/contracts/types.js.map +1 -0
  206. package/dist/cjs/contracts/utils/ownerUtils.js +78 -0
  207. package/dist/cjs/contracts/utils/ownerUtils.js.map +1 -0
  208. package/dist/cjs/contracts/utils/safeMath.js +28 -0
  209. package/dist/cjs/contracts/utils/safeMath.js.map +1 -0
  210. package/dist/cjs/features/cat20/burn/burn.js +91 -0
  211. package/dist/cjs/features/cat20/burn/burn.js.map +1 -0
  212. package/dist/cjs/features/cat20/deploy/openMinter.js +135 -0
  213. package/dist/cjs/features/cat20/deploy/openMinter.js.map +1 -0
  214. package/dist/cjs/features/cat20/incinerate.js +108 -0
  215. package/dist/cjs/features/cat20/incinerate.js.map +1 -0
  216. package/dist/cjs/features/cat20/mint/openMinter.js +37 -0
  217. package/dist/cjs/features/cat20/mint/openMinter.js.map +1 -0
  218. package/dist/cjs/features/cat20/send/contractSend.js +130 -0
  219. package/dist/cjs/features/cat20/send/contractSend.js.map +1 -0
  220. package/dist/cjs/features/cat20/send/singleSend.js +172 -0
  221. package/dist/cjs/features/cat20/send/singleSend.js.map +1 -0
  222. package/dist/cjs/features/index.js +19 -0
  223. package/dist/cjs/features/index.js.map +1 -0
  224. package/dist/cjs/index.js +35 -0
  225. package/dist/cjs/index.js.map +1 -0
  226. package/dist/cjs/lib/index.js +19 -0
  227. package/dist/cjs/lib/index.js.map +1 -0
  228. package/dist/cjs/lib/metadata.js +32 -0
  229. package/dist/cjs/lib/metadata.js.map +1 -0
  230. package/dist/cjs/typeConstants.js +18 -0
  231. package/dist/cjs/typeConstants.js.map +1 -0
  232. package/dist/cjs/utils/check.js +24 -0
  233. package/dist/cjs/utils/check.js.map +1 -0
  234. package/dist/cjs/utils/contractPeripheral.js +189 -0
  235. package/dist/cjs/utils/contractPeripheral.js.map +1 -0
  236. package/dist/cjs/utils/index.js +223 -0
  237. package/dist/cjs/utils/index.js.map +1 -0
  238. package/dist/cjs/utils/loadAllArtifacts.js +39 -0
  239. package/dist/cjs/utils/loadAllArtifacts.js.map +1 -0
  240. package/dist/esm/contracts/cat20/cat20.js +72 -0
  241. package/dist/esm/contracts/cat20/cat20.js.map +1 -0
  242. package/dist/esm/contracts/cat20/cat20Guard.js +165 -0
  243. package/dist/esm/contracts/cat20/cat20Guard.js.map +1 -0
  244. package/dist/esm/contracts/cat20/cat20GuardStateLib.js +68 -0
  245. package/dist/esm/contracts/cat20/cat20GuardStateLib.js.map +1 -0
  246. package/dist/esm/contracts/cat20/cat20StateLib.js +33 -0
  247. package/dist/esm/contracts/cat20/cat20StateLib.js.map +1 -0
  248. package/dist/esm/contracts/cat20/minters/cat20ClosedMinter.js +75 -0
  249. package/dist/esm/contracts/cat20/minters/cat20ClosedMinter.js.map +1 -0
  250. package/dist/esm/contracts/cat20/minters/cat20ClosedMinterMetadata.js +14 -0
  251. package/dist/esm/contracts/cat20/minters/cat20ClosedMinterMetadata.js.map +1 -0
  252. package/dist/esm/contracts/cat20/minters/cat20OpenMinter.js +142 -0
  253. package/dist/esm/contracts/cat20/minters/cat20OpenMinter.js.map +1 -0
  254. package/dist/esm/contracts/cat20/minters/cat20OpenMinterMetadata.js +18 -0
  255. package/dist/esm/contracts/cat20/minters/cat20OpenMinterMetadata.js.map +1 -0
  256. package/dist/esm/contracts/cat20/types.js +2 -0
  257. package/dist/esm/contracts/cat20/types.js.map +1 -0
  258. package/dist/esm/contracts/cat20Incinerator.js +42 -0
  259. package/dist/esm/contracts/cat20Incinerator.js.map +1 -0
  260. package/dist/esm/contracts/constants.js +106 -0
  261. package/dist/esm/contracts/constants.js.map +1 -0
  262. package/dist/esm/contracts/counter.js +25 -0
  263. package/dist/esm/contracts/counter.js.map +1 -0
  264. package/dist/esm/contracts/index.js +16 -0
  265. package/dist/esm/contracts/index.js.map +1 -0
  266. package/dist/esm/contracts/p2pkh.js +32 -0
  267. package/dist/esm/contracts/p2pkh.js.map +1 -0
  268. package/dist/esm/contracts/types.js +2 -0
  269. package/dist/esm/contracts/types.js.map +1 -0
  270. package/dist/esm/contracts/utils/ownerUtils.js +74 -0
  271. package/dist/esm/contracts/utils/ownerUtils.js.map +1 -0
  272. package/dist/esm/contracts/utils/safeMath.js +24 -0
  273. package/dist/esm/contracts/utils/safeMath.js.map +1 -0
  274. package/dist/esm/features/cat20/burn/burn.js +87 -0
  275. package/dist/esm/features/cat20/burn/burn.js.map +1 -0
  276. package/dist/esm/features/cat20/deploy/openMinter.js +130 -0
  277. package/dist/esm/features/cat20/deploy/openMinter.js.map +1 -0
  278. package/dist/esm/features/cat20/incinerate.js +104 -0
  279. package/dist/esm/features/cat20/incinerate.js.map +1 -0
  280. package/dist/esm/features/cat20/mint/openMinter.js +33 -0
  281. package/dist/esm/features/cat20/mint/openMinter.js.map +1 -0
  282. package/dist/esm/features/cat20/send/contractSend.js +126 -0
  283. package/dist/esm/features/cat20/send/contractSend.js.map +1 -0
  284. package/dist/esm/features/cat20/send/singleSend.js +142 -0
  285. package/dist/esm/features/cat20/send/singleSend.js.map +1 -0
  286. package/dist/esm/features/index.js +7 -0
  287. package/dist/esm/features/index.js.map +1 -0
  288. package/dist/esm/index.js +9 -0
  289. package/dist/esm/index.js.map +1 -0
  290. package/dist/esm/lib/index.js +3 -0
  291. package/dist/esm/lib/index.js.map +1 -0
  292. package/dist/esm/lib/metadata.js +28 -0
  293. package/dist/esm/lib/metadata.js.map +1 -0
  294. package/dist/esm/typeConstants.js +15 -0
  295. package/dist/esm/typeConstants.js.map +1 -0
  296. package/dist/esm/utils/check.js +19 -0
  297. package/dist/esm/utils/check.js.map +1 -0
  298. package/dist/esm/utils/contractPeripheral.js +183 -0
  299. package/dist/esm/utils/contractPeripheral.js.map +1 -0
  300. package/dist/esm/utils/index.js +184 -0
  301. package/dist/esm/utils/index.js.map +1 -0
  302. package/dist/esm/utils/loadAllArtifacts.js +32 -0
  303. package/dist/esm/utils/loadAllArtifacts.js.map +1 -0
  304. package/dist/types/contracts/cat20/cat20.d.ts +12 -0
  305. package/dist/types/contracts/cat20/cat20.d.ts.map +1 -0
  306. package/dist/types/contracts/cat20/cat20Guard.d.ts +8 -0
  307. package/dist/types/contracts/cat20/cat20Guard.d.ts.map +1 -0
  308. package/dist/types/contracts/cat20/cat20GuardStateLib.d.ts +13 -0
  309. package/dist/types/contracts/cat20/cat20GuardStateLib.d.ts.map +1 -0
  310. package/dist/types/contracts/cat20/cat20StateLib.d.ts +7 -0
  311. package/dist/types/contracts/cat20/cat20StateLib.d.ts.map +1 -0
  312. package/dist/types/contracts/cat20/minters/cat20ClosedMinter.d.ts +10 -0
  313. package/dist/types/contracts/cat20/minters/cat20ClosedMinter.d.ts.map +1 -0
  314. package/dist/types/contracts/cat20/minters/cat20ClosedMinterMetadata.d.ts +6 -0
  315. package/dist/types/contracts/cat20/minters/cat20ClosedMinterMetadata.d.ts.map +1 -0
  316. package/dist/types/contracts/cat20/minters/cat20OpenMinter.d.ts +16 -0
  317. package/dist/types/contracts/cat20/minters/cat20OpenMinter.d.ts.map +1 -0
  318. package/dist/types/contracts/cat20/minters/cat20OpenMinterMetadata.d.ts +6 -0
  319. package/dist/types/contracts/cat20/minters/cat20OpenMinterMetadata.d.ts.map +1 -0
  320. package/dist/types/contracts/cat20/types.d.ts +58 -0
  321. package/dist/types/contracts/cat20/types.d.ts.map +1 -0
  322. package/dist/types/contracts/cat20Incinerator.d.ts +8 -0
  323. package/dist/types/contracts/cat20Incinerator.d.ts.map +1 -0
  324. package/dist/types/contracts/constants.d.ts +33 -0
  325. package/dist/types/contracts/constants.d.ts.map +1 -0
  326. package/dist/types/contracts/counter.d.ts +8 -0
  327. package/dist/types/contracts/counter.d.ts.map +1 -0
  328. package/dist/types/contracts/index.d.ts +16 -0
  329. package/dist/types/contracts/index.d.ts.map +1 -0
  330. package/dist/types/contracts/p2pkh.d.ts +7 -0
  331. package/dist/types/contracts/p2pkh.d.ts.map +1 -0
  332. package/dist/types/contracts/types.d.ts +9 -0
  333. package/dist/types/contracts/types.d.ts.map +1 -0
  334. package/dist/types/contracts/utils/ownerUtils.d.ts +19 -0
  335. package/dist/types/contracts/utils/ownerUtils.d.ts.map +1 -0
  336. package/dist/types/contracts/utils/safeMath.d.ts +5 -0
  337. package/dist/types/contracts/utils/safeMath.d.ts.map +1 -0
  338. package/dist/types/features/cat20/burn/burn.d.ts +6 -0
  339. package/dist/types/features/cat20/burn/burn.d.ts.map +1 -0
  340. package/dist/types/features/cat20/deploy/openMinter.d.ts +11 -0
  341. package/dist/types/features/cat20/deploy/openMinter.d.ts.map +1 -0
  342. package/dist/types/features/cat20/incinerate.d.ts +6 -0
  343. package/dist/types/features/cat20/incinerate.d.ts.map +1 -0
  344. package/dist/types/features/cat20/mint/openMinter.d.ts +7 -0
  345. package/dist/types/features/cat20/mint/openMinter.d.ts.map +1 -0
  346. package/dist/types/features/cat20/send/contractSend.d.ts +14 -0
  347. package/dist/types/features/cat20/send/contractSend.d.ts.map +1 -0
  348. package/dist/types/features/cat20/send/singleSend.d.ts +33 -0
  349. package/dist/types/features/cat20/send/singleSend.d.ts.map +1 -0
  350. package/dist/types/features/index.d.ts +7 -0
  351. package/dist/types/features/index.d.ts.map +1 -0
  352. package/dist/types/index.d.ts +7 -0
  353. package/dist/types/index.d.ts.map +1 -0
  354. package/dist/types/lib/index.d.ts +2 -0
  355. package/dist/types/lib/index.d.ts.map +1 -0
  356. package/dist/types/lib/metadata.d.ts +18 -0
  357. package/dist/types/lib/metadata.d.ts.map +1 -0
  358. package/dist/types/typeConstants.d.ts +31 -0
  359. package/dist/types/typeConstants.d.ts.map +1 -0
  360. package/dist/types/utils/check.d.ts +3 -0
  361. package/dist/types/utils/check.d.ts.map +1 -0
  362. package/dist/types/utils/contractPeripheral.d.ts +45 -0
  363. package/dist/types/utils/contractPeripheral.d.ts.map +1 -0
  364. package/dist/types/utils/index.d.ts +29 -0
  365. package/dist/types/utils/index.d.ts.map +1 -0
  366. package/dist/types/utils/loadAllArtifacts.d.ts +2 -0
  367. package/dist/types/utils/loadAllArtifacts.d.ts.map +1 -0
  368. package/package.json +76 -0
  369. package/scrypt.index.json +132 -0
@@ -0,0 +1,96 @@
1
+
2
+
3
+
4
+ struct _opcat_labs_scrypt_ts_opcat_1_0_3__rs__ReadVarintResult {
5
+ bytes data;
6
+ int nextPos;
7
+ }
8
+
9
+ library _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils {
10
+ static function checkLenDivisibleBy(bytes b, int n) : int {
11
+ int l = len(b);
12
+ require(l % n == 0);
13
+ return l / n;
14
+ }
15
+ static function uint64ToByteString(int n) : bytes {
16
+ require(n >= 0 && n <= 18446744073709551615);
17
+ return _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.toLEUnsigned(n, 8);
18
+ }
19
+ static function uint32ToByteString(int n) : bytes {
20
+ require(n >= 0 && n <= 4294967295);
21
+ return _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.toLEUnsigned(n, 4);
22
+ }
23
+ static function byteStringToUInt32(bytes b) : int {
24
+ require(len(b) == 4);
25
+ return _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.fromLEUnsigned(b);
26
+ }
27
+ static function toLEUnsigned(int n, int l) : bytes {
28
+ bytes m = num2bin(n, l + 1);
29
+ return m[0 : l];
30
+ }
31
+ static function fromLEUnsigned(bytes b) : int {
32
+ return unpack(b + b'00');
33
+ }
34
+ static function writeVarInt(int n) : bytes {
35
+ bytes b = b'';
36
+ int size = 0;
37
+ if(n < 0xfd) {
38
+ size = 1;
39
+ } else if(n < 0x10000) {
40
+ b = b'fd';
41
+ size = 2;
42
+ } else if(n < 0x100000000) {
43
+ b = b'fe';
44
+ size = 4;
45
+ } else {
46
+ b = b'ff';
47
+ size = 8;
48
+ }
49
+ return b + _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.toLEUnsigned(n, size);
50
+ }
51
+ static function pushData(bytes buf) : bytes {
52
+ int n = len(buf);
53
+ int size = 0;
54
+ bytes header = b'';
55
+ if(n < 0x4c) {
56
+ size = 1;
57
+ header = b'';
58
+ } else if(n < 0x100) {
59
+ size = 1;
60
+ header = b'4c';
61
+ } else if(n < 0x10000) {
62
+ size = 2;
63
+ header = b'4d';
64
+ } else if(n < 0x100000000) {
65
+ size = 4;
66
+ header = b'4e';
67
+ } else {
68
+ require(false);
69
+ }
70
+ return header + _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.toLEUnsigned(n, size);
71
+ }
72
+ static function readVarint(bytes buf, int pos) : _opcat_labs_scrypt_ts_opcat_1_0_3__rs__ReadVarintResult {
73
+ int l = 0;
74
+ bytes ret = b'';
75
+ int nextPos = pos;
76
+ bytes header = buf[pos : pos + 1];
77
+ if(header == b'fd') {
78
+ l = _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.fromLEUnsigned(buf[pos + 1 : pos + 3]);
79
+ ret = buf[3 : 3 + l];
80
+ nextPos = pos + 3 + l;
81
+ } else if(header == b'fe') {
82
+ l = _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.fromLEUnsigned(buf[pos + 1 : pos + 5]);
83
+ ret = buf[pos + 5 : pos + 5 + l];
84
+ nextPos = pos + 5 + l;
85
+ } else if(header == b'ff') {
86
+ l = _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.fromLEUnsigned(buf[pos + 1 : pos + 9]);
87
+ ret = buf[pos + 9 : pos + 9 + l];
88
+ nextPos = pos + 9 + l;
89
+ } else {
90
+ l = _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.fromLEUnsigned(buf[pos : pos + 1]);
91
+ ret = buf[pos + 1 : pos + 1 + l];
92
+ nextPos = pos + 1 + l;
93
+ }
94
+ return {ret, nextPos};
95
+ }
96
+ }
@@ -0,0 +1,20 @@
1
+ import "../types/structs.scrypt";
2
+ import "stdUtils.scrypt";
3
+
4
+
5
+
6
+
7
+ library _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxHashPreimageUtils {
8
+ static function getTxHashFromTxHashPreimage(_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxHashPreimage txHashPreimage) : bytes {
9
+ require(len(txHashPreimage.version) == 4);
10
+ int inputCount = _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.checkLenDivisibleBy(txHashPreimage.inputList, 72);
11
+ int outputCount = _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.checkLenDivisibleBy(txHashPreimage.outputList, 72);
12
+ return hash256(txHashPreimage.version + _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.writeVarInt(inputCount) + txHashPreimage.inputList + _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.writeVarInt(outputCount) + txHashPreimage.outputList + txHashPreimage.nLockTime);
13
+ }
14
+ static function getInputByteString(_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxHashPreimage txHashPreimage, int inputIndex) : bytes {
15
+ return txHashPreimage.inputList[inputIndex * 72 : (inputIndex + 1) * 72];
16
+ }
17
+ static function getOutputByteString(_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxHashPreimage txHashPreimage, int outputIndex) : bytes {
18
+ return txHashPreimage.outputList[outputIndex * 72 : (outputIndex + 1) * 72];
19
+ }
20
+ }
@@ -0,0 +1,48 @@
1
+ import "../types/structs.scrypt";
2
+ import "stdUtils.scrypt";
3
+
4
+
5
+
6
+
7
+ library _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxUtils {
8
+ static const int ZERO_SATS = 0;
9
+ static function buildOutput(bytes scriptHash, int satoshis) : bytes {
10
+ return _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxUtils.buildDataOutput(scriptHash, satoshis, sha256(b''));
11
+ }
12
+ static function buildDataOutput(bytes scriptHash, int satoshis, bytes dataHash) : bytes {
13
+ int scriptHashLen = len(scriptHash);
14
+ int dataHashLen = len(dataHash);
15
+ require(scriptHashLen == 32);
16
+ require(dataHashLen == 32);
17
+ require(satoshis >= 0);
18
+ return _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxUtils.satoshisToByteString(satoshis) + scriptHash + dataHash;
19
+ }
20
+ static function buildChangeOutput(_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxOut change) : bytes {
21
+ return change.satoshis > 0 ? _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxUtils.buildDataOutput(change.scriptHash, change.satoshis, change.dataHash) : b'';
22
+ }
23
+ static function mergeInput(_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxIn txInput) : bytes {
24
+ require(len(txInput.prevTxHash) == 32);
25
+ require(len(txInput.scriptHash) == 32);
26
+ return (txInput.prevTxHash + _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.uint32ToByteString(txInput.prevOutputIndex) + txInput.scriptHash + _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.uint32ToByteString(txInput.sequence));
27
+ }
28
+ static function buildOpReturnOutput(bytes data) : bytes {
29
+ bytes script = b'6a' + pack(len(data)) + data;
30
+ return _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxUtils.satoshisToByteString(0) + sha256(script) + sha256(b'');
31
+ }
32
+ static function buildP2PKHScript(Ripemd160 addr) : bytes {
33
+ return (OpCode.OP_DUP + OpCode.OP_HASH160 + pack(20) + addr + OpCode.OP_EQUALVERIFY + OpCode.OP_CHECKSIG);
34
+ }
35
+ static function buildP2PKHOutput(int amount, Ripemd160 addr) : bytes {
36
+ return _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxUtils.buildDataOutput(sha256(_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxUtils.buildP2PKHScript(addr)), amount, sha256(b''));
37
+ }
38
+ static function buildOpreturnScript(bytes data) : bytes {
39
+ return OpCode.OP_FALSE + OpCode.OP_RETURN + _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.pushData(data);
40
+ }
41
+ static function satoshisToByteString(int n) : bytes {
42
+ return _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.uint64ToByteString(n);
43
+ }
44
+ static function byteStringToSatoshis(bytes bs) : int {
45
+ require(len(bs) == 8);
46
+ return _opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils.fromLEUnsigned(bs);
47
+ }
48
+ }
@@ -0,0 +1,50 @@
1
+
2
+
3
+
4
+ struct _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxOut {
5
+ bytes scriptHash;
6
+ bytes dataHash;
7
+ int satoshis;
8
+ }
9
+
10
+ struct _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxIn {
11
+ bytes prevTxHash;
12
+ int prevOutputIndex;
13
+ int sequence;
14
+ bytes scriptHash;
15
+ }
16
+
17
+ struct _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxHashPreimage {
18
+ bytes version;
19
+ bytes inputList;
20
+ bytes outputList;
21
+ bytes nLockTime;
22
+ }
23
+
24
+ struct _opcat_labs_scrypt_ts_opcat_1_0_3__rs__BacktraceInfo {
25
+ _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxIn prevTxInput;
26
+ int prevTxInputIndex;
27
+ _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxHashPreimage prevPrevTxPreimage;
28
+ }
29
+
30
+ struct _opcat_labs_scrypt_ts_opcat_1_0_3__rs__SHPreimage {
31
+ bytes nVersion;
32
+ bytes hashPrevouts;
33
+ bytes spentScriptHash;
34
+ bytes spentDataHash;
35
+ int value;
36
+ bytes nSequence;
37
+ bytes hashSpentAmounts;
38
+ bytes hashSpentScriptHashes;
39
+ bytes hashSpentDataHashes;
40
+ bytes hashSequences;
41
+ bytes hashOutputs;
42
+ int inputIndex;
43
+ int nLockTime;
44
+ int sigHashType;
45
+ }
46
+
47
+ struct _opcat_labs_scrypt_ts_opcat_1_0_3__rs__Outpoint {
48
+ bytes txHash;
49
+ int outputIndex;
50
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "version": 10,
3
+ "compilerVersion": "1.21.0+commit.2ada378",
4
+ "contract": "",
5
+ "md5": "d41d8cd98f00b204e9800998ecf8427e",
6
+ "structs": [
7
+ {
8
+ "name": "_opcat_labs_cat_sdk_1_0_1__rs__ContractUnlockArgs",
9
+ "params": [
10
+ {
11
+ "name": "userPubKey",
12
+ "type": "PubKey"
13
+ },
14
+ {
15
+ "name": "userSig",
16
+ "type": "Sig"
17
+ },
18
+ {
19
+ "name": "contractInputIndex",
20
+ "type": "int"
21
+ }
22
+ ],
23
+ "genericTypes": []
24
+ }
25
+ ],
26
+ "library": [],
27
+ "alias": [],
28
+ "abi": [],
29
+ "stateProps": [],
30
+ "buildType": "release",
31
+ "file": "..\\types.scrypt",
32
+ "hex": ""
33
+ }
@@ -0,0 +1,8 @@
1
+
2
+
3
+
4
+ struct _opcat_labs_cat_sdk_1_0_1__rs__ContractUnlockArgs {
5
+ PubKey userPubKey;
6
+ Sig userSig;
7
+ int contractInputIndex;
8
+ }
@@ -0,0 +1,215 @@
1
+ {
2
+ "version": 10,
3
+ "compilerVersion": "1.21.0+commit.2ada378",
4
+ "contract": "_opcat_labs_cat_sdk_1_0_1__rs__OwnerUtils",
5
+ "md5": "d41d8cd98f00b204e9800998ecf8427e",
6
+ "structs": [
7
+ {
8
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxOut",
9
+ "params": [
10
+ {
11
+ "name": "scriptHash",
12
+ "type": "bytes"
13
+ },
14
+ {
15
+ "name": "dataHash",
16
+ "type": "bytes"
17
+ },
18
+ {
19
+ "name": "satoshis",
20
+ "type": "int"
21
+ }
22
+ ],
23
+ "genericTypes": []
24
+ },
25
+ {
26
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxIn",
27
+ "params": [
28
+ {
29
+ "name": "prevTxHash",
30
+ "type": "bytes"
31
+ },
32
+ {
33
+ "name": "prevOutputIndex",
34
+ "type": "int"
35
+ },
36
+ {
37
+ "name": "sequence",
38
+ "type": "int"
39
+ },
40
+ {
41
+ "name": "scriptHash",
42
+ "type": "bytes"
43
+ }
44
+ ],
45
+ "genericTypes": []
46
+ },
47
+ {
48
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxHashPreimage",
49
+ "params": [
50
+ {
51
+ "name": "version",
52
+ "type": "bytes"
53
+ },
54
+ {
55
+ "name": "inputList",
56
+ "type": "bytes"
57
+ },
58
+ {
59
+ "name": "outputList",
60
+ "type": "bytes"
61
+ },
62
+ {
63
+ "name": "nLockTime",
64
+ "type": "bytes"
65
+ }
66
+ ],
67
+ "genericTypes": []
68
+ },
69
+ {
70
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__BacktraceInfo",
71
+ "params": [
72
+ {
73
+ "name": "prevTxInput",
74
+ "type": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxIn"
75
+ },
76
+ {
77
+ "name": "prevTxInputIndex",
78
+ "type": "int"
79
+ },
80
+ {
81
+ "name": "prevPrevTxPreimage",
82
+ "type": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxHashPreimage"
83
+ }
84
+ ],
85
+ "genericTypes": []
86
+ },
87
+ {
88
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__SHPreimage",
89
+ "params": [
90
+ {
91
+ "name": "nVersion",
92
+ "type": "bytes"
93
+ },
94
+ {
95
+ "name": "hashPrevouts",
96
+ "type": "bytes"
97
+ },
98
+ {
99
+ "name": "spentScriptHash",
100
+ "type": "bytes"
101
+ },
102
+ {
103
+ "name": "spentDataHash",
104
+ "type": "bytes"
105
+ },
106
+ {
107
+ "name": "value",
108
+ "type": "int"
109
+ },
110
+ {
111
+ "name": "nSequence",
112
+ "type": "bytes"
113
+ },
114
+ {
115
+ "name": "hashSpentAmounts",
116
+ "type": "bytes"
117
+ },
118
+ {
119
+ "name": "hashSpentScriptHashes",
120
+ "type": "bytes"
121
+ },
122
+ {
123
+ "name": "hashSpentDataHashes",
124
+ "type": "bytes"
125
+ },
126
+ {
127
+ "name": "hashSequences",
128
+ "type": "bytes"
129
+ },
130
+ {
131
+ "name": "hashOutputs",
132
+ "type": "bytes"
133
+ },
134
+ {
135
+ "name": "inputIndex",
136
+ "type": "int"
137
+ },
138
+ {
139
+ "name": "nLockTime",
140
+ "type": "int"
141
+ },
142
+ {
143
+ "name": "sigHashType",
144
+ "type": "int"
145
+ }
146
+ ],
147
+ "genericTypes": []
148
+ },
149
+ {
150
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__Outpoint",
151
+ "params": [
152
+ {
153
+ "name": "txHash",
154
+ "type": "bytes"
155
+ },
156
+ {
157
+ "name": "outputIndex",
158
+ "type": "int"
159
+ }
160
+ ],
161
+ "genericTypes": []
162
+ },
163
+ {
164
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__ReadVarintResult",
165
+ "params": [
166
+ {
167
+ "name": "data",
168
+ "type": "bytes"
169
+ },
170
+ {
171
+ "name": "nextPos",
172
+ "type": "int"
173
+ }
174
+ ],
175
+ "genericTypes": []
176
+ }
177
+ ],
178
+ "library": [
179
+ {
180
+ "name": "_opcat_labs_cat_sdk_1_0_1__rs__OwnerUtils",
181
+ "params": [],
182
+ "properties": [],
183
+ "genericTypes": []
184
+ },
185
+ {
186
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxUtils",
187
+ "params": [],
188
+ "properties": [],
189
+ "genericTypes": []
190
+ },
191
+ {
192
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__ContextUtils",
193
+ "params": [],
194
+ "properties": [],
195
+ "genericTypes": []
196
+ },
197
+ {
198
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils",
199
+ "params": [],
200
+ "properties": [],
201
+ "genericTypes": []
202
+ }
203
+ ],
204
+ "alias": [],
205
+ "abi": [
206
+ {
207
+ "type": "constructor",
208
+ "params": []
209
+ }
210
+ ],
211
+ "stateProps": [],
212
+ "buildType": "release",
213
+ "file": "..\\ownerUtils.scrypt",
214
+ "hex": ""
215
+ }
@@ -0,0 +1,28 @@
1
+ import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt";
2
+ import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt";
3
+
4
+
5
+
6
+
7
+ library _opcat_labs_cat_sdk_1_0_1__rs__OwnerUtils {
8
+ static function toLockingScript(bytes pubKey) : bytes {
9
+ _opcat_labs_cat_sdk_1_0_1__rs__OwnerUtils.checkPubKey(pubKey);
10
+ return b'76a914' + hash160(pubKey) + b'88ac';
11
+ }
12
+ static function checkUserOwner(bytes pubKey, bytes ownerAddr) : bool {
13
+ require(_opcat_labs_cat_sdk_1_0_1__rs__OwnerUtils.toLockingScript(pubKey) == ownerAddr);
14
+ return true;
15
+ }
16
+ static function checkPubKey(bytes pubKey) : bool {
17
+ require(len(pubKey) == 33);
18
+ return true;
19
+ }
20
+ static function checkOwnerAddr(bytes ownerAddr) : bool {
21
+ int addrLen = len(ownerAddr);
22
+ require(addrLen == 25 || addrLen == 32);
23
+ return true;
24
+ }
25
+ static function serialize(bytes ownerAddr) : bytes {
26
+ return ownerAddr;
27
+ }
28
+ }