@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.
- package/README.md +19 -0
- package/artifacts/.templates/cat20/cat20.scrypt.map +1 -0
- package/artifacts/.templates/cat20/cat20.scrypt.tpl +60 -0
- package/artifacts/.templates/cat20/cat20.transformer.json +9 -0
- package/artifacts/.templates/cat20/cat20Guard.scrypt.map +1 -0
- package/artifacts/.templates/cat20/cat20Guard.scrypt.tpl +117 -0
- package/artifacts/.templates/cat20/cat20Guard.transformer.json +9 -0
- package/artifacts/.templates/cat20/cat20GuardStateLib.scrypt.map +1 -0
- package/artifacts/.templates/cat20/cat20GuardStateLib.scrypt.tpl +36 -0
- package/artifacts/.templates/cat20/cat20GuardStateLib.transformer.json +7 -0
- package/artifacts/.templates/cat20/cat20StateLib.scrypt.map +1 -0
- package/artifacts/.templates/cat20/cat20StateLib.scrypt.tpl +21 -0
- package/artifacts/.templates/cat20/cat20StateLib.transformer.json +7 -0
- package/artifacts/.templates/cat20/minters/cat20ClosedMinter.scrypt.map +1 -0
- package/artifacts/.templates/cat20/minters/cat20ClosedMinter.scrypt.tpl +61 -0
- package/artifacts/.templates/cat20/minters/cat20ClosedMinter.transformer.json +9 -0
- package/artifacts/.templates/cat20/minters/cat20ClosedMinterMetadata.scrypt.map +1 -0
- package/artifacts/.templates/cat20/minters/cat20ClosedMinterMetadata.scrypt.tpl +11 -0
- package/artifacts/.templates/cat20/minters/cat20ClosedMinterMetadata.transformer.json +7 -0
- package/artifacts/.templates/cat20/minters/cat20OpenMinter.scrypt.map +1 -0
- package/artifacts/.templates/cat20/minters/cat20OpenMinter.scrypt.tpl +94 -0
- package/artifacts/.templates/cat20/minters/cat20OpenMinter.transformer.json +9 -0
- package/artifacts/.templates/cat20/minters/cat20OpenMinterMetadata.scrypt.map +1 -0
- package/artifacts/.templates/cat20/minters/cat20OpenMinterMetadata.scrypt.tpl +11 -0
- package/artifacts/.templates/cat20/minters/cat20OpenMinterMetadata.transformer.json +7 -0
- package/artifacts/.templates/cat20/types.scrypt.map +1 -0
- package/artifacts/.templates/cat20/types.scrypt.tpl +45 -0
- package/artifacts/.templates/cat20/types.transformer.json +7 -0
- package/artifacts/.templates/cat20Incinerator.scrypt.map +1 -0
- package/artifacts/.templates/cat20Incinerator.scrypt.tpl +31 -0
- package/artifacts/.templates/cat20Incinerator.transformer.json +9 -0
- package/artifacts/.templates/constants.scrypt.map +1 -0
- package/artifacts/.templates/constants.scrypt.tpl +16 -0
- package/artifacts/.templates/constants.transformer.json +7 -0
- package/artifacts/.templates/counter.scrypt.map +1 -0
- package/artifacts/.templates/counter.scrypt.tpl +36 -0
- package/artifacts/.templates/counter.transformer.json +9 -0
- package/artifacts/.templates/p2pkh.scrypt.map +1 -0
- package/artifacts/.templates/p2pkh.scrypt.tpl +11 -0
- package/artifacts/.templates/p2pkh.transformer.json +7 -0
- package/artifacts/.templates/types.scrypt.map +1 -0
- package/artifacts/.templates/types.scrypt.tpl +6 -0
- package/artifacts/.templates/types.transformer.json +7 -0
- package/artifacts/.templates/utils/ownerUtils.scrypt.map +1 -0
- package/artifacts/.templates/utils/ownerUtils.scrypt.tpl +26 -0
- package/artifacts/.templates/utils/ownerUtils.transformer.json +7 -0
- package/artifacts/.templates/utils/safeMath.scrypt.map +1 -0
- package/artifacts/.templates/utils/safeMath.scrypt.tpl +11 -0
- package/artifacts/.templates/utils/safeMath.transformer.json +7 -0
- package/artifacts/cat20/cat20.json +477 -0
- package/artifacts/cat20/cat20.scrypt +62 -0
- package/artifacts/cat20/cat20Guard.json +447 -0
- package/artifacts/cat20/cat20Guard.scrypt +119 -0
- package/artifacts/cat20/cat20GuardStateLib.json +361 -0
- package/artifacts/cat20/cat20GuardStateLib.scrypt +38 -0
- package/artifacts/cat20/cat20StateLib.json +373 -0
- package/artifacts/cat20/cat20StateLib.scrypt +23 -0
- package/artifacts/cat20/minters/cat20ClosedMinter.json +477 -0
- package/artifacts/cat20/minters/cat20ClosedMinter.scrypt +63 -0
- package/artifacts/cat20/minters/cat20ClosedMinterMetadata.json +173 -0
- package/artifacts/cat20/minters/cat20ClosedMinterMetadata.scrypt +13 -0
- package/artifacts/cat20/minters/cat20OpenMinter.json +508 -0
- package/artifacts/cat20/minters/cat20OpenMinter.scrypt +96 -0
- package/artifacts/cat20/minters/cat20OpenMinterMetadata.json +173 -0
- package/artifacts/cat20/minters/cat20OpenMinterMetadata.scrypt +13 -0
- package/artifacts/cat20/types.json +159 -0
- package/artifacts/cat20/types.scrypt +47 -0
- package/artifacts/cat20Incinerator.json +396 -0
- package/artifacts/cat20Incinerator.scrypt +33 -0
- package/artifacts/constants.json +26 -0
- package/artifacts/constants.scrypt +18 -0
- package/artifacts/counter.json +253 -0
- package/artifacts/counter.scrypt +38 -0
- package/artifacts/p2pkh.json +229 -0
- package/artifacts/p2pkh.scrypt +13 -0
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +38 -0
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +93 -0
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +9 -0
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +96 -0
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +20 -0
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +48 -0
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +50 -0
- package/artifacts/types.json +33 -0
- package/artifacts/types.scrypt +8 -0
- package/artifacts/utils/ownerUtils.json +215 -0
- package/artifacts/utils/ownerUtils.scrypt +28 -0
- package/artifacts/utils/safeMath.json +215 -0
- package/artifacts/utils/safeMath.scrypt +13 -0
- package/dist/artifacts/.templates/cat20/cat20.scrypt.map +1 -0
- package/dist/artifacts/.templates/cat20/cat20.scrypt.tpl +60 -0
- package/dist/artifacts/.templates/cat20/cat20.transformer.json +9 -0
- package/dist/artifacts/.templates/cat20/cat20Guard.scrypt.map +1 -0
- package/dist/artifacts/.templates/cat20/cat20Guard.scrypt.tpl +117 -0
- package/dist/artifacts/.templates/cat20/cat20Guard.transformer.json +9 -0
- package/dist/artifacts/.templates/cat20/cat20GuardStateLib.scrypt.map +1 -0
- package/dist/artifacts/.templates/cat20/cat20GuardStateLib.scrypt.tpl +36 -0
- package/dist/artifacts/.templates/cat20/cat20GuardStateLib.transformer.json +7 -0
- package/dist/artifacts/.templates/cat20/cat20StateLib.scrypt.map +1 -0
- package/dist/artifacts/.templates/cat20/cat20StateLib.scrypt.tpl +21 -0
- package/dist/artifacts/.templates/cat20/cat20StateLib.transformer.json +7 -0
- package/dist/artifacts/.templates/cat20/minters/cat20ClosedMinter.scrypt.map +1 -0
- package/dist/artifacts/.templates/cat20/minters/cat20ClosedMinter.scrypt.tpl +61 -0
- package/dist/artifacts/.templates/cat20/minters/cat20ClosedMinter.transformer.json +9 -0
- package/dist/artifacts/.templates/cat20/minters/cat20ClosedMinterMetadata.scrypt.map +1 -0
- package/dist/artifacts/.templates/cat20/minters/cat20ClosedMinterMetadata.scrypt.tpl +11 -0
- package/dist/artifacts/.templates/cat20/minters/cat20ClosedMinterMetadata.transformer.json +7 -0
- package/dist/artifacts/.templates/cat20/minters/cat20OpenMinter.scrypt.map +1 -0
- package/dist/artifacts/.templates/cat20/minters/cat20OpenMinter.scrypt.tpl +94 -0
- package/dist/artifacts/.templates/cat20/minters/cat20OpenMinter.transformer.json +9 -0
- package/dist/artifacts/.templates/cat20/minters/cat20OpenMinterMetadata.scrypt.map +1 -0
- package/dist/artifacts/.templates/cat20/minters/cat20OpenMinterMetadata.scrypt.tpl +11 -0
- package/dist/artifacts/.templates/cat20/minters/cat20OpenMinterMetadata.transformer.json +7 -0
- package/dist/artifacts/.templates/cat20/types.scrypt.map +1 -0
- package/dist/artifacts/.templates/cat20/types.scrypt.tpl +45 -0
- package/dist/artifacts/.templates/cat20/types.transformer.json +7 -0
- package/dist/artifacts/.templates/cat20Incinerator.scrypt.map +1 -0
- package/dist/artifacts/.templates/cat20Incinerator.scrypt.tpl +31 -0
- package/dist/artifacts/.templates/cat20Incinerator.transformer.json +9 -0
- package/dist/artifacts/.templates/constants.scrypt.map +1 -0
- package/dist/artifacts/.templates/constants.scrypt.tpl +16 -0
- package/dist/artifacts/.templates/constants.transformer.json +7 -0
- package/dist/artifacts/.templates/counter.scrypt.map +1 -0
- package/dist/artifacts/.templates/counter.scrypt.tpl +36 -0
- package/dist/artifacts/.templates/counter.transformer.json +9 -0
- package/dist/artifacts/.templates/p2pkh.scrypt.map +1 -0
- package/dist/artifacts/.templates/p2pkh.scrypt.tpl +11 -0
- package/dist/artifacts/.templates/p2pkh.transformer.json +7 -0
- package/dist/artifacts/.templates/types.scrypt.map +1 -0
- package/dist/artifacts/.templates/types.scrypt.tpl +6 -0
- package/dist/artifacts/.templates/types.transformer.json +7 -0
- package/dist/artifacts/.templates/utils/ownerUtils.scrypt.map +1 -0
- package/dist/artifacts/.templates/utils/ownerUtils.scrypt.tpl +26 -0
- package/dist/artifacts/.templates/utils/ownerUtils.transformer.json +7 -0
- package/dist/artifacts/.templates/utils/safeMath.scrypt.map +1 -0
- package/dist/artifacts/.templates/utils/safeMath.scrypt.tpl +11 -0
- package/dist/artifacts/.templates/utils/safeMath.transformer.json +7 -0
- package/dist/artifacts/cat20/cat20.json +477 -0
- package/dist/artifacts/cat20/cat20.scrypt +62 -0
- package/dist/artifacts/cat20/cat20Guard.json +447 -0
- package/dist/artifacts/cat20/cat20Guard.scrypt +119 -0
- package/dist/artifacts/cat20/cat20GuardStateLib.json +361 -0
- package/dist/artifacts/cat20/cat20GuardStateLib.scrypt +38 -0
- package/dist/artifacts/cat20/cat20StateLib.json +373 -0
- package/dist/artifacts/cat20/cat20StateLib.scrypt +23 -0
- package/dist/artifacts/cat20/minters/cat20ClosedMinter.json +477 -0
- package/dist/artifacts/cat20/minters/cat20ClosedMinter.scrypt +63 -0
- package/dist/artifacts/cat20/minters/cat20ClosedMinterMetadata.json +173 -0
- package/dist/artifacts/cat20/minters/cat20ClosedMinterMetadata.scrypt +13 -0
- package/dist/artifacts/cat20/minters/cat20OpenMinter.json +508 -0
- package/dist/artifacts/cat20/minters/cat20OpenMinter.scrypt +96 -0
- package/dist/artifacts/cat20/minters/cat20OpenMinterMetadata.json +173 -0
- package/dist/artifacts/cat20/minters/cat20OpenMinterMetadata.scrypt +13 -0
- package/dist/artifacts/cat20/types.json +159 -0
- package/dist/artifacts/cat20/types.scrypt +47 -0
- package/dist/artifacts/cat20Incinerator.json +396 -0
- package/dist/artifacts/cat20Incinerator.scrypt +33 -0
- package/dist/artifacts/constants.json +26 -0
- package/dist/artifacts/constants.scrypt +18 -0
- package/dist/artifacts/counter.json +253 -0
- package/dist/artifacts/counter.scrypt +38 -0
- package/dist/artifacts/p2pkh.json +229 -0
- package/dist/artifacts/p2pkh.scrypt +13 -0
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +38 -0
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +93 -0
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +9 -0
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +96 -0
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +20 -0
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +48 -0
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +50 -0
- package/dist/artifacts/types.json +33 -0
- package/dist/artifacts/types.scrypt +8 -0
- package/dist/artifacts/utils/ownerUtils.json +215 -0
- package/dist/artifacts/utils/ownerUtils.scrypt +28 -0
- package/dist/artifacts/utils/safeMath.json +215 -0
- package/dist/artifacts/utils/safeMath.scrypt +13 -0
- package/dist/cjs/contracts/cat20/cat20.js +74 -0
- package/dist/cjs/contracts/cat20/cat20.js.map +1 -0
- package/dist/cjs/contracts/cat20/cat20Guard.js +169 -0
- package/dist/cjs/contracts/cat20/cat20Guard.js.map +1 -0
- package/dist/cjs/contracts/cat20/cat20GuardStateLib.js +72 -0
- package/dist/cjs/contracts/cat20/cat20GuardStateLib.js.map +1 -0
- package/dist/cjs/contracts/cat20/cat20StateLib.js +37 -0
- package/dist/cjs/contracts/cat20/cat20StateLib.js.map +1 -0
- package/dist/cjs/contracts/cat20/minters/cat20ClosedMinter.js +77 -0
- package/dist/cjs/contracts/cat20/minters/cat20ClosedMinter.js.map +1 -0
- package/dist/cjs/contracts/cat20/minters/cat20ClosedMinterMetadata.js +18 -0
- package/dist/cjs/contracts/cat20/minters/cat20ClosedMinterMetadata.js.map +1 -0
- package/dist/cjs/contracts/cat20/minters/cat20OpenMinter.js +138 -0
- package/dist/cjs/contracts/cat20/minters/cat20OpenMinter.js.map +1 -0
- package/dist/cjs/contracts/cat20/minters/cat20OpenMinterMetadata.js +22 -0
- package/dist/cjs/contracts/cat20/minters/cat20OpenMinterMetadata.js.map +1 -0
- package/dist/cjs/contracts/cat20/types.js +3 -0
- package/dist/cjs/contracts/cat20/types.js.map +1 -0
- package/dist/cjs/contracts/cat20Incinerator.js +45 -0
- package/dist/cjs/contracts/cat20Incinerator.js.map +1 -0
- package/dist/cjs/contracts/constants.js +110 -0
- package/dist/cjs/contracts/constants.js.map +1 -0
- package/dist/cjs/contracts/counter.js +29 -0
- package/dist/cjs/contracts/counter.js.map +1 -0
- package/dist/cjs/contracts/index.js +32 -0
- package/dist/cjs/contracts/index.js.map +1 -0
- package/dist/cjs/contracts/p2pkh.js +35 -0
- package/dist/cjs/contracts/p2pkh.js.map +1 -0
- package/dist/cjs/contracts/types.js +3 -0
- package/dist/cjs/contracts/types.js.map +1 -0
- package/dist/cjs/contracts/utils/ownerUtils.js +78 -0
- package/dist/cjs/contracts/utils/ownerUtils.js.map +1 -0
- package/dist/cjs/contracts/utils/safeMath.js +28 -0
- package/dist/cjs/contracts/utils/safeMath.js.map +1 -0
- package/dist/cjs/features/cat20/burn/burn.js +91 -0
- package/dist/cjs/features/cat20/burn/burn.js.map +1 -0
- package/dist/cjs/features/cat20/deploy/openMinter.js +135 -0
- package/dist/cjs/features/cat20/deploy/openMinter.js.map +1 -0
- package/dist/cjs/features/cat20/incinerate.js +108 -0
- package/dist/cjs/features/cat20/incinerate.js.map +1 -0
- package/dist/cjs/features/cat20/mint/openMinter.js +37 -0
- package/dist/cjs/features/cat20/mint/openMinter.js.map +1 -0
- package/dist/cjs/features/cat20/send/contractSend.js +130 -0
- package/dist/cjs/features/cat20/send/contractSend.js.map +1 -0
- package/dist/cjs/features/cat20/send/singleSend.js +172 -0
- package/dist/cjs/features/cat20/send/singleSend.js.map +1 -0
- package/dist/cjs/features/index.js +19 -0
- package/dist/cjs/features/index.js.map +1 -0
- package/dist/cjs/index.js +35 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/lib/index.js +19 -0
- package/dist/cjs/lib/index.js.map +1 -0
- package/dist/cjs/lib/metadata.js +32 -0
- package/dist/cjs/lib/metadata.js.map +1 -0
- package/dist/cjs/typeConstants.js +18 -0
- package/dist/cjs/typeConstants.js.map +1 -0
- package/dist/cjs/utils/check.js +24 -0
- package/dist/cjs/utils/check.js.map +1 -0
- package/dist/cjs/utils/contractPeripheral.js +189 -0
- package/dist/cjs/utils/contractPeripheral.js.map +1 -0
- package/dist/cjs/utils/index.js +223 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/loadAllArtifacts.js +39 -0
- package/dist/cjs/utils/loadAllArtifacts.js.map +1 -0
- package/dist/esm/contracts/cat20/cat20.js +72 -0
- package/dist/esm/contracts/cat20/cat20.js.map +1 -0
- package/dist/esm/contracts/cat20/cat20Guard.js +165 -0
- package/dist/esm/contracts/cat20/cat20Guard.js.map +1 -0
- package/dist/esm/contracts/cat20/cat20GuardStateLib.js +68 -0
- package/dist/esm/contracts/cat20/cat20GuardStateLib.js.map +1 -0
- package/dist/esm/contracts/cat20/cat20StateLib.js +33 -0
- package/dist/esm/contracts/cat20/cat20StateLib.js.map +1 -0
- package/dist/esm/contracts/cat20/minters/cat20ClosedMinter.js +75 -0
- package/dist/esm/contracts/cat20/minters/cat20ClosedMinter.js.map +1 -0
- package/dist/esm/contracts/cat20/minters/cat20ClosedMinterMetadata.js +14 -0
- package/dist/esm/contracts/cat20/minters/cat20ClosedMinterMetadata.js.map +1 -0
- package/dist/esm/contracts/cat20/minters/cat20OpenMinter.js +142 -0
- package/dist/esm/contracts/cat20/minters/cat20OpenMinter.js.map +1 -0
- package/dist/esm/contracts/cat20/minters/cat20OpenMinterMetadata.js +18 -0
- package/dist/esm/contracts/cat20/minters/cat20OpenMinterMetadata.js.map +1 -0
- package/dist/esm/contracts/cat20/types.js +2 -0
- package/dist/esm/contracts/cat20/types.js.map +1 -0
- package/dist/esm/contracts/cat20Incinerator.js +42 -0
- package/dist/esm/contracts/cat20Incinerator.js.map +1 -0
- package/dist/esm/contracts/constants.js +106 -0
- package/dist/esm/contracts/constants.js.map +1 -0
- package/dist/esm/contracts/counter.js +25 -0
- package/dist/esm/contracts/counter.js.map +1 -0
- package/dist/esm/contracts/index.js +16 -0
- package/dist/esm/contracts/index.js.map +1 -0
- package/dist/esm/contracts/p2pkh.js +32 -0
- package/dist/esm/contracts/p2pkh.js.map +1 -0
- package/dist/esm/contracts/types.js +2 -0
- package/dist/esm/contracts/types.js.map +1 -0
- package/dist/esm/contracts/utils/ownerUtils.js +74 -0
- package/dist/esm/contracts/utils/ownerUtils.js.map +1 -0
- package/dist/esm/contracts/utils/safeMath.js +24 -0
- package/dist/esm/contracts/utils/safeMath.js.map +1 -0
- package/dist/esm/features/cat20/burn/burn.js +87 -0
- package/dist/esm/features/cat20/burn/burn.js.map +1 -0
- package/dist/esm/features/cat20/deploy/openMinter.js +130 -0
- package/dist/esm/features/cat20/deploy/openMinter.js.map +1 -0
- package/dist/esm/features/cat20/incinerate.js +104 -0
- package/dist/esm/features/cat20/incinerate.js.map +1 -0
- package/dist/esm/features/cat20/mint/openMinter.js +33 -0
- package/dist/esm/features/cat20/mint/openMinter.js.map +1 -0
- package/dist/esm/features/cat20/send/contractSend.js +126 -0
- package/dist/esm/features/cat20/send/contractSend.js.map +1 -0
- package/dist/esm/features/cat20/send/singleSend.js +142 -0
- package/dist/esm/features/cat20/send/singleSend.js.map +1 -0
- package/dist/esm/features/index.js +7 -0
- package/dist/esm/features/index.js.map +1 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/index.js +3 -0
- package/dist/esm/lib/index.js.map +1 -0
- package/dist/esm/lib/metadata.js +28 -0
- package/dist/esm/lib/metadata.js.map +1 -0
- package/dist/esm/typeConstants.js +15 -0
- package/dist/esm/typeConstants.js.map +1 -0
- package/dist/esm/utils/check.js +19 -0
- package/dist/esm/utils/check.js.map +1 -0
- package/dist/esm/utils/contractPeripheral.js +183 -0
- package/dist/esm/utils/contractPeripheral.js.map +1 -0
- package/dist/esm/utils/index.js +184 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/loadAllArtifacts.js +32 -0
- package/dist/esm/utils/loadAllArtifacts.js.map +1 -0
- package/dist/types/contracts/cat20/cat20.d.ts +12 -0
- package/dist/types/contracts/cat20/cat20.d.ts.map +1 -0
- package/dist/types/contracts/cat20/cat20Guard.d.ts +8 -0
- package/dist/types/contracts/cat20/cat20Guard.d.ts.map +1 -0
- package/dist/types/contracts/cat20/cat20GuardStateLib.d.ts +13 -0
- package/dist/types/contracts/cat20/cat20GuardStateLib.d.ts.map +1 -0
- package/dist/types/contracts/cat20/cat20StateLib.d.ts +7 -0
- package/dist/types/contracts/cat20/cat20StateLib.d.ts.map +1 -0
- package/dist/types/contracts/cat20/minters/cat20ClosedMinter.d.ts +10 -0
- package/dist/types/contracts/cat20/minters/cat20ClosedMinter.d.ts.map +1 -0
- package/dist/types/contracts/cat20/minters/cat20ClosedMinterMetadata.d.ts +6 -0
- package/dist/types/contracts/cat20/minters/cat20ClosedMinterMetadata.d.ts.map +1 -0
- package/dist/types/contracts/cat20/minters/cat20OpenMinter.d.ts +16 -0
- package/dist/types/contracts/cat20/minters/cat20OpenMinter.d.ts.map +1 -0
- package/dist/types/contracts/cat20/minters/cat20OpenMinterMetadata.d.ts +6 -0
- package/dist/types/contracts/cat20/minters/cat20OpenMinterMetadata.d.ts.map +1 -0
- package/dist/types/contracts/cat20/types.d.ts +58 -0
- package/dist/types/contracts/cat20/types.d.ts.map +1 -0
- package/dist/types/contracts/cat20Incinerator.d.ts +8 -0
- package/dist/types/contracts/cat20Incinerator.d.ts.map +1 -0
- package/dist/types/contracts/constants.d.ts +33 -0
- package/dist/types/contracts/constants.d.ts.map +1 -0
- package/dist/types/contracts/counter.d.ts +8 -0
- package/dist/types/contracts/counter.d.ts.map +1 -0
- package/dist/types/contracts/index.d.ts +16 -0
- package/dist/types/contracts/index.d.ts.map +1 -0
- package/dist/types/contracts/p2pkh.d.ts +7 -0
- package/dist/types/contracts/p2pkh.d.ts.map +1 -0
- package/dist/types/contracts/types.d.ts +9 -0
- package/dist/types/contracts/types.d.ts.map +1 -0
- package/dist/types/contracts/utils/ownerUtils.d.ts +19 -0
- package/dist/types/contracts/utils/ownerUtils.d.ts.map +1 -0
- package/dist/types/contracts/utils/safeMath.d.ts +5 -0
- package/dist/types/contracts/utils/safeMath.d.ts.map +1 -0
- package/dist/types/features/cat20/burn/burn.d.ts +6 -0
- package/dist/types/features/cat20/burn/burn.d.ts.map +1 -0
- package/dist/types/features/cat20/deploy/openMinter.d.ts +11 -0
- package/dist/types/features/cat20/deploy/openMinter.d.ts.map +1 -0
- package/dist/types/features/cat20/incinerate.d.ts +6 -0
- package/dist/types/features/cat20/incinerate.d.ts.map +1 -0
- package/dist/types/features/cat20/mint/openMinter.d.ts +7 -0
- package/dist/types/features/cat20/mint/openMinter.d.ts.map +1 -0
- package/dist/types/features/cat20/send/contractSend.d.ts +14 -0
- package/dist/types/features/cat20/send/contractSend.d.ts.map +1 -0
- package/dist/types/features/cat20/send/singleSend.d.ts +33 -0
- package/dist/types/features/cat20/send/singleSend.d.ts.map +1 -0
- package/dist/types/features/index.d.ts +7 -0
- package/dist/types/features/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/lib/index.d.ts +2 -0
- package/dist/types/lib/index.d.ts.map +1 -0
- package/dist/types/lib/metadata.d.ts +18 -0
- package/dist/types/lib/metadata.d.ts.map +1 -0
- package/dist/types/typeConstants.d.ts +31 -0
- package/dist/types/typeConstants.d.ts.map +1 -0
- package/dist/types/utils/check.d.ts +3 -0
- package/dist/types/utils/check.d.ts.map +1 -0
- package/dist/types/utils/contractPeripheral.d.ts +45 -0
- package/dist/types/utils/contractPeripheral.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +29 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/loadAllArtifacts.d.ts +2 -0
- package/dist/types/utils/loadAllArtifacts.d.ts.map +1 -0
- package/package.json +76 -0
- package/scrypt.index.json +132 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import "../types.scrypt";
|
|
2
|
+
import "../../scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt";
|
|
3
|
+
import "cat20OpenMinterMetadata.scrypt";
|
|
4
|
+
import "../../scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt";
|
|
5
|
+
import "../../scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt";
|
|
6
|
+
import "../../constants.scrypt";
|
|
7
|
+
import "../cat20StateLib.scrypt";
|
|
8
|
+
import "../../utils/ownerUtils.scrypt";
|
|
9
|
+
import "../../scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt";
|
|
10
|
+
import "../../scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt";
|
|
11
|
+
import "../../scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt";
|
|
12
|
+
import "../../scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt";
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
contract _opcat_labs_cat_sdk_1_0_1__rs__CAT20OpenMinter {
|
|
18
|
+
bytes genesisOutpoint;
|
|
19
|
+
int maxCount;
|
|
20
|
+
int premine;
|
|
21
|
+
int premineCount;
|
|
22
|
+
int limit;
|
|
23
|
+
bytes preminerAddr;
|
|
24
|
+
constructor(bytes genesisOutpoint, int maxCount, int premine, int premineCount, int limit, bytes premineAddr) {
|
|
25
|
+
this.genesisOutpoint = genesisOutpoint;
|
|
26
|
+
this.maxCount = maxCount;
|
|
27
|
+
this.premine = premine;
|
|
28
|
+
this.premineCount = premineCount;
|
|
29
|
+
this.limit = limit;
|
|
30
|
+
this.preminerAddr = premineAddr;
|
|
31
|
+
}
|
|
32
|
+
public function mint(_opcat_labs_cat_sdk_1_0_1__rs__CAT20State tokenMint, int[2] nextRemainingCounts, PubKey preminerPubKey, Sig preminerSig, int minterSatoshis, int tokenSatoshis, _opcat_labs_scrypt_ts_opcat_1_0_3__rs__BacktraceInfo backtraceInfo, _opcat_labs_cat_sdk_1_0_1__rs__OpenMinterCAT20Meta metadata, _opcat_labs_scrypt_ts_opcat_1_0_3__rs__SHPreimage __scrypt_ts_shPreimage, _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxOut __scrypt_ts_changeInfo, _opcat_labs_cat_sdk_1_0_1__rs__CAT20OpenMinterState __scrypt_ts_curState, bytes __scrypt_ts_prevouts, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes, bytes __scrypt_ts_spentScriptHashes, _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxHashPreimage __scrypt_ts_prevTxHashPreimage) {
|
|
33
|
+
require(Tx.checkPreimageSigHashType(_opcat_labs_scrypt_ts_opcat_1_0_3__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage), SigHash.ALL));
|
|
34
|
+
|
|
35
|
+
int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_1_0_3__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
|
|
36
|
+
|
|
37
|
+
_opcat_labs_scrypt_ts_opcat_1_0_3__rs__Outpoint __scrypt_ts_prevout = _opcat_labs_scrypt_ts_opcat_1_0_3__rs__ContextUtils.checkPrevouts(__scrypt_ts_prevouts, __scrypt_ts_shPreimage.hashPrevouts, __scrypt_ts_shPreimage.inputIndex, __scrypt_ts_inputCount);
|
|
38
|
+
|
|
39
|
+
_opcat_labs_scrypt_ts_opcat_1_0_3__rs__ContextUtils.checkSpentScripts(__scrypt_ts_spentScriptHashes, __scrypt_ts_shPreimage.hashSpentScriptHashes, __scrypt_ts_inputCount);
|
|
40
|
+
|
|
41
|
+
_opcat_labs_scrypt_ts_opcat_1_0_3__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
|
|
42
|
+
|
|
43
|
+
_opcat_labs_cat_sdk_1_0_1__rs__CAT20OpenMinterState __scrypt_ts_nextState = __scrypt_ts_curState;
|
|
44
|
+
|
|
45
|
+
_opcat_labs_scrypt_ts_opcat_1_0_3__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_1_0_1__rs__CAT20OpenMinter.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
|
|
46
|
+
|
|
47
|
+
_opcat_labs_scrypt_ts_opcat_1_0_3__rs__Backtrace.checkPrevTxHashPreimage(__scrypt_ts_prevTxHashPreimage, __scrypt_ts_prevouts, __scrypt_ts_shPreimage.inputIndex);
|
|
48
|
+
|
|
49
|
+
_opcat_labs_scrypt_ts_opcat_1_0_3__rs__Backtrace.verifyFromOutpoint(backtraceInfo, this.genesisOutpoint, __scrypt_ts_spentScriptHashes[__scrypt_ts_shPreimage.inputIndex * 32 : (__scrypt_ts_shPreimage.inputIndex + 1) * 32], __scrypt_ts_prevTxHashPreimage.inputList);
|
|
50
|
+
if(!__scrypt_ts_nextState.hasMintedBefore) {
|
|
51
|
+
require(metadata.premine == this.premine);
|
|
52
|
+
require(metadata.preminerAddr == this.preminerAddr);
|
|
53
|
+
require(metadata.limit == this.limit);
|
|
54
|
+
require(this.premine == this.premineCount * this.limit);
|
|
55
|
+
require(metadata.max == this.maxCount * this.limit);
|
|
56
|
+
bytes metadataHash = _opcat_labs_cat_sdk_1_0_1__rs__CAT20OpenMinterMetadata.stateHash(metadata);
|
|
57
|
+
bytes metadataOutput = _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxHashPreimageUtils.getOutputByteString(backtraceInfo.prevPrevTxPreimage, backtraceInfo.prevTxInput.prevOutputIndex);
|
|
58
|
+
require(metadataHash == metadataOutput[40 : 40 + 32]);
|
|
59
|
+
}
|
|
60
|
+
bytes minterOutputs = b'';
|
|
61
|
+
int sumNextRemainingCount = 0;
|
|
62
|
+
loop (2) : i {
|
|
63
|
+
int remainingCount = nextRemainingCounts[i];
|
|
64
|
+
if(remainingCount > 0) {
|
|
65
|
+
sumNextRemainingCount += remainingCount;
|
|
66
|
+
minterOutputs += _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxUtils.buildDataOutput(__scrypt_ts_shPreimage.spentScriptHash, minterSatoshis, sha256(_opcat_labs_cat_sdk_1_0_1__rs__CAT20OpenMinter.serializeState({_opcat_labs_cat_sdk_1_0_1__rs__ConstantsLib.OPCAT_MINTER_TAG, __scrypt_ts_nextState.tokenScriptHash, true, remainingCount})));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
Sha256 tokenStateHash = sha256(_opcat_labs_cat_sdk_1_0_1__rs__CAT20StateLib.serializeState(tokenMint));
|
|
70
|
+
bytes tokenOutput = _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxUtils.buildDataOutput(__scrypt_ts_nextState.tokenScriptHash, tokenSatoshis, tokenStateHash);
|
|
71
|
+
if(!__scrypt_ts_nextState.hasMintedBefore && this.premine > 0) {
|
|
72
|
+
require(this.maxCount == __scrypt_ts_nextState.remainingCount + this.premineCount);
|
|
73
|
+
_opcat_labs_cat_sdk_1_0_1__rs__OwnerUtils.checkUserOwner(preminerPubKey, this.preminerAddr);
|
|
74
|
+
require(checkSig(preminerSig, preminerPubKey));
|
|
75
|
+
require(sumNextRemainingCount == __scrypt_ts_nextState.remainingCount);
|
|
76
|
+
require(tokenMint.amount == this.premine);
|
|
77
|
+
} else {
|
|
78
|
+
if(!__scrypt_ts_nextState.hasMintedBefore) {
|
|
79
|
+
require(this.maxCount == __scrypt_ts_nextState.remainingCount);
|
|
80
|
+
require(this.premineCount == 0);
|
|
81
|
+
require(this.premine == 0);
|
|
82
|
+
}
|
|
83
|
+
require(sumNextRemainingCount == __scrypt_ts_nextState.remainingCount - 1);
|
|
84
|
+
require(tokenMint.amount == this.limit);
|
|
85
|
+
}
|
|
86
|
+
bytes changeOutput =
|
|
87
|
+
(__scrypt_ts_changeInfo.satoshis > 0 ? _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxUtils.buildOutput(__scrypt_ts_changeInfo.scriptHash, __scrypt_ts_changeInfo.satoshis) : b'');
|
|
88
|
+
require(hash256(minterOutputs + tokenOutput + changeOutput) == __scrypt_ts_shPreimage.hashOutputs);
|
|
89
|
+
}
|
|
90
|
+
static function serializeState(_opcat_labs_cat_sdk_1_0_1__rs__CAT20OpenMinterState __scrypt_ts_curState): bytes {
|
|
91
|
+
return num2bin(len(__scrypt_ts_curState.tag), 2) + __scrypt_ts_curState.tag + num2bin(len(__scrypt_ts_curState.tokenScriptHash), 2) + __scrypt_ts_curState.tokenScriptHash + num2bin(len((__scrypt_ts_curState.hasMintedBefore ? b'01' : b'')), 2) + (__scrypt_ts_curState.hasMintedBefore ? b'01' : b'') + num2bin(len(pack(__scrypt_ts_curState.remainingCount)), 2) + pack(__scrypt_ts_curState.remainingCount) + hash160(hash160(__scrypt_ts_curState.tag) + hash160(__scrypt_ts_curState.tokenScriptHash) + hash160(__scrypt_ts_curState.hasMintedBefore ? b'01' : b'') + hash160(pack(__scrypt_ts_curState.remainingCount)));
|
|
92
|
+
}
|
|
93
|
+
static function stateHash(_opcat_labs_cat_sdk_1_0_1__rs__CAT20OpenMinterState __scrypt_ts_curState): bytes {
|
|
94
|
+
return sha256(num2bin(len(__scrypt_ts_curState.tag), 2) + __scrypt_ts_curState.tag + num2bin(len(__scrypt_ts_curState.tokenScriptHash), 2) + __scrypt_ts_curState.tokenScriptHash + num2bin(len((__scrypt_ts_curState.hasMintedBefore ? b'01' : b'')), 2) + (__scrypt_ts_curState.hasMintedBefore ? b'01' : b'') + num2bin(len(pack(__scrypt_ts_curState.remainingCount)), 2) + pack(__scrypt_ts_curState.remainingCount) + hash160(hash160(__scrypt_ts_curState.tag) + hash160(__scrypt_ts_curState.tokenScriptHash) + hash160(__scrypt_ts_curState.hasMintedBefore ? b'01' : b'') + hash160(pack(__scrypt_ts_curState.remainingCount))));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 10,
|
|
3
|
+
"compilerVersion": "1.21.0+commit.2ada378",
|
|
4
|
+
"contract": "_opcat_labs_cat_sdk_1_0_1__rs__CAT20OpenMinterMetadata",
|
|
5
|
+
"md5": "d41d8cd98f00b204e9800998ecf8427e",
|
|
6
|
+
"structs": [
|
|
7
|
+
{
|
|
8
|
+
"name": "_opcat_labs_cat_sdk_1_0_1__rs__CAT20GuardConstState",
|
|
9
|
+
"params": [
|
|
10
|
+
{
|
|
11
|
+
"name": "tokenScriptHashes",
|
|
12
|
+
"type": "bytes[4]"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "tokenAmounts",
|
|
16
|
+
"type": "int[4]"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "tokenBurnAmounts",
|
|
20
|
+
"type": "int[4]"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "tokenScriptIndexes",
|
|
24
|
+
"type": "int[6]"
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"genericTypes": []
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"name": "_opcat_labs_cat_sdk_1_0_1__rs__CAT20State",
|
|
31
|
+
"params": [
|
|
32
|
+
{
|
|
33
|
+
"name": "tag",
|
|
34
|
+
"type": "bytes"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "ownerAddr",
|
|
38
|
+
"type": "bytes"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "amount",
|
|
42
|
+
"type": "int"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"genericTypes": []
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "_opcat_labs_cat_sdk_1_0_1__rs__CAT20ClosedMinterState",
|
|
49
|
+
"params": [
|
|
50
|
+
{
|
|
51
|
+
"name": "tag",
|
|
52
|
+
"type": "bytes"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "tokenScriptHash",
|
|
56
|
+
"type": "bytes"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"genericTypes": []
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "_opcat_labs_cat_sdk_1_0_1__rs__ClosedMinterCAT20Meta",
|
|
63
|
+
"params": [
|
|
64
|
+
{
|
|
65
|
+
"name": "tag",
|
|
66
|
+
"type": "bytes"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "name",
|
|
70
|
+
"type": "bytes"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "symbol",
|
|
74
|
+
"type": "bytes"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "decimals",
|
|
78
|
+
"type": "int"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "minterMd5",
|
|
82
|
+
"type": "bytes"
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"genericTypes": []
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "_opcat_labs_cat_sdk_1_0_1__rs__OpenMinterCAT20Meta",
|
|
89
|
+
"params": [
|
|
90
|
+
{
|
|
91
|
+
"name": "tag",
|
|
92
|
+
"type": "bytes"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "name",
|
|
96
|
+
"type": "bytes"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "symbol",
|
|
100
|
+
"type": "bytes"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"name": "decimals",
|
|
104
|
+
"type": "int"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "minterMd5",
|
|
108
|
+
"type": "bytes"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"name": "max",
|
|
112
|
+
"type": "int"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": "limit",
|
|
116
|
+
"type": "int"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "premine",
|
|
120
|
+
"type": "int"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "preminerAddr",
|
|
124
|
+
"type": "bytes"
|
|
125
|
+
}
|
|
126
|
+
],
|
|
127
|
+
"genericTypes": []
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "_opcat_labs_cat_sdk_1_0_1__rs__CAT20OpenMinterState",
|
|
131
|
+
"params": [
|
|
132
|
+
{
|
|
133
|
+
"name": "tag",
|
|
134
|
+
"type": "bytes"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"name": "tokenScriptHash",
|
|
138
|
+
"type": "bytes"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"name": "hasMintedBefore",
|
|
142
|
+
"type": "bool"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"name": "remainingCount",
|
|
146
|
+
"type": "int"
|
|
147
|
+
}
|
|
148
|
+
],
|
|
149
|
+
"genericTypes": []
|
|
150
|
+
}
|
|
151
|
+
],
|
|
152
|
+
"library": [
|
|
153
|
+
{
|
|
154
|
+
"name": "_opcat_labs_cat_sdk_1_0_1__rs__CAT20OpenMinterMetadata",
|
|
155
|
+
"params": [],
|
|
156
|
+
"properties": [],
|
|
157
|
+
"genericTypes": [],
|
|
158
|
+
"stateType": "_opcat_labs_cat_sdk_1_0_1__rs__OpenMinterCAT20Meta"
|
|
159
|
+
}
|
|
160
|
+
],
|
|
161
|
+
"alias": [],
|
|
162
|
+
"abi": [
|
|
163
|
+
{
|
|
164
|
+
"type": "constructor",
|
|
165
|
+
"params": []
|
|
166
|
+
}
|
|
167
|
+
],
|
|
168
|
+
"stateProps": [],
|
|
169
|
+
"stateType": "_opcat_labs_cat_sdk_1_0_1__rs__OpenMinterCAT20Meta",
|
|
170
|
+
"buildType": "release",
|
|
171
|
+
"file": "..\\cat20OpenMinterMetadata.scrypt",
|
|
172
|
+
"hex": ""
|
|
173
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import "../types.scrypt";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
library _opcat_labs_cat_sdk_1_0_1__rs__CAT20OpenMinterMetadata {
|
|
7
|
+
static function serializeState(_opcat_labs_cat_sdk_1_0_1__rs__OpenMinterCAT20Meta __scrypt_ts_curState): bytes {
|
|
8
|
+
return num2bin(len(__scrypt_ts_curState.tag), 2) + __scrypt_ts_curState.tag + num2bin(len(__scrypt_ts_curState.name), 2) + __scrypt_ts_curState.name + num2bin(len(__scrypt_ts_curState.symbol), 2) + __scrypt_ts_curState.symbol + num2bin(len(pack(__scrypt_ts_curState.decimals)), 2) + pack(__scrypt_ts_curState.decimals) + num2bin(len(__scrypt_ts_curState.minterMd5), 2) + __scrypt_ts_curState.minterMd5 + num2bin(len(pack(__scrypt_ts_curState.max)), 2) + pack(__scrypt_ts_curState.max) + num2bin(len(pack(__scrypt_ts_curState.limit)), 2) + pack(__scrypt_ts_curState.limit) + num2bin(len(pack(__scrypt_ts_curState.premine)), 2) + pack(__scrypt_ts_curState.premine) + num2bin(len(__scrypt_ts_curState.preminerAddr), 2) + __scrypt_ts_curState.preminerAddr + hash160(hash160(__scrypt_ts_curState.tag) + hash160(__scrypt_ts_curState.name) + hash160(__scrypt_ts_curState.symbol) + hash160(pack(__scrypt_ts_curState.decimals)) + hash160(__scrypt_ts_curState.minterMd5) + hash160(pack(__scrypt_ts_curState.max)) + hash160(pack(__scrypt_ts_curState.limit)) + hash160(pack(__scrypt_ts_curState.premine)) + hash160(__scrypt_ts_curState.preminerAddr));
|
|
9
|
+
}
|
|
10
|
+
static function stateHash(_opcat_labs_cat_sdk_1_0_1__rs__OpenMinterCAT20Meta __scrypt_ts_curState): bytes {
|
|
11
|
+
return sha256(num2bin(len(__scrypt_ts_curState.tag), 2) + __scrypt_ts_curState.tag + num2bin(len(__scrypt_ts_curState.name), 2) + __scrypt_ts_curState.name + num2bin(len(__scrypt_ts_curState.symbol), 2) + __scrypt_ts_curState.symbol + num2bin(len(pack(__scrypt_ts_curState.decimals)), 2) + pack(__scrypt_ts_curState.decimals) + num2bin(len(__scrypt_ts_curState.minterMd5), 2) + __scrypt_ts_curState.minterMd5 + num2bin(len(pack(__scrypt_ts_curState.max)), 2) + pack(__scrypt_ts_curState.max) + num2bin(len(pack(__scrypt_ts_curState.limit)), 2) + pack(__scrypt_ts_curState.limit) + num2bin(len(pack(__scrypt_ts_curState.premine)), 2) + pack(__scrypt_ts_curState.premine) + num2bin(len(__scrypt_ts_curState.preminerAddr), 2) + __scrypt_ts_curState.preminerAddr + hash160(hash160(__scrypt_ts_curState.tag) + hash160(__scrypt_ts_curState.name) + hash160(__scrypt_ts_curState.symbol) + hash160(pack(__scrypt_ts_curState.decimals)) + hash160(__scrypt_ts_curState.minterMd5) + hash160(pack(__scrypt_ts_curState.max)) + hash160(pack(__scrypt_ts_curState.limit)) + hash160(pack(__scrypt_ts_curState.premine)) + hash160(__scrypt_ts_curState.preminerAddr)));
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,159 @@
|
|
|
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__CAT20GuardConstState",
|
|
9
|
+
"params": [
|
|
10
|
+
{
|
|
11
|
+
"name": "tokenScriptHashes",
|
|
12
|
+
"type": "bytes[4]"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "tokenAmounts",
|
|
16
|
+
"type": "int[4]"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "tokenBurnAmounts",
|
|
20
|
+
"type": "int[4]"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "tokenScriptIndexes",
|
|
24
|
+
"type": "int[6]"
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"genericTypes": []
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"name": "_opcat_labs_cat_sdk_1_0_1__rs__CAT20State",
|
|
31
|
+
"params": [
|
|
32
|
+
{
|
|
33
|
+
"name": "tag",
|
|
34
|
+
"type": "bytes"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "ownerAddr",
|
|
38
|
+
"type": "bytes"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "amount",
|
|
42
|
+
"type": "int"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"genericTypes": []
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "_opcat_labs_cat_sdk_1_0_1__rs__CAT20ClosedMinterState",
|
|
49
|
+
"params": [
|
|
50
|
+
{
|
|
51
|
+
"name": "tag",
|
|
52
|
+
"type": "bytes"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "tokenScriptHash",
|
|
56
|
+
"type": "bytes"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"genericTypes": []
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "_opcat_labs_cat_sdk_1_0_1__rs__ClosedMinterCAT20Meta",
|
|
63
|
+
"params": [
|
|
64
|
+
{
|
|
65
|
+
"name": "tag",
|
|
66
|
+
"type": "bytes"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "name",
|
|
70
|
+
"type": "bytes"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "symbol",
|
|
74
|
+
"type": "bytes"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "decimals",
|
|
78
|
+
"type": "int"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "minterMd5",
|
|
82
|
+
"type": "bytes"
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"genericTypes": []
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "_opcat_labs_cat_sdk_1_0_1__rs__OpenMinterCAT20Meta",
|
|
89
|
+
"params": [
|
|
90
|
+
{
|
|
91
|
+
"name": "tag",
|
|
92
|
+
"type": "bytes"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "name",
|
|
96
|
+
"type": "bytes"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "symbol",
|
|
100
|
+
"type": "bytes"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"name": "decimals",
|
|
104
|
+
"type": "int"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "minterMd5",
|
|
108
|
+
"type": "bytes"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"name": "max",
|
|
112
|
+
"type": "int"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": "limit",
|
|
116
|
+
"type": "int"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "premine",
|
|
120
|
+
"type": "int"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "preminerAddr",
|
|
124
|
+
"type": "bytes"
|
|
125
|
+
}
|
|
126
|
+
],
|
|
127
|
+
"genericTypes": []
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "_opcat_labs_cat_sdk_1_0_1__rs__CAT20OpenMinterState",
|
|
131
|
+
"params": [
|
|
132
|
+
{
|
|
133
|
+
"name": "tag",
|
|
134
|
+
"type": "bytes"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"name": "tokenScriptHash",
|
|
138
|
+
"type": "bytes"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"name": "hasMintedBefore",
|
|
142
|
+
"type": "bool"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"name": "remainingCount",
|
|
146
|
+
"type": "int"
|
|
147
|
+
}
|
|
148
|
+
],
|
|
149
|
+
"genericTypes": []
|
|
150
|
+
}
|
|
151
|
+
],
|
|
152
|
+
"library": [],
|
|
153
|
+
"alias": [],
|
|
154
|
+
"abi": [],
|
|
155
|
+
"stateProps": [],
|
|
156
|
+
"buildType": "release",
|
|
157
|
+
"file": "..\\types.scrypt",
|
|
158
|
+
"hex": ""
|
|
159
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
struct _opcat_labs_cat_sdk_1_0_1__rs__CAT20GuardConstState {
|
|
5
|
+
bytes[4] tokenScriptHashes;
|
|
6
|
+
int[4] tokenAmounts;
|
|
7
|
+
int[4] tokenBurnAmounts;
|
|
8
|
+
int[6] tokenScriptIndexes;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
struct _opcat_labs_cat_sdk_1_0_1__rs__CAT20State {
|
|
12
|
+
bytes tag;
|
|
13
|
+
bytes ownerAddr;
|
|
14
|
+
int amount;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
struct _opcat_labs_cat_sdk_1_0_1__rs__CAT20ClosedMinterState {
|
|
18
|
+
bytes tag;
|
|
19
|
+
bytes tokenScriptHash;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
struct _opcat_labs_cat_sdk_1_0_1__rs__ClosedMinterCAT20Meta {
|
|
23
|
+
bytes tag;
|
|
24
|
+
bytes name;
|
|
25
|
+
bytes symbol;
|
|
26
|
+
int decimals;
|
|
27
|
+
bytes minterMd5;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
struct _opcat_labs_cat_sdk_1_0_1__rs__OpenMinterCAT20Meta {
|
|
31
|
+
bytes tag;
|
|
32
|
+
bytes name;
|
|
33
|
+
bytes symbol;
|
|
34
|
+
int decimals;
|
|
35
|
+
bytes minterMd5;
|
|
36
|
+
int max;
|
|
37
|
+
int limit;
|
|
38
|
+
int premine;
|
|
39
|
+
bytes preminerAddr;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
struct _opcat_labs_cat_sdk_1_0_1__rs__CAT20OpenMinterState {
|
|
43
|
+
bytes tag;
|
|
44
|
+
bytes tokenScriptHash;
|
|
45
|
+
bool hasMintedBefore;
|
|
46
|
+
int remainingCount;
|
|
47
|
+
}
|