@opcat-labs/cat-sdk 1.0.3 → 1.0.4

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.
Files changed (85) hide show
  1. package/README.md +19 -19
  2. package/artifacts/cat20/cat20.json +35 -35
  3. package/artifacts/cat20/cat20.scrypt +17 -17
  4. package/artifacts/cat20/cat20Guard.json +32 -32
  5. package/artifacts/cat20/cat20Guard.scrypt +21 -21
  6. package/artifacts/cat20/cat20GuardStateLib.json +23 -23
  7. package/artifacts/cat20/cat20GuardStateLib.scrypt +5 -5
  8. package/artifacts/cat20/cat20StateLib.json +25 -25
  9. package/artifacts/cat20/cat20StateLib.scrypt +6 -6
  10. package/artifacts/cat20/minters/cat20ClosedMinter.json +35 -35
  11. package/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
  12. package/artifacts/cat20/minters/cat20ClosedMinterMetadata.json +11 -11
  13. package/artifacts/cat20/minters/cat20ClosedMinterMetadata.scrypt +3 -3
  14. package/artifacts/cat20/minters/cat20OpenMinter.json +38 -38
  15. package/artifacts/cat20/minters/cat20OpenMinter.scrypt +20 -20
  16. package/artifacts/cat20/minters/cat20OpenMinterMetadata.json +11 -11
  17. package/artifacts/cat20/minters/cat20OpenMinterMetadata.scrypt +3 -3
  18. package/artifacts/cat20/types.json +7 -7
  19. package/artifacts/cat20/types.scrypt +6 -6
  20. package/artifacts/cat20Incinerator.json +24 -24
  21. package/artifacts/cat20Incinerator.scrypt +9 -9
  22. package/artifacts/constants.json +3 -3
  23. package/artifacts/constants.scrypt +1 -1
  24. package/artifacts/counter.json +20 -20
  25. package/artifacts/counter.scrypt +12 -12
  26. package/artifacts/p2pkh.json +14 -14
  27. package/artifacts/p2pkh.scrypt +1 -1
  28. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +12 -12
  29. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +16 -16
  30. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +1 -1
  31. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +12 -12
  32. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +7 -7
  33. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +12 -12
  34. package/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +8 -8
  35. package/artifacts/types.json +2 -2
  36. package/artifacts/types.scrypt +1 -1
  37. package/artifacts/utils/ownerUtils.json +15 -15
  38. package/artifacts/utils/ownerUtils.scrypt +3 -3
  39. package/artifacts/utils/safeMath.json +15 -15
  40. package/artifacts/utils/safeMath.scrypt +1 -1
  41. package/dist/artifacts/cat20/cat20.json +35 -35
  42. package/dist/artifacts/cat20/cat20.scrypt +17 -17
  43. package/dist/artifacts/cat20/cat20Guard.json +32 -32
  44. package/dist/artifacts/cat20/cat20Guard.scrypt +21 -21
  45. package/dist/artifacts/cat20/cat20GuardStateLib.json +23 -23
  46. package/dist/artifacts/cat20/cat20GuardStateLib.scrypt +5 -5
  47. package/dist/artifacts/cat20/cat20StateLib.json +25 -25
  48. package/dist/artifacts/cat20/cat20StateLib.scrypt +6 -6
  49. package/dist/artifacts/cat20/minters/cat20ClosedMinter.json +35 -35
  50. package/dist/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
  51. package/dist/artifacts/cat20/minters/cat20ClosedMinterMetadata.json +11 -11
  52. package/dist/artifacts/cat20/minters/cat20ClosedMinterMetadata.scrypt +3 -3
  53. package/dist/artifacts/cat20/minters/cat20OpenMinter.json +38 -38
  54. package/dist/artifacts/cat20/minters/cat20OpenMinter.scrypt +20 -20
  55. package/dist/artifacts/cat20/minters/cat20OpenMinterMetadata.json +11 -11
  56. package/dist/artifacts/cat20/minters/cat20OpenMinterMetadata.scrypt +3 -3
  57. package/dist/artifacts/cat20/types.json +7 -7
  58. package/dist/artifacts/cat20/types.scrypt +6 -6
  59. package/dist/artifacts/cat20Incinerator.json +24 -24
  60. package/dist/artifacts/cat20Incinerator.scrypt +9 -9
  61. package/dist/artifacts/constants.json +3 -3
  62. package/dist/artifacts/constants.scrypt +1 -1
  63. package/dist/artifacts/counter.json +20 -20
  64. package/dist/artifacts/counter.scrypt +12 -12
  65. package/dist/artifacts/p2pkh.json +14 -14
  66. package/dist/artifacts/p2pkh.scrypt +1 -1
  67. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +12 -12
  68. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +16 -16
  69. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +1 -1
  70. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +12 -12
  71. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +7 -7
  72. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +12 -12
  73. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +8 -8
  74. package/dist/artifacts/types.json +2 -2
  75. package/dist/artifacts/types.scrypt +1 -1
  76. package/dist/artifacts/utils/ownerUtils.json +15 -15
  77. package/dist/artifacts/utils/ownerUtils.scrypt +3 -3
  78. package/dist/artifacts/utils/safeMath.json +15 -15
  79. package/dist/artifacts/utils/safeMath.scrypt +1 -1
  80. package/dist/cjs/features/cat20/incinerate.js +2 -0
  81. package/dist/cjs/features/cat20/incinerate.js.map +1 -1
  82. package/dist/esm/features/cat20/incinerate.js +3 -1
  83. package/dist/esm/features/cat20/incinerate.js.map +1 -1
  84. package/dist/types/features/cat20/incinerate.d.ts.map +1 -1
  85. package/package.json +76 -76
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "version": 10,
3
3
  "compilerVersion": "1.21.0+commit.2ada378",
4
- "contract": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20Guard",
4
+ "contract": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20Guard",
5
5
  "md5": "1900498bf7fedee535662fdc702c431a",
