@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,45 @@
1
+
2
+ struct CAT20GuardConstState {
3
+ bytes[4] tokenScriptHashes;
4
+ int[4] tokenAmounts;
5
+ int[4] tokenBurnAmounts;
6
+ int[6] tokenScriptIndexes;
7
+ }
8
+
9
+ struct CAT20State {
10
+ bytes tag;
11
+ bytes ownerAddr;
12
+ int amount;
13
+ }
14
+
15
+ struct CAT20ClosedMinterState {
16
+ bytes tag;
17
+ bytes tokenScriptHash;
18
+ }
19
+
20
+ struct ClosedMinterCAT20Meta {
21
+ bytes tag;
22
+ bytes name;
23
+ bytes symbol;
24
+ int decimals;
25
+ bytes minterMd5;
26
+ }
27
+
28
+ struct OpenMinterCAT20Meta {
29
+ bytes tag;
30
+ bytes name;
31
+ bytes symbol;
32
+ int decimals;
33
+ bytes minterMd5;
34
+ int max;
35
+ int limit;
36
+ int premine;
37
+ bytes preminerAddr;
38
+ }
39
+
40
+ struct CAT20OpenMinterState {
41
+ bytes tag;
42
+ bytes tokenScriptHash;
43
+ bool hasMintedBefore;
44
+ int remainingCount;
45
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "success": true,
3
+ "errors": [],
4
+ "scryptfile": "cat20/types.scrypt.tpl",
5
+ "sourceMapFile": "cat20/types.scrypt.map",
6
+ "ctxMethods": []
7
+ }
@@ -0,0 +1 @@
1
+ [[],[],[],[],[],[],[],[[9,0,7,13]],[[2,0,9,26],[8,0,9,4]],[[2,0,11,4],[14,0,12,30],[20,0,12,8]],[[4,0,15,8],[8,0,15,13],[30,0,15,8],[32,0,15,36]],[],[[2,0,19,4],[18,0,19,11],[29,0,20,25],[33,0,20,8],[50,0,21,20],[71,0,21,8]],[],[],[],[],[],[],[],[],[[4,0,25,39],[10,0,25,14],[35,0,25,39],[47,0,25,52],[98,0,25,99]],[[4,0,26,8],[12,0,26,15],[35,0,26,15],[38,0,26,41],[42,0,26,46]],[[4,0,27,38],[10,0,27,14],[34,0,27,38],[46,0,27,51],[93,0,27,94]],[[4,0,28,8],[12,0,28,15],[30,0,28,34],[41,0,28,44],[53,0,28,15],[56,0,28,59]],[[15,0,31,17]],[[8,0,32,12],[16,0,32,19],[26,0,32,30],[40,0,32,43],[43,0,32,19],[46,0,32,49],[56,0,32,60],[74,0,32,77]],[],[[4,0,34,8],[12,0,34,15]],[],[]]
@@ -0,0 +1,31 @@
1
+ import "./cat20/types.scrypt.tpl";
2
+ import "@opcat-labs/scrypt-ts-opcat/assets/.templates/smart-contract/builtin-libs/contextUtils.scrypt.tpl";
3
+ import "./cat20/cat20GuardStateLib.scrypt.tpl";
4
+ import "@opcat-labs/scrypt-ts-opcat/assets/.templates/smart-contract/builtin-libs/txUtils.scrypt.tpl";
5
+ import "@opcat-labs/scrypt-ts-opcat/assets/.templates/smart-contract/types/structs.scrypt.tpl";
6
+
7
+
8
+ contract CAT20Incinerator {
9
+ bytes cat20GuardScriptHash;
10
+ constructor(bytes cat20GuardScriptHash) {
11
+ this.cat20GuardScriptHash = cat20GuardScriptHash;
12
+ }
13
+ public function incinerate(int guardInputIndex, CAT20GuardConstState guardState, SHPreimage __scrypt_ts_shPreimage, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes, bytes __scrypt_ts_spentScriptHashes) {
14
+ require(Tx.checkPreimageSigHashType(ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage), SigHash.ALL));
15
+
16
+ int __scrypt_ts_inputCount = ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
17
+
18
+ ContextUtils.checkSpentScripts(__scrypt_ts_spentScriptHashes, __scrypt_ts_shPreimage.hashSpentScriptHashes, __scrypt_ts_inputCount);
19
+
20
+ ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
21
+
22
+ bytes currentGuardScriptHash = ContextUtils.getSpentScriptHash(__scrypt_ts_spentScriptHashes, guardInputIndex);
23
+ require(currentGuardScriptHash == this.cat20GuardScriptHash);
24
+ bytes currentGuardStateHash = ContextUtils.getSpentDataHash(__scrypt_ts_spentDataHashes, guardInputIndex);
25
+ require(CAT20GuardStateLib.stateHash(guardState) == currentGuardStateHash);
26
+ loop (4) : i {
27
+ require(guardState.tokenAmounts[i] == guardState.tokenBurnAmounts[i]);
28
+ }
29
+ require(true);
30
+ }
31
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "success": true,
3
+ "errors": [],
4
+ "scryptfile": "cat20Incinerator.scrypt.tpl",
5
+ "sourceMapFile": "cat20Incinerator.scrypt.map",
6
+ "ctxMethods": [
7
+ "incinerate"
8
+ ]
9
+ }
@@ -0,0 +1 @@
1
+ [[],[[8,0,32,13]],[[2,0,34,4],[9,0,34,11],[15,0,34,39],[21,0,34,20],[41,0,34,52],[48,0,36,8]],[[2,0,40,4],[9,0,40,11],[15,0,40,54],[21,0,40,20],[56,0,40,67],[63,0,42,8]],[[2,0,46,4],[9,0,46,11],[15,0,46,54],[21,0,46,20],[56,0,46,67],[63,0,48,8]],[[2,0,52,4],[9,0,52,11],[15,0,52,54],[21,0,52,20],[56,0,52,67],[63,0,54,8]],[[2,0,58,4],[9,0,58,11],[15,0,58,54],[21,0,58,20],[56,0,58,67],[63,0,60,8]],[[2,0,66,4],[9,0,66,11],[15,0,66,32],[21,0,66,20],[34,0,66,58]],[[2,0,68,4],[9,0,68,11],[15,0,68,36],[21,0,68,20],[38,0,68,62]],[[2,0,70,4],[9,0,70,11],[15,0,70,45],[21,0,70,20],[47,0,70,71]],[[2,0,72,4],[9,0,72,11],[15,0,72,43],[21,0,72,20],[45,0,72,69]],[[2,0,74,4],[9,0,74,11],[15,0,74,42],[21,0,74,20],[44,0,74,68]],[[2,0,83,4],[9,0,83,11],[15,0,83,40],[21,0,83,20],[42,0,83,66]],[[2,0,85,4],[9,0,85,11],[15,0,85,38],[21,0,85,20],[40,0,85,64]],[[2,0,87,4],[9,0,87,11],[15,0,87,37],[21,0,87,20],[39,0,87,63]],[]]
@@ -0,0 +1,16 @@
1
+
2
+ library ConstantsLib {
3
+ static const bytes ZERO_SHA1256_HASH = Sha256(b'0000000000000000000000000000000000000000000000000000000000000000');
4
+ static const bytes TOKEN_SCRIPT_HASH_PLACEHOLDER_FF = Sha256(b'00000000000000000000000000000000000000000000000000000000000000ff');
5
+ static const bytes TOKEN_SCRIPT_HASH_PLACEHOLDER_FE = Sha256(b'00000000000000000000000000000000000000000000000000000000000000fe');
6
+ static const bytes TOKEN_SCRIPT_HASH_PLACEHOLDER_FD = Sha256(b'00000000000000000000000000000000000000000000000000000000000000fd');
7
+ static const bytes TOKEN_SCRIPT_HASH_PLACEHOLDER_FC = Sha256(b'00000000000000000000000000000000000000000000000000000000000000fc');
8
+ static const bytes _OPCAT_TAG = b'6f70636174';
9
+ static const bytes _OPCAT_VERSION = b'01';
10
+ static const bytes _OPCAT_METADATA_SUB_TAG = b'00';
11
+ static const bytes _OPCAT_MINTER_SUB_TAG = b'01';
12
+ static const bytes _OPCAT_CAT20_SUB_TAG = b'02';
13
+ static const bytes OPCAT_METADATA_TAG = b'6f706361740100';
14
+ static const bytes OPCAT_MINTER_TAG = b'6f706361740101';
15
+ static const bytes OPCAT_CAT20_TAG = b'6f706361740102';
16
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "success": true,
3
+ "errors": [],
4
+ "scryptfile": "constants.scrypt.tpl",
5
+ "sourceMapFile": "constants.scrypt.map",
6
+ "ctxMethods": []
7
+ }
@@ -0,0 +1 @@
1
+ [[],[],[],[],[],[],[],[[7,0,8,0]],[[2,0,9,9],[6,0,9,2]],[],[],[[9,0,12,13]],[],[[2,0,14,2],[18,0,14,9]],[],[],[],[],[],[],[],[],[],[],[[25,0,17,15],[31,0,17,4]],[[4,0,20,6],[10,0,19,10],[20,0,20,6],[27,0,20,14],[114,0,23,8],[121,0,23,15],[128,0,23,23],[169,0,20,6]],[],[[4,0,26,4],[20,0,26,29]],[],[],[],[],[],[],[],[]]
@@ -0,0 +1,36 @@
1
+ import "@opcat-labs/scrypt-ts-opcat/assets/.templates/smart-contract/builtin-libs/txUtils.scrypt.tpl";
2
+ import "@opcat-labs/scrypt-ts-opcat/assets/.templates/smart-contract/builtin-libs/stdUtils.scrypt.tpl";
3
+ import "@opcat-labs/scrypt-ts-opcat/assets/.templates/smart-contract/types/structs.scrypt.tpl";
4
+ import "@opcat-labs/scrypt-ts-opcat/assets/.templates/smart-contract/builtin-libs/contextUtils.scrypt.tpl";
5
+ import "@opcat-labs/scrypt-ts-opcat/assets/.templates/smart-contract/builtin-libs/stateUtils.scrypt.tpl";
6
+
7
+
8
+ struct CounterState {
9
+ int count;
10
+ }
11
+
12
+ contract Counter {
13
+ constructor(){}
14
+ public function increase(SHPreimage __scrypt_ts_shPreimage, TxOut __scrypt_ts_changeInfo, CounterState __scrypt_ts_curState, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes) {
15
+ require(Tx.checkPreimageSigHashType(ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage), SigHash.ALL));
16
+
17
+ int __scrypt_ts_inputCount = ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
18
+
19
+ ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
20
+
21
+ CounterState __scrypt_ts_nextState = __scrypt_ts_curState;
22
+
23
+ StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, Counter.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
24
+
25
+ __scrypt_ts_nextState.count++;
26
+ bytes outputs = TxUtils.buildDataOutput(__scrypt_ts_shPreimage.spentScriptHash, __scrypt_ts_shPreimage.value, sha256(Counter.serializeState(__scrypt_ts_nextState))) +
27
+ (__scrypt_ts_changeInfo.satoshis > 0 ? TxUtils.buildOutput(__scrypt_ts_changeInfo.scriptHash, __scrypt_ts_changeInfo.satoshis) : b'');
28
+ require(hash256(outputs) == __scrypt_ts_shPreimage.hashOutputs);
29
+ }
30
+ static function serializeState(CounterState __scrypt_ts_curState): bytes {
31
+ return num2bin(len(pack(__scrypt_ts_curState.count)), 2) + pack(__scrypt_ts_curState.count) + hash160(hash160(pack(__scrypt_ts_curState.count)));
32
+ }
33
+ static function stateHash(CounterState __scrypt_ts_curState): bytes {
34
+ return sha256(num2bin(len(pack(__scrypt_ts_curState.count)), 2) + pack(__scrypt_ts_curState.count) + hash160(hash160(pack(__scrypt_ts_curState.count))));
35
+ }
36
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "success": true,
3
+ "errors": [],
4
+ "scryptfile": "counter.scrypt.tpl",
5
+ "sourceMapFile": "counter.scrypt.map",
6
+ "ctxMethods": [
7
+ "increase"
8
+ ]
9
+ }
@@ -0,0 +1 @@
1
+ [[],[],[],[],[[9,0,11,13]],[[2,0,13,7],[8,0,13,2]],[[2,0,21,2],[18,0,21,9],[25,0,21,21],[29,0,21,16],[34,0,21,34],[41,0,21,26]],[[4,0,22,4],[12,0,22,16],[20,0,22,11],[21,0,22,25],[26,0,22,30],[32,0,22,11]],[[4,0,23,4],[12,0,23,11],[20,0,23,19],[28,0,23,11],[31,0,23,30],[35,0,23,35]],[],[]]
@@ -0,0 +1,11 @@
1
+ import "@opcat-labs/scrypt-ts-opcat/assets/.templates/smart-contract/builtin-libs/txUtils.scrypt.tpl";
2
+ import "@opcat-labs/scrypt-ts-opcat/assets/.templates/smart-contract/builtin-libs/contextUtils.scrypt.tpl";
3
+
4
+
5
+ contract P2PKH {
6
+ bytes pkh;
7
+ public function unlock(Sig sig, PubKey pubKey) {
8
+ require(checkSig(sig, pubKey));
9
+ require(hash160(pubKey) == this.pkh);
10
+ }
11
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "success": true,
3
+ "errors": [],
4
+ "scryptfile": "p2pkh.scrypt.tpl",
5
+ "sourceMapFile": "p2pkh.scrypt.map",
6
+ "ctxMethods": []
7
+ }
@@ -0,0 +1 @@
1
+ [[],[[7,0,4,33]],[[2,0,6,16],[9,0,6,4]],[[2,0,7,13],[6,0,7,4]],[[2,0,9,24],[6,0,9,4]],[]]
@@ -0,0 +1,6 @@
1
+
2
+ struct ContractUnlockArgs {
3
+ PubKey userPubKey;
4
+ Sig userSig;
5
+ int contractInputIndex;
6
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "success": true,
3
+ "errors": [],
4
+ "scryptfile": "types.scrypt.tpl",
5
+ "sourceMapFile": "types.scrypt.map",
6
+ "ctxMethods": []
7
+ }
@@ -0,0 +1 @@
1
+ [[],[],[],[],[[8,0,7,13]],[[2,0,14,2],[18,0,14,9],[34,0,14,33],[40,0,14,25],[50,0,14,46]],[[4,0,15,4],[14,0,15,15],[27,0,15,27]],[[4,0,16,4],[11,0,16,24],[21,0,16,11],[23,0,16,36],[31,0,16,44],[39,0,16,11],[41,0,16,67]],[],[[2,0,25,2],[18,0,25,9],[33,0,25,32],[39,0,25,24],[47,0,25,55],[53,0,25,44]],[[4,0,26,4],[12,0,26,11],[22,0,26,22],[39,0,26,38],[47,0,26,11],[50,0,26,49]],[],[],[[2,0,30,2],[18,0,30,9],[30,0,30,29],[36,0,30,21]],[[4,0,31,4],[12,0,31,11],[16,0,31,15],[24,0,31,11],[27,0,31,26]],[],[],[[2,0,35,2],[18,0,35,9],[33,0,35,35],[39,0,35,24]],[[4,0,36,20],[8,0,36,10],[18,0,36,20],[22,0,36,24]],[[4,0,37,4],[12,0,38,6],[20,0,38,6],[23,0,38,17],[26,0,38,6],[29,0,39,8],[37,0,39,8],[40,0,39,19]],[],[],[[2,0,44,2],[18,0,44,9],[28,0,44,30],[34,0,44,19],[47,0,44,43]],[[4,0,46,4],[11,0,46,11]],[],[]]
@@ -0,0 +1,26 @@
1
+ import "@opcat-labs/scrypt-ts-opcat/assets/.templates/smart-contract/builtin-libs/txUtils.scrypt.tpl";
2
+ import "@opcat-labs/scrypt-ts-opcat/assets/.templates/smart-contract/builtin-libs/contextUtils.scrypt.tpl";
3
+
4
+
5
+ library OwnerUtils {
6
+ static function toLockingScript(bytes pubKey) : bytes {
7
+ OwnerUtils.checkPubKey(pubKey);
8
+ return b'76a914' + hash160(pubKey) + b'88ac';
9
+ }
10
+ static function checkUserOwner(bytes pubKey, bytes ownerAddr) : bool {
11
+ require(OwnerUtils.toLockingScript(pubKey) == ownerAddr);
12
+ return true;
13
+ }
14
+ static function checkPubKey(bytes pubKey) : bool {
15
+ require(len(pubKey) == 33);
16
+ return true;
17
+ }
18
+ static function checkOwnerAddr(bytes ownerAddr) : bool {
19
+ int addrLen = len(ownerAddr);
20
+ require(addrLen == 25 || addrLen == 32);
21
+ return true;
22
+ }
23
+ static function serialize(bytes ownerAddr) : bytes {
24
+ return ownerAddr;
25
+ }
26
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "success": true,
3
+ "errors": [],
4
+ "scryptfile": "utils/ownerUtils.scrypt.tpl",
5
+ "sourceMapFile": "utils/ownerUtils.scrypt.map",
6
+ "ctxMethods": []
7
+ }
@@ -0,0 +1 @@
1
+ [[],[],[],[],[[8,0,2,13]],[[2,0,4,2],[18,0,4,9],[22,0,4,16],[26,0,4,13],[29,0,4,27],[33,0,4,24],[38,0,4,36]],[[4,0,5,14],[8,0,5,10],[12,0,5,14],[14,0,5,14],[16,0,5,18]],[[4,0,6,4],[12,0,6,11],[14,0,6,11],[17,0,6,16],[19,0,6,11],[22,0,6,21],[24,0,6,21],[27,0,6,26]],[[4,0,7,4],[11,0,7,11]],[],[]]
@@ -0,0 +1,11 @@
1
+ import "@opcat-labs/scrypt-ts-opcat/assets/.templates/smart-contract/builtin-libs/txUtils.scrypt.tpl";
2
+ import "@opcat-labs/scrypt-ts-opcat/assets/.templates/smart-contract/builtin-libs/contextUtils.scrypt.tpl";
3
+
4
+
5
+ library SafeMath {
6
+ static function add(int a, int b) : int {
7
+ int c = a + b;
8
+ require(c >= a && c >= b);
9
+ return c;
10
+ }
11
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "success": true,
3
+ "errors": [],
4
+ "scryptfile": "utils/safeMath.scrypt.tpl",
5
+ "sourceMapFile": "utils/safeMath.scrypt.map",
6
+ "ctxMethods": []
7
+ }