@opcat-labs/cat-sdk 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/.templates/cat20/cat20GuardStateLib.scrypt.tpl +2 -2
- package/artifacts/.templates/cat20/cat20Guard_12_12_2.scrypt.map +1 -1
- package/artifacts/.templates/cat20/cat20Guard_12_12_2.scrypt.tpl +19 -2
- package/artifacts/.templates/cat20/cat20Guard_12_12_2.transformer.json +2 -1
- package/artifacts/.templates/cat20/cat20Guard_12_12_4.scrypt.map +1 -1
- package/artifacts/.templates/cat20/cat20Guard_12_12_4.scrypt.tpl +19 -2
- package/artifacts/.templates/cat20/cat20Guard_12_12_4.transformer.json +2 -1
- package/artifacts/.templates/cat20/cat20Guard_6_6_2.scrypt.map +1 -1
- package/artifacts/.templates/cat20/cat20Guard_6_6_2.scrypt.tpl +19 -2
- package/artifacts/.templates/cat20/cat20Guard_6_6_2.transformer.json +2 -1
- package/artifacts/.templates/cat20/cat20Guard_6_6_4.scrypt.map +1 -1
- package/artifacts/.templates/cat20/cat20Guard_6_6_4.scrypt.tpl +19 -2
- package/artifacts/.templates/cat20/cat20Guard_6_6_4.transformer.json +2 -1
- package/artifacts/.templates/cat20/types.scrypt.map +1 -1
- package/artifacts/.templates/cat20/types.scrypt.tpl +1 -0
- package/artifacts/.templates/cat721/cat721GuardStateLib.scrypt.tpl +2 -2
- package/artifacts/.templates/cat721/cat721Guard_12_12_2.scrypt.map +1 -1
- package/artifacts/.templates/cat721/cat721Guard_12_12_2.scrypt.tpl +19 -2
- package/artifacts/.templates/cat721/cat721Guard_12_12_2.transformer.json +2 -1
- package/artifacts/.templates/cat721/cat721Guard_12_12_4.scrypt.map +1 -1
- package/artifacts/.templates/cat721/cat721Guard_12_12_4.scrypt.tpl +19 -2
- package/artifacts/.templates/cat721/cat721Guard_12_12_4.transformer.json +2 -1
- package/artifacts/.templates/cat721/cat721Guard_6_6_2.scrypt.map +1 -1
- package/artifacts/.templates/cat721/cat721Guard_6_6_2.scrypt.tpl +19 -2
- package/artifacts/.templates/cat721/cat721Guard_6_6_2.transformer.json +2 -1
- package/artifacts/.templates/cat721/cat721Guard_6_6_4.scrypt.map +1 -1
- package/artifacts/.templates/cat721/cat721Guard_6_6_4.scrypt.tpl +19 -2
- package/artifacts/.templates/cat721/cat721Guard_6_6_4.transformer.json +2 -1
- package/artifacts/.templates/cat721/types.scrypt.map +1 -1
- package/artifacts/.templates/cat721/types.scrypt.tpl +1 -0
- package/artifacts/cat20/cat20.json +40 -36
- package/artifacts/cat20/cat20.scrypt +18 -18
- package/artifacts/cat20/cat20Admin.json +38 -34
- package/artifacts/cat20/cat20Admin.scrypt +30 -30
- package/artifacts/cat20/cat20GuardStateLib.json +25 -21
- package/artifacts/cat20/cat20GuardStateLib.scrypt +7 -7
- package/artifacts/cat20/cat20Guard_12_12_2.json +75 -32
- package/artifacts/cat20/cat20Guard_12_12_2.scrypt +40 -23
- package/artifacts/cat20/cat20Guard_12_12_4.json +75 -32
- package/artifacts/cat20/cat20Guard_12_12_4.scrypt +40 -23
- package/artifacts/cat20/cat20Guard_6_6_2.json +75 -32
- package/artifacts/cat20/cat20Guard_6_6_2.scrypt +40 -23
- package/artifacts/cat20/cat20Guard_6_6_4.json +75 -32
- package/artifacts/cat20/cat20Guard_6_6_4.scrypt +40 -23
- package/artifacts/cat20/cat20StateLib.json +26 -22
- package/artifacts/cat20/cat20StateLib.scrypt +5 -5
- package/artifacts/cat20/minters/cat20ClosedMinter.json +36 -32
- package/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
- package/artifacts/cat20/minters/cat20OpenMinter.json +36 -32
- package/artifacts/cat20/minters/cat20OpenMinter.scrypt +18 -18
- package/artifacts/cat20/types.json +9 -5
- package/artifacts/cat20/types.scrypt +6 -5
- package/artifacts/cat721/cat721.json +40 -36
- package/artifacts/cat721/cat721.scrypt +18 -18
- package/artifacts/cat721/cat721GuardStateLib.json +25 -21
- package/artifacts/cat721/cat721GuardStateLib.scrypt +7 -7
- package/artifacts/cat721/cat721Guard_12_12_2.json +74 -31
- package/artifacts/cat721/cat721Guard_12_12_2.scrypt +37 -20
- package/artifacts/cat721/cat721Guard_12_12_4.json +74 -31
- package/artifacts/cat721/cat721Guard_12_12_4.scrypt +37 -20
- package/artifacts/cat721/cat721Guard_6_6_2.json +74 -31
- package/artifacts/cat721/cat721Guard_6_6_2.scrypt +37 -20
- package/artifacts/cat721/cat721Guard_6_6_4.json +74 -31
- package/artifacts/cat721/cat721Guard_6_6_4.scrypt +37 -20
- package/artifacts/cat721/cat721StateLib.json +26 -22
- package/artifacts/cat721/cat721StateLib.scrypt +5 -5
- package/artifacts/cat721/minters/cat721ClosedMinter.json +36 -32
- package/artifacts/cat721/minters/cat721ClosedMinter.scrypt +18 -18
- package/artifacts/cat721/minters/cat721OpenMintInfo.json +5 -5
- package/artifacts/cat721/minters/cat721OpenMintInfo.scrypt +4 -4
- package/artifacts/cat721/minters/cat721OpenMinter.json +41 -37
- package/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
- package/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +23 -19
- package/artifacts/cat721/minters/cat721OpenMinterMerkleTree.scrypt +6 -6
- package/artifacts/cat721/types.json +9 -5
- package/artifacts/cat721/types.scrypt +6 -5
- package/artifacts/constants.json +2 -2
- package/artifacts/constants.scrypt +1 -1
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +13 -13
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +16 -16
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +1 -1
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +12 -12
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +7 -7
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +12 -12
- package/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +8 -8
- package/artifacts/types.json +2 -2
- package/artifacts/types.scrypt +2 -2
- package/artifacts/utils/ownerUtils.json +14 -14
- package/artifacts/utils/ownerUtils.scrypt +3 -3
- package/artifacts/utils/safeMath.json +14 -14
- package/artifacts/utils/safeMath.scrypt +1 -1
- package/dist/artifacts/cat20/cat20.json +40 -36
- package/dist/artifacts/cat20/cat20.scrypt +18 -18
- package/dist/artifacts/cat20/cat20Admin.json +38 -34
- package/dist/artifacts/cat20/cat20Admin.scrypt +30 -30
- package/dist/artifacts/cat20/cat20GuardStateLib.json +25 -21
- package/dist/artifacts/cat20/cat20GuardStateLib.scrypt +7 -7
- package/dist/artifacts/cat20/cat20Guard_12_12_2.json +75 -32
- package/dist/artifacts/cat20/cat20Guard_12_12_2.scrypt +40 -23
- package/dist/artifacts/cat20/cat20Guard_12_12_4.json +75 -32
- package/dist/artifacts/cat20/cat20Guard_12_12_4.scrypt +40 -23
- package/dist/artifacts/cat20/cat20Guard_6_6_2.json +75 -32
- package/dist/artifacts/cat20/cat20Guard_6_6_2.scrypt +40 -23
- package/dist/artifacts/cat20/cat20Guard_6_6_4.json +75 -32
- package/dist/artifacts/cat20/cat20Guard_6_6_4.scrypt +40 -23
- package/dist/artifacts/cat20/cat20StateLib.json +26 -22
- package/dist/artifacts/cat20/cat20StateLib.scrypt +5 -5
- package/dist/artifacts/cat20/minters/cat20ClosedMinter.json +36 -32
- package/dist/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
- package/dist/artifacts/cat20/minters/cat20OpenMinter.json +36 -32
- package/dist/artifacts/cat20/minters/cat20OpenMinter.scrypt +18 -18
- package/dist/artifacts/cat20/types.json +9 -5
- package/dist/artifacts/cat20/types.scrypt +6 -5
- package/dist/artifacts/cat721/cat721.json +40 -36
- package/dist/artifacts/cat721/cat721.scrypt +18 -18
- package/dist/artifacts/cat721/cat721GuardStateLib.json +25 -21
- package/dist/artifacts/cat721/cat721GuardStateLib.scrypt +7 -7
- package/dist/artifacts/cat721/cat721Guard_12_12_2.json +74 -31
- package/dist/artifacts/cat721/cat721Guard_12_12_2.scrypt +37 -20
- package/dist/artifacts/cat721/cat721Guard_12_12_4.json +74 -31
- package/dist/artifacts/cat721/cat721Guard_12_12_4.scrypt +37 -20
- package/dist/artifacts/cat721/cat721Guard_6_6_2.json +74 -31
- package/dist/artifacts/cat721/cat721Guard_6_6_2.scrypt +37 -20
- package/dist/artifacts/cat721/cat721Guard_6_6_4.json +74 -31
- package/dist/artifacts/cat721/cat721Guard_6_6_4.scrypt +37 -20
- package/dist/artifacts/cat721/cat721StateLib.json +26 -22
- package/dist/artifacts/cat721/cat721StateLib.scrypt +5 -5
- package/dist/artifacts/cat721/minters/cat721ClosedMinter.json +36 -32
- package/dist/artifacts/cat721/minters/cat721ClosedMinter.scrypt +18 -18
- package/dist/artifacts/cat721/minters/cat721OpenMintInfo.json +5 -5
- package/dist/artifacts/cat721/minters/cat721OpenMintInfo.scrypt +4 -4
- package/dist/artifacts/cat721/minters/cat721OpenMinter.json +41 -37
- package/dist/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
- package/dist/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +23 -19
- package/dist/artifacts/cat721/minters/cat721OpenMinterMerkleTree.scrypt +6 -6
- package/dist/artifacts/cat721/types.json +9 -5
- package/dist/artifacts/cat721/types.scrypt +6 -5
- package/dist/artifacts/constants.json +2 -2
- package/dist/artifacts/constants.scrypt +1 -1
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +13 -13
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +16 -16
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +1 -1
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +12 -12
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +7 -7
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +12 -12
- package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +8 -8
- package/dist/artifacts/types.json +2 -2
- package/dist/artifacts/types.scrypt +2 -2
- package/dist/artifacts/utils/ownerUtils.json +14 -14
- package/dist/artifacts/utils/ownerUtils.scrypt +3 -3
- package/dist/artifacts/utils/safeMath.json +14 -14
- package/dist/artifacts/utils/safeMath.scrypt +1 -1
- package/dist/cjs/contracts/cat20/cat20GuardStateLib.js +2 -1
- package/dist/cjs/contracts/cat20/cat20GuardStateLib.js.map +1 -1
- package/dist/cjs/contracts/cat20/cat20Guard_12_12_2.js +19 -0
- package/dist/cjs/contracts/cat20/cat20Guard_12_12_2.js.map +1 -1
- package/dist/cjs/contracts/cat20/cat20Guard_12_12_4.js +19 -0
- package/dist/cjs/contracts/cat20/cat20Guard_12_12_4.js.map +1 -1
- package/dist/cjs/contracts/cat20/cat20Guard_6_6_2.js +19 -0
- package/dist/cjs/contracts/cat20/cat20Guard_6_6_2.js.map +1 -1
- package/dist/cjs/contracts/cat20/cat20Guard_6_6_4.js +19 -0
- package/dist/cjs/contracts/cat20/cat20Guard_6_6_4.js.map +1 -1
- package/dist/cjs/contracts/cat721/cat721GuardStateLib.js +2 -1
- package/dist/cjs/contracts/cat721/cat721GuardStateLib.js.map +1 -1
- package/dist/cjs/contracts/cat721/cat721Guard_12_12_2.js +19 -0
- package/dist/cjs/contracts/cat721/cat721Guard_12_12_2.js.map +1 -1
- package/dist/cjs/contracts/cat721/cat721Guard_12_12_4.js +19 -0
- package/dist/cjs/contracts/cat721/cat721Guard_12_12_4.js.map +1 -1
- package/dist/cjs/contracts/cat721/cat721Guard_6_6_2.js +19 -0
- package/dist/cjs/contracts/cat721/cat721Guard_6_6_2.js.map +1 -1
- package/dist/cjs/contracts/cat721/cat721Guard_6_6_4.js +19 -0
- package/dist/cjs/contracts/cat721/cat721Guard_6_6_4.js.map +1 -1
- package/dist/cjs/contracts/cat721/types.js.map +1 -1
- package/dist/cjs/features/cat20/admin/burnByAdmin.js +2 -1
- package/dist/cjs/features/cat20/admin/burnByAdmin.js.map +1 -1
- package/dist/cjs/features/cat20/burn/burn.js +2 -1
- package/dist/cjs/features/cat20/burn/burn.js.map +1 -1
- package/dist/cjs/features/cat20/guard/destroyGuard.js +49 -0
- package/dist/cjs/features/cat20/guard/destroyGuard.js.map +1 -0
- package/dist/cjs/features/cat20/index.js +3 -1
- package/dist/cjs/features/cat20/index.js.map +1 -1
- package/dist/cjs/features/cat20/send/contractSend.js +2 -1
- package/dist/cjs/features/cat20/send/contractSend.js.map +1 -1
- package/dist/cjs/features/cat20/send/singleSend.js +4 -3
- package/dist/cjs/features/cat20/send/singleSend.js.map +1 -1
- package/dist/cjs/features/cat721/burn/burn.js +2 -1
- package/dist/cjs/features/cat721/burn/burn.js.map +1 -1
- package/dist/cjs/features/cat721/guard/destroyGuard.js +49 -0
- package/dist/cjs/features/cat721/guard/destroyGuard.js.map +1 -0
- package/dist/cjs/features/cat721/index.js +3 -1
- package/dist/cjs/features/cat721/index.js.map +1 -1
- package/dist/cjs/features/cat721/send/singleSend.js +4 -3
- package/dist/cjs/features/cat721/send/singleSend.js.map +1 -1
- package/dist/cjs/utils/contractPeripheral.js +8 -4
- package/dist/cjs/utils/contractPeripheral.js.map +1 -1
- package/dist/esm/contracts/cat20/cat20GuardStateLib.js +2 -1
- package/dist/esm/contracts/cat20/cat20GuardStateLib.js.map +1 -1
- package/dist/esm/contracts/cat20/cat20Guard_12_12_2.js +20 -1
- package/dist/esm/contracts/cat20/cat20Guard_12_12_2.js.map +1 -1
- package/dist/esm/contracts/cat20/cat20Guard_12_12_4.js +20 -1
- package/dist/esm/contracts/cat20/cat20Guard_12_12_4.js.map +1 -1
- package/dist/esm/contracts/cat20/cat20Guard_6_6_2.js +20 -1
- package/dist/esm/contracts/cat20/cat20Guard_6_6_2.js.map +1 -1
- package/dist/esm/contracts/cat20/cat20Guard_6_6_4.js +20 -1
- package/dist/esm/contracts/cat20/cat20Guard_6_6_4.js.map +1 -1
- package/dist/esm/contracts/cat721/cat721GuardStateLib.js +2 -1
- package/dist/esm/contracts/cat721/cat721GuardStateLib.js.map +1 -1
- package/dist/esm/contracts/cat721/cat721Guard_12_12_2.js +20 -1
- package/dist/esm/contracts/cat721/cat721Guard_12_12_2.js.map +1 -1
- package/dist/esm/contracts/cat721/cat721Guard_12_12_4.js +20 -1
- package/dist/esm/contracts/cat721/cat721Guard_12_12_4.js.map +1 -1
- package/dist/esm/contracts/cat721/cat721Guard_6_6_2.js +20 -1
- package/dist/esm/contracts/cat721/cat721Guard_6_6_2.js.map +1 -1
- package/dist/esm/contracts/cat721/cat721Guard_6_6_4.js +20 -1
- package/dist/esm/contracts/cat721/cat721Guard_6_6_4.js.map +1 -1
- package/dist/esm/contracts/cat721/types.js.map +1 -1
- package/dist/esm/features/cat20/admin/burnByAdmin.js +2 -1
- package/dist/esm/features/cat20/admin/burnByAdmin.js.map +1 -1
- package/dist/esm/features/cat20/burn/burn.js +3 -2
- package/dist/esm/features/cat20/burn/burn.js.map +1 -1
- package/dist/esm/features/cat20/guard/destroyGuard.js +46 -0
- package/dist/esm/features/cat20/guard/destroyGuard.js.map +1 -0
- package/dist/esm/features/cat20/index.js +1 -0
- package/dist/esm/features/cat20/index.js.map +1 -1
- package/dist/esm/features/cat20/send/contractSend.js +2 -1
- package/dist/esm/features/cat20/send/contractSend.js.map +1 -1
- package/dist/esm/features/cat20/send/singleSend.js +5 -4
- package/dist/esm/features/cat20/send/singleSend.js.map +1 -1
- package/dist/esm/features/cat721/burn/burn.js +3 -2
- package/dist/esm/features/cat721/burn/burn.js.map +1 -1
- package/dist/esm/features/cat721/guard/destroyGuard.js +46 -0
- package/dist/esm/features/cat721/guard/destroyGuard.js.map +1 -0
- package/dist/esm/features/cat721/index.js +1 -0
- package/dist/esm/features/cat721/index.js.map +1 -1
- package/dist/esm/features/cat721/send/singleSend.js +5 -4
- package/dist/esm/features/cat721/send/singleSend.js.map +1 -1
- package/dist/esm/utils/contractPeripheral.js +8 -4
- package/dist/esm/utils/contractPeripheral.js.map +1 -1
- package/dist/types/contracts/cat20/cat20GuardStateLib.d.ts.map +1 -1
- package/dist/types/contracts/cat20/cat20Guard_12_12_2.d.ts +9 -1
- package/dist/types/contracts/cat20/cat20Guard_12_12_2.d.ts.map +1 -1
- package/dist/types/contracts/cat20/cat20Guard_12_12_4.d.ts +9 -1
- package/dist/types/contracts/cat20/cat20Guard_12_12_4.d.ts.map +1 -1
- package/dist/types/contracts/cat20/cat20Guard_6_6_2.d.ts +9 -1
- package/dist/types/contracts/cat20/cat20Guard_6_6_2.d.ts.map +1 -1
- package/dist/types/contracts/cat20/cat20Guard_6_6_4.d.ts +9 -1
- package/dist/types/contracts/cat20/cat20Guard_6_6_4.d.ts.map +1 -1
- package/dist/types/contracts/cat20/types.d.ts +7 -2
- package/dist/types/contracts/cat20/types.d.ts.map +1 -1
- package/dist/types/contracts/cat721/cat721GuardStateLib.d.ts.map +1 -1
- package/dist/types/contracts/cat721/cat721Guard_12_12_2.d.ts +9 -1
- package/dist/types/contracts/cat721/cat721Guard_12_12_2.d.ts.map +1 -1
- package/dist/types/contracts/cat721/cat721Guard_12_12_4.d.ts +9 -1
- package/dist/types/contracts/cat721/cat721Guard_12_12_4.d.ts.map +1 -1
- package/dist/types/contracts/cat721/cat721Guard_6_6_2.d.ts +9 -1
- package/dist/types/contracts/cat721/cat721Guard_6_6_2.d.ts.map +1 -1
- package/dist/types/contracts/cat721/cat721Guard_6_6_4.d.ts +9 -1
- package/dist/types/contracts/cat721/cat721Guard_6_6_4.d.ts.map +1 -1
- package/dist/types/contracts/cat721/types.d.ts +6 -0
- package/dist/types/contracts/cat721/types.d.ts.map +1 -1
- package/dist/types/features/cat20/admin/burnByAdmin.d.ts.map +1 -1
- package/dist/types/features/cat20/burn/burn.d.ts.map +1 -1
- package/dist/types/features/cat20/guard/destroyGuard.d.ts +21 -0
- package/dist/types/features/cat20/guard/destroyGuard.d.ts.map +1 -0
- package/dist/types/features/cat20/index.d.ts +1 -0
- package/dist/types/features/cat20/index.d.ts.map +1 -1
- package/dist/types/features/cat20/send/contractSend.d.ts.map +1 -1
- package/dist/types/features/cat20/send/singleSend.d.ts +1 -1
- package/dist/types/features/cat20/send/singleSend.d.ts.map +1 -1
- package/dist/types/features/cat721/burn/burn.d.ts.map +1 -1
- package/dist/types/features/cat721/guard/destroyGuard.d.ts +21 -0
- package/dist/types/features/cat721/guard/destroyGuard.d.ts.map +1 -0
- package/dist/types/features/cat721/index.d.ts +1 -0
- package/dist/types/features/cat721/index.d.ts.map +1 -1
- package/dist/types/features/cat721/send/singleSend.d.ts +1 -1
- package/dist/types/features/cat721/send/singleSend.d.ts.map +1 -1
- package/dist/types/utils/contractPeripheral.d.ts +4 -4
- package/dist/types/utils/contractPeripheral.d.ts.map +1 -1
- package/package.json +4 -4
- package/scrypt.index.json +10 -10
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 10,
|
|
3
3
|
"compilerVersion": "1.22.0+commit.47800da",
|
|
4
|
-
"contract": "
|
|
5
|
-
"md5": "
|
|
4
|
+
"contract": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721",
|
|
5
|
+
"md5": "de42677a0529e04ea0756b2b50ff5890",
|
|
6
6
|
"structs": [
|
|
7
7
|
{
|
|
8
|
-
"name": "
|
|
8
|
+
"name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState",
|
|
9
9
|
"params": [
|
|
10
|
+
{
|
|
11
|
+
"name": "deployerAddr",
|
|
12
|
+
"type": "bytes"
|
|
13
|
+
},
|
|
10
14
|
{
|
|
11
15
|
"name": "nftScriptHashes",
|
|
12
16
|
"type": "bytes[4]"
|
|
@@ -23,7 +27,7 @@
|
|
|
23
27
|
"genericTypes": []
|
|
24
28
|
},
|
|
25
29
|
{
|
|
26
|
-
"name": "
|
|
30
|
+
"name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721State",
|
|
27
31
|
"params": [
|
|
28
32
|
{
|
|
29
33
|
"name": "ownerAddr",
|
|
@@ -37,7 +41,7 @@
|
|
|
37
41
|
"genericTypes": []
|
|
38
42
|
},
|
|
39
43
|
{
|
|
40
|
-
"name": "
|
|
44
|
+
"name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721ClosedMinterState",
|
|
41
45
|
"params": [
|
|
42
46
|
{
|
|
43
47
|
"name": "nftScriptHash",
|
|
@@ -55,7 +59,7 @@
|
|
|
55
59
|
"genericTypes": []
|
|
56
60
|
},
|
|
57
61
|
{
|
|
58
|
-
"name": "
|
|
62
|
+
"name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721MerkleLeaf",
|
|
59
63
|
"params": [
|
|
60
64
|
{
|
|
61
65
|
"name": "contentDataHash",
|
|
@@ -73,7 +77,7 @@
|
|
|
73
77
|
"genericTypes": []
|
|
74
78
|
},
|
|
75
79
|
{
|
|
76
|
-
"name": "
|
|
80
|
+
"name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721OpenMinterState",
|
|
77
81
|
"params": [
|
|
78
82
|
{
|
|
79
83
|
"name": "nftScriptHash",
|
|
@@ -91,7 +95,7 @@
|
|
|
91
95
|
"genericTypes": []
|
|
92
96
|
},
|
|
93
97
|
{
|
|
94
|
-
"name": "
|
|
98
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxOut",
|
|
95
99
|
"params": [
|
|
96
100
|
{
|
|
97
101
|
"name": "scriptHash",
|
|
@@ -109,7 +113,7 @@
|
|
|
109
113
|
"genericTypes": []
|
|
110
114
|
},
|
|
111
115
|
{
|
|
112
|
-
"name": "
|
|
116
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxIn",
|
|
113
117
|
"params": [
|
|
114
118
|
{
|
|
115
119
|
"name": "prevTxHash",
|
|
@@ -131,7 +135,7 @@
|
|
|
131
135
|
"genericTypes": []
|
|
132
136
|
},
|
|
133
137
|
{
|
|
134
|
-
"name": "
|
|
138
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxHashPreimage",
|
|
135
139
|
"params": [
|
|
136
140
|
{
|
|
137
141
|
"name": "version",
|
|
@@ -153,11 +157,11 @@
|
|
|
153
157
|
"genericTypes": []
|
|
154
158
|
},
|
|
155
159
|
{
|
|
156
|
-
"name": "
|
|
160
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__BacktraceInfo",
|
|
157
161
|
"params": [
|
|
158
162
|
{
|
|
159
163
|
"name": "prevTxInput",
|
|
160
|
-
"type": "
|
|
164
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxIn"
|
|
161
165
|
},
|
|
162
166
|
{
|
|
163
167
|
"name": "prevTxInputIndex",
|
|
@@ -165,13 +169,13 @@
|
|
|
165
169
|
},
|
|
166
170
|
{
|
|
167
171
|
"name": "prevPrevTxPreimage",
|
|
168
|
-
"type": "
|
|
172
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxHashPreimage"
|
|
169
173
|
}
|
|
170
174
|
],
|
|
171
175
|
"genericTypes": []
|
|
172
176
|
},
|
|
173
177
|
{
|
|
174
|
-
"name": "
|
|
178
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__SHPreimage",
|
|
175
179
|
"params": [
|
|
176
180
|
{
|
|
177
181
|
"name": "nVersion",
|
|
@@ -233,7 +237,7 @@
|
|
|
233
237
|
"genericTypes": []
|
|
234
238
|
},
|
|
235
239
|
{
|
|
236
|
-
"name": "
|
|
240
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__Outpoint",
|
|
237
241
|
"params": [
|
|
238
242
|
{
|
|
239
243
|
"name": "txHash",
|
|
@@ -247,7 +251,7 @@
|
|
|
247
251
|
"genericTypes": []
|
|
248
252
|
},
|
|
249
253
|
{
|
|
250
|
-
"name": "
|
|
254
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ChainTxVerifyResponse",
|
|
251
255
|
"params": [
|
|
252
256
|
{
|
|
253
257
|
"name": "prevPrevScript",
|
|
@@ -261,7 +265,7 @@
|
|
|
261
265
|
"genericTypes": []
|
|
262
266
|
},
|
|
263
267
|
{
|
|
264
|
-
"name": "
|
|
268
|
+
"name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT20ContractUnlockArgs",
|
|
265
269
|
"params": [
|
|
266
270
|
{
|
|
267
271
|
"name": "spendType",
|
|
@@ -283,7 +287,7 @@
|
|
|
283
287
|
"genericTypes": []
|
|
284
288
|
},
|
|
285
289
|
{
|
|
286
|
-
"name": "
|
|
290
|
+
"name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721ContractUnlockArgs",
|
|
287
291
|
"params": [
|
|
288
292
|
{
|
|
289
293
|
"name": "userPubKey",
|
|
@@ -301,7 +305,7 @@
|
|
|
301
305
|
"genericTypes": []
|
|
302
306
|
},
|
|
303
307
|
{
|
|
304
|
-
"name": "
|
|
308
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ReadVarintResult",
|
|
305
309
|
"params": [
|
|
306
310
|
{
|
|
307
311
|
"name": "data",
|
|
@@ -317,50 +321,50 @@
|
|
|
317
321
|
],
|
|
318
322
|
"library": [
|
|
319
323
|
{
|
|
320
|
-
"name": "
|
|
324
|
+
"name": "_opcat_labs_cat_sdk_3_2_0__rs__OwnerUtils",
|
|
321
325
|
"params": [],
|
|
322
326
|
"properties": [],
|
|
323
327
|
"genericTypes": []
|
|
324
328
|
},
|
|
325
329
|
{
|
|
326
|
-
"name": "
|
|
330
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxUtils",
|
|
327
331
|
"params": [],
|
|
328
332
|
"properties": [],
|
|
329
333
|
"genericTypes": []
|
|
330
334
|
},
|
|
331
335
|
{
|
|
332
|
-
"name": "
|
|
336
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__StateUtils",
|
|
333
337
|
"params": [],
|
|
334
338
|
"properties": [],
|
|
335
339
|
"genericTypes": []
|
|
336
340
|
},
|
|
337
341
|
{
|
|
338
|
-
"name": "
|
|
342
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxHashPreimageUtils",
|
|
339
343
|
"params": [],
|
|
340
344
|
"properties": [],
|
|
341
345
|
"genericTypes": []
|
|
342
346
|
},
|
|
343
347
|
{
|
|
344
|
-
"name": "
|
|
348
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__Backtrace",
|
|
345
349
|
"params": [],
|
|
346
350
|
"properties": [],
|
|
347
351
|
"genericTypes": []
|
|
348
352
|
},
|
|
349
353
|
{
|
|
350
|
-
"name": "
|
|
354
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils",
|
|
351
355
|
"params": [],
|
|
352
356
|
"properties": [],
|
|
353
357
|
"genericTypes": []
|
|
354
358
|
},
|
|
355
359
|
{
|
|
356
|
-
"name": "
|
|
360
|
+
"name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardStateLib",
|
|
357
361
|
"params": [],
|
|
358
362
|
"properties": [],
|
|
359
363
|
"genericTypes": [],
|
|
360
|
-
"stateType": "
|
|
364
|
+
"stateType": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState"
|
|
361
365
|
},
|
|
362
366
|
{
|
|
363
|
-
"name": "
|
|
367
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__StdUtils",
|
|
364
368
|
"params": [],
|
|
365
369
|
"properties": [],
|
|
366
370
|
"genericTypes": []
|
|
@@ -375,11 +379,11 @@
|
|
|
375
379
|
"params": [
|
|
376
380
|
{
|
|
377
381
|
"name": "unlockArgs",
|
|
378
|
-
"type": "
|
|
382
|
+
"type": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721ContractUnlockArgs"
|
|
379
383
|
},
|
|
380
384
|
{
|
|
381
385
|
"name": "guardState",
|
|
382
|
-
"type": "
|
|
386
|
+
"type": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState"
|
|
383
387
|
},
|
|
384
388
|
{
|
|
385
389
|
"name": "guardInputIndex",
|
|
@@ -387,11 +391,11 @@
|
|
|
387
391
|
},
|
|
388
392
|
{
|
|
389
393
|
"name": "backtraceInfo",
|
|
390
|
-
"type": "
|
|
394
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__BacktraceInfo"
|
|
391
395
|
},
|
|
392
396
|
{
|
|
393
397
|
"name": "__scrypt_ts_shPreimage",
|
|
394
|
-
"type": "
|
|
398
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__SHPreimage"
|
|
395
399
|
},
|
|
396
400
|
{
|
|
397
401
|
"name": "__scrypt_ts_preimageSig",
|
|
@@ -399,7 +403,7 @@
|
|
|
399
403
|
},
|
|
400
404
|
{
|
|
401
405
|
"name": "__scrypt_ts_curState",
|
|
402
|
-
"type": "
|
|
406
|
+
"type": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721State"
|
|
403
407
|
},
|
|
404
408
|
{
|
|
405
409
|
"name": "__scrypt_ts_prevouts",
|
|
@@ -419,7 +423,7 @@
|
|
|
419
423
|
},
|
|
420
424
|
{
|
|
421
425
|
"name": "__scrypt_ts_prevTxHashPreimage",
|
|
422
|
-
"type": "
|
|
426
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxHashPreimage"
|
|
423
427
|
}
|
|
424
428
|
]
|
|
425
429
|
},
|
|
@@ -438,8 +442,8 @@
|
|
|
438
442
|
}
|
|
439
443
|
],
|
|
440
444
|
"stateProps": [],
|
|
441
|
-
"stateType": "
|
|
445
|
+
"stateType": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721State",
|
|
442
446
|
"buildType": "release",
|
|
443
447
|
"file": "../cat721.scrypt",
|
|
444
|
-
"hex": "2102ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec03820000000000<minterScriptHash><guardVariantScriptHashes[0]><guardVariantScriptHashes[1]><guardVariantScriptHashes[2]><guardVariantScriptHashes[3]>
|
|
448
|
+
"hex": "2102ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec03820000000000<minterScriptHash><guardVariantScriptHashes[0]><guardVariantScriptHashes[1]><guardVariantScriptHashes[2]><guardVariantScriptHashes[3]>54795a7a75597a597a597a597a597a597a597a597a597a70705c7a5c7a5c7a5c7a6d6d587a587a587a587a587a6d6d75607901117982778c7f75007f77011f79011f79011f79011f79011f79011f79011f79011f79011f79011f79011f79011f79011f79011f795d798277549d5c79827701209d5b79827701209d5a79827701209d597900a26958798277549d5779827701209d5679827701209d5579827701209d5479827701209d5379827701209d527900a2697800a26976519c6476529c6751686476539c67516864760281009c67516864760282009c67516864760283009c675168695d795d797e5c797e5b797e5a79767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c7e59797e58797e57797e56797e55797e54797e5379546e8b806e7c7f75007f6b6d6d6c7e5279546e8b806e7c7f75007f6b6d6d6c7e7854807e6b6d6d6d6d6d6d6d6ca85779ba6360795679ac670068695c7901197978aa7888785878827d77527997009d6e7c966b6d6d6c775e79011f7901167970aa5379886e9f69765479012478827d77527997009d6e7c967777779d537952798b0124957f7552790124957f7d7701207f75007f777801247f7501207f77768277549d767601007e817777726d726d7b755d79011b7954795279aa527988765379012078827d77527997009d6e7c967777779d6d755e79011a7954795279aa527988765379012078827d77527997009d6e7c967777779d6d75011279011279011879011579011579788277528052797e78827752807e787e5279a95279a97ea97ea877770112797653798b0120957f7553790120957f775279886d755e795e795e795e79011679011d79557955795579557953798277549d5279014878827d77527997009d6e7c967777775279014878827d77527997009d6e7c96777777557952790000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e55797e780000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e54797e53797eaa6b6d6d6d6c76700124950120937f7553790124957f77886d6d6d75012c79012c79012c79012c79012c79012c79012c79012c79012c790112790119790123798b0120957f750123790120957f770118795b795b795b795b795b795b795b795b795b7959797656798b0148957f7556790148957f775a795a795a795a795379827701209d76827701209d707600a2637605ffffffff00a16700686976546e8b806e7c7f75007f6b6d6d6c777e787e52797600a2637605ffffffff00a16700686976546e8b806e7c7f75007f6b6d6d6c777e6b6d6d6c88597976567956795679567953798277549d5279014878827d77527997009d6e7c967777775279014878827d77527997009d6e7c96777777557952790000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e55797e780000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e54797e53797eaa6b6d6d6d6c8853795a7901489558930120937f755a7901489558937f77785b797600a2637605ffffffff00a16700686976546e8b806e7c7f75007f6b6d6d6c777e787c726d726d726d726d726d726d785579876478547987675168696d6d6d6d6d6d6d013479013479013479013479013479013479013479012879012079013679011979011b797853796e8b0120957f75780120957f7777777601167901167901167901167953766b796c756b6d6d6c87647601167901167901167901167952766b796c756b6d6d6c87675168647601167901167901167901167951766b796c756b6d6d6c87675168647601167901167901167901167900766b796c756b6d6d6c87675168697854796e8b0120957f75780120957f7777775d795d795d795d795d795d795d7956798277528057797e567956795679567953766b796c756b6d6d6c827752807e567956795679567953766b796c756b6d6d6c7e567956795679567952766b796c756b6d6d6c827752807e567956795679567952766b796c756b6d6d6c7e567956795679567951766b796c756b6d6d6c827752807e567956795679567951766b796c756b6d6d6c7e567956795679567900766b796c756b6d6d6c827752807e567956795679567900766b796c756b6d6d6c7e5279827752807e52797e78827752807e787e5779a9577957795779577953766b796c756b6d6d6ca97e577957795779577952766b796c756b6d6d6ca97e577957795779577951766b796c756b6d6d6ca97e577957795779577900766b796c756b6d6d6ca97e5379a97e5279a97ea97ea86b6d6d6d6c7788567955798b7f7555797f77815c795c795c795c795455797600a26976549f69948c766b796c756b6d6d6c5779886d6d6d6d6d6d6d78827701209c6301357900a26301357955799f670068697860790137796e8b0120957f75780120957f77777788670137795279787676827701219d750376a91478a97e0288ac7e7778886d013679013879ad686d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d51"
|
|
445
449
|
}
|
|
@@ -12,53 +12,53 @@ import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt"
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
contract
|
|
15
|
+
contract _opcat_labs_cat_sdk_3_2_0__rs__CAT721 {
|
|
16
16
|
bytes minterScriptHash;
|
|
17
17
|
Sha256[4] guardVariantScriptHashes;
|
|
18
18
|
constructor(bytes minterScriptHash, Sha256[4] guardVariantScriptHashes) {
|
|
19
19
|
this.minterScriptHash = minterScriptHash;
|
|
20
20
|
this.guardVariantScriptHashes = guardVariantScriptHashes;
|
|
21
21
|
}
|
|
22
|
-
public function unlock(
|
|
23
|
-
require(checkDataSig(Sig(__scrypt_ts_preimageSig[0 : len(__scrypt_ts_preimageSig) - 1]), sha256(
|
|
22
|
+
public function unlock(_opcat_labs_cat_sdk_3_2_0__rs__CAT721ContractUnlockArgs unlockArgs, _opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState guardState, int guardInputIndex, _opcat_labs_scrypt_ts_opcat_3_2_0__rs__BacktraceInfo backtraceInfo, _opcat_labs_scrypt_ts_opcat_3_2_0__rs__SHPreimage __scrypt_ts_shPreimage, Sig __scrypt_ts_preimageSig, _opcat_labs_cat_sdk_3_2_0__rs__CAT721State __scrypt_ts_curState, bytes __scrypt_ts_prevouts, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes, bytes __scrypt_ts_spentScriptHashes, _opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxHashPreimage __scrypt_ts_prevTxHashPreimage) {
|
|
23
|
+
require(checkDataSig(Sig(__scrypt_ts_preimageSig[0 : len(__scrypt_ts_preimageSig) - 1]), sha256(_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage)), _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.pubKey) && checkSig(__scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.pubKey));
|
|
24
24
|
|
|
25
|
-
int __scrypt_ts_inputCount =
|
|
25
|
+
int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
_opcat_labs_scrypt_ts_opcat_3_2_0__rs__Outpoint __scrypt_ts_prevout = _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.checkPrevouts(__scrypt_ts_prevouts, __scrypt_ts_shPreimage.hashPrevouts, __scrypt_ts_shPreimage.inputIndex, __scrypt_ts_inputCount);
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.checkSpentScripts(__scrypt_ts_spentScriptHashes, __scrypt_ts_shPreimage.hashSpentScriptHashes, __scrypt_ts_inputCount);
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
_opcat_labs_cat_sdk_3_2_0__rs__CAT721State __scrypt_ts_nextState = __scrypt_ts_curState;
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
_opcat_labs_scrypt_ts_opcat_3_2_0__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_3_2_0__rs__CAT721.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
_opcat_labs_scrypt_ts_opcat_3_2_0__rs__Backtrace.checkPrevTxHashPreimage(__scrypt_ts_prevTxHashPreimage, __scrypt_ts_prevouts, __scrypt_ts_shPreimage.inputIndex);
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
_opcat_labs_scrypt_ts_opcat_3_2_0__rs__Backtrace.verifyFromScript(backtraceInfo, this.minterScriptHash, __scrypt_ts_spentScriptHashes[__scrypt_ts_shPreimage.inputIndex * 32 : (__scrypt_ts_shPreimage.inputIndex + 1) * 32], __scrypt_ts_prevTxHashPreimage.inputList);
|
|
40
40
|
this.checkGuard(guardState, __scrypt_ts_shPreimage.spentScriptHash, __scrypt_ts_shPreimage.inputIndex, guardInputIndex, __scrypt_ts_spentScriptHashes, __scrypt_ts_spentDataHashes);
|
|
41
41
|
if(len(__scrypt_ts_nextState.ownerAddr) == 32) {
|
|
42
42
|
require(unlockArgs.contractInputIndex >= 0 && unlockArgs.contractInputIndex < __scrypt_ts_inputCount);
|
|
43
|
-
require(__scrypt_ts_nextState.ownerAddr ==
|
|
43
|
+
require(__scrypt_ts_nextState.ownerAddr == _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.getSpentScriptHash(__scrypt_ts_spentScriptHashes, unlockArgs.contractInputIndex));
|
|
44
44
|
} else {
|
|
45
|
-
|
|
45
|
+
_opcat_labs_cat_sdk_3_2_0__rs__OwnerUtils.checkUserOwner(unlockArgs.userPubKey, __scrypt_ts_nextState.ownerAddr);
|
|
46
46
|
require(checkSig(unlockArgs.userSig, unlockArgs.userPubKey));
|
|
47
47
|
}
|
|
48
48
|
require(true);
|
|
49
49
|
}
|
|
50
|
-
function checkGuard(
|
|
51
|
-
bytes guardScriptHash =
|
|
50
|
+
function checkGuard(_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState guardState, bytes t_cat721ScriptHash, int t_cat721InputIndex, int guardInputIndex, bytes t_spentScriptsCtx, bytes t_spentDataHashesCtx) : bool {
|
|
51
|
+
bytes guardScriptHash = _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.getSpentScriptHash(t_spentScriptsCtx, guardInputIndex);
|
|
52
52
|
require(guardScriptHash == this.guardVariantScriptHashes[0] || guardScriptHash == this.guardVariantScriptHashes[1] || guardScriptHash == this.guardVariantScriptHashes[2] || guardScriptHash == this.guardVariantScriptHashes[3]);
|
|
53
|
-
require(
|
|
53
|
+
require(_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.getSpentDataHash(t_spentDataHashesCtx, guardInputIndex) == _opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardStateLib.stateHash(guardState));
|
|
54
54
|
int cat721ScriptIndex = unpack(guardState.nftScriptIndexes[t_cat721InputIndex : t_cat721InputIndex + 1]);
|
|
55
55
|
require(guardState.nftScriptHashes[(cat721ScriptIndex)] == t_cat721ScriptHash);
|
|
56
56
|
return true;
|
|
57
57
|
}
|
|
58
|
-
static function serializeState(
|
|
58
|
+
static function serializeState(_opcat_labs_cat_sdk_3_2_0__rs__CAT721State __scrypt_ts_curState): bytes {
|
|
59
59
|
return num2bin(len(__scrypt_ts_curState.ownerAddr), 2) + __scrypt_ts_curState.ownerAddr + num2bin(len(pack(__scrypt_ts_curState.localId)), 2) + pack(__scrypt_ts_curState.localId) + hash160(hash160(__scrypt_ts_curState.ownerAddr) + hash160(pack(__scrypt_ts_curState.localId)));
|
|
60
60
|
}
|
|
61
|
-
static function stateHash(
|
|
61
|
+
static function stateHash(_opcat_labs_cat_sdk_3_2_0__rs__CAT721State __scrypt_ts_curState): bytes {
|
|
62
62
|
return sha256(num2bin(len(__scrypt_ts_curState.ownerAddr), 2) + __scrypt_ts_curState.ownerAddr + num2bin(len(pack(__scrypt_ts_curState.localId)), 2) + pack(__scrypt_ts_curState.localId) + hash160(hash160(__scrypt_ts_curState.ownerAddr) + hash160(pack(__scrypt_ts_curState.localId))));
|
|
63
63
|
}
|
|
64
64
|
}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 10,
|
|
3
3
|
"compilerVersion": "1.22.0+commit.47800da",
|
|
4
|
-
"contract": "
|
|
4
|
+
"contract": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardStateLib",
|
|
5
5
|
"md5": "d41d8cd98f00b204e9800998ecf8427e",
|
|
6
6
|
"structs": [
|
|
7
7
|
{
|
|
8
|
-
"name": "
|
|
8
|
+
"name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState",
|
|
9
9
|
"params": [
|
|
10
|
+
{
|
|
11
|
+
"name": "deployerAddr",
|
|
12
|
+
"type": "bytes"
|
|
13
|
+
},
|
|
10
14
|
{
|
|
11
15
|
"name": "nftScriptHashes",
|
|
12
16
|
"type": "bytes[4]"
|
|
@@ -23,7 +27,7 @@
|
|
|
23
27
|
"genericTypes": []
|
|
24
28
|
},
|
|
25
29
|
{
|
|
26
|
-
"name": "
|
|
30
|
+
"name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721State",
|
|
27
31
|
"params": [
|
|
28
32
|
{
|
|
29
33
|
"name": "ownerAddr",
|
|
@@ -37,7 +41,7 @@
|
|
|
37
41
|
"genericTypes": []
|
|
38
42
|
},
|
|
39
43
|
{
|
|
40
|
-
"name": "
|
|
44
|
+
"name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721ClosedMinterState",
|
|
41
45
|
"params": [
|
|
42
46
|
{
|
|
43
47
|
"name": "nftScriptHash",
|
|
@@ -55,7 +59,7 @@
|
|
|
55
59
|
"genericTypes": []
|
|
56
60
|
},
|
|
57
61
|
{
|
|
58
|
-
"name": "
|
|
62
|
+
"name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721MerkleLeaf",
|
|
59
63
|
"params": [
|
|
60
64
|
{
|
|
61
65
|
"name": "contentDataHash",
|
|
@@ -73,7 +77,7 @@
|
|
|
73
77
|
"genericTypes": []
|
|
74
78
|
},
|
|
75
79
|
{
|
|
76
|
-
"name": "
|
|
80
|
+
"name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721OpenMinterState",
|
|
77
81
|
"params": [
|
|
78
82
|
{
|
|
79
83
|
"name": "nftScriptHash",
|
|
@@ -91,7 +95,7 @@
|
|
|
91
95
|
"genericTypes": []
|
|
92
96
|
},
|
|
93
97
|
{
|
|
94
|
-
"name": "
|
|
98
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxOut",
|
|
95
99
|
"params": [
|
|
96
100
|
{
|
|
97
101
|
"name": "scriptHash",
|
|
@@ -109,7 +113,7 @@
|
|
|
109
113
|
"genericTypes": []
|
|
110
114
|
},
|
|
111
115
|
{
|
|
112
|
-
"name": "
|
|
116
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxIn",
|
|
113
117
|
"params": [
|
|
114
118
|
{
|
|
115
119
|
"name": "prevTxHash",
|
|
@@ -131,7 +135,7 @@
|
|
|
131
135
|
"genericTypes": []
|
|
132
136
|
},
|
|
133
137
|
{
|
|
134
|
-
"name": "
|
|
138
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxHashPreimage",
|
|
135
139
|
"params": [
|
|
136
140
|
{
|
|
137
141
|
"name": "version",
|
|
@@ -153,11 +157,11 @@
|
|
|
153
157
|
"genericTypes": []
|
|
154
158
|
},
|
|
155
159
|
{
|
|
156
|
-
"name": "
|
|
160
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__BacktraceInfo",
|
|
157
161
|
"params": [
|
|
158
162
|
{
|
|
159
163
|
"name": "prevTxInput",
|
|
160
|
-
"type": "
|
|
164
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxIn"
|
|
161
165
|
},
|
|
162
166
|
{
|
|
163
167
|
"name": "prevTxInputIndex",
|
|
@@ -165,13 +169,13 @@
|
|
|
165
169
|
},
|
|
166
170
|
{
|
|
167
171
|
"name": "prevPrevTxPreimage",
|
|
168
|
-
"type": "
|
|
172
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxHashPreimage"
|
|
169
173
|
}
|
|
170
174
|
],
|
|
171
175
|
"genericTypes": []
|
|
172
176
|
},
|
|
173
177
|
{
|
|
174
|
-
"name": "
|
|
178
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__SHPreimage",
|
|
175
179
|
"params": [
|
|
176
180
|
{
|
|
177
181
|
"name": "nVersion",
|
|
@@ -233,7 +237,7 @@
|
|
|
233
237
|
"genericTypes": []
|
|
234
238
|
},
|
|
235
239
|
{
|
|
236
|
-
"name": "
|
|
240
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__Outpoint",
|
|
237
241
|
"params": [
|
|
238
242
|
{
|
|
239
243
|
"name": "txHash",
|
|
@@ -247,7 +251,7 @@
|
|
|
247
251
|
"genericTypes": []
|
|
248
252
|
},
|
|
249
253
|
{
|
|
250
|
-
"name": "
|
|
254
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ReadVarintResult",
|
|
251
255
|
"params": [
|
|
252
256
|
{
|
|
253
257
|
"name": "data",
|
|
@@ -263,26 +267,26 @@
|
|
|
263
267
|
],
|
|
264
268
|
"library": [
|
|
265
269
|
{
|
|
266
|
-
"name": "
|
|
270
|
+
"name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardStateLib",
|
|
267
271
|
"params": [],
|
|
268
272
|
"properties": [],
|
|
269
273
|
"genericTypes": [],
|
|
270
|
-
"stateType": "
|
|
274
|
+
"stateType": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState"
|
|
271
275
|
},
|
|
272
276
|
{
|
|
273
|
-
"name": "
|
|
277
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxUtils",
|
|
274
278
|
"params": [],
|
|
275
279
|
"properties": [],
|
|
276
280
|
"genericTypes": []
|
|
277
281
|
},
|
|
278
282
|
{
|
|
279
|
-
"name": "
|
|
283
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils",
|
|
280
284
|
"params": [],
|
|
281
285
|
"properties": [],
|
|
282
286
|
"genericTypes": []
|
|
283
287
|
},
|
|
284
288
|
{
|
|
285
|
-
"name": "
|
|
289
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__StdUtils",
|
|
286
290
|
"params": [],
|
|
287
291
|
"properties": [],
|
|
288
292
|
"genericTypes": []
|
|
@@ -296,7 +300,7 @@
|
|
|
296
300
|
}
|
|
297
301
|
],
|
|
298
302
|
"stateProps": [],
|
|
299
|
-
"stateType": "
|
|
303
|
+
"stateType": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState",
|
|
300
304
|
"buildType": "release",
|
|
301
305
|
"file": "../cat721GuardStateLib.scrypt",
|
|
302
306
|
"hex": ""
|
|
@@ -5,9 +5,9 @@ import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scryp
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
library
|
|
9
|
-
static function formalCheckState(
|
|
10
|
-
|
|
8
|
+
library _opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardStateLib {
|
|
9
|
+
static function formalCheckState(_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState _state, static const int txInputCountMax) : bool {
|
|
10
|
+
_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardStateLib.checkNftScriptsUniq(_state.nftScriptHashes);
|
|
11
11
|
loop (4) : i {
|
|
12
12
|
int scriptLen = len(_state.nftScriptHashes[i]);
|
|
13
13
|
require(scriptLen == 32);
|
|
@@ -28,10 +28,10 @@ library _opcat_labs_cat_sdk_3_1_0__rs__CAT721GuardStateLib {
|
|
|
28
28
|
require(nftScripts[2] != nftScripts[3]);
|
|
29
29
|
return true;
|
|
30
30
|
}
|
|
31
|
-
static function serializeState(
|
|
32
|
-
return num2bin(len(__scrypt_ts_curState.nftScriptHashes[0]), 2) + __scrypt_ts_curState.nftScriptHashes[0] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[1]), 2) + __scrypt_ts_curState.nftScriptHashes[1] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[2]), 2) + __scrypt_ts_curState.nftScriptHashes[2] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[3]), 2) + __scrypt_ts_curState.nftScriptHashes[3] + num2bin(len(__scrypt_ts_curState.nftBurnMasks), 2) + __scrypt_ts_curState.nftBurnMasks + num2bin(len(__scrypt_ts_curState.nftScriptIndexes), 2) + __scrypt_ts_curState.nftScriptIndexes + hash160(hash160(__scrypt_ts_curState.nftScriptHashes[0]) + hash160(__scrypt_ts_curState.nftScriptHashes[1]) + hash160(__scrypt_ts_curState.nftScriptHashes[2]) + hash160(__scrypt_ts_curState.nftScriptHashes[3]) + hash160(__scrypt_ts_curState.nftBurnMasks) + hash160(__scrypt_ts_curState.nftScriptIndexes));
|
|
31
|
+
static function serializeState(_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState __scrypt_ts_curState): bytes {
|
|
32
|
+
return num2bin(len(__scrypt_ts_curState.deployerAddr), 2) + __scrypt_ts_curState.deployerAddr + num2bin(len(__scrypt_ts_curState.nftScriptHashes[0]), 2) + __scrypt_ts_curState.nftScriptHashes[0] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[1]), 2) + __scrypt_ts_curState.nftScriptHashes[1] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[2]), 2) + __scrypt_ts_curState.nftScriptHashes[2] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[3]), 2) + __scrypt_ts_curState.nftScriptHashes[3] + num2bin(len(__scrypt_ts_curState.nftBurnMasks), 2) + __scrypt_ts_curState.nftBurnMasks + num2bin(len(__scrypt_ts_curState.nftScriptIndexes), 2) + __scrypt_ts_curState.nftScriptIndexes + hash160(hash160(__scrypt_ts_curState.deployerAddr) + hash160(__scrypt_ts_curState.nftScriptHashes[0]) + hash160(__scrypt_ts_curState.nftScriptHashes[1]) + hash160(__scrypt_ts_curState.nftScriptHashes[2]) + hash160(__scrypt_ts_curState.nftScriptHashes[3]) + hash160(__scrypt_ts_curState.nftBurnMasks) + hash160(__scrypt_ts_curState.nftScriptIndexes));
|
|
33
33
|
}
|
|
34
|
-
static function stateHash(
|
|
35
|
-
return sha256(num2bin(len(__scrypt_ts_curState.nftScriptHashes[0]), 2) + __scrypt_ts_curState.nftScriptHashes[0] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[1]), 2) + __scrypt_ts_curState.nftScriptHashes[1] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[2]), 2) + __scrypt_ts_curState.nftScriptHashes[2] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[3]), 2) + __scrypt_ts_curState.nftScriptHashes[3] + num2bin(len(__scrypt_ts_curState.nftBurnMasks), 2) + __scrypt_ts_curState.nftBurnMasks + num2bin(len(__scrypt_ts_curState.nftScriptIndexes), 2) + __scrypt_ts_curState.nftScriptIndexes + hash160(hash160(__scrypt_ts_curState.nftScriptHashes[0]) + hash160(__scrypt_ts_curState.nftScriptHashes[1]) + hash160(__scrypt_ts_curState.nftScriptHashes[2]) + hash160(__scrypt_ts_curState.nftScriptHashes[3]) + hash160(__scrypt_ts_curState.nftBurnMasks) + hash160(__scrypt_ts_curState.nftScriptIndexes)));
|
|
34
|
+
static function stateHash(_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState __scrypt_ts_curState): bytes {
|
|
35
|
+
return sha256(num2bin(len(__scrypt_ts_curState.deployerAddr), 2) + __scrypt_ts_curState.deployerAddr + num2bin(len(__scrypt_ts_curState.nftScriptHashes[0]), 2) + __scrypt_ts_curState.nftScriptHashes[0] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[1]), 2) + __scrypt_ts_curState.nftScriptHashes[1] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[2]), 2) + __scrypt_ts_curState.nftScriptHashes[2] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[3]), 2) + __scrypt_ts_curState.nftScriptHashes[3] + num2bin(len(__scrypt_ts_curState.nftBurnMasks), 2) + __scrypt_ts_curState.nftBurnMasks + num2bin(len(__scrypt_ts_curState.nftScriptIndexes), 2) + __scrypt_ts_curState.nftScriptIndexes + hash160(hash160(__scrypt_ts_curState.deployerAddr) + hash160(__scrypt_ts_curState.nftScriptHashes[0]) + hash160(__scrypt_ts_curState.nftScriptHashes[1]) + hash160(__scrypt_ts_curState.nftScriptHashes[2]) + hash160(__scrypt_ts_curState.nftScriptHashes[3]) + hash160(__scrypt_ts_curState.nftBurnMasks) + hash160(__scrypt_ts_curState.nftScriptIndexes)));
|
|
36
36
|
}
|
|
37
37
|
}
|