@hashgraphonline/standards-sdk 0.0.107 → 0.0.108-canary.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.
Files changed (86) hide show
  1. package/dist/es/standards-sdk.es15.js +1 -1
  2. package/dist/es/standards-sdk.es18.js +2 -2
  3. package/dist/es/standards-sdk.es19.js +411 -52
  4. package/dist/es/standards-sdk.es19.js.map +1 -1
  5. package/dist/es/standards-sdk.es21.js +2 -2
  6. package/dist/es/standards-sdk.es24.js +10 -10
  7. package/dist/es/standards-sdk.es26.js +1 -1
  8. package/dist/es/standards-sdk.es31.js +5 -36
  9. package/dist/es/standards-sdk.es31.js.map +1 -1
  10. package/dist/es/standards-sdk.es32.js +36 -48
  11. package/dist/es/standards-sdk.es32.js.map +1 -1
  12. package/dist/es/standards-sdk.es33.js +48 -5
  13. package/dist/es/standards-sdk.es33.js.map +1 -1
  14. package/dist/es/standards-sdk.es34.js +1 -1
  15. package/dist/es/standards-sdk.es36.js +22 -100
  16. package/dist/es/standards-sdk.es36.js.map +1 -1
  17. package/dist/es/standards-sdk.es37.js +174 -2
  18. package/dist/es/standards-sdk.es37.js.map +1 -1
  19. package/dist/es/standards-sdk.es38.js +90 -15
  20. package/dist/es/standards-sdk.es38.js.map +1 -1
  21. package/dist/es/standards-sdk.es39.js +190 -404
  22. package/dist/es/standards-sdk.es39.js.map +1 -1
  23. package/dist/es/standards-sdk.es40.js +437 -2281
  24. package/dist/es/standards-sdk.es40.js.map +1 -1
  25. package/dist/es/standards-sdk.es41.js +20 -159
  26. package/dist/es/standards-sdk.es41.js.map +1 -1
  27. package/dist/es/standards-sdk.es42.js +137 -21
  28. package/dist/es/standards-sdk.es42.js.map +1 -1
  29. package/dist/es/standards-sdk.es43.js +13 -169
  30. package/dist/es/standards-sdk.es43.js.map +1 -1
  31. package/dist/es/standards-sdk.es44.js +21 -83
  32. package/dist/es/standards-sdk.es44.js.map +1 -1
  33. package/dist/es/standards-sdk.es45.js +25 -191
  34. package/dist/es/standards-sdk.es45.js.map +1 -1
  35. package/dist/es/standards-sdk.es46.js +15 -432
  36. package/dist/es/standards-sdk.es46.js.map +1 -1
  37. package/dist/es/standards-sdk.es47.js +34 -15
  38. package/dist/es/standards-sdk.es47.js.map +1 -1
  39. package/dist/es/standards-sdk.es48.js +10 -131
  40. package/dist/es/standards-sdk.es48.js.map +1 -1
  41. package/dist/es/standards-sdk.es49.js +53 -10
  42. package/dist/es/standards-sdk.es49.js.map +1 -1
  43. package/dist/es/standards-sdk.es50.js +1281 -21
  44. package/dist/es/standards-sdk.es50.js.map +1 -1
  45. package/dist/es/standards-sdk.es51.js +144 -25
  46. package/dist/es/standards-sdk.es51.js.map +1 -1
  47. package/dist/es/standards-sdk.es52.js +80 -17
  48. package/dist/es/standards-sdk.es52.js.map +1 -1
  49. package/dist/es/standards-sdk.es53.js +27 -39
  50. package/dist/es/standards-sdk.es53.js.map +1 -1
  51. package/dist/es/standards-sdk.es54.js +5 -17
  52. package/dist/es/standards-sdk.es54.js.map +1 -1
  53. package/dist/es/standards-sdk.es55.js +149 -51
  54. package/dist/es/standards-sdk.es55.js.map +1 -1
  55. package/dist/es/standards-sdk.es56.js +629 -1125
  56. package/dist/es/standards-sdk.es56.js.map +1 -1
  57. package/dist/es/standards-sdk.es57.js +127 -132
  58. package/dist/es/standards-sdk.es57.js.map +1 -1
  59. package/dist/es/standards-sdk.es58.js +96 -79
  60. package/dist/es/standards-sdk.es58.js.map +1 -1
  61. package/dist/es/standards-sdk.es59.js +2 -32
  62. package/dist/es/standards-sdk.es59.js.map +1 -1
  63. package/dist/es/standards-sdk.es60.js +15 -5
  64. package/dist/es/standards-sdk.es60.js.map +1 -1
  65. package/dist/es/standards-sdk.es61.js +401 -151
  66. package/dist/es/standards-sdk.es61.js.map +1 -1
  67. package/dist/es/standards-sdk.es62.js +24 -790
  68. package/dist/es/standards-sdk.es62.js.map +1 -1
  69. package/dist/es/standards-sdk.es63.js +23 -140
  70. package/dist/es/standards-sdk.es63.js.map +1 -1
  71. package/dist/es/standards-sdk.es64.js +34 -23
  72. package/dist/es/standards-sdk.es64.js.map +1 -1
  73. package/dist/es/standards-sdk.es65.js +19 -24
  74. package/dist/es/standards-sdk.es65.js.map +1 -1
  75. package/dist/es/standards-sdk.es66.js +2282 -38
  76. package/dist/es/standards-sdk.es66.js.map +1 -1
  77. package/dist/es/standards-sdk.es67.js +159 -16
  78. package/dist/es/standards-sdk.es67.js.map +1 -1
  79. package/dist/es/standards-sdk.es79.js +1 -1
  80. package/dist/es/utils/transaction-parser.d.ts +78 -5
  81. package/dist/es/utils/transaction-parser.d.ts.map +1 -1
  82. package/dist/umd/standards-sdk.umd.js +1 -1
  83. package/dist/umd/standards-sdk.umd.js.map +1 -1
  84. package/dist/umd/utils/transaction-parser.d.ts +78 -5
  85. package/dist/umd/utils/transaction-parser.d.ts.map +1 -1
  86. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- import pino from "./standards-sdk.es33.js";
