@opcat-labs/cat-sdk 3.3.0 → 3.4.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/minters/cat20OpenMinter.scrypt.map +1 -1
- package/artifacts/.templates/cat20/minters/cat20OpenMinter.scrypt.tpl +1 -0
- package/artifacts/cat20/cat20.json +35 -35
- package/artifacts/cat20/cat20.scrypt +18 -18
- package/artifacts/cat20/cat20Admin.json +35 -35
- package/artifacts/cat20/cat20Admin.scrypt +30 -30
- package/artifacts/cat20/cat20GuardStateLib.json +22 -22
- package/artifacts/cat20/cat20GuardStateLib.scrypt +5 -5
- package/artifacts/cat20/cat20Guard_12_12_2.json +34 -34
- package/artifacts/cat20/cat20Guard_12_12_2.scrypt +29 -29
- package/artifacts/cat20/cat20Guard_12_12_4.json +34 -34
- package/artifacts/cat20/cat20Guard_12_12_4.scrypt +29 -29
- package/artifacts/cat20/cat20Guard_6_6_2.json +34 -34
- package/artifacts/cat20/cat20Guard_6_6_2.scrypt +29 -29
- package/artifacts/cat20/cat20Guard_6_6_4.json +34 -34
- package/artifacts/cat20/cat20Guard_6_6_4.scrypt +29 -29
- package/artifacts/cat20/cat20StateLib.json +23 -23
- package/artifacts/cat20/cat20StateLib.scrypt +5 -5
- package/artifacts/cat20/minters/cat20ClosedMinter.json +33 -33
- package/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
- package/artifacts/cat20/minters/cat20OpenMinter.json +35 -35
- package/artifacts/cat20/minters/cat20OpenMinter.scrypt +19 -18
- package/artifacts/cat20/types.json +5 -5
- package/artifacts/cat20/types.scrypt +5 -5
- package/artifacts/cat721/cat721.json +35 -35
- package/artifacts/cat721/cat721.scrypt +18 -18
- package/artifacts/cat721/cat721GuardStateLib.json +22 -22
- package/artifacts/cat721/cat721GuardStateLib.scrypt +5 -5
- package/artifacts/cat721/cat721Guard_12_12_2.json +33 -33
- package/artifacts/cat721/cat721Guard_12_12_2.scrypt +26 -26
- package/artifacts/cat721/cat721Guard_12_12_4.json +33 -33
- package/artifacts/cat721/cat721Guard_12_12_4.scrypt +26 -26
- package/artifacts/cat721/cat721Guard_6_6_2.json +33 -33
- package/artifacts/cat721/cat721Guard_6_6_2.scrypt +26 -26
- package/artifacts/cat721/cat721Guard_6_6_4.json +33 -33
- package/artifacts/cat721/cat721Guard_6_6_4.scrypt +26 -26
- package/artifacts/cat721/cat721StateLib.json +23 -23
- package/artifacts/cat721/cat721StateLib.scrypt +5 -5
- package/artifacts/cat721/minters/cat721ClosedMinter.json +33 -33
- 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 +38 -38
- package/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
- package/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +20 -20
- package/artifacts/cat721/minters/cat721OpenMinterMerkleTree.scrypt +6 -6
- package/artifacts/cat721/types.json +5 -5
- package/artifacts/cat721/types.scrypt +5 -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 +13 -13
- 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 +9 -9
- package/artifacts/types.json +2 -2
- package/artifacts/types.scrypt +2 -2
- package/artifacts/utils/ownerUtils.json +15 -15
- package/artifacts/utils/ownerUtils.scrypt +3 -3
- package/artifacts/utils/safeMath.json +15 -15
- package/artifacts/utils/safeMath.scrypt +1 -1
- package/dist/artifacts/cat20/cat20.json +35 -35
- package/dist/artifacts/cat20/cat20.scrypt +18 -18
- package/dist/artifacts/cat20/cat20Admin.json +35 -35
- package/dist/artifacts/cat20/cat20Admin.scrypt +30 -30
- package/dist/artifacts/cat20/cat20GuardStateLib.json +22 -22
- package/dist/artifacts/cat20/cat20GuardStateLib.scrypt +5 -5
- package/dist/artifacts/cat20/cat20Guard_12_12_2.json +34 -34
- package/dist/artifacts/cat20/cat20Guard_12_12_2.scrypt +29 -29
- package/dist/artifacts/cat20/cat20Guard_12_12_4.json +34 -34
- package/dist/artifacts/cat20/cat20Guard_12_12_4.scrypt +29 -29
- package/dist/artifacts/cat20/cat20Guard_6_6_2.json +34 -34
- package/dist/artifacts/cat20/cat20Guard_6_6_2.scrypt +29 -29
- package/dist/artifacts/cat20/cat20Guard_6_6_4.json +34 -34
- package/dist/artifacts/cat20/cat20Guard_6_6_4.scrypt +29 -29
- package/dist/artifacts/cat20/cat20StateLib.json +23 -23
- package/dist/artifacts/cat20/cat20StateLib.scrypt +5 -5
- package/dist/artifacts/cat20/minters/cat20ClosedMinter.json +33 -33
- package/dist/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
- package/dist/artifacts/cat20/minters/cat20OpenMinter.json +35 -35
- package/dist/artifacts/cat20/minters/cat20OpenMinter.scrypt +19 -18
- package/dist/artifacts/cat20/types.json +5 -5
- package/dist/artifacts/cat20/types.scrypt +5 -5
- package/dist/artifacts/cat721/cat721.json +35 -35
- package/dist/artifacts/cat721/cat721.scrypt +18 -18
- package/dist/artifacts/cat721/cat721GuardStateLib.json +22 -22
- package/dist/artifacts/cat721/cat721GuardStateLib.scrypt +5 -5
- package/dist/artifacts/cat721/cat721Guard_12_12_2.json +33 -33
- package/dist/artifacts/cat721/cat721Guard_12_12_2.scrypt +26 -26
- package/dist/artifacts/cat721/cat721Guard_12_12_4.json +33 -33
- package/dist/artifacts/cat721/cat721Guard_12_12_4.scrypt +26 -26
- package/dist/artifacts/cat721/cat721Guard_6_6_2.json +33 -33
- package/dist/artifacts/cat721/cat721Guard_6_6_2.scrypt +26 -26
- package/dist/artifacts/cat721/cat721Guard_6_6_4.json +33 -33
- package/dist/artifacts/cat721/cat721Guard_6_6_4.scrypt +26 -26
- package/dist/artifacts/cat721/cat721StateLib.json +23 -23
- package/dist/artifacts/cat721/cat721StateLib.scrypt +5 -5
- package/dist/artifacts/cat721/minters/cat721ClosedMinter.json +33 -33
- 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 +38 -38
- package/dist/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
- package/dist/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +20 -20
- package/dist/artifacts/cat721/minters/cat721OpenMinterMerkleTree.scrypt +6 -6
- package/dist/artifacts/cat721/types.json +5 -5
- package/dist/artifacts/cat721/types.scrypt +5 -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 +13 -13
- 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 +9 -9
- package/dist/artifacts/types.json +2 -2
- package/dist/artifacts/types.scrypt +2 -2
- package/dist/artifacts/utils/ownerUtils.json +15 -15
- package/dist/artifacts/utils/ownerUtils.scrypt +3 -3
- package/dist/artifacts/utils/safeMath.json +15 -15
- package/dist/artifacts/utils/safeMath.scrypt +1 -1
- package/dist/cjs/contracts/cat20/minters/cat20OpenMinter.js +1 -0
- package/dist/cjs/contracts/cat20/minters/cat20OpenMinter.js.map +1 -1
- package/dist/cjs/utils/index.js +1 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/esm/contracts/cat20/minters/cat20OpenMinter.js +1 -0
- package/dist/esm/contracts/cat20/minters/cat20OpenMinter.js.map +1 -1
- package/dist/esm/utils/index.js +1 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/types/contracts/cat20/minters/cat20OpenMinter.d.ts.map +1 -1
- package/package.json +4 -4
- package/scrypt.index.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
[[],[],[],[],[],[],[],[],[],[],[],[[9,0,41,13]],[[2,0,43,19],[8,0,43,2]],[[2,0,47,12],[6,0,47,2]],[[2,0,51,11],[6,0,51,2]],[[2,0,54,16],[6,0,54,2]],[[2,0,57,9],[6,0,57,2]],[[2,0,60,16],[8,0,60,2]],[[2,0,62,2],[14,0,63,21],[20,0,63,4],[37,0,64,14],[41,0,64,4],[51,0,65,13],[55,0,65,4],[64,0,66,18],[68,0,66,4],[82,0,67,11],[86,0,67,4],[93,0,68,17],[99,0,68,4]],[[4,0,71,4],[8,0,71,9],[25,0,71,4],[27,0,71,27]],[[4,0,72,4],[8,0,72,9],[18,0,72,4],[20,0,72,20]],[[4,0,75,4],[8,0,75,9],[17,0,75,4],[19,0,75,19]],[[4,0,76,4],[8,0,76,9],[22,0,76,4],[24,0,76,24]],[[4,0,77,4],[8,0,77,9],[15,0,77,4],[17,0,77,17]],[[4,0,78,4],[8,0,78,9],[22,0,78,4],[24,0,78,24]],[],[[2,0,82,2],[18,0,82,9],[23,0,84,15],[34,0,84,4],[45,0,85,25],[48,0,85,25],[52,0,85,4],[73,0,87,20],[80,0,87,4],[96,0,88,17],[100,0,88,4],[113,0,90,20],[117,0,90,4],[133,0,92,19],[137,0,92,4],[152,0,94,19],[166,0,94,4]],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[[33,0,97,29],[48,0,97,44],[52,0,97,49]],[[4,0,100,24],[10,0,100,8],[26,0,100,37]],[[4,0,101,32],[8,0,101,8],[32,0,101,32]],[[15,0,102,13]],[[8,0,103,29],[12,0,103,12],[29,0,103,29],[49,0,103,49]],[[8,0,104,6],[11,0,104,10],[26,0,104,10],[28,0,104,27]],[[10,0,105,8],[32,0,105,8],[35,0,105,33]],[[10,0,106,8],[24,0,106,8],[27,0,106,25],[34,0,106,33],[91,0,108,10],[107,0,109,10],[114,0,109,17],[129,0,109,33],[145,0,109,48],[167,0,110,40],[185,0,111,29]],[],[],[[4,0,119,27],[11,0,
|
|
1
|
+
[[],[],[],[],[],[],[],[],[],[],[],[[9,0,41,13]],[[2,0,43,19],[8,0,43,2]],[[2,0,47,12],[6,0,47,2]],[[2,0,51,11],[6,0,51,2]],[[2,0,54,16],[6,0,54,2]],[[2,0,57,9],[6,0,57,2]],[[2,0,60,16],[8,0,60,2]],[[2,0,62,2],[14,0,63,21],[20,0,63,4],[37,0,64,14],[41,0,64,4],[51,0,65,13],[55,0,65,4],[64,0,66,18],[68,0,66,4],[82,0,67,11],[86,0,67,4],[93,0,68,17],[99,0,68,4]],[[4,0,71,4],[8,0,71,9],[25,0,71,4],[27,0,71,27]],[[4,0,72,4],[8,0,72,9],[18,0,72,4],[20,0,72,20]],[[4,0,75,4],[8,0,75,9],[17,0,75,4],[19,0,75,19]],[[4,0,76,4],[8,0,76,9],[22,0,76,4],[24,0,76,24]],[[4,0,77,4],[8,0,77,9],[15,0,77,4],[17,0,77,17]],[[4,0,78,4],[8,0,78,9],[22,0,78,4],[24,0,78,24]],[],[[2,0,82,2],[18,0,82,9],[23,0,84,15],[34,0,84,4],[45,0,85,25],[48,0,85,25],[52,0,85,4],[73,0,87,20],[80,0,87,4],[96,0,88,17],[100,0,88,4],[113,0,90,20],[117,0,90,4],[133,0,92,19],[137,0,92,4],[152,0,94,19],[166,0,94,4]],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[[33,0,97,29],[48,0,97,44],[52,0,97,49]],[[4,0,100,24],[10,0,100,8],[26,0,100,37]],[[4,0,101,32],[8,0,101,8],[32,0,101,32]],[[15,0,102,13]],[[8,0,103,29],[12,0,103,12],[29,0,103,29],[49,0,103,49]],[[8,0,104,6],[11,0,104,10],[26,0,104,10],[28,0,104,27]],[[10,0,105,8],[32,0,105,8],[35,0,105,33]],[[10,0,106,8],[24,0,106,8],[27,0,106,25],[34,0,106,33],[91,0,108,10],[107,0,109,10],[114,0,109,17],[129,0,109,33],[145,0,109,48],[167,0,110,40],[185,0,111,29]],[],[],[[4,0,119,4],[17,0,119,18],[29,0,119,29]],[[4,0,120,27],[11,0,120,10],[28,0,120,27],[35,0,120,34],[48,0,120,48],[64,0,120,63]],[[4,0,121,24],[10,0,121,10],[24,0,121,24],[31,0,121,32],[69,0,122,17],[87,0,123,6],[102,0,124,6]],[[4,0,126,4],[7,0,126,8],[29,0,126,20],[46,0,126,8],[49,0,126,39],[53,0,126,44],[62,0,126,39],[64,0,126,54]],[[8,0,128,6],[16,0,128,13],[20,0,128,18],[30,0,128,13],[54,0,128,41],[70,0,128,30],[72,0,128,58],[76,0,128,63]],[[8,0,130,6],[18,0,130,17],[34,0,130,32],[50,0,130,48],[54,0,130,53]],[[8,0,131,6],[16,0,131,18],[24,0,131,13],[25,0,131,27],[38,0,131,40],[52,0,131,13]],[[8,0,133,6],[16,0,133,13],[38,0,133,13],[62,0,133,49]],[[8,0,134,6],[16,0,134,13],[25,0,134,23],[33,0,134,13],[36,0,134,33],[40,0,134,38]],[],[[8,0,137,6],[11,0,137,10],[33,0,137,22]],[[10,0,139,8],[18,0,139,15],[22,0,139,20],[32,0,139,15],[56,0,139,43]],[[10,0,140,8],[18,0,140,15],[22,0,140,20],[36,0,140,15],[39,0,140,36]],[[10,0,141,8],[18,0,141,15],[22,0,141,20],[31,0,141,15],[34,0,141,31]],[],[[8,0,143,6],[16,0,143,13],[38,0,143,13],[62,0,143,49],[78,0,143,38],[80,0,143,66]],[[8,0,144,6],[16,0,144,13],[25,0,144,23],[33,0,144,13],[36,0,144,33],[40,0,144,38]],[],[[4,0,148,25],[10,0,148,10]],[],[[4,0,151,4],[20,0,151,29],[34,0,151,29],[36,0,151,45],[48,0,151,29],[50,0,151,59]],[],[],[],[],[],[],[],[]]
|
|
@@ -51,6 +51,7 @@ contract CAT20OpenMinter {
|
|
|
51
51
|
minterOutputs += TxUtils.buildDataOutput(__scrypt_ts_shPreimage.spentScriptHash, minterSatoshis, sha256(CAT20OpenMinter.serializeState({__scrypt_ts_nextState.tokenScriptHash, true, remainingCount})));
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
+
CAT20StateLib.checkState(tokenMint);
|
|
54
55
|
Sha256 tokenStateHash = sha256(CAT20StateLib.serializeState(tokenMint));
|
|
55
56
|
bytes tokenOutput = TxUtils.buildDataOutput(__scrypt_ts_nextState.tokenScriptHash, tokenSatoshis, tokenStateHash);
|
|
56
57
|
if(!__scrypt_ts_nextState.hasMintedBefore && this.premine > 0) {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 10,
|
|
3
3
|
"compilerVersion": "1.22.0+commit.47800da",
|
|
4
|
-
"contract": "
|
|
4
|
+
"contract": "_opcat_labs_cat_sdk_3_4_0__rs__CAT20",
|
|
5
5
|
"md5": "a4c8a5ce008e7206460b16ff7cd1b928",
|
|
6
6
|
"structs": [
|
|
7
7
|
{
|
|
8
|
-
"name": "
|
|
8
|
+
"name": "_opcat_labs_cat_sdk_3_4_0__rs__CAT20GuardConstState",
|
|
9
9
|
"params": [
|
|
10
10
|
{
|
|
11
11
|
"name": "deployerAddr",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"genericTypes": []
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
|
-
"name": "
|
|
34
|
+
"name": "_opcat_labs_cat_sdk_3_4_0__rs__CAT20State",
|
|
35
35
|
"params": [
|
|
36
36
|
{
|
|
37
37
|
"name": "ownerAddr",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"genericTypes": []
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
|
-
"name": "
|
|
48
|
+
"name": "_opcat_labs_cat_sdk_3_4_0__rs__CAT20ClosedMinterState",
|
|
49
49
|
"params": [
|
|
50
50
|
{
|
|
51
51
|
"name": "tokenScriptHash",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"genericTypes": []
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
|
-
"name": "
|
|
58
|
+
"name": "_opcat_labs_cat_sdk_3_4_0__rs__CAT20OpenMinterState",
|
|
59
59
|
"params": [
|
|
60
60
|
{
|
|
61
61
|
"name": "tokenScriptHash",
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"genericTypes": []
|
|
74
74
|
},
|
|
75
75
|
{
|
|
76
|
-
"name": "
|
|
76
|
+
"name": "_opcat_labs_cat_sdk_3_4_0__rs__CAT20AdminState",
|
|
77
77
|
"params": [
|
|
78
78
|
{
|
|
79
79
|
"name": "tag",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"genericTypes": []
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
|
-
"name": "
|
|
90
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxOut",
|
|
91
91
|
"params": [
|
|
92
92
|
{
|
|
93
93
|
"name": "scriptHash",
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
"genericTypes": []
|
|
106
106
|
},
|
|
107
107
|
{
|
|
108
|
-
"name": "
|
|
108
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxIn",
|
|
109
109
|
"params": [
|
|
110
110
|
{
|
|
111
111
|
"name": "prevTxHash",
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
"genericTypes": []
|
|
128
128
|
},
|
|
129
129
|
{
|
|
130
|
-
"name": "
|
|
130
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxHashPreimage",
|
|
131
131
|
"params": [
|
|
132
132
|
{
|
|
133
133
|
"name": "version",
|
|
@@ -149,11 +149,11 @@
|
|
|
149
149
|
"genericTypes": []
|
|
150
150
|
},
|
|
151
151
|
{
|
|
152
|
-
"name": "
|
|
152
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__BacktraceInfo",
|
|
153
153
|
"params": [
|
|
154
154
|
{
|
|
155
155
|
"name": "prevTxInput",
|
|
156
|
-
"type": "
|
|
156
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxIn"
|
|
157
157
|
},
|
|
158
158
|
{
|
|
159
159
|
"name": "prevTxInputIndex",
|
|
@@ -161,13 +161,13 @@
|
|
|
161
161
|
},
|
|
162
162
|
{
|
|
163
163
|
"name": "prevPrevTxPreimage",
|
|
164
|
-
"type": "
|
|
164
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxHashPreimage"
|
|
165
165
|
}
|
|
166
166
|
],
|
|
167
167
|
"genericTypes": []
|
|
168
168
|
},
|
|
169
169
|
{
|
|
170
|
-
"name": "
|
|
170
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__SHPreimage",
|
|
171
171
|
"params": [
|
|
172
172
|
{
|
|
173
173
|
"name": "nVersion",
|
|
@@ -229,7 +229,7 @@
|
|
|
229
229
|
"genericTypes": []
|
|
230
230
|
},
|
|
231
231
|
{
|
|
232
|
-
"name": "
|
|
232
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__Outpoint",
|
|
233
233
|
"params": [
|
|
234
234
|
{
|
|
235
235
|
"name": "txHash",
|
|
@@ -243,7 +243,7 @@
|
|
|
243
243
|
"genericTypes": []
|
|
244
244
|
},
|
|
245
245
|
{
|
|
246
|
-
"name": "
|
|
246
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__ChangeInfo",
|
|
247
247
|
"params": [
|
|
248
248
|
{
|
|
249
249
|
"name": "pubkeyhash",
|
|
@@ -261,7 +261,7 @@
|
|
|
261
261
|
"genericTypes": []
|
|
262
262
|
},
|
|
263
263
|
{
|
|
264
|
-
"name": "
|
|
264
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__ChainTxVerifyResponse",
|
|
265
265
|
"params": [
|
|
266
266
|
{
|
|
267
267
|
"name": "prevPrevScript",
|
|
@@ -275,7 +275,7 @@
|
|
|
275
275
|
"genericTypes": []
|
|
276
276
|
},
|
|
277
277
|
{
|
|
278
|
-
"name": "
|
|
278
|
+
"name": "_opcat_labs_cat_sdk_3_4_0__rs__CAT20ContractUnlockArgs",
|
|
279
279
|
"params": [
|
|
280
280
|
{
|
|
281
281
|
"name": "spendType",
|
|
@@ -297,7 +297,7 @@
|
|
|
297
297
|
"genericTypes": []
|
|
298
298
|
},
|
|
299
299
|
{
|
|
300
|
-
"name": "
|
|
300
|
+
"name": "_opcat_labs_cat_sdk_3_4_0__rs__CAT721ContractUnlockArgs",
|
|
301
301
|
"params": [
|
|
302
302
|
{
|
|
303
303
|
"name": "userPubKey",
|
|
@@ -315,7 +315,7 @@
|
|
|
315
315
|
"genericTypes": []
|
|
316
316
|
},
|
|
317
317
|
{
|
|
318
|
-
"name": "
|
|
318
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__ReadVarintResult",
|
|
319
319
|
"params": [
|
|
320
320
|
{
|
|
321
321
|
"name": "data",
|
|
@@ -331,50 +331,50 @@
|
|
|
331
331
|
],
|
|
332
332
|
"library": [
|
|
333
333
|
{
|
|
334
|
-
"name": "
|
|
334
|
+
"name": "_opcat_labs_cat_sdk_3_4_0__rs__OwnerUtils",
|
|
335
335
|
"params": [],
|
|
336
336
|
"properties": [],
|
|
337
337
|
"genericTypes": []
|
|
338
338
|
},
|
|
339
339
|
{
|
|
340
|
-
"name": "
|
|
340
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxUtils",
|
|
341
341
|
"params": [],
|
|
342
342
|
"properties": [],
|
|
343
343
|
"genericTypes": []
|
|
344
344
|
},
|
|
345
345
|
{
|
|
346
|
-
"name": "
|
|
346
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__StateUtils",
|
|
347
347
|
"params": [],
|
|
348
348
|
"properties": [],
|
|
349
349
|
"genericTypes": []
|
|
350
350
|
},
|
|
351
351
|
{
|
|
352
|
-
"name": "
|
|
352
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxHashPreimageUtils",
|
|
353
353
|
"params": [],
|
|
354
354
|
"properties": [],
|
|
355
355
|
"genericTypes": []
|
|
356
356
|
},
|
|
357
357
|
{
|
|
358
|
-
"name": "
|
|
358
|
+
"name": "_opcat_labs_cat_sdk_3_4_0__rs__CAT20GuardStateLib",
|
|
359
359
|
"params": [],
|
|
360
360
|
"properties": [],
|
|
361
361
|
"genericTypes": [],
|
|
362
|
-
"stateType": "
|
|
362
|
+
"stateType": "_opcat_labs_cat_sdk_3_4_0__rs__CAT20GuardConstState"
|
|
363
363
|
},
|
|
364
364
|
{
|
|
365
|
-
"name": "
|
|
365
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__Backtrace",
|
|
366
366
|
"params": [],
|
|
367
367
|
"properties": [],
|
|
368
368
|
"genericTypes": []
|
|
369
369
|
},
|
|
370
370
|
{
|
|
371
|
-
"name": "
|
|
371
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils",
|
|
372
372
|
"params": [],
|
|
373
373
|
"properties": [],
|
|
374
374
|
"genericTypes": []
|
|
375
375
|
},
|
|
376
376
|
{
|
|
377
|
-
"name": "
|
|
377
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__StdUtils",
|
|
378
378
|
"params": [],
|
|
379
379
|
"properties": [],
|
|
380
380
|
"genericTypes": []
|
|
@@ -389,11 +389,11 @@
|
|
|
389
389
|
"params": [
|
|
390
390
|
{
|
|
391
391
|
"name": "unlockArgs",
|
|
392
|
-
"type": "
|
|
392
|
+
"type": "_opcat_labs_cat_sdk_3_4_0__rs__CAT20ContractUnlockArgs"
|
|
393
393
|
},
|
|
394
394
|
{
|
|
395
395
|
"name": "guardState",
|
|
396
|
-
"type": "
|
|
396
|
+
"type": "_opcat_labs_cat_sdk_3_4_0__rs__CAT20GuardConstState"
|
|
397
397
|
},
|
|
398
398
|
{
|
|
399
399
|
"name": "guardInputIndex",
|
|
@@ -401,11 +401,11 @@
|
|
|
401
401
|
},
|
|
402
402
|
{
|
|
403
403
|
"name": "backtraceInfo",
|
|
404
|
-
"type": "
|
|
404
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__BacktraceInfo"
|
|
405
405
|
},
|
|
406
406
|
{
|
|
407
407
|
"name": "__scrypt_ts_shPreimage",
|
|
408
|
-
"type": "
|
|
408
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__SHPreimage"
|
|
409
409
|
},
|
|
410
410
|
{
|
|
411
411
|
"name": "__scrypt_ts_preimageSig",
|
|
@@ -413,7 +413,7 @@
|
|
|
413
413
|
},
|
|
414
414
|
{
|
|
415
415
|
"name": "__scrypt_ts_curState",
|
|
416
|
-
"type": "
|
|
416
|
+
"type": "_opcat_labs_cat_sdk_3_4_0__rs__CAT20State"
|
|
417
417
|
},
|
|
418
418
|
{
|
|
419
419
|
"name": "__scrypt_ts_prevouts",
|
|
@@ -433,7 +433,7 @@
|
|
|
433
433
|
},
|
|
434
434
|
{
|
|
435
435
|
"name": "__scrypt_ts_prevTxHashPreimage",
|
|
436
|
-
"type": "
|
|
436
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxHashPreimage"
|
|
437
437
|
}
|
|
438
438
|
]
|
|
439
439
|
},
|
|
@@ -460,7 +460,7 @@
|
|
|
460
460
|
}
|
|
461
461
|
],
|
|
462
462
|
"stateProps": [],
|
|
463
|
-
"stateType": "
|
|
463
|
+
"stateType": "_opcat_labs_cat_sdk_3_4_0__rs__CAT20State",
|
|
464
464
|
"buildType": "release",
|
|
465
465
|
"file": "../cat20.scrypt",
|
|
466
466
|
"hex": "2102ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec038200000000000000<minterScriptHash><guardVariantScriptHashes[0]><guardVariantScriptHashes[1]><guardVariantScriptHashes[2]><guardVariantScriptHashes[3]><hasAdmin><adminScriptHash>56795e7a755d7a5d7a5d7a5d7a5d7a5d7a5d7a5d7a5d7a5d7a5d7a5d7a5d7a5579557955795579607a607a607a607a6d6d5c7a5c7a5c7a5c7a5c7a5c7a5c7a5c7a5c7a78597a75587a587a587a587a587a587a587a587a76587a75577a577a577a577a577a577a577a6d6d6d7501127901137982778c7f75007f770121790121790121790121790121790121790121790121790121790121790121790121790121790121795d798277549d5c79827701209d5b79827701209d5a79827701209d597900a26958798277549d5779827701209d5679827701209d5579827701209d5479827701209d5379827701209d527900a2697800a26976519c6476529c6751686476539c67516864760281009c67516864760282009c67516864760283009c675168695d795d797e5c797e5b797e5a79767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c7e59797e58797e57797e56797e55797e54797e5379546e8b806e7c7f75007f6b6d6d6c7e5279546e8b806e7c7f75007f6b6d6d6c7e7854807e6b6d6d6d6d6d6d6d6ca85979ba630112795879ac670068695e79011b7978aa7888785878827d77527997009d6e7c966b6d6d6c77607901217901187970aa5379886e9f69765479012478827d77527997009d6e7c967777779d537952798b0124957f7552790124957f7d7701207f75007f777801247f7501207f77768277549d767601007e817777726d726d7b755f79011d7954795279aa527988765379012078827d77527997009d6e7c967777779d6d756079011c7954795279aa527988765379012078827d77527997009d6e7c967777779d6d75011479011479011a79011779011779788277528052797e78827752807e787e5279a95279a97ea97ea877770114797653798b0120957f7553790120957f775279886d756079607960796079011879011f79557955795579557953798277549d5279014878827d77527997009d6e7c967777775279014878827d77527997009d6e7c96777777557952790000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e55797e780000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e54797e53797eaa6b6d6d6d6c76700124950120937f7553790124957f77886d6d6d75012e79012e79012e79012e79012e79012e79012e79012e79012e79011479011b790125798b0120957f750125790120957f77011a795b795b795b795b795b795b795b795b795b7959797656798b0148957f7556790148957f775a795a795a795a795379827701209d76827701209d707600a2637605ffffffff00a16700686976546e8b806e7c7f75007f6b6d6d6c777e787e52797600a2637605ffffffff00a16700686976546e8b806e7c7f75007f6b6d6d6c777e6b6d6d6c88597976567956795679567953798277549d5279014878827d77527997009d6e7c967777775279014878827d77527997009d6e7c96777777557952790000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e55797e780000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e54797e53797eaa6b6d6d6d6c8853795a7901489558930120937f755a7901489558937f77785b797600a2637605ffffffff00a16700686976546e8b806e7c7f75007f6b6d6d6c777e787c726d726d726d726d726d726d785579876478547987675168696d6d6d6d6d6d6d013d79013d79013d79013d79013d79013d79013d79013d79013d79013d79013d79013d79013d79013d79013179012979013f790122790124797853796e8b0120957f75780120957f77777776011f79011f79011f79011f7953766b796c756b6d6d6c876476011f79011f79011f79011f7952766b796c756b6d6d6c876751686476011f79011f79011f79011f7951766b796c756b6d6d6c876751686476011f79011f79011f79011f7900766b796c756b6d6d6c87675168697854796e8b0120957f75780120957f7777770114790114790114790114790114790114790114790114790114790114790114790114790114790114795d79827752805e797e5d795d795d795d7953766b796c756b6d6d6c827752807e5d795d795d795d7953766b796c756b6d6d6c7e5d795d795d795d7952766b796c756b6d6d6c827752807e5d795d795d795d7952766b796c756b6d6d6c7e5d795d795d795d7951766b796c756b6d6d6c827752807e5d795d795d795d7951766b796c756b6d6d6c7e5d795d795d795d7900766b796c756b6d6d6c827752807e5d795d795d795d7900766b796c756b6d6d6c7e597959795979597953766b796c756b6d6d6c827752807e597959795979597953766b796c756b6d6d6c7e597959795979597952766b796c756b6d6d6c827752807e597959795979597952766b796c756b6d6d6c7e597959795979597951766b796c756b6d6d6c827752807e597959795979597951766b796c756b6d6d6c7e597959795979597900766b796c756b6d6d6c827752807e597959795979597900766b796c756b6d6d6c7e557955795579557953766b796c756b6d6d6c827752807e557955795579557953766b796c756b6d6d6c7e557955795579557952766b796c756b6d6d6c827752807e557955795579557952766b796c756b6d6d6c7e557955795579557951766b796c756b6d6d6c827752807e557955795579557951766b796c756b6d6d6c7e557955795579557900766b796c756b6d6d6c827752807e557955795579557900766b796c756b6d6d6c7e78827752807e787e5e79a95e795e795e795e7953766b796c756b6d6d6ca97e5e795e795e795e7952766b796c756b6d6d6ca97e5e795e795e795e7951766b796c756b6d6d6ca97e5e795e795e795e7900766b796c756b6d6d6ca97e5a795a795a795a7953766b796c756b6d6d6ca97e5a795a795a795a7952766b796c756b6d6d6ca97e5a795a795a795a7951766b796c756b6d6d6ca97e5a795a795a795a7900766b796c756b6d6d6ca97e567956795679567953766b796c756b6d6d6ca97e567956795679567952766b796c756b6d6d6ca97e567956795679567951766b796c756b6d6d6ca97e567956795679567900766b796c756b6d6d6ca97e5279a97ea97ea86b6d6d6d6d6d6d6d6c88567955798b7f7555797f77810113790113790113790113795455797600a26976549f69948c766b796c756b6d6d6c5779886d6d6d6d6d6d6d6d6d6d7501417900a26301417952a16700686900013f7900a263013f7956799f690112790140796e8b0120957f75780120957f6b6d6d6c68014279009c630141795379787676827701219d750376a91478a97e0288ac7e7778886d014079014279ad67014279519c6352797888675779697657798868686d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d7551"
|
|
@@ -12,7 +12,7 @@ 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_4_0__rs__CAT20 {
|
|
16
16
|
bytes minterScriptHash;
|
|
17
17
|
Sha256[4] guardVariantScriptHashes;
|
|
18
18
|
bool hasAdmin;
|
|
@@ -23,33 +23,33 @@ contract _opcat_labs_cat_sdk_3_3_0__rs__CAT20 {
|
|
|
23
23
|
this.hasAdmin = hasAdmin;
|
|
24
24
|
this.adminScriptHash = adminScriptHash;
|
|
25
25
|
}
|
|
26
|
-
public function unlock(
|
|
27
|
-
require(checkDataSig(Sig(__scrypt_ts_preimageSig[0 : len(__scrypt_ts_preimageSig) - 1]), sha256(
|
|
26
|
+
public function unlock(_opcat_labs_cat_sdk_3_4_0__rs__CAT20ContractUnlockArgs unlockArgs, _opcat_labs_cat_sdk_3_4_0__rs__CAT20GuardConstState guardState, int guardInputIndex, _opcat_labs_scrypt_ts_opcat_3_4_0__rs__BacktraceInfo backtraceInfo, _opcat_labs_scrypt_ts_opcat_3_4_0__rs__SHPreimage __scrypt_ts_shPreimage, Sig __scrypt_ts_preimageSig, _opcat_labs_cat_sdk_3_4_0__rs__CAT20State __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_4_0__rs__TxHashPreimage __scrypt_ts_prevTxHashPreimage) {
|
|
27
|
+
require(checkDataSig(Sig(__scrypt_ts_preimageSig[0 : len(__scrypt_ts_preimageSig) - 1]), sha256(_opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage)), _opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.pubKey) && checkSig(__scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.pubKey));
|
|
28
28
|
|
|
29
|
-
int __scrypt_ts_inputCount =
|
|
29
|
+
int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
_opcat_labs_scrypt_ts_opcat_3_4_0__rs__Outpoint __scrypt_ts_prevout = _opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.checkPrevouts(__scrypt_ts_prevouts, __scrypt_ts_shPreimage.hashPrevouts, __scrypt_ts_shPreimage.inputIndex, __scrypt_ts_inputCount);
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
_opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.checkSpentScripts(__scrypt_ts_spentScriptHashes, __scrypt_ts_shPreimage.hashSpentScriptHashes, __scrypt_ts_inputCount);
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
_opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
_opcat_labs_cat_sdk_3_4_0__rs__CAT20State __scrypt_ts_nextState = __scrypt_ts_curState;
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
_opcat_labs_scrypt_ts_opcat_3_4_0__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_3_4_0__rs__CAT20.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
_opcat_labs_scrypt_ts_opcat_3_4_0__rs__Backtrace.checkPrevTxHashPreimage(__scrypt_ts_prevTxHashPreimage, __scrypt_ts_prevouts, __scrypt_ts_shPreimage.inputIndex);
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
_opcat_labs_scrypt_ts_opcat_3_4_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);
|
|
44
44
|
this.checkGuard(guardState, __scrypt_ts_shPreimage.spentScriptHash, __scrypt_ts_shPreimage.inputIndex, guardInputIndex, __scrypt_ts_spentScriptHashes, __scrypt_ts_spentDataHashes);
|
|
45
45
|
require(unlockArgs.spendType >= 0 && unlockArgs.spendType <= 2);
|
|
46
46
|
bytes spentScriptHash = b'';
|
|
47
47
|
if(unlockArgs.spendScriptInputIndex >= 0) {
|
|
48
48
|
require(unlockArgs.spendScriptInputIndex < __scrypt_ts_inputCount);
|
|
49
|
-
spentScriptHash =
|
|
49
|
+
spentScriptHash = _opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.getSpentScriptHash(__scrypt_ts_spentScriptHashes, unlockArgs.spendScriptInputIndex);
|
|
50
50
|
}
|
|
51
51
|
if(unlockArgs.spendType == 0) {
|
|
52
|
-
|
|
52
|
+
_opcat_labs_cat_sdk_3_4_0__rs__OwnerUtils.checkUserOwner(unlockArgs.userPubKey, __scrypt_ts_nextState.ownerAddr);
|
|
53
53
|
require(checkSig(unlockArgs.userSig, unlockArgs.userPubKey));
|
|
54
54
|
} else if(unlockArgs.spendType == 1) {
|
|
55
55
|
require(__scrypt_ts_nextState.ownerAddr == spentScriptHash);
|
|
@@ -59,18 +59,18 @@ contract _opcat_labs_cat_sdk_3_3_0__rs__CAT20 {
|
|
|
59
59
|
}
|
|
60
60
|
require(true);
|
|
61
61
|
}
|
|
62
|
-
function checkGuard(
|
|
63
|
-
bytes guardScriptHash =
|
|
62
|
+
function checkGuard(_opcat_labs_cat_sdk_3_4_0__rs__CAT20GuardConstState guardState, bytes t_cat20ScriptHash, int t_cat20InputIndexVal, int guardInputIndexVal, bytes t_spentScriptsCtx, bytes t_spentDataHashesCtx) : bool {
|
|
63
|
+
bytes guardScriptHash = _opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.getSpentScriptHash(t_spentScriptsCtx, guardInputIndexVal);
|
|
64
64
|
require(guardScriptHash == this.guardVariantScriptHashes[0] || guardScriptHash == this.guardVariantScriptHashes[1] || guardScriptHash == this.guardVariantScriptHashes[2] || guardScriptHash == this.guardVariantScriptHashes[3]);
|
|
65
|
-
require(
|
|
65
|
+
require(_opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.getSpentDataHash(t_spentDataHashesCtx, guardInputIndexVal) == _opcat_labs_cat_sdk_3_4_0__rs__CAT20GuardStateLib.stateHash(guardState));
|
|
66
66
|
int tokenScriptIndex = unpack(guardState.tokenScriptIndexes[t_cat20InputIndexVal : t_cat20InputIndexVal + 1]);
|
|
67
67
|
require(guardState.tokenScriptHashes[(tokenScriptIndex)] == t_cat20ScriptHash);
|
|
68
68
|
return true;
|
|
69
69
|
}
|
|
70
|
-
static function serializeState(
|
|
70
|
+
static function serializeState(_opcat_labs_cat_sdk_3_4_0__rs__CAT20State __scrypt_ts_curState): bytes {
|
|
71
71
|
return num2bin(len(__scrypt_ts_curState.ownerAddr), 2) + __scrypt_ts_curState.ownerAddr + num2bin(len(pack(__scrypt_ts_curState.amount)), 2) + pack(__scrypt_ts_curState.amount) + hash160(hash160(__scrypt_ts_curState.ownerAddr) + hash160(pack(__scrypt_ts_curState.amount)));
|
|
72
72
|
}
|
|
73
|
-
static function stateHash(
|
|
73
|
+
static function stateHash(_opcat_labs_cat_sdk_3_4_0__rs__CAT20State __scrypt_ts_curState): bytes {
|
|
74
74
|
return sha256(num2bin(len(__scrypt_ts_curState.ownerAddr), 2) + __scrypt_ts_curState.ownerAddr + num2bin(len(pack(__scrypt_ts_curState.amount)), 2) + pack(__scrypt_ts_curState.amount) + hash160(hash160(__scrypt_ts_curState.ownerAddr) + hash160(pack(__scrypt_ts_curState.amount))));
|
|
75
75
|
}
|
|
76
76
|
}
|