6
6
  "structs": [
7
7
  {
8
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardConstState",
8
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardConstState",
9
9
  "params": [
10
10
  {
11
11
  "name": "tokenScriptHashes",
@@ -27,7 +27,7 @@
27
27
  "genericTypes": []
28
28
  },
29
29
  {
30
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20State",
30
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20State",
31
31
  "params": [
32
32
  {
33
33
  "name": "tag",
@@ -45,7 +45,7 @@
45
45
  "genericTypes": []
46
46
  },
47
47
  {
48
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20ClosedMinterState",
48
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20ClosedMinterState",
49
49
  "params": [
50
50
  {
51
51
  "name": "tag",
@@ -59,7 +59,7 @@
59
59
  "genericTypes": []
60
60
  },
61
61
  {
62
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__ClosedMinterCAT20Meta",
62
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__ClosedMinterCAT20Meta",
63
63
  "params": [
64
64
  {
65
65
  "name": "tag",
@@ -85,7 +85,7 @@
85
85
  "genericTypes": []
86
86
  },
87
87
  {
88
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__OpenMinterCAT20Meta",
88
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__OpenMinterCAT20Meta",
89
89
  "params": [
90
90
  {
91
91
  "name": "tag",
@@ -127,7 +127,7 @@
127
127
  "genericTypes": []
128
128
  },
129
129
  {
130
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20OpenMinterState",
130
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20OpenMinterState",
131
131
  "params": [
132
132
  {
133
133
  "name": "tag",
@@ -149,7 +149,7 @@
149
149
  "genericTypes": []
150
150
  },
151
151
  {
152
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__TxOut",
152
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__TxOut",
153
153
  "params": [
154
154
  {
155
155
  "name": "scriptHash",
@@ -167,7 +167,7 @@
167
167
  "genericTypes": []
168
168
  },
169
169
  {
170
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__TxIn",
170
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__TxIn",
171
171
  "params": [
172
172
  {
173
173
  "name": "prevTxHash",
@@ -189,7 +189,7 @@
189
189
  "genericTypes": []
190
190
  },
191
191
  {
192
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__TxHashPreimage",
192
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__TxHashPreimage",
193
193
  "params": [
194
194
  {
195
195
  "name": "version",
@@ -211,11 +211,11 @@
211
211
  "genericTypes": []
212
212
  },
213
213
  {
214
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__BacktraceInfo",
214
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__BacktraceInfo",
215
215
  "params": [
216
216
  {
217
217
  "name": "prevTxInput",
218
- "type": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__TxIn"
218
+ "type": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__TxIn"
219
219
  },
220
220
  {
221
221
  "name": "prevTxInputIndex",
@@ -223,13 +223,13 @@
223
223
  },
224
224
  {
225
225
  "name": "prevPrevTxPreimage",
226
- "type": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__TxHashPreimage"
226
+ "type": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__TxHashPreimage"
227
227
  }
228
228
  ],
229
229
  "genericTypes": []
230
230
  },
231
231
  {
232
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__SHPreimage",
232
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__SHPreimage",
233
233
  "params": [
234
234
  {
235
235
  "name": "nVersion",
@@ -291,7 +291,7 @@
291
291
  "genericTypes": []
292
292
  },
293
293
  {
294
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__Outpoint",
294
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__Outpoint",
295
295
  "params": [
296
296
  {
297
297
  "name": "txHash",
@@ -305,7 +305,7 @@
305
305
  "genericTypes": []
306
306
  },
307
307
  {
308
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__ReadVarintResult",
308
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__ReadVarintResult",
309
309
  "params": [
310
310
  {
311
311
  "name": "data",
@@ -321,57 +321,57 @@
321
321
  ],
322
322
  "library": [
323
323
  {
324
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__OwnerUtils",
324
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__OwnerUtils",
325
325
  "params": [],
326
326
  "properties": [],
327
327
  "genericTypes": []
328
328
  },
329
329
  {
330
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__TxUtils",
330
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__TxUtils",
331
331
  "params": [],
332
332
  "properties": [],
333
333
  "genericTypes": []
334
334
  },
335
335
  {
336
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__StateUtils",
336
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__StateUtils",
337
337
  "params": [],
338
338
  "properties": [],
339
339
  "genericTypes": []
340
340
  },
341
341
  {
342
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__SafeMath",
342
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__SafeMath",
343
343
  "params": [],
344
344
  "properties": [],
345
345
  "genericTypes": []
346
346
  },
347
347
  {
348
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardStateLib",
348
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardStateLib",
349
349
  "params": [],
350
350
  "properties": [],
351
351
  "genericTypes": [],
352
- "stateType": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardConstState"
352
+ "stateType": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardConstState"
353
353
  },
354
354
  {
355
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__ConstantsLib",
355
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__ConstantsLib",
356
356
  "params": [],
357
357
  "properties": [],
358
358
  "genericTypes": []
359
359
  },
360
360
  {
361
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__ContextUtils",
361
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__ContextUtils",
362
362
  "params": [],
363
363
  "properties": [],
364
364
  "genericTypes": []
365
365
  },
366
366
  {
367
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20StateLib",
367
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20StateLib",
368
368
  "params": [],
369
369
  "properties": [],
370
370
  "genericTypes": [],
371
- "stateType": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20State"
371
+ "stateType": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20State"
372
372
  },
373
373
  {
374
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__StdUtils",
374
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__StdUtils",
375
375
  "params": [],
376
376
  "properties": [],
377
377
  "genericTypes": []
@@ -406,7 +406,7 @@
406
406
  },
407
407
  {
408
408
  "name": "cat20States",
409
- "type": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20State[10]"
409
+ "type": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20State[10]"
410
410
  },
411
411
  {
412
412
  "name": "outputCount",
@@ -414,11 +414,11 @@
414
414
  },
415
415
  {
416
416
  "name": "__scrypt_ts_shPreimage",
417
- "type": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__SHPreimage"
417
+ "type": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__SHPreimage"
418
418
  },
419
419
  {
420
420
  "name": "__scrypt_ts_curState",
421
- "type": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardConstState"
421
+ "type": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardConstState"
422
422
  },
423
423
  {
424
424
  "name": "__scrypt_ts_spentAmounts",
@@ -440,8 +440,8 @@
440
440
  }
441
441
  ],
442
442
  "stateProps": [],
443
- "stateType": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardConstState",
443
+ "stateType": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardConstState",
444
444
  "buildType": "release",
445
- "file": "..\\cat20Guard.scrypt",
445
+ "file": "../cat20Guard.scrypt",
446
446
  "hex": "512097dfd76851bf465e8f715593b217714858bbe9570ff3bd5e33840a34e20ff0262102ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec0382201008ce7480da41702918d1ec8e6849ba32b4d65b1e40dc669c31a1e6306b266c2000000000000000000000000000000000000000000000000000000000000000ff2000000000000000000000000000000000000000000000000000000000000000fe2000000000000000000000000000000000000000000000000000000000000000fd2000000000000000000000000000000000000000000000000000000000000000fc076f706361740102012f79012f79012f79012f79012f79012f79012f79012f79012f79012f79012f79012f79012f79012f795d798277549d5c79827701209d5b79827701209d5a79827701209d597900a26958798277549d5779827701209d5679827701209d5579827701209d5479827701209d5379827701209d527900a2697800a26976519c6476529c6751686476539c67516864760281009c67516864760282009c67516864760283009c675168695d795d797e5c797e5b797e5a79767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c7e59797e58797e57797e56797e55797e54797e5379546e8b806e7c7f75007f6b6d6d6c7e5279546e8b806e7c7f75007f6b6d6d6c7e7854807e6b6d6d6d6d6d6d6d6c5979785a795a79210ac407f0e4bd44bfc207355a778b046225a7068fc59ee7eda43ad905aadbffc800206c266b30e6a1319c66dc401e5bd6b432ba49688eecd118297041da8074ce08105c7956795679aa7676517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e01007e817757795679567956795679537956795479577995939521414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff006e6e9776009f636e936776687777777b757c6e5296a0636e7c947b757c6853798277527982775379012080517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e01205279947f77545379935279930130787e527e54797e58797e527e53797e52797e57797e6b6d6d6d6d6d6d6c765779ac6b6d6d6d6d6d6c77695b79012a7978aa7888785878827d77527997009d6e7c966b6d6d6c775a79012a796f75aa527988765379012078827d77527997009d6e7c967777779d6d755b790129796f75aa527988765379012078827d77527997009d6e7c967777779d6d75012279012279012279012279012279012279012279012279012279012279012279012279012279012279012279012279012279012279012279012279012279012279013b7901397901397901397901397901397901397901397901397901397901397901397901397901397901397901397901397901397901397901397901397901397901397901157901157901157901157953766b796c756b6d6d6c8277528001167901167901167901167953766b796c756b6d6d6c7e01167901167901167901167952766b796c756b6d6d6c827752807e01167901167901167901167952766b796c756b6d6d6c7e01167901167901167901167951766b796c756b6d6d6c827752807e01167901167901167901167951766b796c756b6d6d6c7e01167901167901167901167900766b796c756b6d6d6c827752807e01167901167901167901167900766b796c756b6d6d6c7e01127901127901127901127953766b796c756b6d6d6c827752807e01127901127901127901127953766b796c756b6d6d6c7e01127901127901127901127952766b796c756b6d6d6c827752807e01127901127901127901127952766b796c756b6d6d6c7e01127901127901127901127951766b796c756b6d6d6c827752807e01127901127901127901127951766b796c756b6d6d6c7e01127901127901127901127900766b796c756b6d6d6c827752807e01127901127901127901127900766b796c756b6d6d6c7e5e795e795e795e7953766b796c756b6d6d6c827752807e5e795e795e795e7953766b796c756b6d6d6c7e5e795e795e795e7952766b796c756b6d6d6c827752807e5e795e795e795e7952766b796c756b6d6d6c7e5e795e795e795e7951766b796c756b6d6d6c827752807e5e795e795e795e7951766b796c756b6d6d6c7e5e795e795e795e7900766b796c756b6d6d6c827752807e5e795e795e795e7900766b796c756b6d6d6c7e5a795a795a795a795a795a795a795a795a795a7959766b796c756b6d6d6d6d6d6c827752807e5a795a795a795a795a795a795a795a795a795a7959766b796c756b6d6d6d6d6d6c7e5a795a795a795a795a795a795a795a795a795a7958766b796c756b6d6d6d6d6d6c827752807e5a795a795a795a795a795a795a795a795a795a7958766b796c756b6d6d6d6d6d6c7e5a795a795a795a795a795a795a795a795a795a7957766b796c756b6d6d6d6d6d6c827752807e5a795a795a795a795a795a795a795a795a795a7957766b796c756b6d6d6d6d6d6c7e5a795a795a795a795a795a795a795a795a795a7956766b796c756b6d6d6d6d6d6c827752807e5a795a795a795a795a795a795a795a795a795a7956766b796c756b6d6d6d6d6d6c7e5a795a795a795a795a795a795a795a795a795a7955766b796c756b6d6d6d6d6d6c827752807e5a795a795a795a795a795a795a795a795a795a7955766b796c756b6d6d6d6d6d6c7e5a795a795a795a795a795a795a795a795a795a7954766b796c756b6d6d6d6d6d6c827752807e5a795a795a795a795a795a795a795a795a795a7954766b796c756b6d6d6d6d6d6c7e5a795a795a795a795a795a795a795a795a795a7953766b796c756b6d6d6d6d6d6c827752807e5a795a795a795a795a795a795a795a795a795a7953766b796c756b6d6d6d6d6d6c7e5a795a795a795a795a795a795a795a795a795a7952766b796c756b6d6d6d6d6d6c827752807e5a795a795a795a795a795a795a795a795a795a7952766b796c756b6d6d6d6d6d6c7e5a795a795a795a795a795a795a795a795a795a7951766b796c756b6d6d6d6d6d6c827752807e5a795a795a795a795a795a795a795a795a795a7951766b796c756b6d6d6d6d6d6c7e5a795a795a795a795a795a795a795a795a795a7900766b796c756b6d6d6d6d6d6c827752807e5a795a795a795a795a795a795a795a795a795a7900766b796c756b6d6d6d6d6d6c7e01167901167901167901167953766b796c756b6d6d6ca901177901177901177901177952766b796c756b6d6d6ca97e01177901177901177901177951766b796c756b6d6d6ca97e01177901177901177901177900766b796c756b6d6d6ca97e01137901137901137901137953766b796c756b6d6d6ca97e01137901137901137901137952766b796c756b6d6d6ca97e01137901137901137901137951766b796c756b6d6d6ca97e01137901137901137901137900766b796c756b6d6d6ca97e5f795f795f795f7953766b796c756b6d6d6ca97e5f795f795f795f7952766b796c756b6d6d6ca97e5f795f795f795f7951766b796c756b6d6d6ca97e5f795f795f795f7900766b796c756b6d6d6ca97e5b795b795b795b795b795b795b795b795b795b7959766b796c756b6d6d6d6d6d6ca97e5b795b795b795b795b795b795b795b795b795b7958766b796c756b6d6d6d6d6d6ca97e5b795b795b795b795b795b795b795b795b795b7957766b796c756b6d6d6d6d6d6ca97e5b795b795b795b795b795b795b795b795b795b7956766b796c756b6d6d6d6d6d6ca97e5b795b795b795b795b795b795b795b795b795b7955766b796c756b6d6d6d6d6d6ca97e5b795b795b795b795b795b795b795b795b795b7954766b796c756b6d6d6d6d6d6ca97e5b795b795b795b795b795b795b795b795b795b7953766b796c756b6d6d6d6d6d6ca97e5b795b795b795b795b795b795b795b795b795b7952766b796c756b6d6d6d6d6d6ca97e5b795b795b795b795b795b795b795b795b795b7951766b796c756b6d6d6d6d6d6ca97e5b795b795b795b795b795b795b795b795b795b7900766b796c756b6d6d6d6d6d6ca97ea97ea86b6d6d6d6d6d6d6d6d6d6d6d6c0123797653798b0120957f7553790120957f775279886d7501157901157901157901157901157901157901157901157901157901157901157901157901157901157901157901157901157901157901157901157901157901157901157901157901157901157953766b796c7553766b796c7587916953766b796c7552766b796c7587916953766b796c7551766b796c7587916952766b796c7552766b796c7587916952766b796c7551766b796c7587916951766b796c7551766b796c758791696d6d01157901157901157901157953766b796c756b6d6d6c827d7701209d01127901127901127901127953766b796c756b6d6d6c00a2695e795e795e795e7953766b796c756b6d6d6c00a2697501157901157901157901157952766b796c756b6d6d6c827d7701209d01127901127901127901127952766b796c756b6d6d6c00a2695e795e795e795e7952766b796c756b6d6d6c00a2697501157901157901157901157951766b796c756b6d6d6c827d7701209d01127901127901127901127951766b796c756b6d6d6c00a2695e795e795e795e7951766b796c756b6d6d6c00a2697501157901157901157901157900766b796c756b6d6d6c827d7701209d01127901127901127901127900766b796c756b6d6d6c00a2695e795e795e795e7900766b796c756b6d6d6c00a26975597959795979597959795979597959795979597959766b796c756b6d6d6d6d6d6c764fa26376549f6700686975597959795979597959795979597959795979597958766b796c756b6d6d6d6d6d6c764fa26376549f6700686975597959795979597959795979597959795979597957766b796c756b6d6d6d6d6d6c764fa26376549f6700686975597959795979597959795979597959795979597956766b796c756b6d6d6d6d6d6c764fa26376549f6700686975597959795979597959795979597959795979597955766b796c756b6d6d6d6d6d6c764fa26376549f6700686975597959795979597959795979597959795979597954766b796c756b6d6d6d6d6d6c764fa26376549f6700686975597959795979597959795979597959795979597953766b796c756b6d6d6d6d6d6c764fa26376549f6700686975597959795979597959795979597959795979597952766b796c756b6d6d6d6d6d6c764fa26376549f6700686975597959795979597959795979597959795979597951766b796c756b6d6d6d6d6d6c764fa26376549f6700686975597959795979597959795979597959795979597900766b796c756b6d6d6d6d6d6c764fa26376549f67006869756d6d6d6d6d6d6d6d6d6d6d00011c79011c79011c79011c79011a79011a79011a79011a7953766b796c756b6d6d6c54766b796c7587645479768b567a757171557a7568011a79011a79011a79011a7952766b796c756b6d6d6c53766b796c7587645479768b567a757171557a7568011a79011a79011a79011a7951766b796c756b6d6d6c52766b796c7587645479768b567a757171557a7568011a79011a79011a79011a7900766b796c756b6d6d6c51766b796c7587645479768b567a757171557a75680055799f63011a79011a79011a79011a7953766b796c756b6d6d6c54766b796c75879169011a79011a79011a79011a7953766b796c756b6d6d6c827701209d67011a79011a79011a79011a7953766b796c756b6d6d6c54766b796c7588685155799f63011a79011a79011a79011a7952766b796c756b6d6d6c53766b796c75879169011a79011a79011a79011a7952766b796c756b6d6d6c827701209d67011a79011a79011a79011a7952766b796c756b6d6d6c53766b796c7588685255799f63011a79011a79011a79011a7951766b796c756b6d6d6c52766b796c75879169011a79011a79011a79011a7951766b796c756b6d6d6c827701209d67011a79011a79011a79011a7951766b796c756b6d6d6c52766b796c7588685355799f63011a79011a79011a79011a7900766b796c756b6d6d6c51766b796c75879169011a79011a79011a79011a7900766b796c756b6d6d6c827701209d67011a79011a79011a79011a7900766b796c756b6d6d6c51766b796c758868547900a069000000004f01207901147901147901147901147901147901147901147901147901147901147959766b796c756b6d6d6d6d6d6c0052799f63765c799f69764f9e630121790121790121790121795455797600a26976549f69948c766b796c756b6d6d6c76012e79006e8b0120957f75780120957f777777880172766b796c766b796c766b796c757876827d7701199c647601209c675168696d51787700a0695279012879886d75012e79006e8b0120957f75780120957f7777770173766b796c766b796c766b796c7552798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777885752797600a26976549f6994766b796c750173766b796c766b796c766b796c7577776e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75785479a0637867537968547a7572537a75686701157901157901157901157901157901157901157901157901157901157959766b796c756b6d6d6d6d6d6c4f9d687501147901147901147901147901147901147901147901147901147901147958766b796c756b6d6d6d6d6d6c5152799f63765c799f69764f9e630121790121790121790121795455797600a26976549f69948c766b796c756b6d6d6c76012e79516e8b0120957f75780120957f77777788016f766b796c766b796c766b796c757876827d7701199c647601209c675168696d51787700a0695279012879886d75012e79516e8b0120957f75780120957f7777770170766b796c766b796c766b796c7552798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777885752797600a26976549f6994766b796c750170766b796c766b796c766b796c7577776e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75785479a0637867537968547a7572537a75686701157901157901157901157901157901157901157901157901157901157958766b796c756b6d6d6d6d6d6c4f9d687501147901147901147901147901147901147901147901147901147901147957766b796c756b6d6d6d6d6d6c5252799f63765c799f69764f9e630121790121790121790121795455797600a26976549f69948c766b796c756b6d6d6c76012e79526e8b0120957f75780120957f77777788016c766b796c766b796c766b796c757876827d7701199c647601209c675168696d51787700a0695279012879886d75012e79526e8b0120957f75780120957f777777016d766b796c766b796c766b796c7552798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777885752797600a26976549f6994766b796c75016d766b796c766b796c766b796c7577776e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75785479a0637867537968547a7572537a75686701157901157901157901157901157901157901157901157901157901157957766b796c756b6d6d6d6d6d6c4f9d687501147901147901147901147901147901147901147901147901147901147956766b796c756b6d6d6d6d6d6c5352799f63765c799f69764f9e630121790121790121790121795455797600a26976549f69948c766b796c756b6d6d6c76012e79536e8b0120957f75780120957f777777880169766b796c766b796c766b796c757876827d7701199c647601209c675168696d51787700a0695279012879886d75012e79536e8b0120957f75780120957f777777016a766b796c766b796c766b796c7552798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777885752797600a26976549f6994766b796c75016a766b796c766b796c766b796c7577776e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75785479a0637867537968547a7572537a75686701157901157901157901157901157901157901157901157901157901157956766b796c756b6d6d6d6d6d6c4f9d687501147901147901147901147901147901147901147901147901147901147955766b796c756b6d6d6d6d6d6c5452799f63765c799f69764f9e630121790121790121790121795455797600a26976549f69948c766b796c756b6d6d6c76012e79546e8b0120957f75780120957f777777880166766b796c766b796c766b796c757876827d7701199c647601209c675168696d51787700a0695279012879886d75012e79546e8b0120957f75780120957f7777770167766b796c766b796c766b796c7552798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777885752797600a26976549f6994766b796c750167766b796c766b796c766b796c7577776e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75785479a0637867537968547a7572537a75686701157901157901157901157901157901157901157901157901157901157955766b796c756b6d6d6d6d6d6c4f9d687501147901147901147901147901147901147901147901147901147901147954766b796c756b6d6d6d6d6d6c5552799f63765c799f69764f9e630121790121790121790121795455797600a26976549f69948c766b796c756b6d6d6c76012e79556e8b0120957f75780120957f777777880163766b796c766b796c766b796c757876827d7701199c647601209c675168696d51787700a0695279012879886d75012e79556e8b0120957f75780120957f7777770164766b796c766b796c766b796c7552798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777885752797600a26976549f6994766b796c750164766b796c766b796c766b796c7577776e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75785479a0637867537968547a7572537a75686701157901157901157901157901157901157901157901157901157901157954766b796c756b6d6d6d6d6d6c4f9d687501147901147901147901147901147901147901147901147901147901147953766b796c756b6d6d6d6d6d6c5652799f63765c799f69764f9e630121790121790121790121795455797600a26976549f69948c766b796c756b6d6d6c76012e79566e8b0120957f75780120957f777777880160766b796c766b796c766b796c757876827d7701199c647601209c675168696d51787700a0695279012879886d75012e79566e8b0120957f75780120957f7777770161766b796c766b796c766b796c7552798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777885752797600a26976549f6994766b796c750161766b796c766b796c766b796c7577776e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75785479a0637867537968547a7572537a75686701157901157901157901157901157901157901157901157901157901157953766b796c756b6d6d6d6d6d6c4f9d687501147901147901147901147901147901147901147901147901147901147952766b796c756b6d6d6d6d6d6c5752799f63765c799f69764f9e630121790121790121790121795455797600a26976549f69948c766b796c756b6d6d6c76012e79576e8b0120957f75780120957f77777788015d766b796c766b796c766b796c757876827d7701199c647601209c675168696d51787700a0695279012879886d75012e79576e8b0120957f75780120957f777777015e766b796c766b796c766b796c7552798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777885752797600a26976549f6994766b796c75015e766b796c766b796c766b796c7577776e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75785479a0637867537968547a7572537a75686701157901157901157901157901157901157901157901157901157901157952766b796c756b6d6d6d6d6d6c4f9d687501147901147901147901147901147901147901147901147901147901147951766b796c756b6d6d6d6d6d6c5852799f63765c799f69764f9e630121790121790121790121795455797600a26976549f69948c766b796c756b6d6d6c76012e79586e8b0120957f75780120957f77777788015a766b796c766b796c766b796c757876827d7701199c647601209c675168696d51787700a0695279012879886d75012e79586e8b0120957f75780120957f777777015b766b796c766b796c766b796c7552798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777885752797600a26976549f6994766b796c75015b766b796c766b796c766b796c7577776e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75785479a0637867537968547a7572537a75686701157901157901157901157901157901157901157901157901157901157951766b796c756b6d6d6d6d6d6c4f9d687501147901147901147901147901147901147901147901147901147901147900766b796c756b6d6d6d6d6d6c5952799f63765c799f69764f9e630121790121790121790121795455797600a26976549f69948c766b796c756b6d6d6c76012e79596e8b0120957f75780120957f777777880157766b796c766b796c766b796c757876827d7701199c647601209c675168696d51787700a0695279012879886d75012e79596e8b0120957f75780120957f7777770158766b796c766b796c766b796c7552798277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea8777777885752797600a26976549f6994766b796c750158766b796c766b796c766b796c7577776e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75785479a0637867537968547a7572537a75686701157901157901157901157901157901157901157901157901157901157900766b796c756b6d6d6d6d6d6c4f9d68757800a263785b798c9c6700686901527900a2630152795aa1670068690000000000000158799f63029d00766b796c7877827700a069028a00766b796c78770112799f69764f9e63029500766b796c787700a0695752797600a26976549f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75012a7953796f758277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea877777702ab00766b796c7578880129790129790129790129795457797600a26976549f69948c766b796c756b6d6d6c557978028600766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67029500766b796c75009d7801287901287901287901287953766b796c756b6d6d6c8791697801287901287901287901287952766b796c756b6d6d6c8791697801287901287901287901287951766b796c756b6d6d6c8791697801287901287901287901287900766b796c756b6d6d6c8791696f75028300766b796c7502ac00766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67029d00766b796c758277009d028900766b796c754f9d029300766b796c75009d02a700766b796c750088017f766b796c75009d68510158799f63029c00766b796c7877827700a069028900766b796c78770112799f69764f9e63029400766b796c787700a0695752797600a26976549f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75012a7953796f758277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea877777702aa00766b796c7578880129790129790129790129795457797600a26976549f69948c766b796c756b6d6d6c557978028500766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67029400766b796c75009d7801287901287901287901287953766b796c756b6d6d6c8791697801287901287901287901287952766b796c756b6d6d6c8791697801287901287901287901287951766b796c756b6d6d6c8791697801287901287901287901287900766b796c756b6d6d6c8791696f75028200766b796c7502ab00766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67029c00766b796c758277009d028800766b796c754f9d029200766b796c75009d02a600766b796c750088017e766b796c75009d68520158799f63029b00766b796c7877827700a069028800766b796c78770112799f69764f9e63029300766b796c787700a0695752797600a26976549f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75012a7953796f758277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea877777702a900766b796c7578880129790129790129790129795457797600a26976549f69948c766b796c756b6d6d6c557978028400766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67029300766b796c75009d7801287901287901287901287953766b796c756b6d6d6c8791697801287901287901287901287952766b796c756b6d6d6c8791697801287901287901287901287951766b796c756b6d6d6c8791697801287901287901287901287900766b796c756b6d6d6c8791696f75028100766b796c7502aa00766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67029b00766b796c758277009d028700766b796c754f9d029100766b796c75009d02a500766b796c750088017d766b796c75009d68530158799f63029a00766b796c7877827700a069028700766b796c78770112799f69764f9e63029200766b796c787700a0695752797600a26976549f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75012a7953796f758277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea877777702a800766b796c7578880129790129790129790129795457797600a26976549f69948c766b796c756b6d6d6c557978028300766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67029200766b796c75009d7801287901287901287901287953766b796c756b6d6d6c8791697801287901287901287901287952766b796c756b6d6d6c8791697801287901287901287901287951766b796c756b6d6d6c8791697801287901287901287901287900766b796c756b6d6d6c8791696f75028000766b796c7502a900766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67029a00766b796c758277009d028600766b796c754f9d029000766b796c75009d02a400766b796c750088017c766b796c75009d68540158799f63029900766b796c7877827700a069028600766b796c78770112799f69764f9e63029100766b796c787700a0695752797600a26976549f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75012a7953796f758277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea877777702a700766b796c7578880129790129790129790129795457797600a26976549f69948c766b796c756b6d6d6c557978028200766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67029100766b796c75009d7801287901287901287901287953766b796c756b6d6d6c8791697801287901287901287901287952766b796c756b6d6d6c8791697801287901287901287901287951766b796c756b6d6d6c8791697801287901287901287901287900766b796c756b6d6d6c8791696f75017f766b796c7502a800766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67029900766b796c758277009d028500766b796c754f9d028f00766b796c75009d02a300766b796c750088017b766b796c75009d68550158799f63029800766b796c7877827700a069028500766b796c78770112799f69764f9e63029000766b796c787700a0695752797600a26976549f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75012a7953796f758277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea877777702a600766b796c7578880129790129790129790129795457797600a26976549f69948c766b796c756b6d6d6c557978028100766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67029000766b796c75009d7801287901287901287901287953766b796c756b6d6d6c8791697801287901287901287901287952766b796c756b6d6d6c8791697801287901287901287901287951766b796c756b6d6d6c8791697801287901287901287901287900766b796c756b6d6d6c8791696f75017e766b796c7502a700766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67029800766b796c758277009d028400766b796c754f9d028e00766b796c75009d02a200766b796c750088017a766b796c75009d68560158799f63029700766b796c7877827700a069028400766b796c78770112799f69764f9e63028f00766b796c787700a0695752797600a26976549f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75012a7953796f758277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea877777702a500766b796c7578880129790129790129790129795457797600a26976549f69948c766b796c756b6d6d6c557978028000766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67028f00766b796c75009d7801287901287901287901287953766b796c756b6d6d6c8791697801287901287901287901287952766b796c756b6d6d6c8791697801287901287901287901287951766b796c756b6d6d6c8791697801287901287901287901287900766b796c756b6d6d6c8791696f75017d766b796c7502a600766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67029700766b796c758277009d028300766b796c754f9d028d00766b796c75009d02a100766b796c7500880179766b796c75009d68570158799f63029600766b796c7877827700a069028300766b796c78770112799f69764f9e63028e00766b796c787700a0695752797600a26976549f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75012a7953796f758277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea877777702a400766b796c7578880129790129790129790129795457797600a26976549f69948c766b796c756b6d6d6c557978017f766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67028e00766b796c75009d7801287901287901287901287953766b796c756b6d6d6c8791697801287901287901287901287952766b796c756b6d6d6c8791697801287901287901287901287951766b796c756b6d6d6c8791697801287901287901287901287900766b796c756b6d6d6c8791696f75017c766b796c7502a500766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67029600766b796c758277009d028200766b796c754f9d028c00766b796c75009d02a000766b796c7500880178766b796c75009d68580158799f63029500766b796c7877827700a069028200766b796c78770112799f69764f9e63028d00766b796c787700a0695752797600a26976549f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75012a7953796f758277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea877777702a300766b796c7578880129790129790129790129795457797600a26976549f69948c766b796c756b6d6d6c557978017e766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67028d00766b796c75009d7801287901287901287901287953766b796c756b6d6d6c8791697801287901287901287901287952766b796c756b6d6d6c8791697801287901287901287901287951766b796c756b6d6d6c8791697801287901287901287901287900766b796c756b6d6d6c8791696f75017b766b796c7502a400766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67029500766b796c758277009d028100766b796c754f9d028b00766b796c75009d029f00766b796c7500880177766b796c75009d68590158799f63029400766b796c7877827700a069028100766b796c78770112799f69764f9e63028c00766b796c787700a0695752797600a26976549f6994766b796c75786e93765379a2636e7ca267006869777752797600a26976549f69597a78008763757868597a527951876375527968597a537952876375537968597a547953876375547968547a75587a587a587a587a587a75012a7953796f758277528053797e5279827752807e52797e78827752807e787e5379a95379a97e5279a97ea97ea877777702a200766b796c7578880129790129790129790129795457797600a26976549f69948c766b796c756b6d6d6c557978017d766b796c755479527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d67028c00766b796c75009d7801287901287901287901287953766b796c756b6d6d6c8791697801287901287901287901287952766b796c756b6d6d6c8791697801287901287901287901287951766b796c756b6d6d6c8791697801287901287901287901287900766b796c756b6d6d6c8791696f75017a766b796c7502a300766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67029400766b796c758277009d028000766b796c754f9d028a00766b796c75009d029e00766b796c7500880176766b796c75009d685a766b796c7501227901227901227901227953766b796c756b6d6d6c9d5a766b796c7555766b796c75011f79011f79011f79011f7953766b796c756b6d6d6c6e93765379a2636e7ca26700686977779d0060799f635a766b796c7500a069675a766b796c75009d54766b796c75009d01217901217901217901217953766b796c756b6d6d6c009d011d79011d79011d79011d7953766b796c756b6d6d6c009d6859766b796c7501227901227901227901227952766b796c756b6d6d6c9d59766b796c7554766b796c75011f79011f79011f79011f7952766b796c756b6d6d6c6e93765379a2636e7ca26700686977779d5160799f6359766b796c7500a0696759766b796c75009d53766b796c75009d01217901217901217901217952766b796c756b6d6d6c009d011d79011d79011d79011d7952766b796c756b6d6d6c009d6858766b796c7501227901227901227901227951766b796c756b6d6d6c9d58766b796c7553766b796c75011f79011f79011f79011f7951766b796c756b6d6d6c6e93765379a2636e7ca26700686977779d5260799f6358766b796c7500a0696758766b796c75009d52766b796c75009d01217901217901217901217951766b796c756b6d6d6c009d011d79011d79011d79011d7951766b796c756b6d6d6c009d6857766b796c7501227901227901227901227900766b796c756b6d6d6c9d57766b796c7552766b796c75011f79011f79011f79011f7900766b796c756b6d6d6c6e93765379a2636e7ca26700686977779d5360799f6357766b796c7500a0696757766b796c75009d51766b796c75009d01217901217901217901217900766b796c756b6d6d6c009d011d79011d79011d79011d7900766b796c756b6d6d6c009d6876aa014d79876b6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c"
447
447
  }
@@ -12,24 +12,24 @@ import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt"
12
12
 
13
13
 
14
14
 
15
- contract _opcat_labs_cat_sdk_1_0_3__rs__CAT20Guard {
15
+ contract _opcat_labs_cat_sdk_1_0_4__rs__CAT20Guard {
16
16
  constructor(){}
17
- public function unlock(bytes[10] nextStateHashes, bytes[10] ownerAddrOrScriptHashes, int[10] outputTokens, int[10] tokenScriptHashIndexes, int[10] outputSatoshis, _opcat_labs_cat_sdk_1_0_3__rs__CAT20State[10] cat20States, int outputCount, _opcat_labs_scrypt_ts_opcat_1_0_4__rs__SHPreimage __scrypt_ts_shPreimage, _opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardConstState __scrypt_ts_curState, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes, bytes __scrypt_ts_spentScriptHashes) {
18
- require(Tx.checkPreimageSigHashType(_opcat_labs_scrypt_ts_opcat_1_0_4__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage), SigHash.ALL));
17
+ public function unlock(bytes[10] nextStateHashes, bytes[10] ownerAddrOrScriptHashes, int[10] outputTokens, int[10] tokenScriptHashIndexes, int[10] outputSatoshis, _opcat_labs_cat_sdk_1_0_4__rs__CAT20State[10] cat20States, int outputCount, _opcat_labs_scrypt_ts_opcat_1_0_5__rs__SHPreimage __scrypt_ts_shPreimage, _opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardConstState __scrypt_ts_curState, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes, bytes __scrypt_ts_spentScriptHashes) {
18
+ require(Tx.checkPreimageSigHashType(_opcat_labs_scrypt_ts_opcat_1_0_5__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage), SigHash.ALL));
19
19
 
20
- int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_1_0_4__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
20
+ int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_1_0_5__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
21
21
 
22
- _opcat_labs_scrypt_ts_opcat_1_0_4__rs__ContextUtils.checkSpentScripts(__scrypt_ts_spentScriptHashes, __scrypt_ts_shPreimage.hashSpentScriptHashes, __scrypt_ts_inputCount);
22
+ _opcat_labs_scrypt_ts_opcat_1_0_5__rs__ContextUtils.checkSpentScripts(__scrypt_ts_spentScriptHashes, __scrypt_ts_shPreimage.hashSpentScriptHashes, __scrypt_ts_inputCount);
23
23
 
24
- _opcat_labs_scrypt_ts_opcat_1_0_4__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
24
+ _opcat_labs_scrypt_ts_opcat_1_0_5__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
25
25
 
26
- _opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardConstState __scrypt_ts_nextState = __scrypt_ts_curState;
26
+ _opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardConstState __scrypt_ts_nextState = __scrypt_ts_curState;
27
27
 
28
- _opcat_labs_scrypt_ts_opcat_1_0_4__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_1_0_3__rs__CAT20Guard.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
28
+ _opcat_labs_scrypt_ts_opcat_1_0_5__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_1_0_4__rs__CAT20Guard.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
29
29
 
30
- _opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardStateLib.formalCheckState(__scrypt_ts_nextState);
30
+ _opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardStateLib.formalCheckState(__scrypt_ts_nextState);
31
31
  int inputTokenTypes = 0;
32
- bytes[4] tokenScriptPlaceholders = [_opcat_labs_cat_sdk_1_0_3__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FF, _opcat_labs_cat_sdk_1_0_3__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FE, _opcat_labs_cat_sdk_1_0_3__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FD, _opcat_labs_cat_sdk_1_0_3__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FC];
32
+ bytes[4] tokenScriptPlaceholders = [_opcat_labs_cat_sdk_1_0_4__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FF, _opcat_labs_cat_sdk_1_0_4__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FE, _opcat_labs_cat_sdk_1_0_4__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FD, _opcat_labs_cat_sdk_1_0_4__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FC];
33
33
  loop (4) : i {
34
34
  if(__scrypt_ts_nextState.tokenScriptHashes[i] != tokenScriptPlaceholders[i]) {
35
35
  inputTokenTypes++;
@@ -53,10 +53,10 @@ contract _opcat_labs_cat_sdk_1_0_3__rs__CAT20Guard {
53
53
  require(tokenScriptIndex < inputTokenTypes);
54
54
  if(tokenScriptIndex != -1) {
55
55
  bytes tokenScriptHash = __scrypt_ts_nextState.tokenScriptHashes[(tokenScriptIndex)];
56
- require(tokenScriptHash == _opcat_labs_scrypt_ts_opcat_1_0_4__rs__ContextUtils.getSpentScriptHash(__scrypt_ts_spentScriptHashes, (i)));
57
- _opcat_labs_cat_sdk_1_0_3__rs__CAT20StateLib.checkState(cat20States[i]);
58
- require(_opcat_labs_scrypt_ts_opcat_1_0_4__rs__ContextUtils.getSpentDataHash(__scrypt_ts_spentDataHashes, (i)) == _opcat_labs_cat_sdk_1_0_3__rs__CAT20StateLib.stateHash(cat20States[i]));
59
- sumInputTokens[(tokenScriptIndex)] = _opcat_labs_cat_sdk_1_0_3__rs__SafeMath.add(sumInputTokens[(tokenScriptIndex)], cat20States[i].amount);
56
+ require(tokenScriptHash == _opcat_labs_scrypt_ts_opcat_1_0_5__rs__ContextUtils.getSpentScriptHash(__scrypt_ts_spentScriptHashes, (i)));
57
+ _opcat_labs_cat_sdk_1_0_4__rs__CAT20StateLib.checkState(cat20States[i]);
58
+ require(_opcat_labs_scrypt_ts_opcat_1_0_5__rs__ContextUtils.getSpentDataHash(__scrypt_ts_spentDataHashes, (i)) == _opcat_labs_cat_sdk_1_0_4__rs__CAT20StateLib.stateHash(cat20States[i]));
59
+ sumInputTokens[(tokenScriptIndex)] = _opcat_labs_cat_sdk_1_0_4__rs__SafeMath.add(sumInputTokens[(tokenScriptIndex)], cat20States[i].amount);
60
60
  tokenScriptIndexMax = tokenScriptIndex > tokenScriptIndexMax ? tokenScriptIndex : tokenScriptIndexMax;
61
61
  }
62
62
  } else {
@@ -76,17 +76,17 @@ contract _opcat_labs_cat_sdk_1_0_3__rs__CAT20Guard {
76
76
  if(tokenScriptHashIndex != -1) {
77
77
  int tokenAmount = outputTokens[i];
78
78
  require(tokenAmount > 0);
79
- sumOutputTokens[(tokenScriptHashIndex)] = _opcat_labs_cat_sdk_1_0_3__rs__SafeMath.add(sumOutputTokens[(tokenScriptHashIndex)], tokenAmount);
80
- bytes tokenStateHash = _opcat_labs_cat_sdk_1_0_3__rs__CAT20StateLib.stateHash({_opcat_labs_cat_sdk_1_0_3__rs__ConstantsLib.OPCAT_CAT20_TAG, ownerAddrOrScriptHash, tokenAmount});
79
+ sumOutputTokens[(tokenScriptHashIndex)] = _opcat_labs_cat_sdk_1_0_4__rs__SafeMath.add(sumOutputTokens[(tokenScriptHashIndex)], tokenAmount);
80
+ bytes tokenStateHash = _opcat_labs_cat_sdk_1_0_4__rs__CAT20StateLib.stateHash({_opcat_labs_cat_sdk_1_0_4__rs__ConstantsLib.OPCAT_CAT20_TAG, ownerAddrOrScriptHash, tokenAmount});
81
81
  require(nextStateHashes[i] == tokenStateHash);
82
82
  bytes tokenScriptHash = __scrypt_ts_nextState.tokenScriptHashes[(tokenScriptHashIndex)];
83
- outputs += _opcat_labs_scrypt_ts_opcat_1_0_4__rs__TxUtils.buildDataOutput(tokenScriptHash, outputSatoshis[i], tokenStateHash);
83
+ outputs += _opcat_labs_scrypt_ts_opcat_1_0_5__rs__TxUtils.buildDataOutput(tokenScriptHash, outputSatoshis[i], tokenStateHash);
84
84
  } else {
85
85
  require(outputTokens[i] == 0);
86
86
  loop (4) : j {
87
87
  require(ownerAddrOrScriptHash != __scrypt_ts_nextState.tokenScriptHashes[j]);
88
88
  }
89
- outputs += _opcat_labs_scrypt_ts_opcat_1_0_4__rs__TxUtils.buildDataOutput(ownerAddrOrScriptHash, outputSatoshis[i], nextStateHashes[i]);
89
+ outputs += _opcat_labs_scrypt_ts_opcat_1_0_5__rs__TxUtils.buildDataOutput(ownerAddrOrScriptHash, outputSatoshis[i], nextStateHashes[i]);
90
90
  }
91
91
  } else {
92
92
  require(len(ownerAddrOrScriptHashes[i]) == 0);
@@ -98,7 +98,7 @@ contract _opcat_labs_cat_sdk_1_0_3__rs__CAT20Guard {
98
98
  }
99
99
  loop (4) : i {
100
100
  require(sumInputTokens[i] == __scrypt_ts_nextState.tokenAmounts[i]);
101
- require(sumInputTokens[i] == _opcat_labs_cat_sdk_1_0_3__rs__SafeMath.add(sumOutputTokens[i], __scrypt_ts_nextState.tokenBurnAmounts[i]));
101
+ require(sumInputTokens[i] == _opcat_labs_cat_sdk_1_0_4__rs__SafeMath.add(sumOutputTokens[i], __scrypt_ts_nextState.tokenBurnAmounts[i]));
102
102
  if(i < (inputTokenTypes)) {
103
103
  require(sumInputTokens[i] > 0);
104
104
  } else {
@@ -110,10 +110,10 @@ contract _opcat_labs_cat_sdk_1_0_3__rs__CAT20Guard {
110
110
  }
111
111
  require(hash256(outputs) == __scrypt_ts_shPreimage.hashOutputs);
112
112
  }
113
- static function serializeState(_opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardConstState __scrypt_ts_curState): bytes {
113
+ static function serializeState(_opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardConstState __scrypt_ts_curState): bytes {
114
114
  return num2bin(len(__scrypt_ts_curState.tokenScriptHashes[0]), 2) + __scrypt_ts_curState.tokenScriptHashes[0] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[1]), 2) + __scrypt_ts_curState.tokenScriptHashes[1] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[2]), 2) + __scrypt_ts_curState.tokenScriptHashes[2] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[3]), 2) + __scrypt_ts_curState.tokenScriptHashes[3] + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenAmounts[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[0])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[1])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[2])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[3])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[4])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[4]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[5])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[5]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[6])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[6]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[7])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[7]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[8])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[8]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[9])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[9]) + hash160(hash160(__scrypt_ts_curState.tokenScriptHashes[0]) + hash160(__scrypt_ts_curState.tokenScriptHashes[1]) + hash160(__scrypt_ts_curState.tokenScriptHashes[2]) + hash160(__scrypt_ts_curState.tokenScriptHashes[3]) + hash160(pack(__scrypt_ts_curState.tokenAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[3])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[3])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[0])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[1])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[2])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[3])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[4])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[5])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[6])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[7])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[8])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[9])));
115
115
  }
116
- static function stateHash(_opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardConstState __scrypt_ts_curState): bytes {
116
+ static function stateHash(_opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardConstState __scrypt_ts_curState): bytes {
117
117
  return sha256(num2bin(len(__scrypt_ts_curState.tokenScriptHashes[0]), 2) + __scrypt_ts_curState.tokenScriptHashes[0] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[1]), 2) + __scrypt_ts_curState.tokenScriptHashes[1] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[2]), 2) + __scrypt_ts_curState.tokenScriptHashes[2] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[3]), 2) + __scrypt_ts_curState.tokenScriptHashes[3] + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenAmounts[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[0])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[1])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[2])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[3])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[4])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[4]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[5])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[5]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[6])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[6]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[7])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[7]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[8])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[8]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[9])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[9]) + hash160(hash160(__scrypt_ts_curState.tokenScriptHashes[0]) + hash160(__scrypt_ts_curState.tokenScriptHashes[1]) + hash160(__scrypt_ts_curState.tokenScriptHashes[2]) + hash160(__scrypt_ts_curState.tokenScriptHashes[3]) + hash160(pack(__scrypt_ts_curState.tokenAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[3])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[3])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[0])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[1])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[2])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[3])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[4])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[5])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[6])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[7])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[8])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[9]))));
