@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,447 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 10,
|
|
3
|
+
"compilerVersion": "1.21.0+commit.2ada378",
|
|
4
|
+
"contract": "_opcat_labs_cat_sdk_1_0_1__rs__CAT20Guard",
|
|
5
|
+
"md5": "d598957c302a19274aa20d09b4dacf18",
|
|
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
|
+
"name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxOut",
|
|
153
|
+
"params": [
|
|
154
|
+
{
|
|
155
|
+
"name": "scriptHash",
|
|
156
|
+
"type": "bytes"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"name": "dataHash",
|
|
160
|
+
"type": "bytes"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"name": "satoshis",
|
|
164
|
+
"type": "int"
|
|
165
|
+
}
|
|
166
|
+
],
|
|
167
|
+
"genericTypes": []
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxIn",
|
|
171
|
+
"params": [
|
|
172
|
+
{
|
|
173
|
+
"name": "prevTxHash",
|
|
174
|
+
"type": "bytes"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"name": "prevOutputIndex",
|
|
178
|
+
"type": "int"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"name": "sequence",
|
|
182
|
+
"type": "int"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"name": "scriptHash",
|
|
186
|
+
"type": "bytes"
|
|
187
|
+
}
|
|
188
|
+
],
|
|
189
|
+
"genericTypes": []
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxHashPreimage",
|
|
193
|
+
"params": [
|
|
194
|
+
{
|
|
195
|
+
"name": "version",
|
|
196
|
+
"type": "bytes"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"name": "inputList",
|
|
200
|
+
"type": "bytes"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"name": "outputList",
|
|
204
|
+
"type": "bytes"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"name": "nLockTime",
|
|
208
|
+
"type": "bytes"
|
|
209
|
+
}
|
|
210
|
+
],
|
|
211
|
+
"genericTypes": []
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__BacktraceInfo",
|
|
215
|
+
"params": [
|
|
216
|
+
{
|
|
217
|
+
"name": "prevTxInput",
|
|
218
|
+
"type": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxIn"
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"name": "prevTxInputIndex",
|
|
222
|
+
"type": "int"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"name": "prevPrevTxPreimage",
|
|
226
|
+
"type": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxHashPreimage"
|
|
227
|
+
}
|
|
228
|
+
],
|
|
229
|
+
"genericTypes": []
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__SHPreimage",
|
|
233
|
+
"params": [
|
|
234
|
+
{
|
|
235
|
+
"name": "nVersion",
|
|
236
|
+
"type": "bytes"
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"name": "hashPrevouts",
|
|
240
|
+
"type": "bytes"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"name": "spentScriptHash",
|
|
244
|
+
"type": "bytes"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"name": "spentDataHash",
|
|
248
|
+
"type": "bytes"
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"name": "value",
|
|
252
|
+
"type": "int"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"name": "nSequence",
|
|
256
|
+
"type": "bytes"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"name": "hashSpentAmounts",
|
|
260
|
+
"type": "bytes"
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"name": "hashSpentScriptHashes",
|
|
264
|
+
"type": "bytes"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"name": "hashSpentDataHashes",
|
|
268
|
+
"type": "bytes"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"name": "hashSequences",
|
|
272
|
+
"type": "bytes"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"name": "hashOutputs",
|
|
276
|
+
"type": "bytes"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"name": "inputIndex",
|
|
280
|
+
"type": "int"
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
"name": "nLockTime",
|
|
284
|
+
"type": "int"
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"name": "sigHashType",
|
|
288
|
+
"type": "int"
|
|
289
|
+
}
|
|
290
|
+
],
|
|
291
|
+
"genericTypes": []
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__Outpoint",
|
|
295
|
+
"params": [
|
|
296
|
+
{
|
|
297
|
+
"name": "txHash",
|
|
298
|
+
"type": "bytes"
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"name": "outputIndex",
|
|
302
|
+
"type": "int"
|
|
303
|
+
}
|
|
304
|
+
],
|
|
305
|
+
"genericTypes": []
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__ReadVarintResult",
|
|
309
|
+
"params": [
|
|
310
|
+
{
|
|
311
|
+
"name": "data",
|
|
312
|
+
"type": "bytes"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"name": "nextPos",
|
|
316
|
+
"type": "int"
|
|
317
|
+
}
|
|
318
|
+
],
|
|
319
|
+
"genericTypes": []
|
|
320
|
+
}
|
|
321
|
+
],
|
|
322
|
+
"library": [
|
|
323
|
+
{
|
|
324
|
+
"name": "_opcat_labs_cat_sdk_1_0_1__rs__OwnerUtils",
|
|
325
|
+
"params": [],
|
|
326
|
+
"properties": [],
|
|
327
|
+
"genericTypes": []
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxUtils",
|
|
331
|
+
"params": [],
|
|
332
|
+
"properties": [],
|
|
333
|
+
"genericTypes": []
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__StateUtils",
|
|
337
|
+
"params": [],
|
|
338
|
+
"properties": [],
|
|
339
|
+
"genericTypes": []
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
"name": "_opcat_labs_cat_sdk_1_0_1__rs__SafeMath",
|
|
343
|
+
"params": [],
|
|
344
|
+
"properties": [],
|
|
345
|
+
"genericTypes": []
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"name": "_opcat_labs_cat_sdk_1_0_1__rs__CAT20GuardStateLib",
|
|
349
|
+
"params": [],
|
|
350
|
+
"properties": [],
|
|
351
|
+
"genericTypes": [],
|
|
352
|
+
"stateType": "_opcat_labs_cat_sdk_1_0_1__rs__CAT20GuardConstState"
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"name": "_opcat_labs_cat_sdk_1_0_1__rs__ConstantsLib",
|
|
356
|
+
"params": [],
|
|
357
|
+
"properties": [],
|
|
358
|
+
"genericTypes": []
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__ContextUtils",
|
|
362
|
+
"params": [],
|
|
363
|
+
"properties": [],
|
|
364
|
+
"genericTypes": []
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"name": "_opcat_labs_cat_sdk_1_0_1__rs__CAT20StateLib",
|
|
368
|
+
"params": [],
|
|
369
|
+
"properties": [],
|
|
370
|
+
"genericTypes": [],
|
|
371
|
+
"stateType": "_opcat_labs_cat_sdk_1_0_1__rs__CAT20State"
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"name": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__StdUtils",
|
|
375
|
+
"params": [],
|
|
376
|
+
"properties": [],
|
|
377
|
+
"genericTypes": []
|
|
378
|
+
}
|
|
379
|
+
],
|
|
380
|
+
"alias": [],
|
|
381
|
+
"abi": [
|
|
382
|
+
{
|
|
383
|
+
"type": "function",
|
|
384
|
+
"name": "unlock",
|
|
385
|
+
"index": 0,
|
|
386
|
+
"params": [
|
|
387
|
+
{
|
|
388
|
+
"name": "nextStateHashes",
|
|
389
|
+
"type": "bytes[6]"
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"name": "ownerAddrOrScriptHashes",
|
|
393
|
+
"type": "bytes[6]"
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
"name": "outputTokens",
|
|
397
|
+
"type": "int[6]"
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"name": "tokenScriptHashIndexes",
|
|
401
|
+
"type": "int[6]"
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
"name": "outputSatoshis",
|
|
405
|
+
"type": "int[6]"
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"name": "cat20States",
|
|
409
|
+
"type": "_opcat_labs_cat_sdk_1_0_1__rs__CAT20State[6]"
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
"name": "outputCount",
|
|
413
|
+
"type": "int"
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"name": "__scrypt_ts_shPreimage",
|
|
417
|
+
"type": "_opcat_labs_scrypt_ts_opcat_1_0_3__rs__SHPreimage"
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
"name": "__scrypt_ts_curState",
|
|
421
|
+
"type": "_opcat_labs_cat_sdk_1_0_1__rs__CAT20GuardConstState"
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"name": "__scrypt_ts_spentAmounts",
|
|
425
|
+
"type": "bytes"
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"name": "__scrypt_ts_spentDataHashes",
|
|
429
|
+
"type": "bytes"
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"name": "__scrypt_ts_spentScriptHashes",
|
|
433
|
+
"type": "bytes"
|
|
434
|
+
}
|
|
435
|
+
]
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
"type": "constructor",
|
|
439
|
+
"params": []
|
|
440
|
+
}
|
|
441
|
+
],
|
|
442
|
+
"stateProps": [],
|
|
443
|
+
"stateType": "_opcat_labs_cat_sdk_1_0_1__rs__CAT20GuardConstState",
|
|
444
|
+
"buildType": "release",
|
|
445
|
+
"file": "..\\cat20Guard.scrypt",
|
|
446
|
+
"hex": "512097dfd76851bf465e8f715593b217714858bbe9570ff3bd5e33840a34e20ff0262102ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec0382201008ce7480da41702918d1ec8e6849ba32b4d65b1e40dc669c31a1e6306b266c2000000000000000000000000000000000000000000000000000000000000000ff2000000000000000000000000000000000000000000000000000000000000000fe2000000000000000000000000000000000000000000000000000000000000000fd2000000000000000000000000000000000000000000000000000000000000000fc076f706361740102012b79012b79012b79012b79012b79012b79012b79012b79012b79012b79012b79012b79012b79012b795d798277549d5c79827701209d5b79827701209d5a79827701209d597900a26958798277549d5779827701209d5679827701209d5579827701209d5479827701209d5379827701209d527900a2697800a26976519c6476529c6751686476539c67516864760281009c67516864760282009c67516864760283009c675168695d795d797e5c797e5b797e5a79767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c7e59797e58797e57797e56797e55797e54797e5379546e8b806e7c7f75007f6b6d6d6c7e5279546e8b806e7c7f75007f6b6d6d6c7e7854807e6b6d6d6d6d6d6d6d6c5979785a795a79210ac407f0e4bd44bfc207355a778b046225a7068fc59ee7eda43ad905aadbffc800206c266b30e6a1319c66dc401e5bd6b432ba49688eecd118297041da8074ce08105c7956795679aa7676517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e01007e817757795679567956795679537956795479577995939521414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff006e6e9776009f636e936776687777777b757c6e5296a0636e7c947b757c6853798277527982775379012080517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e01205279947f77545379935279930130787e527e54797e58797e527e53797e52797e57797e6b6d6d6d6d6d6d6c765779ac6b6d6d6d6d6d6c77695b7901267978aa7888785878827d77527997009d6e7c966b6d6d6c775a790126796f75aa527988765379012078827d77527997009d6e7c967777779d6d755b790125796f75aa527988765379012078827d77527997009d6e7c967777779d6d75011e79011e79011e79011e79011e79011e79011e79011e79011e79011e79011e79011e79011e79011e79011e79011e79011e79011e7901337901317901317901317901317901317901317901317901317901317901317901317901317901317901317901317901317901317901317901117901117901117901117953766b796c756b6d6d6c8277528001127901127901127901127953766b796c756b6d6d6c7e01127901127901127901127952766b796c756b6d6d6c827752807e01127901127901127901127952766b796c756b6d6d6c7e01127901127901127901127951766b796c756b6d6d6c827752807e01127901127901127901127951766b796c756b6d6d6c7e01127901127901127901127900766b796c756b6d6d6c827752807e01127901127901127901127900766b796c756b6d6d6c7e5e795e795e795e7953766b796c756b6d6d6c827752807e5e795e795e795e7953766b796c756b6d6d6c7e5e795e795e795e7952766b796c756b6d6d6c827752807e5e795e795e795e7952766b796c756b6d6d6c7e5e795e795e795e7951766b796c756b6d6d6c827752807e5e795e795e795e7951766b796c756b6d6d6c7e5e795e795e795e7900766b796c756b6d6d6c827752807e5e795e795e795e7900766b796c756b6d6d6c7e5a795a795a795a7953766b796c756b6d6d6c827752807e5a795a795a795a7953766b796c756b6d6d6c7e5a795a795a795a7952766b796c756b6d6d6c827752807e5a795a795a795a7952766b796c756b6d6d6c7e5a795a795a795a7951766b796c756b6d6d6c827752807e5a795a795a795a7951766b796c756b6d6d6c7e5a795a795a795a7900766b796c756b6d6d6c827752807e5a795a795a795a7900766b796c756b6d6d6c7e56795679567956795679567955766b796c756b6d6d6d6c827752807e56795679567956795679567955766b796c756b6d6d6d6c7e56795679567956795679567954766b796c756b6d6d6d6c827752807e56795679567956795679567954766b796c756b6d6d6d6c7e56795679567956795679567953766b796c756b6d6d6d6c827752807e56795679567956795679567953766b796c756b6d6d6d6c7e56795679567956795679567952766b796c756b6d6d6d6c827752807e56795679567956795679567952766b796c756b6d6d6d6c7e56795679567956795679567951766b796c756b6d6d6d6c827752807e56795679567956795679567951766b796c756b6d6d6d6c7e56795679567956795679567900766b796c756b6d6d6d6c827752807e56795679567956795679567900766b796c756b6d6d6d6c7e01127901127901127901127953766b796c756b6d6d6ca901137901137901137901137952766b796c756b6d6d6ca97e01137901137901137901137951766b796c756b6d6d6ca97e01137901137901137901137900766b796c756b6d6d6ca97e5f795f795f795f7953766b796c756b6d6d6ca97e5f795f795f795f7952766b796c756b6d6d6ca97e5f795f795f795f7951766b796c756b6d6d6ca97e5f795f795f795f7900766b796c756b6d6d6ca97e5b795b795b795b7953766b796c756b6d6d6ca97e5b795b795b795b7952766b796c756b6d6d6ca97e5b795b795b795b7951766b796c756b6d6d6ca97e5b795b795b795b7900766b796c756b6d6d6ca97e57795779577957795779577955766b796c756b6d6d6d6ca97e57795779577957795779577954766b796c756b6d6d6d6ca97e57795779577957795779577953766b796c756b6d6d6d6ca97e57795779577957795779577952766b796c756b6d6d6d6ca97e57795779577957795779577951766b796c756b6d6d6d6ca97e57795779577957795779577900766b796c756b6d6d6d6ca97ea97ea86b6d6d6d6d6d6d6d6d6d6c011f797653798b0120957f7553790120957f775279886d7501117901117901117901117901117901117901117901117901117901117901117901117901117901117901117901117901117901117901117901117901117901117953766b796c7553766b796c7587916953766b796c7552766b796c7587916953766b796c7551766b796c7587916952766b796c7552766b796c7587916952766b796c7551766b796c7587916951766b796c7551766b796c758791696d6d01117901117901117901117953766b796c756b6d6d6c827d7701209d5e795e795e795e7953766b796c756b6d6d6c00a2695a795a795a795a7953766b796c756b6d6d6c00a2697501117901117901117901117952766b796c756b6d6d6c827d7701209d5e795e795e795e7952766b796c756b6d6d6c00a2695a795a795a795a7952766b796c756b6d6d6c00a2697501117901117901117901117951766b796c756b6d6d6c827d7701209d5e795e795e795e7951766b796c756b6d6d6c00a2695a795a795a795a7951766b796c756b6d6d6c00a2697501117901117901117901117900766b796c756b6d6d6c827d7701209d5e795e795e795e7900766b796c756b6d6d6c00a2695a795a795a795a7900766b796c756b6d6d6c00a2697555795579557955795579557955766b796c756b6d6d6d6c764fa26376549f670068697555795579557955795579557954766b796c756b6d6d6d6c764fa26376549f670068697555795579557955795579557953766b796c756b6d6d6d6c764fa26376549f670068697555795579557955795579557952766b796c756b6d6d6d6c764fa26376549f670068697555795579557955795579557951766b796c756b6d6d6d6c764fa26376549f670068697555795579557955795579557900766b796c756b6d6d6d6c764fa26376549f67006869756d6d6d6d6d6d6d6d6d0001187901187901187901187901167901167901167901167953766b796c756b6d6d6c54766b796c7587645479768b567a757171557a756801167901167901167901167952766b796c756b6d6d6c53766b796c7587645479768b567a757171557a756801167901167901167901167951766b796c756b6d6d6c52766b796c7587645479768b567a757171557a756801167901167901167901167900766b796c756b6d6d6c51766b796c7587645479768b567a757171557a75680055799f6301167901167901167901167953766b796c756b6d6d6c54766b796c7587916901167901167901167901167953766b796c756b6d6d6c827701209d6701167901167901167901167953766b796c756b6d6d6c54766b796c7588685155799f6301167901167901167901167952766b796c756b6d6d6c53766b796c7587916901167901167901167901167952766b796c756b6d6d6c827701209d6701167901167901167901167952766b796c756b6d6d6c53766b796c7588685255799f6301167901167901167901167951766b796c756b6d6d6c52766b796c7587916901167901167901167901167951766b796c756b6d6d6c827701209d6701167901167901167901167951766b796c756b6d6d6c52766b796c7588685355799f6301167901167901167901167900766b796c756b6d6d6c51766b796c7587916901167901167901167901167900766b796c756b6d6d6c827701209d6701167901167901167901167900766b796c756b6d6d6c51766b796c758868547900a069000000004f011c7960796079607960796079607955766b796c756b6d6d6d6c0052799f63765c799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c76012a79006e8b0120957f75780120957f77777788015e766b796c766b796c766b796c757876827d7701199c647601209c675168696d51787700a0695279012479886d75012a79006e8b0120957f75780120957f777777015f766b796c766b796c766b796c7552798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777885752797600a26976549f6994766b796c75015f766b796c766b796c766b796c7577776e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75785479a0637867537968547a7572537a75686701117901117901117901117901117901117955766b796c756b6d6d6d6c4f9d687560796079607960796079607954766b796c756b6d6d6d6c5152799f63765c799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c76012a79516e8b0120957f75780120957f77777788015b766b796c766b796c766b796c757876827d7701199c647601209c675168696d51787700a0695279012479886d75012a79516e8b0120957f75780120957f777777015c766b796c766b796c766b796c7552798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777885752797600a26976549f6994766b796c75015c766b796c766b796c766b796c7577776e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75785479a0637867537968547a7572537a75686701117901117901117901117901117901117954766b796c756b6d6d6d6c4f9d687560796079607960796079607953766b796c756b6d6d6d6c5252799f63765c799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c76012a79526e8b0120957f75780120957f777777880158766b796c766b796c766b796c757876827d7701199c647601209c675168696d51787700a0695279012479886d75012a79526e8b0120957f75780120957f7777770159766b796c766b796c766b796c7552798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777885752797600a26976549f6994766b796c750159766b796c766b796c766b796c7577776e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75785479a0637867537968547a7572537a75686701117901117901117901117901117901117953766b796c756b6d6d6d6c4f9d687560796079607960796079607952766b796c756b6d6d6d6c5352799f63765c799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c76012a79536e8b0120957f75780120957f777777880155766b796c766b796c766b796c757876827d7701199c647601209c675168696d51787700a0695279012479886d75012a79536e8b0120957f75780120957f7777770156766b796c766b796c766b796c7552798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777885752797600a26976549f6994766b796c750156766b796c766b796c766b796c7577776e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75785479a0637867537968547a7572537a75686701117901117901117901117901117901117952766b796c756b6d6d6d6c4f9d687560796079607960796079607951766b796c756b6d6d6d6c5452799f63765c799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c76012a79546e8b0120957f75780120957f777777880152766b796c766b796c766b796c757876827d7701199c647601209c675168696d51787700a0695279012479886d75012a79546e8b0120957f75780120957f7777770153766b796c766b796c766b796c7552798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777885752797600a26976549f6994766b796c750153766b796c766b796c766b796c7577776e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75785479a0637867537968547a7572537a75686701117901117901117901117901117901117951766b796c756b6d6d6d6c4f9d687560796079607960796079607900766b796c756b6d6d6d6c5552799f63765c799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c76012a79556e8b0120957f75780120957f77777788014f766b796c766b796c766b796c757876827d7701199c647601209c675168696d51787700a0695279012479886d75012a79556e8b0120957f75780120957f7777770150766b796c766b796c766b796c7552798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777885752797600a26976549f6994766b796c750150766b796c766b796c766b796c7577776e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75785479a0637867537968547a7572537a75686701117901117901117901117901117901117900766b796c756b6d6d6d6c4f9d68757800a263785b798c9c67006869014a7900a263014a7956a1670068690000000000000150799f630179766b796c7877827700a069016e766b796c78770112799f69764f9e630175766b796c787700a0695752797600a26976549f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a7501267953796f758277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777028300766b796c7578880125790125790125790125795457797600a26976549f69948c766b796c756b6d6d6c557978016e766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d670175766b796c75009d7801247901247901247901247953766b796c756b6d6d6c8791697801247901247901247901247952766b796c756b6d6d6c8791697801247901247901247901247951766b796c756b6d6d6c8791697801247901247901247901247900766b796c756b6d6d6c8791696f75016b766b796c75028400766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670179766b796c758277009d016d766b796c754f9d0173766b796c75009d017f766b796c7500880167766b796c75009d68510150799f630178766b796c7877827700a069016d766b796c78770112799f69764f9e630174766b796c787700a0695752797600a26976549f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a7501267953796f758277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777028200766b796c7578880125790125790125790125795457797600a26976549f69948c766b796c756b6d6d6c557978016d766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d670174766b796c75009d7801247901247901247901247953766b796c756b6d6d6c8791697801247901247901247901247952766b796c756b6d6d6c8791697801247901247901247901247951766b796c756b6d6d6c8791697801247901247901247901247900766b796c756b6d6d6c8791696f75016a766b796c75028300766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670178766b796c758277009d016c766b796c754f9d0172766b796c75009d017e766b796c7500880166766b796c75009d68520150799f630177766b796c7877827700a069016c766b796c78770112799f69764f9e630173766b796c787700a0695752797600a26976549f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a7501267953796f758277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777028100766b796c7578880125790125790125790125795457797600a26976549f69948c766b796c756b6d6d6c557978016c766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d670173766b796c75009d7801247901247901247901247953766b796c756b6d6d6c8791697801247901247901247901247952766b796c756b6d6d6c8791697801247901247901247901247951766b796c756b6d6d6c8791697801247901247901247901247900766b796c756b6d6d6c8791696f750169766b796c75028200766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670177766b796c758277009d016b766b796c754f9d0171766b796c75009d017d766b796c7500880165766b796c75009d68530150799f630176766b796c7877827700a069016b766b796c78770112799f69764f9e630172766b796c787700a0695752797600a26976549f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a7501267953796f758277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777028000766b796c7578880125790125790125790125795457797600a26976549f69948c766b796c756b6d6d6c557978016b766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d670172766b796c75009d7801247901247901247901247953766b796c756b6d6d6c8791697801247901247901247901247952766b796c756b6d6d6c8791697801247901247901247901247951766b796c756b6d6d6c8791697801247901247901247901247900766b796c756b6d6d6c8791696f750168766b796c75028100766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670176766b796c758277009d016a766b796c754f9d0170766b796c75009d017c766b796c7500880164766b796c75009d68540150799f630175766b796c7877827700a069016a766b796c78770112799f69764f9e630171766b796c787700a0695752797600a26976549f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a7501267953796f758277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777017f766b796c7578880125790125790125790125795457797600a26976549f69948c766b796c756b6d6d6c557978016a766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d670171766b796c75009d7801247901247901247901247953766b796c756b6d6d6c8791697801247901247901247901247952766b796c756b6d6d6c8791697801247901247901247901247951766b796c756b6d6d6c8791697801247901247901247901247900766b796c756b6d6d6c8791696f750167766b796c75028000766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670175766b796c758277009d0169766b796c754f9d016f766b796c75009d017b766b796c7500880163766b796c75009d68550150799f630174766b796c7877827700a0690169766b796c78770112799f69764f9e630170766b796c787700a0695752797600a26976549f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a7501267953796f758277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777017e766b796c7578880125790125790125790125795457797600a26976549f69948c766b796c756b6d6d6c5579780169766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d670170766b796c75009d7801247901247901247901247953766b796c756b6d6d6c8791697801247901247901247901247952766b796c756b6d6d6c8791697801247901247901247901247951766b796c756b6d6d6c8791697801247901247901247901247900766b796c756b6d6d6c8791696f750166766b796c75017f766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670174766b796c758277009d0168766b796c754f9d016e766b796c75009d017a766b796c7500880162766b796c75009d685a766b796c75011e79011e79011e79011e7953766b796c756b6d6d6c9d5a766b796c7555766b796c75011b79011b79011b79011b7953766b796c756b6d6d6c6e93765379a2636e7ca26700686977779d0060799f635a766b796c7500a069675a766b796c75009d54766b796c75009d011d79011d79011d79011d7953766b796c756b6d6d6c009d01197901197901197901197953766b796c756b6d6d6c009d6859766b796c75011e79011e79011e79011e7952766b796c756b6d6d6c9d59766b796c7554766b796c75011b79011b79011b79011b7952766b796c756b6d6d6c6e93765379a2636e7ca26700686977779d5160799f6359766b796c7500a0696759766b796c75009d53766b796c75009d011d79011d79011d79011d7952766b796c756b6d6d6c009d01197901197901197901197952766b796c756b6d6d6c009d6858766b796c75011e79011e79011e79011e7951766b796c756b6d6d6c9d58766b796c7553766b796c75011b79011b79011b79011b7951766b796c756b6d6d6c6e93765379a2636e7ca26700686977779d5260799f6358766b796c7500a0696758766b796c75009d52766b796c75009d011d79011d79011d79011d7951766b796c756b6d6d6c009d01197901197901197901197951766b796c756b6d6d6c009d6857766b796c75011e79011e79011e79011e7900766b796c756b6d6d6c9d57766b796c7552766b796c75011b79011b79011b79011b7900766b796c756b6d6d6c6e93765379a2636e7ca26700686977779d5360799f6357766b796c7500a0696757766b796c75009d51766b796c75009d011d79011d79011d79011d7900766b796c756b6d6d6c009d01197901197901197901197900766b796c756b6d6d6c009d6876aa014579876b6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c"
|
|
447
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import "types.scrypt";
|
|
2
|
+
import "cat20GuardStateLib.scrypt";
|
|
3
|
+
import "../constants.scrypt";
|
|
4
|
+
import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt";
|
|
5
|
+
import "cat20StateLib.scrypt";
|
|
6
|
+
import "../utils/safeMath.scrypt";
|
|
7
|
+
import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt";
|
|
8
|
+
import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt";
|
|
9
|
+
import "../scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt";
|
|
10
|
+
import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt";
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
contract _opcat_labs_cat_sdk_1_0_1__rs__CAT20Guard {
|
|
16
|
+
constructor(){}
|
|
17
|
+
public function unlock(bytes[6] nextStateHashes, bytes[6] ownerAddrOrScriptHashes, int[6] outputTokens, int[6] tokenScriptHashIndexes, int[6] outputSatoshis, _opcat_labs_cat_sdk_1_0_1__rs__CAT20State[6] cat20States, int outputCount, _opcat_labs_scrypt_ts_opcat_1_0_3__rs__SHPreimage __scrypt_ts_shPreimage, _opcat_labs_cat_sdk_1_0_1__rs__CAT20GuardConstState __scrypt_ts_curState, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes, bytes __scrypt_ts_spentScriptHashes) {
|
|
18
|
+
require(Tx.checkPreimageSigHashType(_opcat_labs_scrypt_ts_opcat_1_0_3__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage), SigHash.ALL));
|
|
19
|
+
|
|
20
|
+
int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_1_0_3__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
|
|
21
|
+
|
|
22
|
+
_opcat_labs_scrypt_ts_opcat_1_0_3__rs__ContextUtils.checkSpentScripts(__scrypt_ts_spentScriptHashes, __scrypt_ts_shPreimage.hashSpentScriptHashes, __scrypt_ts_inputCount);
|
|
23
|
+
|
|
24
|
+
_opcat_labs_scrypt_ts_opcat_1_0_3__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
|
|
25
|
+
|
|
26
|
+
_opcat_labs_cat_sdk_1_0_1__rs__CAT20GuardConstState __scrypt_ts_nextState = __scrypt_ts_curState;
|
|
27
|
+
|
|
28
|
+
_opcat_labs_scrypt_ts_opcat_1_0_3__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_1_0_1__rs__CAT20Guard.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
|
|
29
|
+
|
|
30
|
+
_opcat_labs_cat_sdk_1_0_1__rs__CAT20GuardStateLib.formalCheckState(__scrypt_ts_nextState);
|
|
31
|
+
int inputTokenTypes = 0;
|
|
32
|
+
bytes[4] tokenScriptPlaceholders = [_opcat_labs_cat_sdk_1_0_1__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FF, _opcat_labs_cat_sdk_1_0_1__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FE, _opcat_labs_cat_sdk_1_0_1__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FD, _opcat_labs_cat_sdk_1_0_1__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FC];
|
|
33
|
+
loop (4) : i {
|
|
34
|
+
if(__scrypt_ts_nextState.tokenScriptHashes[i] != tokenScriptPlaceholders[i]) {
|
|
35
|
+
inputTokenTypes++;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
loop (4) : i {
|
|
39
|
+
if(i < (inputTokenTypes)) {
|
|
40
|
+
require(__scrypt_ts_nextState.tokenScriptHashes[i] != tokenScriptPlaceholders[i]);
|
|
41
|
+
require(len(__scrypt_ts_nextState.tokenScriptHashes[i]) == 32);
|
|
42
|
+
} else {
|
|
43
|
+
require(__scrypt_ts_nextState.tokenScriptHashes[i] == tokenScriptPlaceholders[i]);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
require(inputTokenTypes > 0);
|
|
47
|
+
int[4] sumInputTokens = repeat(0, 4);
|
|
48
|
+
int tokenScriptIndexMax = -1;
|
|
49
|
+
int inputCount = __scrypt_ts_inputCount;
|
|
50
|
+
loop (6) : i {
|
|
51
|
+
int tokenScriptIndex = __scrypt_ts_nextState.tokenScriptIndexes[(i)];
|
|
52
|
+
if(i < inputCount) {
|
|
53
|
+
require(tokenScriptIndex < inputTokenTypes);
|
|
54
|
+
if(tokenScriptIndex != -1) {
|
|
55
|
+
bytes tokenScriptHash = __scrypt_ts_nextState.tokenScriptHashes[(tokenScriptIndex)];
|
|
56
|
+
require(tokenScriptHash == _opcat_labs_scrypt_ts_opcat_1_0_3__rs__ContextUtils.getSpentScriptHash(__scrypt_ts_spentScriptHashes, (i)));
|
|
57
|
+
_opcat_labs_cat_sdk_1_0_1__rs__CAT20StateLib.checkState(cat20States[i]);
|
|
58
|
+
require(_opcat_labs_scrypt_ts_opcat_1_0_3__rs__ContextUtils.getSpentDataHash(__scrypt_ts_spentDataHashes, (i)) == _opcat_labs_cat_sdk_1_0_1__rs__CAT20StateLib.stateHash(cat20States[i]));
|
|
59
|
+
sumInputTokens[(tokenScriptIndex)] = _opcat_labs_cat_sdk_1_0_1__rs__SafeMath.add(sumInputTokens[(tokenScriptIndex)], cat20States[i].amount);
|
|
60
|
+
tokenScriptIndexMax = tokenScriptIndex > tokenScriptIndexMax ? tokenScriptIndex : tokenScriptIndexMax;
|
|
61
|
+
}
|
|
62
|
+
} else {
|
|
63
|
+
require(__scrypt_ts_nextState.tokenScriptIndexes[i] == -1);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
require(tokenScriptIndexMax >= 0 && tokenScriptIndexMax == inputTokenTypes - 1);
|
|
67
|
+
require(outputCount >= 0 && outputCount <= 6);
|
|
68
|
+
int[4] sumOutputTokens = repeat(0, 4);
|
|
69
|
+
bytes outputs = b'';
|
|
70
|
+
loop (6) : i {
|
|
71
|
+
if(i < outputCount) {
|
|
72
|
+
bytes ownerAddrOrScriptHash = ownerAddrOrScriptHashes[i];
|
|
73
|
+
require(len(ownerAddrOrScriptHash) > 0);
|
|
74
|
+
int tokenScriptHashIndex = tokenScriptHashIndexes[i];
|
|
75
|
+
require(tokenScriptHashIndex < inputTokenTypes);
|
|
76
|
+
if(tokenScriptHashIndex != -1) {
|
|
77
|
+
int tokenAmount = outputTokens[i];
|
|
78
|
+
require(tokenAmount > 0);
|
|
79
|
+
sumOutputTokens[(tokenScriptHashIndex)] = _opcat_labs_cat_sdk_1_0_1__rs__SafeMath.add(sumOutputTokens[(tokenScriptHashIndex)], tokenAmount);
|
|
80
|
+
bytes tokenStateHash = _opcat_labs_cat_sdk_1_0_1__rs__CAT20StateLib.stateHash({_opcat_labs_cat_sdk_1_0_1__rs__ConstantsLib.OPCAT_CAT20_TAG, ownerAddrOrScriptHash, tokenAmount});
|
|
81
|
+
require(nextStateHashes[i] == tokenStateHash);
|
|
82
|
+
bytes tokenScriptHash = __scrypt_ts_nextState.tokenScriptHashes[(tokenScriptHashIndex)];
|
|
83
|
+
outputs += _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxUtils.buildDataOutput(tokenScriptHash, outputSatoshis[i], tokenStateHash);
|
|
84
|
+
} else {
|
|
85
|
+
require(outputTokens[i] == 0);
|
|
86
|
+
loop (4) : j {
|
|
87
|
+
require(ownerAddrOrScriptHash != __scrypt_ts_nextState.tokenScriptHashes[j]);
|
|
88
|
+
}
|
|
89
|
+
outputs += _opcat_labs_scrypt_ts_opcat_1_0_3__rs__TxUtils.buildDataOutput(ownerAddrOrScriptHash, outputSatoshis[i], nextStateHashes[i]);
|
|
90
|
+
}
|
|
91
|
+
} else {
|
|
92
|
+
require(len(ownerAddrOrScriptHashes[i]) == 0);
|
|
93
|
+
require(tokenScriptHashIndexes[i] == -1);
|
|
94
|
+
require(outputTokens[i] == 0);
|
|
95
|
+
require(nextStateHashes[i] == b'');
|
|
96
|
+
require(outputSatoshis[i] == 0);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
loop (4) : i {
|
|
100
|
+
require(sumInputTokens[i] == __scrypt_ts_nextState.tokenAmounts[i]);
|
|
101
|
+
require(sumInputTokens[i] == _opcat_labs_cat_sdk_1_0_1__rs__SafeMath.add(sumOutputTokens[i], __scrypt_ts_nextState.tokenBurnAmounts[i]));
|
|
102
|
+
if(i < (inputTokenTypes)) {
|
|
103
|
+
require(sumInputTokens[i] > 0);
|
|
104
|
+
} else {
|
|
105
|
+
require(sumInputTokens[i] == 0);
|
|
106
|
+
require(sumOutputTokens[i] == 0);
|
|
107
|
+
require(__scrypt_ts_nextState.tokenAmounts[i] == 0);
|
|
108
|
+
require(__scrypt_ts_nextState.tokenBurnAmounts[i] == 0);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
require(hash256(outputs) == __scrypt_ts_shPreimage.hashOutputs);
|
|
112
|
+
}
|
|
113
|
+
static function serializeState(_opcat_labs_cat_sdk_1_0_1__rs__CAT20GuardConstState __scrypt_ts_curState): bytes {
|
|
114
|
+
return num2bin(len(__scrypt_ts_curState.tokenScriptHashes[0]), 2) + __scrypt_ts_curState.tokenScriptHashes[0] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[1]), 2) + __scrypt_ts_curState.tokenScriptHashes[1] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[2]), 2) + __scrypt_ts_curState.tokenScriptHashes[2] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[3]), 2) + __scrypt_ts_curState.tokenScriptHashes[3] + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenAmounts[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[0])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[1])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[2])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[3])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[4])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[4]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[5])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[5]) + hash160(hash160(__scrypt_ts_curState.tokenScriptHashes[0]) + hash160(__scrypt_ts_curState.tokenScriptHashes[1]) + hash160(__scrypt_ts_curState.tokenScriptHashes[2]) + hash160(__scrypt_ts_curState.tokenScriptHashes[3]) + hash160(pack(__scrypt_ts_curState.tokenAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[3])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[3])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[0])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[1])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[2])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[3])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[4])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[5])));
|
|
115
|
+
}
|
|
116
|
+
static function stateHash(_opcat_labs_cat_sdk_1_0_1__rs__CAT20GuardConstState __scrypt_ts_curState): bytes {
|
|
117
|
+
return sha256(num2bin(len(__scrypt_ts_curState.tokenScriptHashes[0]), 2) + __scrypt_ts_curState.tokenScriptHashes[0] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[1]), 2) + __scrypt_ts_curState.tokenScriptHashes[1] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[2]), 2) + __scrypt_ts_curState.tokenScriptHashes[2] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[3]), 2) + __scrypt_ts_curState.tokenScriptHashes[3] + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenAmounts[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[0])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[1])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[2])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[3])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[4])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[4]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[5])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[5]) + hash160(hash160(__scrypt_ts_curState.tokenScriptHashes[0]) + hash160(__scrypt_ts_curState.tokenScriptHashes[1]) + hash160(__scrypt_ts_curState.tokenScriptHashes[2]) + hash160(__scrypt_ts_curState.tokenScriptHashes[3]) + hash160(pack(__scrypt_ts_curState.tokenAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[3])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[3])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[0])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[1])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[2])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[3])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[4])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[5]))));
|
|
118
|
+
}
|
|
119
|
+
}
|