@@ -252,23 +252,148 @@ parser_error_t _matchScriptType(uint8_t scriptHash[32], script_type_e *scriptTyp
252
252
}
253
253
254
254
if (
255
- (MEMCMP (CONTRACT_HASH_TOKEN_TRANSFER_EMULATOR , buffer , 64 ) == 0 ) ||
256
- (MEMCMP (CONTRACT_HASH_TOKEN_TRANSFER_TESTNET , buffer , 64 ) == 0 ) ||
257
- (MEMCMP (CONTRACT_HASH_TOKEN_TRANSFER_MAINNET , buffer , 64 ) == 0 )) {
255
+ (MEMCMP (TEMPLATE_HASH_TOKEN_TRANSFER_EMULATOR , buffer , 64 ) == 0 ) ||
256
+ (MEMCMP (TEMPLATE_HASH_TOKEN_TRANSFER_TESTNET , buffer , 64 ) == 0 ) ||
257
+ (MEMCMP (TEMPLATE_HASH_TOKEN_TRANSFER_MAINNET , buffer , 64 ) == 0 )) {
258
258
* scriptType = script_token_transfer ;
259
259
return parser_ok ;
260
260
}
261
261
262
- if (MEMCMP (CONTRACT_HASH_CREATE_ACCOUNT , buffer , 64 ) == 0 ) {
262
+ if (MEMCMP (TEMPLATE_HASH_CREATE_ACCOUNT , buffer , 64 ) == 0 ) {
263
263
* scriptType = script_create_account ;
264
264
return parser_ok ;
265
265
}
266
266
267
- if (MEMCMP (CONTRACT_HASH_ADD_NEW_KEY , buffer , 64 ) == 0 ) {
267
+ if (MEMCMP (TEMPLATE_HASH_ADD_NEW_KEY , buffer , 64 ) == 0 ) {
268
268
* scriptType = script_add_new_key ;
269
269
return parser_ok ;
270
270
}
271
271
272
+ if (
273
+ (MEMCMP (TEMPLATE_HASH_TH01_WITHDRAW_UNLOCKED_TOKENS_TESTNET , buffer , 64 ) == 0 ) ||
274
+ (MEMCMP (TEMPLATE_HASH_TH01_WITHDRAW_UNLOCKED_TOKENS_MAINNET , buffer , 64 ) == 0 )) {
275
+ * scriptType = script_th01_withdraw_unlocked_tokens ;
276
+ return parser_ok ;
277
+ }
278
+
279
+ if (
280
+ (MEMCMP (TEMPLATE_HASH_TH02_DEPOSIT_UNLOCKED_TOKENS_TESTNET , buffer , 64 ) == 0 ) ||
281
+ (MEMCMP (TEMPLATE_HASH_TH02_DEPOSIT_UNLOCKED_TOKENS_MAINNET , buffer , 64 ) == 0 )) {
282
+ * scriptType = script_th02_deposit_unlocked_tokens ;
283
+ return parser_ok ;
284
+ }
285
+
286
+ if (
287
+ (MEMCMP (TEMPLATE_HASH_TH06_REGISTER_NODE_TESTNET , buffer , 64 ) == 0 ) ||
288
+ (MEMCMP (TEMPLATE_HASH_TH06_REGISTER_NODE_MAINNET , buffer , 64 ) == 0 )) {
289
+ * scriptType = script_th06_register_node ;
290
+ return parser_ok ;
291
+ }
292
+
293
+ if (
294
+ (MEMCMP (TEMPLATE_HASH_TH08_STAKE_NEW_TOKENS_TESTNET , buffer , 64 ) == 0 ) ||
295
+ (MEMCMP (TEMPLATE_HASH_TH08_STAKE_NEW_TOKENS_MAINNET , buffer , 64 ) == 0 )) {
296
+ * scriptType = script_th08_stake_new_tokens ;
297
+ return parser_ok ;
298
+ }
299
+ if (
300
+ (MEMCMP (TEMPLATE_HASH_TH09_RESTAKE_UNSTAKED_TOKENS_TESTNET , buffer , 64 ) == 0 ) ||
301
+ (MEMCMP (TEMPLATE_HASH_TH09_RESTAKE_UNSTAKED_TOKENS_MAINNET , buffer , 64 ) == 0 )) {
302
+ * scriptType = script_th09_restake_unstaked_tokens ;
303
+ return parser_ok ;
304
+ }
305
+
306
+ if (
307
+ (MEMCMP (TEMPLATE_HASH_TH10_RESTAKE_REWARDED_TOKENS_TESTNET , buffer , 64 ) == 0 ) ||
308
+ (MEMCMP (TEMPLATE_HASH_TH10_RESTAKE_REWARDED_TOKENS_MAINNET , buffer , 64 ) == 0 )) {
309
+ * scriptType = script_th10_restake_rewarded_tokens ;
310
+ return parser_ok ;
311
+ }
312
+
313
+ if (
314
+ (MEMCMP (TEMPLATE_HASH_TH11_UNSTAKE_TOKENS_TESTNET , buffer , 64 ) == 0 ) ||
315
+ (MEMCMP (TEMPLATE_HASH_TH11_UNSTAKE_TOKENS_MAINNET , buffer , 64 ) == 0 )) {
316
+ * scriptType = script_th11_unstake_tokens ;
317
+ return parser_ok ;
318
+ }
319
+
320
+ if (
321
+ (MEMCMP (TEMPLATE_HASH_TH12_UNSTAKE_ALL_TOKENS_TESTNET , buffer , 64 ) == 0 ) ||
322
+ (MEMCMP (TEMPLATE_HASH_TH12_UNSTAKE_ALL_TOKENS_MAINNET , buffer , 64 ) == 0 )) {
323
+ * scriptType = script_th12_unstake_all_tokens ;
324
+ return parser_ok ;
325
+ }
326
+
327
+ if (
328
+ (MEMCMP (TEMPLATE_HASH_TH13_WITHDRAW_UNSTAKED_TOKENS_TESTNET , buffer , 64 ) == 0 ) ||
329
+ (MEMCMP (TEMPLATE_HASH_TH13_WITHDRAW_UNSTAKED_TOKENS_MAINNET , buffer , 64 ) == 0 )) {
330
+ * scriptType = script_th13_withdraw_unstaked_tokens ;
331
+ return parser_ok ;
332
+ }
333
+
334
+ if (
335
+ (MEMCMP (TEMPLATE_HASH_TH14_WITHDRAW_REWARDED_TOKENS_TESTNET , buffer , 64 ) == 0 ) ||
336
+ (MEMCMP (TEMPLATE_HASH_TH14_WITHDRAW_REWARDED_TOKENS_MAINNET , buffer , 64 ) == 0 )) {
337
+ * scriptType = script_th14_withdraw_rewarded_tokens ;
338
+ return parser_ok ;
339
+ }
340
+
341
+ if (
342
+ (MEMCMP (TEMPLATE_HASH_TH16_REGISTER_OPERATOR_NODE_TESTNET , buffer , 64 ) == 0 ) ||
343
+ (MEMCMP (TEMPLATE_HASH_TH16_REGISTER_OPERATOR_NODE_MAINNET , buffer , 64 ) == 0 )) {
344
+ * scriptType = script_th16_register_operator_node ;
345
+ return parser_ok ;
346
+ }
347
+
348
+ if (
349
+ (MEMCMP (TEMPLATE_HASH_TH17_REGISTER_DELEGATOR_TESTNET , buffer , 64 ) == 0 ) ||
350
+ (MEMCMP (TEMPLATE_HASH_TH17_REGISTER_DELEGATOR_MAINNET , buffer , 64 ) == 0 )) {
351
+ * scriptType = script_th17_register_delegator ;
352
+ return parser_ok ;
353
+ }
354
+
355
+ if (
356
+ (MEMCMP (TEMPLATE_HASH_TH19_DELEGATE_NEW_TOKENS_TESTNET , buffer , 64 ) == 0 ) ||
357
+ (MEMCMP (TEMPLATE_HASH_TH19_DELEGATE_NEW_TOKENS_MAINNET , buffer , 64 ) == 0 )) {
358
+ * scriptType = script_th19_delegate_new_tokens ;
359
+ return parser_ok ;
360
+ }
361
+
362
+ if (
363
+ (MEMCMP (TEMPLATE_HASH_TH20_RESTAKE_UNSTAKED_DELEGATED_TOKENS_TESTNET , buffer , 64 ) == 0 ) ||
364
+ (MEMCMP (TEMPLATE_HASH_TH20_RESTAKE_UNSTAKED_DELEGATED_TOKENS_MAINNET , buffer , 64 ) == 0 )) {
365
+ * scriptType = script_th20_restake_unstaked_delegated_tokens ;
366
+ return parser_ok ;
367
+ }
368
+
369
+ if (
370
+ (MEMCMP (TEMPLATE_HASH_TH21_RESTAKE_REWARDED_DELEGATED_TOKENS_TESTNET , buffer , 64 ) == 0 ) ||
371
+ (MEMCMP (TEMPLATE_HASH_TH21_RESTAKE_REWARDED_DELEGATED_TOKENS_MAINNET , buffer , 64 ) == 0 )) {
372
+ * scriptType = script_th21_restake_rewarded_delegated_tokens ;
373
+ return parser_ok ;
374
+ }
375
+
376
+ if (
377
+ (MEMCMP (TEMPLATE_HASH_TH22_UNSTAKE_DELEGATED_TOKENS_TESTNET , buffer , 64 ) == 0 ) ||
378
+ (MEMCMP (TEMPLATE_HASH_TH22_UNSTAKE_DELEGATED_TOKENS_MAINNET , buffer , 64 ) == 0 )) {
379
+ * scriptType = script_th22_unstake_delegated_tokens ;
380
+ return parser_ok ;
381
+ }
382
+
383
+ if (
384
+ (MEMCMP (TEMPLATE_HASH_TH23_WITHDRAW_UNSTAKED_DELEGATED_TOKENS_TESTNET , buffer , 64 ) == 0 ) ||
385
+ (MEMCMP (TEMPLATE_HASH_TH23_WITHDRAW_UNSTAKED_DELEGATED_TOKENS_MAINNET , buffer , 64 ) == 0 )) {
386
+ * scriptType = script_th23_withdraw_unstaked_delegated_tokens ;
387
+ return parser_ok ;
388
+ }
389
+
390
+ if (
391
+ (MEMCMP (TEMPLATE_HASH_TH24_WITHDRAW_REWARDED_DELEGATED_TOKENS_TESTNET , buffer , 64 ) == 0 ) ||
392
+ (MEMCMP (TEMPLATE_HASH_TH24_WITHDRAW_REWARDED_DELEGATED_TOKENS_MAINNET , buffer , 64 ) == 0 )) {
393
+ * scriptType = script_th24_withdraw_rewarded_delegated_tokens ;
394
+ return parser_ok ;
395
+ }
396
+
272
397
return parser_unexpected_script ;
273
398
}
274
399
@@ -517,6 +642,42 @@ uint8_t _getNumItems(const parser_context_t *c, const parser_tx_t *v) {
517
642
return 8 + _countArgumentItems (& v -> arguments , 0 ) + v -> authorizers .authorizer_count ;
518
643
case script_add_new_key :
519
644
return 9 + v -> authorizers .authorizer_count ;
645
+ case script_th01_withdraw_unlocked_tokens :
646
+ return 9 + v -> authorizers .authorizer_count ;
647
+ case script_th02_deposit_unlocked_tokens :
648
+ return 9 + v -> authorizers .authorizer_count ;
649
+ case script_th06_register_node :
650
+ return 14 + v -> authorizers .authorizer_count ;
651
+ case script_th08_stake_new_tokens :
652
+ return 9 + v -> authorizers .authorizer_count ;
653
+ case script_th09_restake_unstaked_tokens :
654
+ return 9 + v -> authorizers .authorizer_count ;
655
+ case script_th10_restake_rewarded_tokens :
656
+ return 9 + v -> authorizers .authorizer_count ;
657
+ case script_th11_unstake_tokens :
658
+ return 9 + v -> authorizers .authorizer_count ;
659
+ case script_th12_unstake_all_tokens :
660
+ return 8 + v -> authorizers .authorizer_count ;
661
+ case script_th13_withdraw_unstaked_tokens :
662
+ return 9 + v -> authorizers .authorizer_count ;
663
+ case script_th14_withdraw_rewarded_tokens :
664
+ return 9 + v -> authorizers .authorizer_count ;
665
+ case script_th16_register_operator_node :
666
+ return 11 + v -> authorizers .authorizer_count ;
667
+ case script_th17_register_delegator :
668
+ return 10 + v -> authorizers .authorizer_count ;
669
+ case script_th19_delegate_new_tokens :
670
+ return 9 + v -> authorizers .authorizer_count ;
671
+ case script_th20_restake_unstaked_delegated_tokens :
672
+ return 9 + v -> authorizers .authorizer_count ;
673
+ case script_th21_restake_rewarded_delegated_tokens :
674
+ return 9 + v -> authorizers .authorizer_count ;
675
+ case script_th22_unstake_delegated_tokens :
676
+ return 9 + v -> authorizers .authorizer_count ;
677
+ case script_th23_withdraw_unstaked_delegated_tokens :
678
+ return 9 + v -> authorizers .authorizer_count ;
679
+ case script_th24_withdraw_rewarded_delegated_tokens :
680
+ return 9 + v -> authorizers .authorizer_count ;
520
681
case script_unknown :
521
682
default :
522
683
return 0 ;
0 commit comments