@opcat-labs/cat-sdk 3.2.0 → 3.3.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/cat20Admin.scrypt.tpl +4 -4
- package/artifacts/.templates/cat20/cat20Guard_12_12_2.scrypt.tpl +2 -2
- package/artifacts/.templates/cat20/cat20Guard_12_12_4.scrypt.tpl +2 -2
- package/artifacts/.templates/cat20/cat20Guard_6_6_2.scrypt.tpl +2 -2
- package/artifacts/.templates/cat20/cat20Guard_6_6_4.scrypt.tpl +2 -2
- package/artifacts/.templates/cat20/minters/cat20ClosedMinter.scrypt.tpl +2 -2
- package/artifacts/.templates/cat20/minters/cat20OpenMinter.scrypt.tpl +2 -2
- package/artifacts/.templates/cat721/cat721Guard_12_12_2.scrypt.tpl +2 -2
- package/artifacts/.templates/cat721/cat721Guard_12_12_4.scrypt.tpl +2 -2
- package/artifacts/.templates/cat721/cat721Guard_6_6_2.scrypt.tpl +2 -2
- package/artifacts/.templates/cat721/cat721Guard_6_6_4.scrypt.tpl +2 -2
- package/artifacts/.templates/cat721/minters/cat721ClosedMinter.scrypt.tpl +2 -2
- package/artifacts/.templates/cat721/minters/cat721OpenMinter.scrypt.tpl +2 -2
- package/artifacts/cat20/cat20.json +52 -34
- package/artifacts/cat20/cat20.scrypt +18 -18
- package/artifacts/cat20/cat20Admin.json +54 -36
- package/artifacts/cat20/cat20Admin.scrypt +30 -30
- package/artifacts/cat20/cat20GuardStateLib.json +39 -21
- package/artifacts/cat20/cat20GuardStateLib.scrypt +5 -5
- package/artifacts/cat20/cat20Guard_12_12_2.json +53 -35
- package/artifacts/cat20/cat20Guard_12_12_2.scrypt +29 -29
- package/artifacts/cat20/cat20Guard_12_12_4.json +53 -35
- package/artifacts/cat20/cat20Guard_12_12_4.scrypt +29 -29
- package/artifacts/cat20/cat20Guard_6_6_2.json +53 -35
- package/artifacts/cat20/cat20Guard_6_6_2.scrypt +29 -29
- package/artifacts/cat20/cat20Guard_6_6_4.json +53 -35
- package/artifacts/cat20/cat20Guard_6_6_4.scrypt +29 -29
- package/artifacts/cat20/cat20StateLib.json +40 -22
- package/artifacts/cat20/cat20StateLib.scrypt +5 -5
- package/artifacts/cat20/minters/cat20ClosedMinter.json +52 -34
- package/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
- package/artifacts/cat20/minters/cat20OpenMinter.json +52 -34
- 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 +52 -34
- package/artifacts/cat721/cat721.scrypt +18 -18
- package/artifacts/cat721/cat721GuardStateLib.json +39 -21
- package/artifacts/cat721/cat721GuardStateLib.scrypt +5 -5
- package/artifacts/cat721/cat721Guard_12_12_2.json +52 -34
- package/artifacts/cat721/cat721Guard_12_12_2.scrypt +26 -26
- package/artifacts/cat721/cat721Guard_12_12_4.json +52 -34
- package/artifacts/cat721/cat721Guard_12_12_4.scrypt +26 -26
- package/artifacts/cat721/cat721Guard_6_6_2.json +52 -34
- package/artifacts/cat721/cat721Guard_6_6_2.scrypt +26 -26
- package/artifacts/cat721/cat721Guard_6_6_4.json +52 -34
- package/artifacts/cat721/cat721Guard_6_6_4.scrypt +26 -26
- package/artifacts/cat721/cat721StateLib.json +40 -22
- package/artifacts/cat721/cat721StateLib.scrypt +5 -5
- package/artifacts/cat721/minters/cat721ClosedMinter.json +52 -34
- 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 +57 -39
- package/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
- package/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +37 -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 +15 -9
- package/artifacts/types.json +2 -2
- package/artifacts/types.scrypt +2 -2
- package/artifacts/utils/ownerUtils.json +32 -14
- package/artifacts/utils/ownerUtils.scrypt +3 -3
- package/artifacts/utils/safeMath.json +32 -14
- package/artifacts/utils/safeMath.scrypt +1 -1
- package/dist/artifacts/cat20/cat20.json +52 -34
- package/dist/artifacts/cat20/cat20.scrypt +18 -18
- package/dist/artifacts/cat20/cat20Admin.json +54 -36
- package/dist/artifacts/cat20/cat20Admin.scrypt +30 -30
- package/dist/artifacts/cat20/cat20GuardStateLib.json +39 -21
- package/dist/artifacts/cat20/cat20GuardStateLib.scrypt +5 -5
- package/dist/artifacts/cat20/cat20Guard_12_12_2.json +53 -35
- package/dist/artifacts/cat20/cat20Guard_12_12_2.scrypt +29 -29
- package/dist/artifacts/cat20/cat20Guard_12_12_4.json +53 -35
- package/dist/artifacts/cat20/cat20Guard_12_12_4.scrypt +29 -29
- package/dist/artifacts/cat20/cat20Guard_6_6_2.json +53 -35
- package/dist/artifacts/cat20/cat20Guard_6_6_2.scrypt +29 -29
- package/dist/artifacts/cat20/cat20Guard_6_6_4.json +53 -35
- package/dist/artifacts/cat20/cat20Guard_6_6_4.scrypt +29 -29
- package/dist/artifacts/cat20/cat20StateLib.json +40 -22
- package/dist/artifacts/cat20/cat20StateLib.scrypt +5 -5
- package/dist/artifacts/cat20/minters/cat20ClosedMinter.json +52 -34
- package/dist/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
- package/dist/artifacts/cat20/minters/cat20OpenMinter.json +52 -34
- 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 +52 -34
- package/dist/artifacts/cat721/cat721.scrypt +18 -18
- package/dist/artifacts/cat721/cat721GuardStateLib.json +39 -21
- package/dist/artifacts/cat721/cat721GuardStateLib.scrypt +5 -5
- package/dist/artifacts/cat721/cat721Guard_12_12_2.json +52 -34
- package/dist/artifacts/cat721/cat721Guard_12_12_2.scrypt +26 -26
- package/dist/artifacts/cat721/cat721Guard_12_12_4.json +52 -34
- package/dist/artifacts/cat721/cat721Guard_12_12_4.scrypt +26 -26
- package/dist/artifacts/cat721/cat721Guard_6_6_2.json +52 -34
- package/dist/artifacts/cat721/cat721Guard_6_6_2.scrypt +26 -26
- package/dist/artifacts/cat721/cat721Guard_6_6_4.json +52 -34
- package/dist/artifacts/cat721/cat721Guard_6_6_4.scrypt +26 -26
- package/dist/artifacts/cat721/cat721StateLib.json +40 -22
- package/dist/artifacts/cat721/cat721StateLib.scrypt +5 -5
- package/dist/artifacts/cat721/minters/cat721ClosedMinter.json +52 -34
- 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 +57 -39
- package/dist/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
- package/dist/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +37 -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 +15 -9
- package/dist/artifacts/types.json +2 -2
- package/dist/artifacts/types.scrypt +2 -2
- package/dist/artifacts/utils/ownerUtils.json +32 -14
- package/dist/artifacts/utils/ownerUtils.scrypt +3 -3
- package/dist/artifacts/utils/safeMath.json +32 -14
- package/dist/artifacts/utils/safeMath.scrypt +1 -1
- package/package.json +4 -4
- package/scrypt.index.json +13 -13
|
@@ -6,16 +6,16 @@ import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scryp
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
library
|
|
10
|
-
static function checkState(
|
|
11
|
-
|
|
9
|
+
library _opcat_labs_cat_sdk_3_3_0__rs__CAT721StateLib {
|
|
10
|
+
static function checkState(_opcat_labs_cat_sdk_3_3_0__rs__CAT721State _state) : bool {
|
|
11
|
+
_opcat_labs_cat_sdk_3_3_0__rs__OwnerUtils.checkOwnerAddr(_state.ownerAddr);
|
|
12
12
|
require(_state.localId >= 0);
|
|
13
13
|
return true;
|
|
14
14
|
}
|
|
15
|
-
static function serializeState(
|
|
15
|
+
static function serializeState(_opcat_labs_cat_sdk_3_3_0__rs__CAT721State __scrypt_ts_curState): bytes {
|
|
16
16
|
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)));
|
|
17
17
|
}
|
|
18
|
-
static function stateHash(
|
|
18
|
+
static function stateHash(_opcat_labs_cat_sdk_3_3_0__rs__CAT721State __scrypt_ts_curState): bytes {
|
|
19
19
|
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))));
|
|
20
20
|
}
|
|
21
21
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
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_3_0__rs__CAT721ClosedMinter",
|
|
5
|
+
"md5": "f277a24b08051e0338feaed77692dd47",
|
|
6
6
|
"structs": [
|
|
7
7
|
{
|
|
8
|
-
"name": "
|
|
8
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__ReadVarintResult",
|
|
9
9
|
"params": [
|
|
10
10
|
{
|
|
11
11
|
"name": "data",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"genericTypes": []
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
|
-
"name": "
|
|
22
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxOut",
|
|
23
23
|
"params": [
|
|
24
24
|
{
|
|
25
25
|
"name": "scriptHash",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"genericTypes": []
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
|
-
"name": "
|
|
40
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxIn",
|
|
41
41
|
"params": [
|
|
42
42
|
{
|
|
43
43
|
"name": "prevTxHash",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"genericTypes": []
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
|
-
"name": "
|
|
62
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxHashPreimage",
|
|
63
63
|
"params": [
|
|
64
64
|
{
|
|
65
65
|
"name": "version",
|
|
@@ -81,11 +81,11 @@
|
|
|
81
81
|
"genericTypes": []
|
|
82
82
|
},
|
|
83
83
|
{
|
|
84
|
-
"name": "
|
|
84
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__BacktraceInfo",
|
|
85
85
|
"params": [
|
|
86
86
|
{
|
|
87
87
|
"name": "prevTxInput",
|
|
88
|
-
"type": "
|
|
88
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxIn"
|
|
89
89
|
},
|
|
90
90
|
{
|
|
91
91
|
"name": "prevTxInputIndex",
|
|
@@ -93,13 +93,13 @@
|
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
95
|
"name": "prevPrevTxPreimage",
|
|
96
|
-
"type": "
|
|
96
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxHashPreimage"
|
|
97
97
|
}
|
|
98
98
|
],
|
|
99
99
|
"genericTypes": []
|
|
100
100
|
},
|
|
101
101
|
{
|
|
102
|
-
"name": "
|
|
102
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__SHPreimage",
|
|
103
103
|
"params": [
|
|
104
104
|
{
|
|
105
105
|
"name": "nVersion",
|
|
@@ -161,7 +161,7 @@
|
|
|
161
161
|
"genericTypes": []
|
|
162
162
|
},
|
|
163
163
|
{
|
|
164
|
-
"name": "
|
|
164
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__Outpoint",
|
|
165
165
|
"params": [
|
|
166
166
|
{
|
|
167
167
|
"name": "txHash",
|
|
@@ -175,7 +175,25 @@
|
|
|
175
175
|
"genericTypes": []
|
|
176
176
|
},
|
|
177
177
|
{
|
|
178
|
-
"name": "
|
|
178
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__ChangeInfo",
|
|
179
|
+
"params": [
|
|
180
|
+
{
|
|
181
|
+
"name": "pubkeyhash",
|
|
182
|
+
"type": "Ripemd160"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"name": "satoshis",
|
|
186
|
+
"type": "int"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"name": "dataHash",
|
|
190
|
+
"type": "Sha256"
|
|
191
|
+
}
|
|
192
|
+
],
|
|
193
|
+
"genericTypes": []
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__ChainTxVerifyResponse",
|
|
179
197
|
"params": [
|
|
180
198
|
{
|
|
181
199
|
"name": "prevPrevScript",
|
|
@@ -189,7 +207,7 @@
|
|
|
189
207
|
"genericTypes": []
|
|
190
208
|
},
|
|
191
209
|
{
|
|
192
|
-
"name": "
|
|
210
|
+
"name": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721GuardConstState",
|
|
193
211
|
"params": [
|
|
194
212
|
{
|
|
195
213
|
"name": "deployerAddr",
|
|
@@ -211,7 +229,7 @@
|
|
|
211
229
|
"genericTypes": []
|
|
212
230
|
},
|
|
213
231
|
{
|
|
214
|
-
"name": "
|
|
232
|
+
"name": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721State",
|
|
215
233
|
"params": [
|
|
216
234
|
{
|
|
217
235
|
"name": "ownerAddr",
|
|
@@ -225,7 +243,7 @@
|
|
|
225
243
|
"genericTypes": []
|
|
226
244
|
},
|
|
227
245
|
{
|
|
228
|
-
"name": "
|
|
246
|
+
"name": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721ClosedMinterState",
|
|
229
247
|
"params": [
|
|
230
248
|
{
|
|
231
249
|
"name": "nftScriptHash",
|
|
@@ -243,7 +261,7 @@
|
|
|
243
261
|
"genericTypes": []
|
|
244
262
|
},
|
|
245
263
|
{
|
|
246
|
-
"name": "
|
|
264
|
+
"name": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721MerkleLeaf",
|
|
247
265
|
"params": [
|
|
248
266
|
{
|
|
249
267
|
"name": "contentDataHash",
|
|
@@ -261,7 +279,7 @@
|
|
|
261
279
|
"genericTypes": []
|
|
262
280
|
},
|
|
263
281
|
{
|
|
264
|
-
"name": "
|
|
282
|
+
"name": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721OpenMinterState",
|
|
265
283
|
"params": [
|
|
266
284
|
{
|
|
267
285
|
"name": "nftScriptHash",
|
|
@@ -281,50 +299,50 @@
|
|
|
281
299
|
],
|
|
282
300
|
"library": [
|
|
283
301
|
{
|
|
284
|
-
"name": "
|
|
302
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxHashPreimageUtils",
|
|
285
303
|
"params": [],
|
|
286
304
|
"properties": [],
|
|
287
305
|
"genericTypes": []
|
|
288
306
|
},
|
|
289
307
|
{
|
|
290
|
-
"name": "
|
|
308
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__StdUtils",
|
|
291
309
|
"params": [],
|
|
292
310
|
"properties": [],
|
|
293
311
|
"genericTypes": []
|
|
294
312
|
},
|
|
295
313
|
{
|
|
296
|
-
"name": "
|
|
314
|
+
"name": "_opcat_labs_cat_sdk_3_3_0__rs__OwnerUtils",
|
|
297
315
|
"params": [],
|
|
298
316
|
"properties": [],
|
|
299
317
|
"genericTypes": []
|
|
300
318
|
},
|
|
301
319
|
{
|
|
302
|
-
"name": "
|
|
320
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils",
|
|
303
321
|
"params": [],
|
|
304
322
|
"properties": [],
|
|
305
323
|
"genericTypes": []
|
|
306
324
|
},
|
|
307
325
|
{
|
|
308
|
-
"name": "
|
|
326
|
+
"name": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721StateLib",
|
|
309
327
|
"params": [],
|
|
310
328
|
"properties": [],
|
|
311
329
|
"genericTypes": [],
|
|
312
|
-
"stateType": "
|
|
330
|
+
"stateType": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721State"
|
|
313
331
|
},
|
|
314
332
|
{
|
|
315
|
-
"name": "
|
|
333
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__Backtrace",
|
|
316
334
|
"params": [],
|
|
317
335
|
"properties": [],
|
|
318
336
|
"genericTypes": []
|
|
319
337
|
},
|
|
320
338
|
{
|
|
321
|
-
"name": "
|
|
339
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__StateUtils",
|
|
322
340
|
"params": [],
|
|
323
341
|
"properties": [],
|
|
324
342
|
"genericTypes": []
|
|
325
343
|
},
|
|
326
344
|
{
|
|
327
|
-
"name": "
|
|
345
|
+
"name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxUtils",
|
|
328
346
|
"params": [],
|
|
329
347
|
"properties": [],
|
|
330
348
|
"genericTypes": []
|
|
@@ -339,7 +357,7 @@
|
|
|
339
357
|
"params": [
|
|
340
358
|
{
|
|
341
359
|
"name": "nftMint",
|
|
342
|
-
"type": "
|
|
360
|
+
"type": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721State"
|
|
343
361
|
},
|
|
344
362
|
{
|
|
345
363
|
"name": "issuerPubKey",
|
|
@@ -359,11 +377,11 @@
|
|
|
359
377
|
},
|
|
360
378
|
{
|
|
361
379
|
"name": "backtraceInfo",
|
|
362
|
-
"type": "
|
|
380
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__BacktraceInfo"
|
|
363
381
|
},
|
|
364
382
|
{
|
|
365
383
|
"name": "__scrypt_ts_shPreimage",
|
|
366
|
-
"type": "
|
|
384
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__SHPreimage"
|
|
367
385
|
},
|
|
368
386
|
{
|
|
369
387
|
"name": "__scrypt_ts_preimageSig",
|
|
@@ -371,11 +389,11 @@
|
|
|
371
389
|
},
|
|
372
390
|
{
|
|
373
391
|
"name": "__scrypt_ts_changeInfo",
|
|
374
|
-
"type": "
|
|
392
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__ChangeInfo"
|
|
375
393
|
},
|
|
376
394
|
{
|
|
377
395
|
"name": "__scrypt_ts_curState",
|
|
378
|
-
"type": "
|
|
396
|
+
"type": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721ClosedMinterState"
|
|
379
397
|
},
|
|
380
398
|
{
|
|
381
399
|
"name": "__scrypt_ts_prevouts",
|
|
@@ -395,7 +413,7 @@
|
|
|
395
413
|
},
|
|
396
414
|
{
|
|
397
415
|
"name": "__scrypt_ts_prevTxHashPreimage",
|
|
398
|
-
"type": "
|
|
416
|
+
"type": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxHashPreimage"
|
|
399
417
|
}
|
|
400
418
|
]
|
|
401
419
|
},
|
|
@@ -418,8 +436,8 @@
|
|
|
418
436
|
}
|
|
419
437
|
],
|
|
420
438
|
"stateProps": [],
|
|
421
|
-
"stateType": "
|
|
439
|
+
"stateType": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721ClosedMinterState",
|
|
422
440
|
"buildType": "release",
|
|
423
441
|
"file": "../cat721ClosedMinter.scrypt",
|
|
424
|
-
"hex": "
|
|
442
|
+
"hex": "0176018801a901ac2102ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec038220836c4b45ab7a625549ca7c799b02d3304adf996557929ee809613e602d26c1f8000000<issuerAddress><genesisOutpoint><max>5279567a757171557a78557a75547a547a547a547a76547a7572537a6d7501177901187982778c7f75007f770126790126790126790126790126790126790126790126790126790126790126790126790126790126795d798277549d5c79827701209d5b79827701209d5a79827701209d597900a26958798277549d5779827701209d5679827701209d5579827701209d5479827701209d5379827701209d527900a2697800a26976519c6476529c6751686476539c67516864760281009c67516864760282009c67516864760283009c675168695d795d797e5c797e5b797e5a79767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c7e59797e58797e57797e56797e55797e54797e5379546e8b806e7c7f75007f6b6d6d6c7e5279546e8b806e7c7f75007f6b6d6d6c7e7854807e6b6d6d6d6d6d6d6d6ca85679ba630117795579ac670068695f7901207978aa7888785878827d77527997009d6e7c966b6d6d6c77011179012679011d7970aa5379886e9f69765479012478827d77527997009d6e7c967777779d537952798b0124957f7552790124957f7d7701207f75007f777801247f7501207f77768277549d767601007e817777726d726d7b75607901227954795279aa527988765379012078827d77527997009d6e7c967777779d6d7501117901217954795279aa527988765379012078827d77527997009d6e7c967777779d6d75011679011679011679012079011a79011a79011a7952798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea87777770116797653798b0120957f7553790120957f775279886d75011279011279011279011279011a79012579557955795579557953798277549d5279014878827d77527997009d6e7c967777775279014878827d77527997009d6e7c96777777557952790000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e55797e780000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e54797e53797eaa6b6d6d6d6c76700124950120937f7553790124957f77886d6d6d750134790134790134790134790134790134790134790134790134796079011d79012b798b0120957f75012b790120957f77011c795b795b795b795b795b795b795b795b795b7959797656798b0148957f7556790148957f775a795a795a795a795379827701209d76827701209d707600a2637605ffffffff00a16700686976546e8b806e7c7f75007f6b6d6d6c777e787e52797600a2637605ffffffff00a16700686976546e8b806e7c7f75007f6b6d6d6c777e6b6d6d6c88597976567956795679567953798277549d5279014878827d77527997009d6e7c967777775279014878827d77527997009d6e7c96777777557952790000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e55797e780000527902fd009f637551675279030000019f6301fd7b757c52776752790500000000019f6301fe7b757c54776701ff7b757c587768686878537952796e8b806e7c7f75007f6b6d6d6c7e7777777e54797e53797eaa6b6d6d6d6c8853795a7901489558930120937f755a7901489558937f77785b797600a2637605ffffffff00a16700686976546e8b806e7c7f75007f6b6d6d6c777e787c726d726d726d726d726d726d7655798763780118798868765579876478547987675168696d6d6d6d6d6d6d0138795979787676827701219d750376a91478a97e0288ac7e7778886d013779013979ad6e947600a063765879a167006869012179009d788b007855799f6376012d79013b7958795879567952798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e7768013d79013d797876827d7701199c647601209c675168696d51787700a2696d013c7954799d765679013a79014079014079788277528052797e78827752807e787e5279a95279a97ea97ea87777527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e7d77011f7900a0630120790113790112797e01147e787e0113797e0111797e77a8012079012079527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c776700687e7d77aa012579876b6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c"
|
|
425
443
|
}
|
|
@@ -11,7 +11,7 @@ import "../../scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scry
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
contract
|
|
14
|
+
contract _opcat_labs_cat_sdk_3_3_0__rs__CAT721ClosedMinter {
|
|
15
15
|
bytes issuerAddress;
|
|
16
16
|
bytes genesisOutpoint;
|
|
17
17
|
int max;
|
|
@@ -20,25 +20,25 @@ contract _opcat_labs_cat_sdk_3_2_0__rs__CAT721ClosedMinter {
|
|
|
20
20
|
this.genesisOutpoint = genesisOutpoint;
|
|
21
21
|
this.max = max;
|
|
22
22
|
}
|
|
23
|
-
public function mint(
|
|
24
|
-
require(checkDataSig(Sig(__scrypt_ts_preimageSig[0 : len(__scrypt_ts_preimageSig) - 1]), sha256(
|
|
23
|
+
public function mint(_opcat_labs_cat_sdk_3_3_0__rs__CAT721State nftMint, PubKey issuerPubKey, Sig issuerSig, int minterSatoshis, int nftSatoshis, _opcat_labs_scrypt_ts_opcat_3_3_0__rs__BacktraceInfo backtraceInfo, _opcat_labs_scrypt_ts_opcat_3_3_0__rs__SHPreimage __scrypt_ts_shPreimage, Sig __scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_3_0__rs__ChangeInfo __scrypt_ts_changeInfo, _opcat_labs_cat_sdk_3_3_0__rs__CAT721ClosedMinterState __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_3_0__rs__TxHashPreimage __scrypt_ts_prevTxHashPreimage) {
|
|
24
|
+
require(checkDataSig(Sig(__scrypt_ts_preimageSig[0 : len(__scrypt_ts_preimageSig) - 1]), sha256(_opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage)), _opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.pubKey) && checkSig(__scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.pubKey));
|
|
25
25
|
|
|
26
|
-
int __scrypt_ts_inputCount =
|
|
26
|
+
int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
_opcat_labs_scrypt_ts_opcat_3_3_0__rs__Outpoint __scrypt_ts_prevout = _opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.checkPrevouts(__scrypt_ts_prevouts, __scrypt_ts_shPreimage.hashPrevouts, __scrypt_ts_shPreimage.inputIndex, __scrypt_ts_inputCount);
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
_opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.checkSpentScripts(__scrypt_ts_spentScriptHashes, __scrypt_ts_shPreimage.hashSpentScriptHashes, __scrypt_ts_inputCount);
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
_opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
_opcat_labs_cat_sdk_3_3_0__rs__CAT721ClosedMinterState __scrypt_ts_nextState = __scrypt_ts_curState;
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
_opcat_labs_scrypt_ts_opcat_3_3_0__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_3_3_0__rs__CAT721ClosedMinter.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
_opcat_labs_scrypt_ts_opcat_3_3_0__rs__Backtrace.checkPrevTxHashPreimage(__scrypt_ts_prevTxHashPreimage, __scrypt_ts_prevouts, __scrypt_ts_shPreimage.inputIndex);
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
_opcat_labs_scrypt_ts_opcat_3_3_0__rs__Backtrace.verifyFromOutpoint(backtraceInfo, this.genesisOutpoint, __scrypt_ts_spentScriptHashes[__scrypt_ts_shPreimage.inputIndex * 32 : (__scrypt_ts_shPreimage.inputIndex + 1) * 32], __scrypt_ts_prevTxHashPreimage.inputList);
|
|
41
|
+
_opcat_labs_cat_sdk_3_3_0__rs__OwnerUtils.checkUserOwner(issuerPubKey, this.issuerAddress);
|
|
42
42
|
require(checkSig(issuerSig, issuerPubKey));
|
|
43
43
|
int nftRemaining = __scrypt_ts_nextState.maxLocalId - __scrypt_ts_nextState.nextLocalId;
|
|
44
44
|
require(nftRemaining > 0 && nftRemaining <= this.max);
|
|
@@ -46,19 +46,19 @@ contract _opcat_labs_cat_sdk_3_2_0__rs__CAT721ClosedMinter {
|
|
|
46
46
|
int nextLocalId = __scrypt_ts_nextState.nextLocalId + 1;
|
|
47
47
|
bytes outputs = b'';
|
|
48
48
|
if(nextLocalId < __scrypt_ts_nextState.maxLocalId) {
|
|
49
|
-
outputs +=
|
|
49
|
+
outputs += _opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxUtils.buildDataOutput(__scrypt_ts_shPreimage.spentScriptHash, minterSatoshis, _opcat_labs_cat_sdk_3_3_0__rs__CAT721ClosedMinter.stateHash({__scrypt_ts_nextState.nftScriptHash, __scrypt_ts_nextState.maxLocalId, nextLocalId}));
|
|
50
50
|
}
|
|
51
|
-
|
|
51
|
+
_opcat_labs_cat_sdk_3_3_0__rs__CAT721StateLib.checkState(nftMint);
|
|
52
52
|
require(nftMint.localId == __scrypt_ts_nextState.nextLocalId);
|
|
53
|
-
outputs +=
|
|
53
|
+
outputs += _opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxUtils.buildDataOutput(__scrypt_ts_nextState.nftScriptHash, nftSatoshis, _opcat_labs_cat_sdk_3_3_0__rs__CAT721StateLib.stateHash(nftMint));
|
|
54
54
|
outputs +=
|
|
55
|
-
(__scrypt_ts_changeInfo.satoshis > 0 ?
|
|
55
|
+
(__scrypt_ts_changeInfo.satoshis > 0 ? _opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxUtils.buildDataOutput(sha256(_opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxUtils.buildP2PKHScript(__scrypt_ts_changeInfo.pubkeyhash)), __scrypt_ts_changeInfo.satoshis, __scrypt_ts_changeInfo.dataHash) : b'');
|
|
56
56
|
require(hash256(outputs) == __scrypt_ts_shPreimage.hashOutputs);
|
|
57
57
|
}
|
|
58
|
-
static function serializeState(
|
|
58
|
+
static function serializeState(_opcat_labs_cat_sdk_3_3_0__rs__CAT721ClosedMinterState __scrypt_ts_curState): bytes {
|
|
59
59
|
return num2bin(len(__scrypt_ts_curState.nftScriptHash), 2) + __scrypt_ts_curState.nftScriptHash + num2bin(len(pack(__scrypt_ts_curState.maxLocalId)), 2) + pack(__scrypt_ts_curState.maxLocalId) + num2bin(len(pack(__scrypt_ts_curState.nextLocalId)), 2) + pack(__scrypt_ts_curState.nextLocalId) + hash160(hash160(__scrypt_ts_curState.nftScriptHash) + hash160(pack(__scrypt_ts_curState.maxLocalId)) + hash160(pack(__scrypt_ts_curState.nextLocalId)));
|
|
60
60
|
}
|
|
61
|
-
static function stateHash(
|
|
61
|
+
static function stateHash(_opcat_labs_cat_sdk_3_3_0__rs__CAT721ClosedMinterState __scrypt_ts_curState): bytes {
|
|
62
62
|
return sha256(num2bin(len(__scrypt_ts_curState.nftScriptHash), 2) + __scrypt_ts_curState.nftScriptHash + num2bin(len(pack(__scrypt_ts_curState.maxLocalId)), 2) + pack(__scrypt_ts_curState.maxLocalId) + num2bin(len(pack(__scrypt_ts_curState.nextLocalId)), 2) + pack(__scrypt_ts_curState.nextLocalId) + hash160(hash160(__scrypt_ts_curState.nftScriptHash) + hash160(pack(__scrypt_ts_curState.maxLocalId)) + hash160(pack(__scrypt_ts_curState.nextLocalId))));
|
|
63
63
|
}
|
|
64
64
|
}
|
|
@@ -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_3_0__rs__CAT721OpenMintInfo",
|
|
5
5
|
"md5": "d41d8cd98f00b204e9800998ecf8427e",
|
|
6
6
|
"structs": [
|
|
7
7
|
{
|
|
8
|
-
"name": "
|
|
8
|
+
"name": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721OpenMintInfoState",
|
|
9
9
|
"params": [
|
|
10
10
|
{
|
|
11
11
|
"name": "localId",
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
],
|
|
22
22
|
"library": [
|
|
23
23
|
{
|
|
24
|
-
"name": "
|
|
24
|
+
"name": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721OpenMintInfo",
|
|
25
25
|
"params": [],
|
|
26
26
|
"properties": [],
|
|
27
27
|
"genericTypes": [],
|
|
28
|
-
"stateType": "
|
|
28
|
+
"stateType": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721OpenMintInfoState"
|
|
29
29
|
}
|
|
30
30
|
],
|
|
31
31
|
"alias": [],
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
}
|
|
37
37
|
],
|
|
38
38
|
"stateProps": [],
|
|
39
|
-
"stateType": "
|
|
39
|
+
"stateType": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721OpenMintInfoState",
|
|
40
40
|
"buildType": "release",
|
|
41
41
|
"file": "../cat721OpenMintInfo.scrypt",
|
|
42
42
|
"hex": ""
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
struct
|
|
4
|
+
struct _opcat_labs_cat_sdk_3_3_0__rs__CAT721OpenMintInfoState {
|
|
5
5
|
int localId;
|
|
6
6
|
bytes contentDataHash;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
library
|
|
10
|
-
static function serializeState(
|
|
9
|
+
library _opcat_labs_cat_sdk_3_3_0__rs__CAT721OpenMintInfo {
|
|
10
|
+
static function serializeState(_opcat_labs_cat_sdk_3_3_0__rs__CAT721OpenMintInfoState __scrypt_ts_curState): bytes {
|
|
11
11
|
return num2bin(len(pack(__scrypt_ts_curState.localId)), 2) + pack(__scrypt_ts_curState.localId) + num2bin(len(__scrypt_ts_curState.contentDataHash), 2) + __scrypt_ts_curState.contentDataHash + hash160(hash160(pack(__scrypt_ts_curState.localId)) + hash160(__scrypt_ts_curState.contentDataHash));
|
|
12
12
|
}
|
|
13
|
-
static function stateHash(
|
|
13
|
+
static function stateHash(_opcat_labs_cat_sdk_3_3_0__rs__CAT721OpenMintInfoState __scrypt_ts_curState): bytes {
|
|
14
14
|
return sha256(num2bin(len(pack(__scrypt_ts_curState.localId)), 2) + pack(__scrypt_ts_curState.localId) + num2bin(len(__scrypt_ts_curState.contentDataHash), 2) + __scrypt_ts_curState.contentDataHash + hash160(hash160(pack(__scrypt_ts_curState.localId)) + hash160(__scrypt_ts_curState.contentDataHash)));
|
|
15
15
|
}
|
|
16
16
|
}
|