118
118
  }
119
119
  }
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "version": 10,
3
3
  "compilerVersion": "1.21.0+commit.2ada378",
4
- "contract": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardStateLib",
4
+ "contract": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardStateLib",
5
5
  "md5": "d41d8cd98f00b204e9800998ecf8427e",
6
6
  "structs": [
7
7
  {
8
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardConstState",
8
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardConstState",
9
9
  "params": [
10
10
  {
11
11
  "name": "tokenScriptHashes",
@@ -27,7 +27,7 @@
27
27
  "genericTypes": []
28
28
  },
29
29
  {
30
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20State",
30
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20State",
31
31
  "params": [
32
32
  {
33
33
  "name": "tag",
@@ -45,7 +45,7 @@
45
45
  "genericTypes": []
46
46
  },
47
47
  {
48
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20ClosedMinterState",
48
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20ClosedMinterState",
49
49
  "params": [
50
50
  {
51
51
  "name": "tag",
@@ -59,7 +59,7 @@
59
59
  "genericTypes": []
60
60
  },
61
61
  {
62
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__ClosedMinterCAT20Meta",
62
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__ClosedMinterCAT20Meta",
63
63
  "params": [
64
64
  {
65
65
  "name": "tag",
@@ -85,7 +85,7 @@
85
85
  "genericTypes": []
86
86
  },
87
87
  {
88
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__OpenMinterCAT20Meta",
88
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__OpenMinterCAT20Meta",
89
89
  "params": [
90
90
  {
91
91
  "name": "tag",
@@ -127,7 +127,7 @@
127
127
  "genericTypes": []
128
128
  },
129
129
  {
130
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20OpenMinterState",
130
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20OpenMinterState",
131
131
  "params": [
132
132
  {
133
133
  "name": "tag",
@@ -149,7 +149,7 @@
149
149
  "genericTypes": []
150
150
  },
151
151
  {
152
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__TxOut",
152
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__TxOut",
153
153
  "params": [
154
154
  {
155
155
  "name": "scriptHash",
@@ -167,7 +167,7 @@
167
167
  "genericTypes": []
168
168
  },
169
169
  {
170
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__TxIn",
170
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__TxIn",
171
171
  "params": [
172
172
  {
173
173
  "name": "prevTxHash",
@@ -189,7 +189,7 @@
189
189
  "genericTypes": []
190
190
  },
191
191
  {
192
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__TxHashPreimage",
192
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__TxHashPreimage",
193
193
  "params": [
194
194
  {
195
195
  "name": "version",
@@ -211,11 +211,11 @@
211
211
  "genericTypes": []
212
212
  },
213
213
  {
214
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__BacktraceInfo",
214
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__BacktraceInfo",
215
215
  "params": [
216
216
  {
217
217
  "name": "prevTxInput",
218
- "type": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__TxIn"
218
+ "type": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__TxIn"
219
219
  },
220
220
  {
221
221
  "name": "prevTxInputIndex",
@@ -223,13 +223,13 @@
223
223
  },
224
224
  {
225
225
  "name": "prevPrevTxPreimage",
226
- "type": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__TxHashPreimage"
226
+ "type": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__TxHashPreimage"
227
227
  }
228
228
  ],
229
229
  "genericTypes": []
230
230
  },
231
231
  {
232
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__SHPreimage",
232
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__SHPreimage",
233
233
  "params": [
234
234
  {
235
235
  "name": "nVersion",
@@ -291,7 +291,7 @@
291
291
  "genericTypes": []
292
292
  },
293
293
  {
294
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__Outpoint",
294
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__Outpoint",
295
295
  "params": [
296
296
  {
297
297
  "name": "txHash",
@@ -305,7 +305,7 @@
305
305
  "genericTypes": []
306
306
  },
307
307
  {
308
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__ReadVarintResult",
308
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__ReadVarintResult",
309
309
  "params": [
310
310
  {
311
311
  "name": "data",
@@ -321,26 +321,26 @@
321
321
  ],
322
322
  "library": [
323
323
  {
324
- "name": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardStateLib",
324
+ "name": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardStateLib",
325
325
  "params": [],
326
326
  "properties": [],
327
327
  "genericTypes": [],
328
- "stateType": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardConstState"
328
+ "stateType": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardConstState"
329
329
  },
330
330
  {
331
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__TxUtils",
331
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__TxUtils",
332
332
  "params": [],
333
333
  "properties": [],
334
334
  "genericTypes": []
335
335
  },
336
336
  {
337
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__ContextUtils",
337
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__ContextUtils",
338
338
  "params": [],
339
339
  "properties": [],
340
340
  "genericTypes": []
341
341
  },
342
342
  {
343
- "name": "_opcat_labs_scrypt_ts_opcat_1_0_4__rs__StdUtils",
343
+ "name": "_opcat_labs_scrypt_ts_opcat_1_0_5__rs__StdUtils",
344
344
  "params": [],
345
345
  "properties": [],
346
346
  "genericTypes": []
@@ -354,8 +354,8 @@
354
354
  }
355
355
  ],
356
356
  "stateProps": [],
357
- "stateType": "_opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardConstState",
357
+ "stateType": "_opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardConstState",
358
358
  "buildType": "release",
359
- "file": "..\\cat20GuardStateLib.scrypt",
359
+ "file": "../cat20GuardStateLib.scrypt",
360
360
  "hex": ""
361
361
  }
@@ -5,9 +5,9 @@ import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scryp
5
5
 
6
6
 
7
7
 
8
- library _opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardStateLib {
9
- static function formalCheckState(_opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardConstState _state) : bytes {
10
- _opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardStateLib.checkTokenScriptsUniq(_state.tokenScriptHashes);
8
+ library _opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardStateLib {
9
+ static function formalCheckState(_opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardConstState _state) : bytes {
10
+ _opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardStateLib.checkTokenScriptsUniq(_state.tokenScriptHashes);
11
11
  loop (4) : i {
12
12
  int scriptLen = len(_state.tokenScriptHashes[i]);
13
13
  require(scriptLen == 32);
@@ -29,10 +29,10 @@ library _opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardStateLib {
29
29
  require(tokenScripts[2] != tokenScripts[3]);
30
30
  return true;
31
31
  }
32
- static function serializeState(_opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardConstState __scrypt_ts_curState): bytes {
32
+ static function serializeState(_opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardConstState __scrypt_ts_curState): bytes {
33
33
  return num2bin(len(__scrypt_ts_curState.tokenScriptHashes[0]), 2) + __scrypt_ts_curState.tokenScriptHashes[0] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[1]), 2) + __scrypt_ts_curState.tokenScriptHashes[1] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[2]), 2) + __scrypt_ts_curState.tokenScriptHashes[2] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[3]), 2) + __scrypt_ts_curState.tokenScriptHashes[3] + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenAmounts[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[0])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[1])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[2])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[3])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[4])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[4]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[5])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[5]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[6])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[6]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[7])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[7]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[8])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[8]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[9])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[9]) + hash160(hash160(__scrypt_ts_curState.tokenScriptHashes[0]) + hash160(__scrypt_ts_curState.tokenScriptHashes[1]) + hash160(__scrypt_ts_curState.tokenScriptHashes[2]) + hash160(__scrypt_ts_curState.tokenScriptHashes[3]) + hash160(pack(__scrypt_ts_curState.tokenAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[3])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[3])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[0])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[1])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[2])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[3])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[4])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[5])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[6])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[7])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[8])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[9])));
34
34
  }
35
- static function stateHash(_opcat_labs_cat_sdk_1_0_3__rs__CAT20GuardConstState __scrypt_ts_curState): bytes {
35
+ static function stateHash(_opcat_labs_cat_sdk_1_0_4__rs__CAT20GuardConstState __scrypt_ts_curState): bytes {
36
36
  return sha256(num2bin(len(__scrypt_ts_curState.tokenScriptHashes[0]), 2) + __scrypt_ts_curState.tokenScriptHashes[0] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[1]), 2) + __scrypt_ts_curState.tokenScriptHashes[1] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[2]), 2) + __scrypt_ts_curState.tokenScriptHashes[2] + num2bin(len(__scrypt_ts_curState.tokenScriptHashes[3]), 2) + __scrypt_ts_curState.tokenScriptHashes[3] + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenAmounts[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[0])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[1])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[2])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenBurnAmounts[3])), 2) + pack(__scrypt_ts_curState.tokenBurnAmounts[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[0])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[0]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[1])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[1]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[2])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[2]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[3])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[3]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[4])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[4]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[5])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[5]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[6])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[6]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[7])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[7]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[8])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[8]) + num2bin(len(pack(__scrypt_ts_curState.tokenScriptIndexes[9])), 2) + pack(__scrypt_ts_curState.tokenScriptIndexes[9]) + hash160(hash160(__scrypt_ts_curState.tokenScriptHashes[0]) + hash160(__scrypt_ts_curState.tokenScriptHashes[1]) + hash160(__scrypt_ts_curState.tokenScriptHashes[2]) + hash160(__scrypt_ts_curState.tokenScriptHashes[3]) + hash160(pack(__scrypt_ts_curState.tokenAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenAmounts[3])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[0])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[1])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[2])) + hash160(pack(__scrypt_ts_curState.tokenBurnAmounts[3])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[0])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[1])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[2])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[3])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[4])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[5])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[6])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[7])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[8])) + hash160(pack(__scrypt_ts_curState.tokenScriptIndexes[9]))));
37
37
  }
38
38
  }