@opcat-labs/cat-sdk 2.1.0 → 2.1.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/artifacts/cat20/cat20.json +34 -34
- package/artifacts/cat20/cat20.scrypt +18 -18
- package/artifacts/cat20/cat20Admin.json +34 -34
- package/artifacts/cat20/cat20Admin.scrypt +30 -30
- package/artifacts/cat20/cat20GuardStateLib.json +21 -21
- package/artifacts/cat20/cat20GuardStateLib.scrypt +5 -5
- package/artifacts/cat20/cat20Guard_12_12_2.json +30 -30
- package/artifacts/cat20/cat20Guard_12_12_2.scrypt +21 -21
- package/artifacts/cat20/cat20Guard_12_12_4.json +30 -30
- package/artifacts/cat20/cat20Guard_12_12_4.scrypt +21 -21
- package/artifacts/cat20/cat20Guard_6_6_2.json +30 -30
- package/artifacts/cat20/cat20Guard_6_6_2.scrypt +21 -21
- package/artifacts/cat20/cat20Guard_6_6_4.json +30 -30
- package/artifacts/cat20/cat20Guard_6_6_4.scrypt +21 -21
- package/artifacts/cat20/cat20StateLib.json +22 -22
- package/artifacts/cat20/cat20StateLib.scrypt +5 -5
- package/artifacts/cat20/minters/cat20ClosedMinter.json +32 -32
- package/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
- package/artifacts/cat20/minters/cat20OpenMinter.json +32 -32
- package/artifacts/cat20/minters/cat20OpenMinter.scrypt +18 -18
- package/artifacts/cat20/types.json +5 -5
- package/artifacts/cat20/types.scrypt +5 -5
- package/artifacts/cat721/cat721.json +34 -34
- package/artifacts/cat721/cat721.scrypt +18 -18
- package/artifacts/cat721/cat721GuardStateLib.json +21 -21
- package/artifacts/cat721/cat721GuardStateLib.scrypt +5 -5
- package/artifacts/cat721/cat721Guard_12_12_2.json +29 -29
- package/artifacts/cat721/cat721Guard_12_12_2.scrypt +18 -18
- package/artifacts/cat721/cat721Guard_12_12_4.json +29 -29
- package/artifacts/cat721/cat721Guard_12_12_4.scrypt +18 -18
- package/artifacts/cat721/cat721Guard_6_6_2.json +29 -29
- package/artifacts/cat721/cat721Guard_6_6_2.scrypt +18 -18
- package/artifacts/cat721/cat721Guard_6_6_4.json +29 -29
- package/artifacts/cat721/cat721Guard_6_6_4.scrypt +18 -18
- package/artifacts/cat721/cat721StateLib.json +22 -22
- package/artifacts/cat721/cat721StateLib.scrypt +5 -5
- package/artifacts/cat721/minters/cat721ClosedMinter.json +32 -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 +37 -37
- package/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
- package/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +19 -19
- 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 +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 +34 -34
- package/dist/artifacts/cat20/cat20.scrypt +18 -18
- package/dist/artifacts/cat20/cat20Admin.json +34 -34
- package/dist/artifacts/cat20/cat20Admin.scrypt +30 -30
- package/dist/artifacts/cat20/cat20GuardStateLib.json +21 -21
- package/dist/artifacts/cat20/cat20GuardStateLib.scrypt +5 -5
- package/dist/artifacts/cat20/cat20Guard_12_12_2.json +30 -30
- package/dist/artifacts/cat20/cat20Guard_12_12_2.scrypt +21 -21
- package/dist/artifacts/cat20/cat20Guard_12_12_4.json +30 -30
- package/dist/artifacts/cat20/cat20Guard_12_12_4.scrypt +21 -21
- package/dist/artifacts/cat20/cat20Guard_6_6_2.json +30 -30
- package/dist/artifacts/cat20/cat20Guard_6_6_2.scrypt +21 -21
- package/dist/artifacts/cat20/cat20Guard_6_6_4.json +30 -30
- package/dist/artifacts/cat20/cat20Guard_6_6_4.scrypt +21 -21
- package/dist/artifacts/cat20/cat20StateLib.json +22 -22
- package/dist/artifacts/cat20/cat20StateLib.scrypt +5 -5
- package/dist/artifacts/cat20/minters/cat20ClosedMinter.json +32 -32
- package/dist/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
- package/dist/artifacts/cat20/minters/cat20OpenMinter.json +32 -32
- package/dist/artifacts/cat20/minters/cat20OpenMinter.scrypt +18 -18
- package/dist/artifacts/cat20/types.json +5 -5
- package/dist/artifacts/cat20/types.scrypt +5 -5
- package/dist/artifacts/cat721/cat721.json +34 -34
- package/dist/artifacts/cat721/cat721.scrypt +18 -18
- package/dist/artifacts/cat721/cat721GuardStateLib.json +21 -21
- package/dist/artifacts/cat721/cat721GuardStateLib.scrypt +5 -5
- package/dist/artifacts/cat721/cat721Guard_12_12_2.json +29 -29
- package/dist/artifacts/cat721/cat721Guard_12_12_2.scrypt +18 -18
- package/dist/artifacts/cat721/cat721Guard_12_12_4.json +29 -29
- package/dist/artifacts/cat721/cat721Guard_12_12_4.scrypt +18 -18
- package/dist/artifacts/cat721/cat721Guard_6_6_2.json +29 -29
- package/dist/artifacts/cat721/cat721Guard_6_6_2.scrypt +18 -18
- package/dist/artifacts/cat721/cat721Guard_6_6_4.json +29 -29
- package/dist/artifacts/cat721/cat721Guard_6_6_4.scrypt +18 -18
- package/dist/artifacts/cat721/cat721StateLib.json +22 -22
- package/dist/artifacts/cat721/cat721StateLib.scrypt +5 -5
- package/dist/artifacts/cat721/minters/cat721ClosedMinter.json +32 -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 +37 -37
- package/dist/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
- package/dist/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +19 -19
- 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 +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/package.json +4 -4
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 10,
|
|
3
3
|
"compilerVersion": "1.21.0+commit.2ada378",
|
|
4
|
-
"contract": "
|
|
4
|
+
"contract": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20Admin",
|
|
5
5
|
"md5": "95ff92787e8661bfef836999acd40a73",
|
|
6
6
|
"structs": [
|
|
7
7
|
{
|
|
8
|
-
"name": "
|
|
8
|
+
"name": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20GuardConstState",
|
|
9
9
|
"params": [
|
|
10
10
|
{
|
|
11
11
|
"name": "tokenScriptHashes",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"genericTypes": []
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
|
-
"name": "
|
|
30
|
+
"name": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20State",
|
|
31
31
|
"params": [
|
|
32
32
|
{
|
|
33
33
|
"name": "ownerAddr",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"genericTypes": []
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
|
-
"name": "
|
|
44
|
+
"name": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20ClosedMinterState",
|
|
45
45
|
"params": [
|
|
46
46
|
{
|
|
47
47
|
"name": "tokenScriptHash",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"genericTypes": []
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
|
-
"name": "
|
|
54
|
+
"name": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20OpenMinterState",
|
|
55
55
|
"params": [
|
|
56
56
|
{
|
|
57
57
|
"name": "tokenScriptHash",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"genericTypes": []
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
|
-
"name": "
|
|
72
|
+
"name": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20AdminState",
|
|
73
73
|
"params": [
|
|
74
74
|
{
|
|
75
75
|
"name": "tag",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"genericTypes": []
|
|
84
84
|
},
|
|
85
85
|
{
|
|
86
|
-
"name": "
|
|
86
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxOut",
|
|
87
87
|
"params": [
|
|
88
88
|
{
|
|
89
89
|
"name": "scriptHash",
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
"genericTypes": []
|
|
102
102
|
},
|
|
103
103
|
{
|
|
104
|
-
"name": "
|
|
104
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxIn",
|
|
105
105
|
"params": [
|
|
106
106
|
{
|
|
107
107
|
"name": "prevTxHash",
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
"genericTypes": []
|
|
124
124
|
},
|
|
125
125
|
{
|
|
126
|
-
"name": "
|
|
126
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxHashPreimage",
|
|
127
127
|
"params": [
|
|
128
128
|
{
|
|
129
129
|
"name": "version",
|
|
@@ -145,11 +145,11 @@
|
|
|
145
145
|
"genericTypes": []
|
|
146
146
|
},
|
|
147
147
|
{
|
|
148
|
-
"name": "
|
|
148
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__BacktraceInfo",
|
|
149
149
|
"params": [
|
|
150
150
|
{
|
|
151
151
|
"name": "prevTxInput",
|
|
152
|
-
"type": "
|
|
152
|
+
"type": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxIn"
|
|
153
153
|
},
|
|
154
154
|
{
|
|
155
155
|
"name": "prevTxInputIndex",
|
|
@@ -157,13 +157,13 @@
|
|
|
157
157
|
},
|
|
158
158
|
{
|
|
159
159
|
"name": "prevPrevTxPreimage",
|
|
160
|
-
"type": "
|
|
160
|
+
"type": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxHashPreimage"
|
|
161
161
|
}
|
|
162
162
|
],
|
|
163
163
|
"genericTypes": []
|
|
164
164
|
},
|
|
165
165
|
{
|
|
166
|
-
"name": "
|
|
166
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__SHPreimage",
|
|
167
167
|
"params": [
|
|
168
168
|
{
|
|
169
169
|
"name": "nVersion",
|
|
@@ -225,7 +225,7 @@
|
|
|
225
225
|
"genericTypes": []
|
|
226
226
|
},
|
|
227
227
|
{
|
|
228
|
-
"name": "
|
|
228
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__Outpoint",
|
|
229
229
|
"params": [
|
|
230
230
|
{
|
|
231
231
|
"name": "txHash",
|
|
@@ -239,7 +239,7 @@
|
|
|
239
239
|
"genericTypes": []
|
|
240
240
|
},
|
|
241
241
|
{
|
|
242
|
-
"name": "
|
|
242
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__ChainTxVerifyResponse",
|
|
243
243
|
"params": [
|
|
244
244
|
{
|
|
245
245
|
"name": "prevPrevScript",
|
|
@@ -253,7 +253,7 @@
|
|
|
253
253
|
"genericTypes": []
|
|
254
254
|
},
|
|
255
255
|
{
|
|
256
|
-
"name": "
|
|
256
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__ReadVarintResult",
|
|
257
257
|
"params": [
|
|
258
258
|
{
|
|
259
259
|
"name": "data",
|
|
@@ -269,43 +269,43 @@
|
|
|
269
269
|
],
|
|
270
270
|
"library": [
|
|
271
271
|
{
|
|
272
|
-
"name": "
|
|
272
|
+
"name": "_opcat_labs_cat_sdk_2_1_1__rs__OwnerUtils",
|
|
273
273
|
"params": [],
|
|
274
274
|
"properties": [],
|
|
275
275
|
"genericTypes": []
|
|
276
276
|
},
|
|
277
277
|
{
|
|
278
|
-
"name": "
|
|
278
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxUtils",
|
|
279
279
|
"params": [],
|
|
280
280
|
"properties": [],
|
|
281
281
|
"genericTypes": []
|
|
282
282
|
},
|
|
283
283
|
{
|
|
284
|
-
"name": "
|
|
284
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__StateUtils",
|
|
285
285
|
"params": [],
|
|
286
286
|
"properties": [],
|
|
287
287
|
"genericTypes": []
|
|
288
288
|
},
|
|
289
289
|
{
|
|
290
|
-
"name": "
|
|
290
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__ContextUtils",
|
|
291
291
|
"params": [],
|
|
292
292
|
"properties": [],
|
|
293
293
|
"genericTypes": []
|
|
294
294
|
},
|
|
295
295
|
{
|
|
296
|
-
"name": "
|
|
296
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxHashPreimageUtils",
|
|
297
297
|
"params": [],
|
|
298
298
|
"properties": [],
|
|
299
299
|
"genericTypes": []
|
|
300
300
|
},
|
|
301
301
|
{
|
|
302
|
-
"name": "
|
|
302
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__Backtrace",
|
|
303
303
|
"params": [],
|
|
304
304
|
"properties": [],
|
|
305
305
|
"genericTypes": []
|
|
306
306
|
},
|
|
307
307
|
{
|
|
308
|
-
"name": "
|
|
308
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__StdUtils",
|
|
309
309
|
"params": [],
|
|
310
310
|
"properties": [],
|
|
311
311
|
"genericTypes": []
|
|
@@ -328,19 +328,19 @@
|
|
|
328
328
|
},
|
|
329
329
|
{
|
|
330
330
|
"name": "backtraceInfo",
|
|
331
|
-
"type": "
|
|
331
|
+
"type": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__BacktraceInfo"
|
|
332
332
|
},
|
|
333
333
|
{
|
|
334
334
|
"name": "__scrypt_ts_shPreimage",
|
|
335
|
-
"type": "
|
|
335
|
+
"type": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__SHPreimage"
|
|
336
336
|
},
|
|
337
337
|
{
|
|
338
338
|
"name": "__scrypt_ts_changeInfo",
|
|
339
|
-
"type": "
|
|
339
|
+
"type": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxOut"
|
|
340
340
|
},
|
|
341
341
|
{
|
|
342
342
|
"name": "__scrypt_ts_curState",
|
|
343
|
-
"type": "
|
|
343
|
+
"type": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20AdminState"
|
|
344
344
|
},
|
|
345
345
|
{
|
|
346
346
|
"name": "__scrypt_ts_prevouts",
|
|
@@ -360,7 +360,7 @@
|
|
|
360
360
|
},
|
|
361
361
|
{
|
|
362
362
|
"name": "__scrypt_ts_prevTxHashPreimage",
|
|
363
|
-
"type": "
|
|
363
|
+
"type": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxHashPreimage"
|
|
364
364
|
}
|
|
365
365
|
]
|
|
366
366
|
},
|
|
@@ -383,19 +383,19 @@
|
|
|
383
383
|
},
|
|
384
384
|
{
|
|
385
385
|
"name": "backtraceInfo",
|
|
386
|
-
"type": "
|
|
386
|
+
"type": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__BacktraceInfo"
|
|
387
387
|
},
|
|
388
388
|
{
|
|
389
389
|
"name": "__scrypt_ts_shPreimage",
|
|
390
|
-
"type": "
|
|
390
|
+
"type": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__SHPreimage"
|
|
391
391
|
},
|
|
392
392
|
{
|
|
393
393
|
"name": "__scrypt_ts_changeInfo",
|
|
394
|
-
"type": "
|
|
394
|
+
"type": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxOut"
|
|
395
395
|
},
|
|
396
396
|
{
|
|
397
397
|
"name": "__scrypt_ts_curState",
|
|
398
|
-
"type": "
|
|
398
|
+
"type": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20AdminState"
|
|
399
399
|
},
|
|
400
400
|
{
|
|
401
401
|
"name": "__scrypt_ts_prevouts",
|
|
@@ -415,7 +415,7 @@
|
|
|
415
415
|
},
|
|
416
416
|
{
|
|
417
417
|
"name": "__scrypt_ts_prevTxHashPreimage",
|
|
418
|
-
"type": "
|
|
418
|
+
"type": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxHashPreimage"
|
|
419
419
|
}
|
|
420
420
|
]
|
|
421
421
|
},
|
|
@@ -430,7 +430,7 @@
|
|
|
430
430
|
}
|
|
431
431
|
],
|
|
432
432
|
"stateProps": [],
|
|
433
|
-
"stateType": "
|
|
433
|
+
"stateType": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20AdminState",
|
|
434
434
|
"buildType": "release",
|
|
435
435
|
"file": "../cat20Admin.scrypt",
|
|
436
436
|
"hex": "512097dfd76851bf465e8f715593b217714858bbe9570ff3bd5e33840a34e20ff0262102ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec0382201008ce7480da41702918d1ec8e6849ba32b4d65b1e40dc669c31a1e6306b266c208f6157664f8f7cd43e6bba7f3209bb803d4d0fb2fb6e59fdc548989ed3901f1500<genesisOutpoint>7756790087630121790121790121790121790121790121790121790121790121790121790121790121790121790121795d798277549d5c79827701209d5b79827701209d5a79827701209d597900a26958798277549d5779827701209d5679827701209d5579827701209d5479827701209d5379827701209d527900a2697800a26976519c6476529c6751686476539c67516864760281009c67516864760282009c67516864760283009c675168695d795d797e5c797e5b797e5a79767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c7e59797e58797e57797e56797e55797e54797e5379546e8b806e7c7f75007f6b6d6d6c7e5279546e8b806e7c7f75007f6b6d6d6c7e7854807e6b6d6d6d6d6d6d6d6c56797857795779210ac407f0e4bd44bfc207355a778b046225a7068fc59ee7eda43ad905aadbffc800206c266b30e6a1319c66dc401e5bd6b432ba49688eecd118297041da8074ce0810597956795679aa7676517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e01007e817757795679567956795679537956795479577995939521414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff006e6e9776009f636e936776687777777b757c6e5296a0636e7c947b757c6853798277527982775379012080517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e01205279947f77545379935279930130787e527e54797e58797e527e53797e52797e57797e6b6d6d6d6d6d6d6c765779ac6b6d6d6d6d6d6c77695d79011c7978aa7888785878827d77527997009d6e7c966b6d6d6c775f7901227901197970aa5379886e9f69765479012478827d77527997009d6e7c967777779d537952798b0124957f7552790124957f7d7701207f75007f777801247f7501207f77768277549d767601007e817777726d726d7b755e79011e7954795279aa527988765379012078827d77527997009d6e7c967777779d6d755f79011d7954795279aa527988765379012078827d77527997009d6e7c967777779d6d75011379011379011b79011679011679788277528052797e78827752807e787e5279a95279a97ea97ea877770113797653798b0120957f7553790120957f775279886d755f795f795f795f79011779012079557955795579557953798277549d5279014878827d77527997009d6e7c967777775279014878827d77527997009d6e7c96777777557952790000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e55797e780000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e54797e53797eaa6b6d6d6d6c76700124950120937f7553790124957f77886d6d6d750124790130790130790130790130790130790130790130790130790130795f79011b790127798b0120957f750127790120957f77011a795b795b795b795b795b795b795b795b795b7959797656798b0148957f7556790148957f775a795a795a795a795379827701209d76827701209d707600a2637605ffffffff00a16700686976546e8b806e7c7f75007f6b6d6d6c777e787e52797600a2637605ffffffff00a16700686976546e8b806e7c7f75007f6b6d6d6c777e6b6d6d6c88597976567956795679567953798277549d5279014878827d77527997009d6e7c967777775279014878827d77527997009d6e7c96777777557952790000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e55797e780000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e54797e53797eaa6b6d6d6d6c8853795a7901489558930120937f755a7901489558937f77785b797600a2637605ffffffff00a16700686976546e8b806e7c7f75007f6b6d6d6c777e787c726d726d726d726d726d726d7655798763780116798868765579876478547987675168696d6d6d6d6d6d6d0132795279787676827701219d750376a91478a97e0288ac7e7778886d013179013379ad76012479012679527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777601197900a063011b79011a796e00a8527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6d6c776700687eaa011f79876b6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c6756795187630121790121790121790121790121790121790121790121790121790121790121790121790121790121795d798277549d5c79827701209d5b79827701209d5a79827701209d597900a26958798277549d5779827701209d5679827701209d5579827701209d5479827701209d5379827701209d527900a2697800a26976519c6476529c6751686476539c67516864760281009c67516864760282009c67516864760283009c675168695d795d797e5c797e5b797e5a79767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c7e59797e58797e57797e56797e55797e54797e5379546e8b806e7c7f75007f6b6d6d6c7e5279546e8b806e7c7f75007f6b6d6d6c7e7854807e6b6d6d6d6d6d6d6d6c56797857795779210ac407f0e4bd44bfc207355a778b046225a7068fc59ee7eda43ad905aadbffc800206c266b30e6a1319c66dc401e5bd6b432ba49688eecd118297041da8074ce0810597956795679aa7676517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e01007e817757795679567956795679537956795479577995939521414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff006e6e9776009f636e936776687777777b757c6e5296a0636e7c947b757c6853798277527982775379012080517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e01205279947f77545379935279930130787e527e54797e58797e527e53797e52797e57797e6b6d6d6d6d6d6d6c765779ac6b6d6d6d6d6d6c77695d79011c7978aa7888785878827d77527997009d6e7c966b6d6d6c775f7901227901197970aa5379886e9f69765479012478827d77527997009d6e7c967777779d537952798b0124957f7552790124957f7d7701207f75007f777801247f7501207f77768277549d767601007e817777726d726d7b755e79011e7954795279aa527988765379012078827d77527997009d6e7c967777779d6d755f79011d7954795279aa527988765379012078827d77527997009d6e7c967777779d6d75011379011379011b79011679011679788277528052797e78827752807e787e5279a95279a97ea97ea877770113797653798b0120957f7553790120957f775279886d755f795f795f795f79011779012079557955795579557953798277549d5279014878827d77527997009d6e7c967777775279014878827d77527997009d6e7c96777777557952790000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e55797e780000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e54797e53797eaa6b6d6d6d6c76700124950120937f7553790124957f77886d6d6d750124790130790130790130790130790130790130790130790130790130795f79011b790127798b0120957f750127790120957f77011a795b795b795b795b795b795b795b795b795b7959797656798b0148957f7556790148957f775a795a795a795a795379827701209d76827701209d707600a2637605ffffffff00a16700686976546e8b806e7c7f75007f6b6d6d6c777e787e52797600a2637605ffffffff00a16700686976546e8b806e7c7f75007f6b6d6d6c777e6b6d6d6c88597976567956795679567953798277549d5279014878827d77527997009d6e7c967777775279014878827d77527997009d6e7c96777777557952790000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e55797e780000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e54797e53797eaa6b6d6d6d6c8853795a7901489558930120937f755a7901489558937f77785b797600a2637605ffffffff00a16700686976546e8b806e7c7f75007f6b6d6d6c777e787c726d726d726d726d726d726d7655798763780116798868765579876478547987675168696d6d6d6d6d6d6d0133795279787676827701219d750376a91478a97e0288ac7e7778886d013279013479ad01317976827701149d0376a914787e0288ac7e777b757c7601247954795479788277528052797e78827752807e787e5279a95279a97ea97ea87777527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777601197900a063011b79011a796e00a8527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6d6c776700687eaa011f79876b6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c7767006868"
|
|
@@ -10,66 +10,66 @@ import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt"
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
contract
|
|
13
|
+
contract _opcat_labs_cat_sdk_2_1_1__rs__CAT20Admin {
|
|
14
14
|
bytes genesisOutpoint;
|
|
15
15
|
constructor(bytes genesisOutpoint) {
|
|
16
16
|
this.genesisOutpoint = genesisOutpoint;
|
|
17
17
|
}
|
|
18
|
-
public function authorizeToSpendToken(PubKey adminPubKey, Sig adminSig,
|
|
19
|
-
require(Tx.checkPreimageSigHashType(
|
|
18
|
+
public function authorizeToSpendToken(PubKey adminPubKey, Sig adminSig, _opcat_labs_scrypt_ts_opcat_2_1_1__rs__BacktraceInfo backtraceInfo, _opcat_labs_scrypt_ts_opcat_2_1_1__rs__SHPreimage __scrypt_ts_shPreimage, _opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxOut __scrypt_ts_changeInfo, _opcat_labs_cat_sdk_2_1_1__rs__CAT20AdminState __scrypt_ts_curState, bytes __scrypt_ts_prevouts, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes, bytes __scrypt_ts_spentScriptHashes, _opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxHashPreimage __scrypt_ts_prevTxHashPreimage) {
|
|
19
|
+
require(Tx.checkPreimageSigHashType(_opcat_labs_scrypt_ts_opcat_2_1_1__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage), SigHash.ALL));
|
|
20
20
|
|
|
21
|
-
int __scrypt_ts_inputCount =
|
|
21
|
+
int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_2_1_1__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
_opcat_labs_scrypt_ts_opcat_2_1_1__rs__Outpoint __scrypt_ts_prevout = _opcat_labs_scrypt_ts_opcat_2_1_1__rs__ContextUtils.checkPrevouts(__scrypt_ts_prevouts, __scrypt_ts_shPreimage.hashPrevouts, __scrypt_ts_shPreimage.inputIndex, __scrypt_ts_inputCount);
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
_opcat_labs_scrypt_ts_opcat_2_1_1__rs__ContextUtils.checkSpentScripts(__scrypt_ts_spentScriptHashes, __scrypt_ts_shPreimage.hashSpentScriptHashes, __scrypt_ts_inputCount);
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
_opcat_labs_scrypt_ts_opcat_2_1_1__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
_opcat_labs_cat_sdk_2_1_1__rs__CAT20AdminState __scrypt_ts_nextState = __scrypt_ts_curState;
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
_opcat_labs_scrypt_ts_opcat_2_1_1__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_2_1_1__rs__CAT20Admin.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
_opcat_labs_scrypt_ts_opcat_2_1_1__rs__Backtrace.checkPrevTxHashPreimage(__scrypt_ts_prevTxHashPreimage, __scrypt_ts_prevouts, __scrypt_ts_shPreimage.inputIndex);
|
|
34
34
|
|
|
35
35
|
bytes adminScriptHash = __scrypt_ts_shPreimage.spentScriptHash;
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
_opcat_labs_scrypt_ts_opcat_2_1_1__rs__Backtrace.verifyFromOutpoint(backtraceInfo, this.genesisOutpoint, __scrypt_ts_spentScriptHashes[__scrypt_ts_shPreimage.inputIndex * 32 : (__scrypt_ts_shPreimage.inputIndex + 1) * 32], __scrypt_ts_prevTxHashPreimage.inputList);
|
|
37
|
+
_opcat_labs_cat_sdk_2_1_1__rs__OwnerUtils.checkUserOwner(adminPubKey, __scrypt_ts_nextState.adminAddress);
|
|
38
38
|
require(checkSig(adminSig, adminPubKey));
|
|
39
|
-
bytes adminOutput =
|
|
39
|
+
bytes adminOutput = _opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxUtils.buildDataOutput(adminScriptHash, __scrypt_ts_shPreimage.value, __scrypt_ts_shPreimage.spentDataHash);
|
|
40
40
|
require(hash256(adminOutput +
|
|
41
|
-
(__scrypt_ts_changeInfo.satoshis > 0 ?
|
|
41
|
+
(__scrypt_ts_changeInfo.satoshis > 0 ? _opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxUtils.buildOutput(__scrypt_ts_changeInfo.scriptHash, __scrypt_ts_changeInfo.satoshis) : b'')) == __scrypt_ts_shPreimage.hashOutputs);
|
|
42
42
|
}
|
|
43
|
-
public function transferOwnership(PubKey adminPubKey, Sig adminSig, Ripemd160 newPubKeyHash,
|
|
44
|
-
require(Tx.checkPreimageSigHashType(
|
|
43
|
+
public function transferOwnership(PubKey adminPubKey, Sig adminSig, Ripemd160 newPubKeyHash, _opcat_labs_scrypt_ts_opcat_2_1_1__rs__BacktraceInfo backtraceInfo, _opcat_labs_scrypt_ts_opcat_2_1_1__rs__SHPreimage __scrypt_ts_shPreimage, _opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxOut __scrypt_ts_changeInfo, _opcat_labs_cat_sdk_2_1_1__rs__CAT20AdminState __scrypt_ts_curState, bytes __scrypt_ts_prevouts, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes, bytes __scrypt_ts_spentScriptHashes, _opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxHashPreimage __scrypt_ts_prevTxHashPreimage) {
|
|
44
|
+
require(Tx.checkPreimageSigHashType(_opcat_labs_scrypt_ts_opcat_2_1_1__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage), SigHash.ALL));
|
|
45
45
|
|
|
46
|
-
int __scrypt_ts_inputCount =
|
|
46
|
+
int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_2_1_1__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
_opcat_labs_scrypt_ts_opcat_2_1_1__rs__Outpoint __scrypt_ts_prevout = _opcat_labs_scrypt_ts_opcat_2_1_1__rs__ContextUtils.checkPrevouts(__scrypt_ts_prevouts, __scrypt_ts_shPreimage.hashPrevouts, __scrypt_ts_shPreimage.inputIndex, __scrypt_ts_inputCount);
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
_opcat_labs_scrypt_ts_opcat_2_1_1__rs__ContextUtils.checkSpentScripts(__scrypt_ts_spentScriptHashes, __scrypt_ts_shPreimage.hashSpentScriptHashes, __scrypt_ts_inputCount);
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
_opcat_labs_scrypt_ts_opcat_2_1_1__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
_opcat_labs_cat_sdk_2_1_1__rs__CAT20AdminState __scrypt_ts_nextState = __scrypt_ts_curState;
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
_opcat_labs_scrypt_ts_opcat_2_1_1__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_2_1_1__rs__CAT20Admin.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
_opcat_labs_scrypt_ts_opcat_2_1_1__rs__Backtrace.checkPrevTxHashPreimage(__scrypt_ts_prevTxHashPreimage, __scrypt_ts_prevouts, __scrypt_ts_shPreimage.inputIndex);
|
|
59
59
|
|
|
60
60
|
bytes adminScriptHash = __scrypt_ts_shPreimage.spentScriptHash;
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
_opcat_labs_scrypt_ts_opcat_2_1_1__rs__Backtrace.verifyFromOutpoint(backtraceInfo, this.genesisOutpoint, __scrypt_ts_spentScriptHashes[__scrypt_ts_shPreimage.inputIndex * 32 : (__scrypt_ts_shPreimage.inputIndex + 1) * 32], __scrypt_ts_prevTxHashPreimage.inputList);
|
|
62
|
+
_opcat_labs_cat_sdk_2_1_1__rs__OwnerUtils.checkUserOwner(adminPubKey, __scrypt_ts_nextState.adminAddress);
|
|
63
63
|
require(checkSig(adminSig, adminPubKey));
|
|
64
|
-
__scrypt_ts_nextState.adminAddress =
|
|
65
|
-
bytes adminOutput =
|
|
64
|
+
__scrypt_ts_nextState.adminAddress = _opcat_labs_cat_sdk_2_1_1__rs__OwnerUtils.pubKeyHashtoLockingScript(newPubKeyHash);
|
|
65
|
+
bytes adminOutput = _opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxUtils.buildDataOutput(adminScriptHash, __scrypt_ts_shPreimage.value, _opcat_labs_cat_sdk_2_1_1__rs__CAT20Admin.stateHash(__scrypt_ts_nextState));
|
|
66
66
|
require(hash256(adminOutput +
|
|
67
|
-
(__scrypt_ts_changeInfo.satoshis > 0 ?
|
|
67
|
+
(__scrypt_ts_changeInfo.satoshis > 0 ? _opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxUtils.buildOutput(__scrypt_ts_changeInfo.scriptHash, __scrypt_ts_changeInfo.satoshis) : b'')) == __scrypt_ts_shPreimage.hashOutputs);
|
|
68
68
|
}
|
|
69
|
-
static function serializeState(
|
|
69
|
+
static function serializeState(_opcat_labs_cat_sdk_2_1_1__rs__CAT20AdminState __scrypt_ts_curState): bytes {
|
|
70
70
|
return num2bin(len(__scrypt_ts_curState.tag), 2) + __scrypt_ts_curState.tag + num2bin(len(__scrypt_ts_curState.adminAddress), 2) + __scrypt_ts_curState.adminAddress + hash160(hash160(__scrypt_ts_curState.tag) + hash160(__scrypt_ts_curState.adminAddress));
|
|
71
71
|
}
|
|
72
|
-
static function stateHash(
|
|
72
|
+
static function stateHash(_opcat_labs_cat_sdk_2_1_1__rs__CAT20AdminState __scrypt_ts_curState): bytes {
|
|
73
73
|
return sha256(num2bin(len(__scrypt_ts_curState.tag), 2) + __scrypt_ts_curState.tag + num2bin(len(__scrypt_ts_curState.adminAddress), 2) + __scrypt_ts_curState.adminAddress + hash160(hash160(__scrypt_ts_curState.tag) + hash160(__scrypt_ts_curState.adminAddress)));
|
|
74
74
|
}
|
|
75
75
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 10,
|
|
3
3
|
"compilerVersion": "1.21.0+commit.2ada378",
|
|
4
|
-
"contract": "
|
|
4
|
+
"contract": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20GuardStateLib",
|
|
5
5
|
"md5": "d41d8cd98f00b204e9800998ecf8427e",
|
|
6
6
|
"structs": [
|
|
7
7
|
{
|
|
8
|
-
"name": "
|
|
8
|
+
"name": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20GuardConstState",
|
|
9
9
|
"params": [
|
|
10
10
|
{
|
|
11
11
|
"name": "tokenScriptHashes",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"genericTypes": []
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
|
-
"name": "
|
|
30
|
+
"name": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20State",
|
|
31
31
|
"params": [
|
|
32
32
|
{
|
|
33
33
|
"name": "ownerAddr",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"genericTypes": []
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
|
-
"name": "
|
|
44
|
+
"name": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20ClosedMinterState",
|
|
45
45
|
"params": [
|
|
46
46
|
{
|
|
47
47
|
"name": "tokenScriptHash",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"genericTypes": []
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
|
-
"name": "
|
|
54
|
+
"name": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20OpenMinterState",
|
|
55
55
|
"params": [
|
|
56
56
|
{
|
|
57
57
|
"name": "tokenScriptHash",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"genericTypes": []
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
|
-
"name": "
|
|
72
|
+
"name": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20AdminState",
|
|
73
73
|
"params": [
|
|
74
74
|
{
|
|
75
75
|
"name": "tag",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"genericTypes": []
|
|
84
84
|
},
|
|
85
85
|
{
|
|
86
|
-
"name": "
|
|
86
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxOut",
|
|
87
87
|
"params": [
|
|
88
88
|
{
|
|
89
89
|
"name": "scriptHash",
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
"genericTypes": []
|
|
102
102
|
},
|
|
103
103
|
{
|
|
104
|
-
"name": "
|
|
104
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxIn",
|
|
105
105
|
"params": [
|
|
106
106
|
{
|
|
107
107
|
"name": "prevTxHash",
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
"genericTypes": []
|
|
124
124
|
},
|
|
125
125
|
{
|
|
126
|
-
"name": "
|
|
126
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxHashPreimage",
|
|
127
127
|
"params": [
|
|
128
128
|
{
|
|
129
129
|
"name": "version",
|
|
@@ -145,11 +145,11 @@
|
|
|
145
145
|
"genericTypes": []
|
|
146
146
|
},
|
|
147
147
|
{
|
|
148
|
-
"name": "
|
|
148
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__BacktraceInfo",
|
|
149
149
|
"params": [
|
|
150
150
|
{
|
|
151
151
|
"name": "prevTxInput",
|
|
152
|
-
"type": "
|
|
152
|
+
"type": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxIn"
|
|
153
153
|
},
|
|
154
154
|
{
|
|
155
155
|
"name": "prevTxInputIndex",
|
|
@@ -157,13 +157,13 @@
|
|
|
157
157
|
},
|
|
158
158
|
{
|
|
159
159
|
"name": "prevPrevTxPreimage",
|
|
160
|
-
"type": "
|
|
160
|
+
"type": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxHashPreimage"
|
|
161
161
|
}
|
|
162
162
|
],
|
|
163
163
|
"genericTypes": []
|
|
164
164
|
},
|
|
165
165
|
{
|
|
166
|
-
"name": "
|
|
166
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__SHPreimage",
|
|
167
167
|
"params": [
|
|
168
168
|
{
|
|
169
169
|
"name": "nVersion",
|
|
@@ -225,7 +225,7 @@
|
|
|
225
225
|
"genericTypes": []
|
|
226
226
|
},
|
|
227
227
|
{
|
|
228
|
-
"name": "
|
|
228
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__Outpoint",
|
|
229
229
|
"params": [
|
|
230
230
|
{
|
|
231
231
|
"name": "txHash",
|
|
@@ -239,7 +239,7 @@
|
|
|
239
239
|
"genericTypes": []
|
|
240
240
|
},
|
|
241
241
|
{
|
|
242
|
-
"name": "
|
|
242
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__ReadVarintResult",
|
|
243
243
|
"params": [
|
|
244
244
|
{
|
|
245
245
|
"name": "data",
|
|
@@ -255,26 +255,26 @@
|
|
|
255
255
|
],
|
|
256
256
|
"library": [
|
|
257
257
|
{
|
|
258
|
-
"name": "
|
|
258
|
+
"name": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20GuardStateLib",
|
|
259
259
|
"params": [],
|
|
260
260
|
"properties": [],
|
|
261
261
|
"genericTypes": [],
|
|
262
|
-
"stateType": "
|
|
262
|
+
"stateType": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20GuardConstState"
|
|
263
263
|
},
|
|
264
264
|
{
|
|
265
|
-
"name": "
|
|
265
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__TxUtils",
|
|
266
266
|
"params": [],
|
|
267
267
|
"properties": [],
|
|
268
268
|
"genericTypes": []
|
|
269
269
|
},
|
|
270
270
|
{
|
|
271
|
-
"name": "
|
|
271
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__ContextUtils",
|
|
272
272
|
"params": [],
|
|
273
273
|
"properties": [],
|
|
274
274
|
"genericTypes": []
|
|
275
275
|
},
|
|
276
276
|
{
|
|
277
|
-
"name": "
|
|
277
|
+
"name": "_opcat_labs_scrypt_ts_opcat_2_1_1__rs__StdUtils",
|
|
278
278
|
"params": [],
|
|
279
279
|
"properties": [],
|
|
280
280
|
"genericTypes": []
|
|
@@ -288,7 +288,7 @@
|
|
|
288
288
|
}
|
|
289
289
|
],
|
|
290
290
|
"stateProps": [],
|
|
291
|
-
"stateType": "
|
|
291
|
+
"stateType": "_opcat_labs_cat_sdk_2_1_1__rs__CAT20GuardConstState",
|
|
292
292
|
"buildType": "release",
|
|
293
293
|
"file": "../cat20GuardStateLib.scrypt",
|
|
294
294
|
"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_2_1_1__rs__CAT20GuardStateLib {
|
|
9
|
+
static function formalCheckState(_opcat_labs_cat_sdk_2_1_1__rs__CAT20GuardConstState _state, static const int txInputCountMax) : bool {
|
|
10
|
+
_opcat_labs_cat_sdk_2_1_1__rs__CAT20GuardStateLib.checkTokenScriptsUniq(_state.tokenScriptHashes);
|
|
11
11
|
loop (4) : i {
|
|
12
12
|
int scriptLen = len(_state.tokenScriptHashes[i]);
|
|
13
13
|
require(scriptLen == 32);
|
|
@@ -30,10 +30,10 @@ library _opcat_labs_cat_sdk_2_1_0__rs__CAT20GuardStateLib {
|
|
|
30
30
|
require(tokenScripts[2] != tokenScripts[3]);
|
|
31
31
|
return true;
|
|
32
32
|
}
|
|
33
|
-
static function serializeState(
|
|
33
|
+
static function serializeState(_opcat_labs_cat_sdk_2_1_1__rs__CAT20GuardConstState __scrypt_ts_curState): bytes {
|
|
34
34
|
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(__scrypt_ts_curState.tokenScriptIndexes), 2) + __scrypt_ts_curState.tokenScriptIndexes + 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(__scrypt_ts_curState.tokenScriptIndexes));
|
|
35
35
|
}
|
|
36
|
-
static function stateHash(
|
|
36
|
+
static function stateHash(_opcat_labs_cat_sdk_2_1_1__rs__CAT20GuardConstState __scrypt_ts_curState): bytes {
|
|
37
37
|
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(__scrypt_ts_curState.tokenScriptIndexes), 2) + __scrypt_ts_curState.tokenScriptIndexes + 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(__scrypt_ts_curState.tokenScriptIndexes)));
|
|
38
38
|
}
|
|
39
39
|
}
|