@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.
- package/dist/es/standards-sdk.es15.js +1 -1
- package/dist/es/standards-sdk.es18.js +2 -2
- package/dist/es/standards-sdk.es19.js +411 -52
- package/dist/es/standards-sdk.es19.js.map +1 -1
- package/dist/es/standards-sdk.es21.js +2 -2
- package/dist/es/standards-sdk.es24.js +10 -10
- package/dist/es/standards-sdk.es26.js +1 -1
- package/dist/es/standards-sdk.es31.js +5 -36
- package/dist/es/standards-sdk.es31.js.map +1 -1
- package/dist/es/standards-sdk.es32.js +36 -48
- package/dist/es/standards-sdk.es32.js.map +1 -1
- package/dist/es/standards-sdk.es33.js +48 -5
- package/dist/es/standards-sdk.es33.js.map +1 -1
- package/dist/es/standards-sdk.es34.js +1 -1
- package/dist/es/standards-sdk.es36.js +22 -100
- package/dist/es/standards-sdk.es36.js.map +1 -1
- package/dist/es/standards-sdk.es37.js +174 -2
- package/dist/es/standards-sdk.es37.js.map +1 -1
- package/dist/es/standards-sdk.es38.js +90 -15
- package/dist/es/standards-sdk.es38.js.map +1 -1
- package/dist/es/standards-sdk.es39.js +190 -404
- package/dist/es/standards-sdk.es39.js.map +1 -1
- package/dist/es/standards-sdk.es40.js +437 -2281
- package/dist/es/standards-sdk.es40.js.map +1 -1
- package/dist/es/standards-sdk.es41.js +20 -159
- package/dist/es/standards-sdk.es41.js.map +1 -1
- package/dist/es/standards-sdk.es42.js +137 -21
- package/dist/es/standards-sdk.es42.js.map +1 -1
- package/dist/es/standards-sdk.es43.js +13 -169
- package/dist/es/standards-sdk.es43.js.map +1 -1
- package/dist/es/standards-sdk.es44.js +21 -83
- package/dist/es/standards-sdk.es44.js.map +1 -1
- package/dist/es/standards-sdk.es45.js +25 -191
- package/dist/es/standards-sdk.es45.js.map +1 -1
- package/dist/es/standards-sdk.es46.js +15 -432
- package/dist/es/standards-sdk.es46.js.map +1 -1
- package/dist/es/standards-sdk.es47.js +34 -15
- package/dist/es/standards-sdk.es47.js.map +1 -1
- package/dist/es/standards-sdk.es48.js +10 -131
- package/dist/es/standards-sdk.es48.js.map +1 -1
- package/dist/es/standards-sdk.es49.js +53 -10
- package/dist/es/standards-sdk.es49.js.map +1 -1
- package/dist/es/standards-sdk.es50.js +1281 -21
- package/dist/es/standards-sdk.es50.js.map +1 -1
- package/dist/es/standards-sdk.es51.js +144 -25
- package/dist/es/standards-sdk.es51.js.map +1 -1
- package/dist/es/standards-sdk.es52.js +80 -17
- package/dist/es/standards-sdk.es52.js.map +1 -1
- package/dist/es/standards-sdk.es53.js +27 -39
- package/dist/es/standards-sdk.es53.js.map +1 -1
- package/dist/es/standards-sdk.es54.js +5 -17
- package/dist/es/standards-sdk.es54.js.map +1 -1
- package/dist/es/standards-sdk.es55.js +149 -51
- package/dist/es/standards-sdk.es55.js.map +1 -1
- package/dist/es/standards-sdk.es56.js +629 -1125
- package/dist/es/standards-sdk.es56.js.map +1 -1
- package/dist/es/standards-sdk.es57.js +127 -132
- package/dist/es/standards-sdk.es57.js.map +1 -1
- package/dist/es/standards-sdk.es58.js +96 -79
- package/dist/es/standards-sdk.es58.js.map +1 -1
- package/dist/es/standards-sdk.es59.js +2 -32
- package/dist/es/standards-sdk.es59.js.map +1 -1
- package/dist/es/standards-sdk.es60.js +15 -5
- package/dist/es/standards-sdk.es60.js.map +1 -1
- package/dist/es/standards-sdk.es61.js +401 -151
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es62.js +24 -790
- package/dist/es/standards-sdk.es62.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +23 -140
- package/dist/es/standards-sdk.es63.js.map +1 -1
- package/dist/es/standards-sdk.es64.js +34 -23
- package/dist/es/standards-sdk.es64.js.map +1 -1
- package/dist/es/standards-sdk.es65.js +19 -24
- package/dist/es/standards-sdk.es65.js.map +1 -1
- package/dist/es/standards-sdk.es66.js +2282 -38
- package/dist/es/standards-sdk.es66.js.map +1 -1
- package/dist/es/standards-sdk.es67.js +159 -16
- package/dist/es/standards-sdk.es67.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +1 -1
- package/dist/es/utils/transaction-parser.d.ts +78 -5
- package/dist/es/utils/transaction-parser.d.ts.map +1 -1
- package/dist/umd/standards-sdk.umd.js +1 -1
- package/dist/umd/standards-sdk.umd.js.map +1 -1
- package/dist/umd/utils/transaction-parser.d.ts +78 -5
- package/dist/umd/utils/transaction-parser.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import "./standards-sdk.
|
|
1
|
+
import "./standards-sdk.es32.js";
|
|
2
2
|
import { Logger } from "./standards-sdk.es15.js";
|
|
3
|
-
import axios from "./standards-sdk.
|
|
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.
|
|
147
|
-
transactionType = "
|
|
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
|
-
|
|
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(
|
|
357
|
-
if (
|
|
377
|
+
static parseTokenCreation(tokenCreationBody, result) {
|
|
378
|
+
if (tokenCreationBody) {
|
|
358
379
|
const creationData = {};
|
|
359
|
-
if (
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
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 (
|
|
394
|
+
if (tokenCreationBody.initialSupply) {
|
|
370
395
|
creationData.initialSupply = Long.fromValue(
|
|
371
|
-
|
|
396
|
+
tokenCreationBody.initialSupply
|
|
372
397
|
).toString();
|
|
373
398
|
}
|
|
374
|
-
if (
|
|
399
|
+
if (tokenCreationBody.decimals !== void 0 && tokenCreationBody.decimals !== null) {
|
|
375
400
|
creationData.decimals = Long.fromValue(
|
|
376
|
-
|
|
401
|
+
tokenCreationBody.decimals
|
|
377
402
|
).toNumber();
|
|
378
403
|
}
|
|
379
|
-
if (
|
|
404
|
+
if (tokenCreationBody.maxSupply) {
|
|
380
405
|
creationData.maxSupply = Long.fromValue(
|
|
381
|
-
|
|
406
|
+
tokenCreationBody.maxSupply
|
|
382
407
|
).toString();
|
|
383
408
|
}
|
|
384
|
-
if (
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
creationData.
|
|
394
|
-
creationData.
|
|
395
|
-
creationData.
|
|
396
|
-
creationData.
|
|
397
|
-
creationData.
|
|
398
|
-
|
|
399
|
-
|
|
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 (
|
|
435
|
+
if (tokenCreationBody.autoRenewPeriod && tokenCreationBody.autoRenewPeriod.seconds) {
|
|
407
436
|
creationData.autoRenewPeriod = Long.fromValue(
|
|
408
|
-
|
|
437
|
+
tokenCreationBody.autoRenewPeriod.seconds
|
|
409
438
|
).toString();
|
|
410
439
|
}
|
|
411
|
-
if (
|
|
412
|
-
creationData.customFees =
|
|
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)
|
|
502
|
-
|
|
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
|
-
|
|
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
|
}
|