1
+ import pino from "./standards-sdk.es31.js";
2
2
  const _Logger = class _Logger {
3
3
  constructor(options = {}) {
4
4
  const level = options.level || "info";
@@ -1,6 +1,6 @@
1
- import "./standards-sdk.es31.js";
1
+ import "./standards-sdk.es32.js";
2
2
  import { Logger } from "./standards-sdk.es15.js";
3
- import axios from "./standards-sdk.es32.js";
3
+ import axios from "./standards-sdk.es33.js";
4
4
  class HRLResolver {
5
5
  constructor(logLevel = "info") {
6
6
  this.defaultEndpoint = "https://kiloscribe.com/api/inscription-cdn";
@@ -50,6 +50,33 @@ class TransactionParser {
50
50
  if (txBody.consensusSubmitMessage) {
51
51
  this.parseConsensusSubmitMessage(txBody.consensusSubmitMessage, result);
52
52
  }
53
+ if (txBody.fileCreate) {
54
+ this.parseFileCreate(txBody.fileCreate, result);
55
+ }
56
+ if (txBody.fileAppend) {
57
+ this.parseFileAppend(txBody.fileAppend, result);
58
+ }
59
+ if (txBody.fileUpdate) {
60
+ this.parseFileUpdate(txBody.fileUpdate, result);
61
+ }
62
+ if (txBody.fileDelete) {
63
+ this.parseFileDelete(txBody.fileDelete, result);
64
+ }
65
+ if (txBody.consensusUpdateTopic) {
66
+ this.parseConsensusUpdateTopic(txBody.consensusUpdateTopic, result);
67
+ }
68
+ if (txBody.consensusDeleteTopic) {
69
+ this.parseConsensusDeleteTopic(txBody.consensusDeleteTopic, result);
70
+ }
71
+ if (txBody.tokenUpdate) {
72
+ this.parseTokenUpdate(txBody.tokenUpdate, result);
73
+ }
74
+ if (txBody.tokenFeeScheduleUpdate) {
75
+ this.parseTokenFeeScheduleUpdate(txBody.tokenFeeScheduleUpdate, result);
76
+ }
77
+ if (txBody.utilPrng) {
78
+ this.parseUtilPrng(txBody.utilPrng, result);
79
+ }
53
80
  return result;
54
81
  } catch (error) {
55
82
  throw new Error(`Failed to parse transaction body: ${error}`);
@@ -143,12 +170,8 @@ class TransactionParser {
143
170
  transactionType = "tokenUnpause";
144
171
  } else if (txBody.tokenWipe) {
145
172
  transactionType = "tokenWipe";
146
- } else if (txBody.scheduleDelete) {
147
- transactionType = "scheduleDelete";
148
- } else if (txBody.systemDelete) {
149
- transactionType = "systemDelete";
150
- } else if (txBody.systemUndelete) {
151
- transactionType = "systemUndelete";
173
+ } else if (txBody.utilPrng) {
174
+ transactionType = "utilPrng";
152
175
  }
153
176
  return transactionType;
154
177
  }
@@ -195,10 +218,8 @@ class TransactionParser {
195
218
  tokenUnpause: "Unpause Token",
196
219
  tokenWipe: "Wipe Token",
197
220
  scheduleCreate: "Create Schedule",
198
- scheduleDelete: "Delete Schedule",
199
221
  scheduleSign: "Sign Schedule",
200
- systemDelete: "System Delete",
201
- systemUndelete: "System Undelete",
222
+ utilPrng: "Generate Random Number",
202
223
  unknown: "Unknown Transaction"
203
224
  };
204
225
  let result;
@@ -353,63 +374,71 @@ class TransactionParser {
353
374
  * @param tokenCreation - The token creation transaction body
354
375
  * @param result - The parsed transaction
355
376
  */
356
- static parseTokenCreation(tokenCreation, result) {
357
- if (tokenCreation) {
377
+ static parseTokenCreation(tokenCreationBody, result) {
378
+ if (tokenCreationBody) {
358
379
  const creationData = {};
359
- if (tokenCreation.name) creationData.tokenName = tokenCreation.name;
360
- if (tokenCreation.symbol) creationData.tokenSymbol = tokenCreation.symbol;
361
- if (tokenCreation.treasury) {
362
- const t = tokenCreation.treasury;
380
+ if (tokenCreationBody.name) {
381
+ creationData.tokenName = tokenCreationBody.name;
382
+ }
383
+ if (tokenCreationBody.symbol) {
384
+ creationData.tokenSymbol = tokenCreationBody.symbol;
385
+ }
386
+ if (tokenCreationBody.treasury) {
387
+ const t = tokenCreationBody.treasury;
363
388
  creationData.treasuryAccountId = new AccountId(
364
389
  t.shardNum ? Long.fromValue(t.shardNum).toNumber() : 0,
365
390
  t.realmNum ? Long.fromValue(t.realmNum).toNumber() : 0,
366
391
  t.accountNum ? Long.fromValue(t.accountNum).toNumber() : 0
367
392
  ).toString();
368
393
  }
369
- if (tokenCreation.initialSupply) {
394
+ if (tokenCreationBody.initialSupply) {
370
395
  creationData.initialSupply = Long.fromValue(
371
- tokenCreation.initialSupply
396
+ tokenCreationBody.initialSupply
372
397
  ).toString();
373
398
  }
374
- if (tokenCreation.decimals !== void 0 && tokenCreation.decimals !== null) {
399
+ if (tokenCreationBody.decimals !== void 0 && tokenCreationBody.decimals !== null) {
375
400
  creationData.decimals = Long.fromValue(
376
- tokenCreation.decimals
401
+ tokenCreationBody.decimals
377
402
  ).toNumber();
378
403
  }
379
- if (tokenCreation.maxSupply) {
404
+ if (tokenCreationBody.maxSupply) {
380
405
  creationData.maxSupply = Long.fromValue(
381
- tokenCreation.maxSupply
406
+ tokenCreationBody.maxSupply
382
407
  ).toString();
383
408
  }
384
- if (tokenCreation.memo) creationData.memo = tokenCreation.memo;
385
- if (tokenCreation.tokenType !== null && tokenCreation.tokenType !== void 0) {
386
- creationData.tokenType = proto.TokenType[tokenCreation.tokenType];
387
- }
388
- if (tokenCreation.supplyType !== null && tokenCreation.supplyType !== void 0) {
389
- creationData.supplyType = proto.TokenSupplyType[tokenCreation.supplyType];
390
- }
391
- creationData.adminKey = tokenCreation.adminKey ? "Present" : "Not Present";
392
- creationData.kycKey = tokenCreation.kycKey ? "Present" : "Not Present";
393
- creationData.freezeKey = tokenCreation.freezeKey ? "Present" : "Not Present";
394
- creationData.wipeKey = tokenCreation.wipeKey ? "Present" : "Not Present";
395
- creationData.supplyKey = tokenCreation.supplyKey ? "Present" : "Not Present";
396
- creationData.feeScheduleKey = tokenCreation.feeScheduleKey ? "Present" : "Not Present";
397
- creationData.pauseKey = tokenCreation.pauseKey ? "Present" : "Not Present";
398
- if (tokenCreation.autoRenewAccount) {
399
- const ara = tokenCreation.autoRenewAccount;
409
+ if (tokenCreationBody.memo) {
410
+ creationData.memo = tokenCreationBody.memo;
411
+ }
412
+ if (tokenCreationBody.tokenType !== null && tokenCreationBody.tokenType !== void 0) {
413
+ creationData.tokenType = proto.TokenType[tokenCreationBody.tokenType];
414
+ }
415
+ if (tokenCreationBody.supplyType !== null && tokenCreationBody.supplyType !== void 0) {
416
+ creationData.supplyType = proto.TokenSupplyType[tokenCreationBody.supplyType];
417
+ }
418
+ creationData.adminKey = this.parseKey(tokenCreationBody.adminKey);
419
+ creationData.kycKey = this.parseKey(tokenCreationBody.kycKey);
420
+ creationData.freezeKey = this.parseKey(tokenCreationBody.freezeKey);
421
+ creationData.wipeKey = this.parseKey(tokenCreationBody.wipeKey);
422
+ creationData.supplyKey = this.parseKey(tokenCreationBody.supplyKey);
423
+ creationData.feeScheduleKey = this.parseKey(
424
+ tokenCreationBody.feeScheduleKey
425
+ );
426
+ creationData.pauseKey = this.parseKey(tokenCreationBody.pauseKey);
427
+ if (tokenCreationBody.autoRenewAccount) {
428
+ const ara = tokenCreationBody.autoRenewAccount;
400
429
  creationData.autoRenewAccount = new AccountId(
401
430
  ara.shardNum ? Long.fromValue(ara.shardNum).toNumber() : 0,
402
431
  ara.realmNum ? Long.fromValue(ara.realmNum).toNumber() : 0,
403
432
  ara.accountNum ? Long.fromValue(ara.accountNum).toNumber() : 0
404
433
  ).toString();
405
434
  }
406
- if (tokenCreation.autoRenewPeriod && tokenCreation.autoRenewPeriod.seconds) {
435
+ if (tokenCreationBody.autoRenewPeriod && tokenCreationBody.autoRenewPeriod.seconds) {
407
436
  creationData.autoRenewPeriod = Long.fromValue(
408
- tokenCreation.autoRenewPeriod.seconds
437
+ tokenCreationBody.autoRenewPeriod.seconds
409
438
  ).toString();
410
439
  }
411
- if (tokenCreation.customFees && tokenCreation.customFees.length > 0) {
412
- creationData.customFees = tokenCreation.customFees.map((fee) => {
440
+ if (tokenCreationBody.customFees && tokenCreationBody.customFees.length > 0) {
441
+ creationData.customFees = tokenCreationBody.customFees.map((fee) => {
413
442
  const feeCollectorAccountId = fee.feeCollectorAccountId ? new AccountId(
414
443
  fee.feeCollectorAccountId.shardNum ?? 0,
415
444
  fee.feeCollectorAccountId.realmNum ?? 0,
@@ -498,22 +527,23 @@ class TransactionParser {
498
527
  static parseConsensusCreateTopic(createTopicBody, result) {
499
528
  if (createTopicBody) {
500
529
  const topicData = {};
501
- if (createTopicBody.memo) topicData.memo = createTopicBody.memo;
502
- topicData.adminKey = createTopicBody.adminKey ? "Present" : "Not Present";
503
- topicData.submitKey = createTopicBody.submitKey ? "Present" : "Not Present";
504
- if (createTopicBody.autoRenewAccount) {
505
- const ara = createTopicBody.autoRenewAccount;
506
- topicData.autoRenewAccountId = new AccountId(
507
- ara.shardNum ? Long.fromValue(ara.shardNum).toNumber() : 0,
508
- ara.realmNum ? Long.fromValue(ara.realmNum).toNumber() : 0,
509
- ara.accountNum ? Long.fromValue(ara.accountNum).toNumber() : 0
510
- ).toString();
530
+ if (createTopicBody.memo) {
531
+ topicData.memo = createTopicBody.memo;
511
532
  }
512
- if (createTopicBody.autoRenewPeriod && createTopicBody.autoRenewPeriod.seconds) {
533
+ topicData.adminKey = this.parseKey(createTopicBody.adminKey);
534
+ topicData.submitKey = this.parseKey(createTopicBody.submitKey);
535
+ if (createTopicBody.autoRenewPeriod) {
513
536
  topicData.autoRenewPeriod = Long.fromValue(
514
537
  createTopicBody.autoRenewPeriod.seconds
515
538
  ).toString();
516
539
  }
540
+ if (createTopicBody.autoRenewAccount) {
541
+ topicData.autoRenewAccountId = new AccountId(
542
+ createTopicBody.autoRenewAccount.shardNum ?? 0,
543
+ createTopicBody.autoRenewAccount.realmNum ?? 0,
544
+ createTopicBody.autoRenewAccount.accountNum ?? 0
545
+ ).toString();
546
+ }
517
547
  result.consensusCreateTopic = topicData;
518
548
  }
519
549
  }
@@ -558,6 +588,309 @@ class TransactionParser {
558
588
  result.consensusSubmitMessage = messageData;
559
589
  }
560
590
  }
591
+ static parseFileCreate(fileCreateBody, result) {
592
+ if (fileCreateBody) {
593
+ const data = {};
594
+ if (fileCreateBody.expirationTime) {
595
+ data.expirationTime = `${Long.fromValue(
596
+ fileCreateBody.expirationTime.seconds
597
+ ).toString()}.${fileCreateBody.expirationTime.nanos}`;
598
+ }
599
+ if (fileCreateBody.keys) {
600
+ data.keys = this.parseKey({ keyList: fileCreateBody.keys });
601
+ }
602
+ if (fileCreateBody.contents) {
603
+ data.contents = Buffer$1.from(fileCreateBody.contents).toString("base64");
604
+ }
605
+ if (fileCreateBody.memo) {
606
+ data.memo = fileCreateBody.memo;
607
+ }
608
+ result.fileCreate = data;
609
+ }
610
+ }
611
+ static parseFileAppend(fileAppendBody, result) {
612
+ if (fileAppendBody) {
613
+ const data = {};
614
+ if (fileAppendBody.fileID) {
615
+ data.fileId = `${fileAppendBody.fileID.shardNum}.${fileAppendBody.fileID.realmNum}.${fileAppendBody.fileID.fileNum}`;
616
+ }
617
+ if (fileAppendBody.contents) {
618
+ data.contents = Buffer$1.from(fileAppendBody.contents).toString("base64");
619
+ }
620
+ result.fileAppend = data;
621
+ }
622
+ }
623
+ static parseFileUpdate(fileUpdateBody, result) {
624
+ if (fileUpdateBody) {
625
+ const data = {};
626
+ if (fileUpdateBody.fileID) {
627
+ data.fileId = `${fileUpdateBody.fileID.shardNum}.${fileUpdateBody.fileID.realmNum}.${fileUpdateBody.fileID.fileNum}`;
628
+ }
629
+ if (fileUpdateBody.expirationTime) {
630
+ data.expirationTime = `${Long.fromValue(
631
+ fileUpdateBody.expirationTime.seconds
632
+ ).toString()}.${fileUpdateBody.expirationTime.nanos}`;
633
+ }
634
+ if (fileUpdateBody.keys) {
635
+ data.keys = this.parseKey({ keyList: fileUpdateBody.keys });
636
+ }
637
+ if (fileUpdateBody.contents) {
638
+ data.contents = Buffer$1.from(fileUpdateBody.contents).toString("base64");
639
+ }
640
+ if (fileUpdateBody.memo && fileUpdateBody.memo.value !== void 0) {
641
+ data.memo = fileUpdateBody.memo.value;
642
+ }
643
+ result.fileUpdate = data;
644
+ }
645
+ }
646
+ static parseFileDelete(fileDeleteBody, result) {
647
+ if (fileDeleteBody) {
648
+ const data = {};
649
+ if (fileDeleteBody.fileID) {
650
+ data.fileId = `${fileDeleteBody.fileID.shardNum}.${fileDeleteBody.fileID.realmNum}.${fileDeleteBody.fileID.fileNum}`;
651
+ }
652
+ result.fileDelete = data;
653
+ }
654
+ }
655
+ static parseConsensusUpdateTopic(body, result) {
656
+ if (body) {
657
+ const data = {};
658
+ if (body.topicID) {
659
+ data.topicId = `${body.topicID.shardNum}.${body.topicID.realmNum}.${body.topicID.topicNum}`;
660
+ }
661
+ if (body.memo?.value !== void 0) {
662
+ data.memo = body.memo.value;
663
+ }
664
+ if (body.adminKey === null) {
665
+ data.clearAdminKey = true;
666
+ data.adminKey = void 0;
667
+ } else if (body.adminKey) {
668
+ data.adminKey = this.parseKey(body.adminKey);
669
+ } else {
670
+ data.adminKey = void 0;
671
+ }
672
+ if (body.submitKey === null) {
673
+ data.clearSubmitKey = true;
674
+ data.submitKey = void 0;
675
+ } else if (body.submitKey) {
676
+ data.submitKey = this.parseKey(body.submitKey);
677
+ } else {
678
+ data.submitKey = void 0;
679
+ }
680
+ if (body.autoRenewPeriod) {
681
+ data.autoRenewPeriod = Long.fromValue(
682
+ body.autoRenewPeriod.seconds
683
+ ).toString();
684
+ }
685
+ if (body.autoRenewAccount) {
686
+ data.autoRenewAccountId = new AccountId(
687
+ body.autoRenewAccount.shardNum ?? 0,
688
+ body.autoRenewAccount.realmNum ?? 0,
689
+ body.autoRenewAccount.accountNum ?? 0
690
+ ).toString();
691
+ }
692
+ result.consensusUpdateTopic = data;
693
+ }
694
+ }
695
+ static parseConsensusDeleteTopic(body, result) {
696
+ if (body) {
697
+ const data = {};
698
+ if (body.topicID) {
699
+ data.topicId = `${body.topicID.shardNum}.${body.topicID.realmNum}.${body.topicID.topicNum}`;
700
+ }
701
+ result.consensusDeleteTopic = data;
702
+ }
703
+ }
704
+ static parseTokenUpdate(body, result) {
705
+ if (body) {
706
+ const data = {};
707
+ if (body.token) {
708
+ data.tokenId = new TokenId(
709
+ body.token.shardNum ?? 0,
710
+ body.token.realmNum ?? 0,
711
+ body.token.tokenNum ?? 0
712
+ ).toString();
713
+ }
714
+ if (body.name) {
715
+ data.name = body.name;
716
+ }
717
+ if (body.symbol) {
718
+ data.symbol = body.symbol;
719
+ }
720
+ if (body.treasury) {
721
+ data.treasuryAccountId = new AccountId(
722
+ body.treasury.shardNum ?? 0,
723
+ body.treasury.realmNum ?? 0,
724
+ body.treasury.accountNum ?? 0
725
+ ).toString();
726
+ }
727
+ data.adminKey = this.parseKey(body.adminKey);
728
+ data.kycKey = this.parseKey(body.kycKey);
729
+ data.freezeKey = this.parseKey(body.freezeKey);
730
+ data.wipeKey = this.parseKey(body.wipeKey);
731
+ data.supplyKey = this.parseKey(body.supplyKey);
732
+ data.feeScheduleKey = this.parseKey(body.feeScheduleKey);
733
+ data.pauseKey = this.parseKey(body.pauseKey);
734
+ if (body.autoRenewAccount) {
735
+ data.autoRenewAccountId = new AccountId(
736
+ body.autoRenewAccount.shardNum ?? 0,
737
+ body.autoRenewAccount.realmNum ?? 0,
738
+ body.autoRenewAccount.accountNum ?? 0
739
+ ).toString();
740
+ }
741
+ if (body.autoRenewPeriod) {
742
+ data.autoRenewPeriod = Long.fromValue(
743
+ body.autoRenewPeriod.seconds
744
+ ).toString();
745
+ }
746
+ if (body.memo?.value !== void 0) {
747
+ data.memo = body.memo.value;
748
+ }
749
+ if (body.expiry) {
750
+ data.expiry = `${Long.fromValue(body.expiry.seconds).toString()}.${body.expiry.nanos}`;
751
+ }
752
+ result.tokenUpdate = data;
753
+ }
754
+ }
755
+ static parseTokenFeeScheduleUpdate(body, result) {
756
+ if (body) {
757
+ const data = {};
758
+ if (body.tokenId)
759
+ data.tokenId = new TokenId(
760
+ body.tokenId.shardNum ?? 0,
761
+ body.tokenId.realmNum ?? 0,
762
+ body.tokenId.tokenNum ?? 0
763
+ ).toString();
764
+ if (body.customFees && body.customFees.length > 0) {
765
+ data.customFees = body.customFees.map((fee) => {
766
+ const feeCollectorAccountId = fee.feeCollectorAccountId ? new AccountId(
767
+ fee.feeCollectorAccountId.shardNum ?? 0,
768
+ fee.feeCollectorAccountId.realmNum ?? 0,
769
+ fee.feeCollectorAccountId.accountNum ?? 0
770
+ ).toString() : "Not Set";
771
+ const commonFeeData = {
772
+ feeCollectorAccountId,
773
+ allCollectorsAreExempt: fee.allCollectorsAreExempt || false
774
+ };
775
+ if (fee.fixedFee) {
776
+ return {
777
+ ...commonFeeData,
778
+ feeType: "FIXED_FEE",
779
+ fixedFee: {
780
+ amount: Long.fromValue(fee.fixedFee.amount || 0).toString(),
781
+ denominatingTokenId: fee.fixedFee.denominatingTokenId ? new TokenId(
782
+ fee.fixedFee.denominatingTokenId.shardNum ?? 0,
783
+ fee.fixedFee.denominatingTokenId.realmNum ?? 0,
784
+ fee.fixedFee.denominatingTokenId.tokenNum ?? 0
785
+ ).toString() : void 0
786
+ }
787
+ };
788
+ } else if (fee.fractionalFee) {
789
+ return {
790
+ ...commonFeeData,
791
+ feeType: "FRACTIONAL_FEE",
792
+ fractionalFee: {
793
+ numerator: Long.fromValue(
794
+ fee.fractionalFee.fractionalAmount?.numerator || 0
795
+ ).toString(),
796
+ denominator: Long.fromValue(
797
+ fee.fractionalFee.fractionalAmount?.denominator || 1
798
+ ).toString(),
799
+ minimumAmount: Long.fromValue(
800
+ fee.fractionalFee.minimumAmount || 0
801
+ ).toString(),
802
+ maximumAmount: Long.fromValue(
803
+ fee.fractionalFee.maximumAmount || 0
804
+ ).toString(),
805
+ netOfTransfers: fee.fractionalFee.netOfTransfers || false
806
+ }
807
+ };
808
+ } else if (fee.royaltyFee) {
809
+ let fallbackFeeData = void 0;
810
+ if (fee.royaltyFee.fallbackFee) {
811
+ fallbackFeeData = {
812
+ amount: Long.fromValue(
813
+ fee.royaltyFee.fallbackFee.amount || 0
814
+ ).toString(),
815
+ denominatingTokenId: fee.royaltyFee.fallbackFee.denominatingTokenId ? new TokenId(
816
+ fee.royaltyFee.fallbackFee.denominatingTokenId.shardNum ?? 0,
817
+ fee.royaltyFee.fallbackFee.denominatingTokenId.realmNum ?? 0,
818
+ fee.royaltyFee.fallbackFee.denominatingTokenId.tokenNum ?? 0
819
+ ).toString() : void 0
820
+ };
821
+ }
822
+ return {
823
+ ...commonFeeData,
824
+ feeType: "ROYALTY_FEE",
825
+ royaltyFee: {
826
+ numerator: Long.fromValue(
827
+ fee.royaltyFee.exchangeValueFraction?.numerator || 0
828
+ ).toString(),
829
+ denominator: Long.fromValue(
830
+ fee.royaltyFee.exchangeValueFraction?.denominator || 1
831
+ ).toString(),
832
+ fallbackFee: fallbackFeeData
833
+ }
834
+ };
835
+ }
836
+ return {
837
+ ...commonFeeData,
838
+ feeType: "FIXED_FEE",
839
+ fixedFee: { amount: "0" }
840
+ };
841
+ });
842
+ }
843
+ result.tokenFeeScheduleUpdate = data;
844
+ }
845
+ }
846
+ static parseUtilPrng(body, result) {
847
+ if (body) {
848
+ const data = {};
849
+ if (body.range && body.range !== 0) {
850
+ data.range = body.range;
851
+ }
852
+ result.utilPrng = data;
853
+ }
854
+ }
855
+ static parseKey(key) {
856
+ if (!key) {
857
+ return void 0;
858
+ }
859
+ if (key.contractID) {
860
+ return `ContractID: ${new ContractId(
861
+ key.contractID.shardNum ?? 0,
862
+ key.contractID.realmNum ?? 0,
863
+ key.contractID.contractNum ?? 0
864
+ ).toString()}`;
865
+ }
866
+ if (key.ed25519) {
867
+ return `ED25519: ${Buffer$1.from(key.ed25519).toString("hex")}`;
868
+ }
869
+ if (key.ECDSASecp256k1) {
870
+ return `ECDSA_secp256k1: ${Buffer$1.from(key.ECDSASecp256k1).toString(
871
+ "hex"
872
+ )}`;
873
+ }
874
+ if (key.keyList && key.keyList.keys && key.keyList.keys.length > 0) {
875
+ const keys = key.keyList.keys.map((k) => this.parseKey(k)).filter(Boolean);
876
+ return `KeyList (${keys.length} keys): [${keys.join(", ")}]`;
877
+ }
878
+ if (key.thresholdKey && key.thresholdKey.keys && key.thresholdKey.keys.keys && key.thresholdKey.keys.keys.length > 0) {
879
+ const keys = key.thresholdKey.keys.keys.map((k) => this.parseKey(k)).filter(Boolean);
880
+ return `ThresholdKey (${key.thresholdKey.threshold} of ${keys.length}): [${keys.join(", ")}]`;
881
+ }
882
+ if (key.delegatableContractId) {
883
+ return `DelegatableContractID: ${new ContractId(
884
+ key.delegatableContractId.shardNum ?? 0,
885
+ key.delegatableContractId.realmNum ?? 0,
886
+ key.delegatableContractId.contractNum ?? 0
887
+ ).toString()}`;
888
+ }
889
+ if (Object.keys(key).length === 0) {
890
+ return "Empty Key Structure";
891
+ }
892
+ return "Unknown or Unset Key Type";
893
+ }
561
894
  /**
562
895
  * Get a human-readable summary of the transaction
563
896
  * @param parsedTx - The parsed transaction
@@ -670,6 +1003,32 @@ class TransactionParser {
670
1003
  if (parsedTx.consensusSubmitMessage.chunkInfoNumber && parsedTx.consensusSubmitMessage.chunkInfoTotal) {
671
1004
  summary += ` (chunk ${parsedTx.consensusSubmitMessage.chunkInfoNumber}/${parsedTx.consensusSubmitMessage.chunkInfoTotal})`;
672
1005
  }
1006
+ } else if (parsedTx.fileCreate) {
1007
+ let summary2 = "Create File";
1008
+ if (parsedTx.fileCreate.memo)
1009
+ summary2 += ` with memo "${parsedTx.fileCreate.memo}"`;
1010
+ if (parsedTx.fileCreate.contents) summary2 += ` (includes content)`;
1011
+ return summary2;
1012
+ } else if (parsedTx.fileAppend) {
1013
+ return `Append to File ${parsedTx.fileAppend.fileId || "(Unknown ID)"}`;
1014
+ } else if (parsedTx.fileUpdate) {
1015
+ return `Update File ${parsedTx.fileUpdate.fileId || "(Unknown ID)"}`;
1016
+ } else if (parsedTx.fileDelete) {
1017
+ return `Delete File ${parsedTx.fileDelete.fileId || "(Unknown ID)"}`;
1018
+ } else if (parsedTx.consensusUpdateTopic) {
1019
+ return `Update Topic ${parsedTx.consensusUpdateTopic.topicId || "(Unknown ID)"}`;
1020
+ } else if (parsedTx.consensusDeleteTopic) {
1021
+ return `Delete Topic ${parsedTx.consensusDeleteTopic.topicId || "(Unknown ID)"}`;
1022
+ } else if (parsedTx.tokenUpdate) {
1023
+ return `Update Token ${parsedTx.tokenUpdate.tokenId || "(Unknown ID)"}`;
1024
+ } else if (parsedTx.tokenFeeScheduleUpdate) {
1025
+ return `Update Fee Schedule for Token ${parsedTx.tokenFeeScheduleUpdate.tokenId || "(Unknown ID)"}`;
1026
+ } else if (parsedTx.utilPrng) {
1027
+ let summary2 = "Generate Random Number";
1028
+ if (parsedTx.utilPrng.range && parsedTx.utilPrng.range > 0) {
1029
+ summary2 += ` (range up to ${parsedTx.utilPrng.range - 1})`;
1030
+ }
1031
+ return summary2;
673
1032
  } else {
674
1033
  summary = parsedTx.humanReadableType;
675
1034
  }