@hashgraphonline/standards-sdk 0.0.108-canary.0 → 0.0.108-canary.3
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.es100.js +52 -59
- package/dist/es/standards-sdk.es100.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +68 -5
- package/dist/es/standards-sdk.es101.js.map +1 -1
- package/dist/es/standards-sdk.es102.js +3 -14
- package/dist/es/standards-sdk.es102.js.map +1 -1
- package/dist/es/standards-sdk.es103.js +32 -7
- package/dist/es/standards-sdk.es103.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +61 -43
- package/dist/es/standards-sdk.es104.js.map +1 -1
- package/dist/es/standards-sdk.es105.js +50 -2
- package/dist/es/standards-sdk.es105.js.map +1 -1
- package/dist/es/standards-sdk.es106.js +10 -136
- package/dist/es/standards-sdk.es106.js.map +1 -1
- package/dist/es/standards-sdk.es107.js +57 -164
- package/dist/es/standards-sdk.es107.js.map +1 -1
- package/dist/es/standards-sdk.es108.js +5 -12
- package/dist/es/standards-sdk.es108.js.map +1 -1
- package/dist/es/standards-sdk.es109.js +15 -13
- package/dist/es/standards-sdk.es109.js.map +1 -1
- package/dist/es/standards-sdk.es110.js +6 -31
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es111.js +44 -14
- package/dist/es/standards-sdk.es111.js.map +1 -1
- package/dist/es/standards-sdk.es112.js +2 -4
- package/dist/es/standards-sdk.es112.js.map +1 -1
- package/dist/es/standards-sdk.es113.js +136 -4
- package/dist/es/standards-sdk.es113.js.map +1 -1
- package/dist/es/standards-sdk.es114.js +172 -16
- package/dist/es/standards-sdk.es114.js.map +1 -1
- package/dist/es/standards-sdk.es115.js +13 -5
- package/dist/es/standards-sdk.es115.js.map +1 -1
- package/dist/es/standards-sdk.es116.js +13 -39
- package/dist/es/standards-sdk.es116.js.map +1 -1
- package/dist/es/standards-sdk.es117.js +31 -39
- package/dist/es/standards-sdk.es117.js.map +1 -1
- package/dist/es/standards-sdk.es118.js +15 -37
- package/dist/es/standards-sdk.es118.js.map +1 -1
- package/dist/es/standards-sdk.es119.js +4 -78
- package/dist/es/standards-sdk.es119.js.map +1 -1
- package/dist/es/standards-sdk.es120.js +4 -3
- package/dist/es/standards-sdk.es120.js.map +1 -1
- package/dist/es/standards-sdk.es121.js +16 -2
- package/dist/es/standards-sdk.es121.js.map +1 -1
- package/dist/es/standards-sdk.es122.js +5 -2
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +39 -34
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +37 -30
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +37 -9
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +74 -30
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +6 -0
- package/dist/es/standards-sdk.es127.js.map +1 -0
- package/dist/es/standards-sdk.es128.js +5 -0
- package/dist/es/standards-sdk.es128.js.map +1 -0
- package/dist/es/standards-sdk.es129.js +5 -0
- package/dist/es/standards-sdk.es129.js.map +1 -0
- package/dist/es/standards-sdk.es13.js +2 -2
- package/dist/es/standards-sdk.es130.js +37 -0
- package/dist/es/standards-sdk.es130.js.map +1 -0
- package/dist/es/standards-sdk.es131.js +36 -0
- package/dist/es/standards-sdk.es131.js.map +1 -0
- package/dist/es/standards-sdk.es132.js +12 -0
- package/dist/es/standards-sdk.es132.js.map +1 -0
- package/dist/es/standards-sdk.es133.js +37 -0
- package/dist/es/standards-sdk.es133.js.map +1 -0
- 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 +252 -713
- package/dist/es/standards-sdk.es19.js.map +1 -1
- package/dist/es/standards-sdk.es20.js +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 +7190 -3
- package/dist/es/standards-sdk.es26.js.map +1 -1
- package/dist/es/standards-sdk.es27.js +3 -4168
- package/dist/es/standards-sdk.es27.js.map +1 -1
- package/dist/es/standards-sdk.es28.js +8 -7189
- package/dist/es/standards-sdk.es28.js.map +1 -1
- package/dist/es/standards-sdk.es29.js +2 -9
- package/dist/es/standards-sdk.es29.js.map +1 -1
- package/dist/es/standards-sdk.es30.js +5 -2
- package/dist/es/standards-sdk.es30.js.map +1 -1
- package/dist/es/standards-sdk.es31.js +36 -5
- package/dist/es/standards-sdk.es31.js.map +1 -1
- package/dist/es/standards-sdk.es32.js +48 -36
- package/dist/es/standards-sdk.es32.js.map +1 -1
- package/dist/es/standards-sdk.es33.js +500 -47
- package/dist/es/standards-sdk.es33.js.map +1 -1
- package/dist/es/standards-sdk.es34.js +108 -9
- package/dist/es/standards-sdk.es34.js.map +1 -1
- package/dist/es/standards-sdk.es35.js +66 -2
- package/dist/es/standards-sdk.es35.js.map +1 -1
- package/dist/es/standards-sdk.es36.js +256 -22
- package/dist/es/standards-sdk.es36.js.map +1 -1
- package/dist/es/standards-sdk.es37.js +166 -167
- package/dist/es/standards-sdk.es37.js.map +1 -1
- package/dist/es/standards-sdk.es38.js +8 -88
- package/dist/es/standards-sdk.es38.js.map +1 -1
- package/dist/es/standards-sdk.es39.js +9 -194
- package/dist/es/standards-sdk.es39.js.map +1 -1
- package/dist/es/standards-sdk.es40.js +4127 -397
- package/dist/es/standards-sdk.es40.js.map +1 -1
- package/dist/es/standards-sdk.es41.js +7129 -18
- package/dist/es/standards-sdk.es41.js.map +1 -1
- package/dist/es/standards-sdk.es42.js +2 -139
- package/dist/es/standards-sdk.es42.js.map +1 -1
- package/dist/es/standards-sdk.es43.js +3 -18
- package/dist/es/standards-sdk.es43.js.map +1 -1
- package/dist/es/standards-sdk.es44.js +100 -28
- package/dist/es/standards-sdk.es44.js.map +1 -1
- package/dist/es/standards-sdk.es45.js +2 -29
- package/dist/es/standards-sdk.es45.js.map +1 -1
- package/dist/es/standards-sdk.es46.js +15 -20
- package/dist/es/standards-sdk.es46.js.map +1 -1
- package/dist/es/standards-sdk.es47.js +403 -38
- package/dist/es/standards-sdk.es47.js.map +1 -1
- package/dist/es/standards-sdk.es48.js +86 -13
- package/dist/es/standards-sdk.es48.js.map +1 -1
- package/dist/es/standards-sdk.es49.js +140 -53
- package/dist/es/standards-sdk.es49.js.map +1 -1
- package/dist/es/standards-sdk.es50.js +25 -1282
- package/dist/es/standards-sdk.es50.js.map +1 -1
- package/dist/es/standards-sdk.es51.js +138 -127
- package/dist/es/standards-sdk.es51.js.map +1 -1
- package/dist/es/standards-sdk.es52.js +130 -71
- package/dist/es/standards-sdk.es52.js.map +1 -1
- package/dist/es/standards-sdk.es53.js +190 -27
- package/dist/es/standards-sdk.es53.js.map +1 -1
- package/dist/es/standards-sdk.es54.js +437 -5
- package/dist/es/standards-sdk.es54.js.map +1 -1
- package/dist/es/standards-sdk.es55.js +21 -155
- package/dist/es/standards-sdk.es55.js.map +1 -1
- package/dist/es/standards-sdk.es56.js +123 -777
- package/dist/es/standards-sdk.es56.js.map +1 -1
- package/dist/es/standards-sdk.es57.js +13 -138
- package/dist/es/standards-sdk.es57.js.map +1 -1
- package/dist/es/standards-sdk.es58.js +28 -100
- package/dist/es/standards-sdk.es58.js.map +1 -1
- package/dist/es/standards-sdk.es59.js +29 -2
- package/dist/es/standards-sdk.es59.js.map +1 -1
- package/dist/es/standards-sdk.es60.js +20 -15
- package/dist/es/standards-sdk.es60.js.map +1 -1
- package/dist/es/standards-sdk.es61.js +38 -403
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es62.js +16 -25
- package/dist/es/standards-sdk.es62.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +59 -24
- package/dist/es/standards-sdk.es63.js.map +1 -1
- package/dist/es/standards-sdk.es64.js +1285 -34
- package/dist/es/standards-sdk.es64.js.map +1 -1
- package/dist/es/standards-sdk.es65.js +79 -16
- package/dist/es/standards-sdk.es65.js.map +1 -1
- package/dist/es/standards-sdk.es66.js +6 -2282
- package/dist/es/standards-sdk.es66.js.map +1 -1
- package/dist/es/standards-sdk.es67.js +19 -160
- package/dist/es/standards-sdk.es67.js.map +1 -1
- package/dist/es/standards-sdk.es68.js +793 -3
- package/dist/es/standards-sdk.es68.js.map +1 -1
- package/dist/es/standards-sdk.es69.js +173 -3
- package/dist/es/standards-sdk.es69.js.map +1 -1
- package/dist/es/standards-sdk.es7.js +3 -3
- package/dist/es/standards-sdk.es70.js +2282 -7136
- package/dist/es/standards-sdk.es70.js.map +1 -1
- package/dist/es/standards-sdk.es71.js +163 -9
- package/dist/es/standards-sdk.es71.js.map +1 -1
- package/dist/es/standards-sdk.es72.js +9 -10
- package/dist/es/standards-sdk.es72.js.map +1 -1
- package/dist/es/standards-sdk.es73.js +9 -16
- package/dist/es/standards-sdk.es73.js.map +1 -1
- package/dist/es/standards-sdk.es74.js +16 -4
- package/dist/es/standards-sdk.es74.js.map +1 -1
- package/dist/es/standards-sdk.es75.js +5 -8
- package/dist/es/standards-sdk.es75.js.map +1 -1
- package/dist/es/standards-sdk.es76.js +8 -418
- package/dist/es/standards-sdk.es76.js.map +1 -1
- package/dist/es/standards-sdk.es77.js +21 -2
- package/dist/es/standards-sdk.es77.js.map +1 -1
- package/dist/es/standards-sdk.es78.js +25 -118
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +24 -362
- package/dist/es/standards-sdk.es79.js.map +1 -1
- package/dist/es/standards-sdk.es8.js +2 -2
- package/dist/es/standards-sdk.es80.js +37 -5
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es81.js +400 -160
- package/dist/es/standards-sdk.es81.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +2 -81
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +108 -102
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +41 -51
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +364 -10
- package/dist/es/standards-sdk.es85.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +5 -96
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +178 -3
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +81 -2
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +104 -103
- package/dist/es/standards-sdk.es89.js.map +1 -1
- package/dist/es/standards-sdk.es9.js +1 -1
- package/dist/es/standards-sdk.es90.js +49 -71
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +9 -5
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +96 -4
- package/dist/es/standards-sdk.es92.js.map +1 -1
- package/dist/es/standards-sdk.es93.js +3 -220
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es94.js +2 -58
- package/dist/es/standards-sdk.es94.js.map +1 -1
- package/dist/es/standards-sdk.es95.js +112 -68
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es96.js +70 -28
- package/dist/es/standards-sdk.es96.js.map +1 -1
- package/dist/es/standards-sdk.es97.js +5 -62
- package/dist/es/standards-sdk.es97.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +4 -49
- package/dist/es/standards-sdk.es98.js.map +1 -1
- package/dist/es/standards-sdk.es99.js +219 -8
- package/dist/es/standards-sdk.es99.js.map +1 -1
- package/dist/es/utils/parsers/crypto-parser.d.ts +14 -0
- package/dist/es/utils/parsers/crypto-parser.d.ts.map +1 -0
- package/dist/es/utils/parsers/file-parser.d.ts +9 -0
- package/dist/es/utils/parsers/file-parser.d.ts.map +1 -0
- package/dist/es/utils/parsers/hcs-parser.d.ts +9 -0
- package/dist/es/utils/parsers/hcs-parser.d.ts.map +1 -0
- package/dist/es/utils/parsers/hts-parser.d.ts +20 -0
- package/dist/es/utils/parsers/hts-parser.d.ts.map +1 -0
- package/dist/es/utils/parsers/parser-utils.d.ts +3 -0
- package/dist/es/utils/parsers/parser-utils.d.ts.map +1 -0
- package/dist/es/utils/parsers/scs-parser.d.ts +9 -0
- package/dist/es/utils/parsers/scs-parser.d.ts.map +1 -0
- package/dist/es/utils/parsers/util-parser.d.ts +6 -0
- package/dist/es/utils/parsers/util-parser.d.ts.map +1 -0
- package/dist/es/utils/transaction-parser-types.d.ts +317 -0
- package/dist/es/utils/transaction-parser-types.d.ts.map +1 -0
- package/dist/es/utils/transaction-parser.d.ts +1 -251
- package/dist/es/utils/transaction-parser.d.ts.map +1 -1
- package/dist/umd/standards-sdk.umd.js +11 -11
- package/dist/umd/standards-sdk.umd.js.map +1 -1
- package/dist/umd/utils/parsers/crypto-parser.d.ts +14 -0
- package/dist/umd/utils/parsers/crypto-parser.d.ts.map +1 -0
- package/dist/umd/utils/parsers/file-parser.d.ts +9 -0
- package/dist/umd/utils/parsers/file-parser.d.ts.map +1 -0
- package/dist/umd/utils/parsers/hcs-parser.d.ts +9 -0
- package/dist/umd/utils/parsers/hcs-parser.d.ts.map +1 -0
- package/dist/umd/utils/parsers/hts-parser.d.ts +20 -0
- package/dist/umd/utils/parsers/hts-parser.d.ts.map +1 -0
- package/dist/umd/utils/parsers/parser-utils.d.ts +3 -0
- package/dist/umd/utils/parsers/parser-utils.d.ts.map +1 -0
- package/dist/umd/utils/parsers/scs-parser.d.ts +9 -0
- package/dist/umd/utils/parsers/scs-parser.d.ts.map +1 -0
- package/dist/umd/utils/parsers/util-parser.d.ts +6 -0
- package/dist/umd/utils/parsers/util-parser.d.ts.map +1 -0
- package/dist/umd/utils/transaction-parser-types.d.ts +317 -0
- package/dist/umd/utils/transaction-parser-types.d.ts.map +1 -0
- package/dist/umd/utils/transaction-parser.d.ts +1 -251
- package/dist/umd/utils/transaction-parser.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,177 +1,176 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const [SHA3_IOTA_H, SHA3_IOTA_L] = /* @__PURE__ */ split(_SHA3_IOTA, true);
|
|
24
|
-
const rotlH = (h, l, s) => s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s);
|
|
25
|
-
const rotlL = (h, l, s) => s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s);
|
|
26
|
-
function keccakP(s, rounds = 24) {
|
|
27
|
-
const B = new Uint32Array(5 * 2);
|
|
28
|
-
for (let round = 24 - rounds; round < 24; round++) {
|
|
29
|
-
for (let x = 0; x < 10; x++)
|
|
30
|
-
B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];
|
|
31
|
-
for (let x = 0; x < 10; x += 2) {
|
|
32
|
-
const idx1 = (x + 8) % 10;
|
|
33
|
-
const idx0 = (x + 2) % 10;
|
|
34
|
-
const B0 = B[idx0];
|
|
35
|
-
const B1 = B[idx0 + 1];
|
|
36
|
-
const Th = rotlH(B0, B1, 1) ^ B[idx1];
|
|
37
|
-
const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];
|
|
38
|
-
for (let y = 0; y < 50; y += 10) {
|
|
39
|
-
s[x + y] ^= Th;
|
|
40
|
-
s[x + y + 1] ^= Tl;
|
|
1
|
+
import { Hbar, Long, HbarUnit, ContractId, AccountId, FileId } from "@hashgraph/sdk";
|
|
2
|
+
import { Buffer as Buffer$1 } from "./standards-sdk.es25.js";
|
|
3
|
+
import { parseKey } from "./standards-sdk.es84.js";
|
|
4
|
+
class SCSParser {
|
|
5
|
+
static parseContractCall(body) {
|
|
6
|
+
if (!body) return void 0;
|
|
7
|
+
const hbarAmount = Hbar.fromTinybars(Long.fromValue(body.amount ?? 0));
|
|
8
|
+
const data = {
|
|
9
|
+
contractId: new ContractId(
|
|
10
|
+
body.contractID.shardNum ?? 0,
|
|
11
|
+
body.contractID.realmNum ?? 0,
|
|
12
|
+
body.contractID.contractNum ?? 0
|
|
13
|
+
).toString(),
|
|
14
|
+
gas: Long.fromValue(body.gas ?? 0).toNumber(),
|
|
15
|
+
amount: parseFloat(hbarAmount.toString(HbarUnit.Hbar))
|
|
16
|
+
};
|
|
17
|
+
if (body.functionParameters) {
|
|
18
|
+
data.functionParameters = Buffer$1.from(body.functionParameters).toString(
|
|
19
|
+
"hex"
|
|
20
|
+
);
|
|
21
|
+
if (data.functionParameters.length >= 8) {
|
|
22
|
+
data.functionName = data.functionParameters.substring(0, 8);
|
|
41
23
|
}
|
|
42
24
|
}
|
|
43
|
-
|
|
44
|
-
let curL = s[3];
|
|
45
|
-
for (let t = 0; t < 24; t++) {
|
|
46
|
-
const shift = SHA3_ROTL[t];
|
|
47
|
-
const Th = rotlH(curH, curL, shift);
|
|
48
|
-
const Tl = rotlL(curH, curL, shift);
|
|
49
|
-
const PI = SHA3_PI[t];
|
|
50
|
-
curH = s[PI];
|
|
51
|
-
curL = s[PI + 1];
|
|
52
|
-
s[PI] = Th;
|
|
53
|
-
s[PI + 1] = Tl;
|
|
54
|
-
}
|
|
55
|
-
for (let y = 0; y < 50; y += 10) {
|
|
56
|
-
for (let x = 0; x < 10; x++)
|
|
57
|
-
B[x] = s[y + x];
|
|
58
|
-
for (let x = 0; x < 10; x++)
|
|
59
|
-
s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];
|
|
60
|
-
}
|
|
61
|
-
s[0] ^= SHA3_IOTA_H[round];
|
|
62
|
-
s[1] ^= SHA3_IOTA_L[round];
|
|
63
|
-
}
|
|
64
|
-
B.fill(0);
|
|
65
|
-
}
|
|
66
|
-
class Keccak extends Hash {
|
|
67
|
-
// NOTE: we accept arguments in bytes instead of bits here.
|
|
68
|
-
constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {
|
|
69
|
-
super();
|
|
70
|
-
this.blockLen = blockLen;
|
|
71
|
-
this.suffix = suffix;
|
|
72
|
-
this.outputLen = outputLen;
|
|
73
|
-
this.enableXOF = enableXOF;
|
|
74
|
-
this.rounds = rounds;
|
|
75
|
-
this.pos = 0;
|
|
76
|
-
this.posOut = 0;
|
|
77
|
-
this.finished = false;
|
|
78
|
-
this.destroyed = false;
|
|
79
|
-
number(outputLen);
|
|
80
|
-
if (0 >= this.blockLen || this.blockLen >= 200)
|
|
81
|
-
throw new Error("Sha3 supports only keccak-f1600 function");
|
|
82
|
-
this.state = new Uint8Array(200);
|
|
83
|
-
this.state32 = u32(this.state);
|
|
84
|
-
}
|
|
85
|
-
keccak() {
|
|
86
|
-
keccakP(this.state32, this.rounds);
|
|
87
|
-
this.posOut = 0;
|
|
88
|
-
this.pos = 0;
|
|
89
|
-
}
|
|
90
|
-
update(data) {
|
|
91
|
-
exists(this);
|
|
92
|
-
const { blockLen, state } = this;
|
|
93
|
-
data = toBytes(data);
|
|
94
|
-
const len = data.length;
|
|
95
|
-
for (let pos = 0; pos < len; ) {
|
|
96
|
-
const take = Math.min(blockLen - this.pos, len - pos);
|
|
97
|
-
for (let i = 0; i < take; i++)
|
|
98
|
-
state[this.pos++] ^= data[pos++];
|
|
99
|
-
if (this.pos === blockLen)
|
|
100
|
-
this.keccak();
|
|
101
|
-
}
|
|
102
|
-
return this;
|
|
103
|
-
}
|
|
104
|
-
finish() {
|
|
105
|
-
if (this.finished)
|
|
106
|
-
return;
|
|
107
|
-
this.finished = true;
|
|
108
|
-
const { state, suffix, pos, blockLen } = this;
|
|
109
|
-
state[pos] ^= suffix;
|
|
110
|
-
if ((suffix & 128) !== 0 && pos === blockLen - 1)
|
|
111
|
-
this.keccak();
|
|
112
|
-
state[blockLen - 1] ^= 128;
|
|
113
|
-
this.keccak();
|
|
114
|
-
}
|
|
115
|
-
writeInto(out) {
|
|
116
|
-
exists(this, false);
|
|
117
|
-
bytes(out);
|
|
118
|
-
this.finish();
|
|
119
|
-
const bufferOut = this.state;
|
|
120
|
-
const { blockLen } = this;
|
|
121
|
-
for (let pos = 0, len = out.length; pos < len; ) {
|
|
122
|
-
if (this.posOut >= blockLen)
|
|
123
|
-
this.keccak();
|
|
124
|
-
const take = Math.min(blockLen - this.posOut, len - pos);
|
|
125
|
-
out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);
|
|
126
|
-
this.posOut += take;
|
|
127
|
-
pos += take;
|
|
128
|
-
}
|
|
129
|
-
return out;
|
|
130
|
-
}
|
|
131
|
-
xofInto(out) {
|
|
132
|
-
if (!this.enableXOF)
|
|
133
|
-
throw new Error("XOF is not possible for this instance");
|
|
134
|
-
return this.writeInto(out);
|
|
25
|
+
return data;
|
|
135
26
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
27
|
+
static parseContractCreate(body) {
|
|
28
|
+
if (!body) return void 0;
|
|
29
|
+
const data = {};
|
|
30
|
+
if (body.initialBalance) {
|
|
31
|
+
data.initialBalance = Hbar.fromTinybars(
|
|
32
|
+
Long.fromValue(body.initialBalance)
|
|
33
|
+
).toString(HbarUnit.Hbar);
|
|
34
|
+
}
|
|
35
|
+
if (body.gas) {
|
|
36
|
+
data.gas = Long.fromValue(body.gas).toString();
|
|
37
|
+
}
|
|
38
|
+
if (body.adminKey) {
|
|
39
|
+
data.adminKey = parseKey(body.adminKey);
|
|
40
|
+
}
|
|
41
|
+
if (body.constructorParameters) {
|
|
42
|
+
data.constructorParameters = Buffer$1.from(
|
|
43
|
+
body.constructorParameters
|
|
44
|
+
).toString("hex");
|
|
45
|
+
}
|
|
46
|
+
if (body.memo) {
|
|
47
|
+
data.memo = body.memo;
|
|
48
|
+
}
|
|
49
|
+
if (body.autoRenewPeriod?.seconds) {
|
|
50
|
+
data.autoRenewPeriod = Long.fromValue(
|
|
51
|
+
body.autoRenewPeriod.seconds
|
|
52
|
+
).toString();
|
|
53
|
+
}
|
|
54
|
+
if (body.stakedAccountId) {
|
|
55
|
+
data.stakedAccountId = new AccountId(
|
|
56
|
+
body.stakedAccountId.shardNum ?? 0,
|
|
57
|
+
body.stakedAccountId.realmNum ?? 0,
|
|
58
|
+
body.stakedAccountId.accountNum ?? 0
|
|
59
|
+
).toString();
|
|
60
|
+
} else if (body.stakedNodeId !== null && body.stakedNodeId !== void 0) {
|
|
61
|
+
data.stakedNodeId = Long.fromValue(body.stakedNodeId).toString();
|
|
62
|
+
}
|
|
63
|
+
if (body.declineReward !== void 0) {
|
|
64
|
+
data.declineReward = body.declineReward;
|
|
65
|
+
}
|
|
66
|
+
if (body.maxAutomaticTokenAssociations !== void 0) {
|
|
67
|
+
data.maxAutomaticTokenAssociations = body.maxAutomaticTokenAssociations;
|
|
68
|
+
}
|
|
69
|
+
if (body.fileID) {
|
|
70
|
+
data.initcodeSource = "fileID";
|
|
71
|
+
data.initcode = new FileId(
|
|
72
|
+
body.fileID.shardNum ?? 0,
|
|
73
|
+
body.fileID.realmNum ?? 0,
|
|
74
|
+
body.fileID.fileNum ?? 0
|
|
75
|
+
).toString();
|
|
76
|
+
} else if (body.initcode && body.initcode.length > 0) {
|
|
77
|
+
data.initcodeSource = "bytes";
|
|
78
|
+
data.initcode = Buffer$1.from(body.initcode).toString("hex");
|
|
79
|
+
}
|
|
80
|
+
return data;
|
|
150
81
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
82
|
+
static parseContractUpdate(body) {
|
|
83
|
+
if (!body) return void 0;
|
|
84
|
+
const data = {};
|
|
85
|
+
if (body.contractID) {
|
|
86
|
+
data.contractIdToUpdate = new ContractId(
|
|
87
|
+
body.contractID.shardNum ?? 0,
|
|
88
|
+
body.contractID.realmNum ?? 0,
|
|
89
|
+
body.contractID.contractNum ?? 0
|
|
90
|
+
).toString();
|
|
91
|
+
}
|
|
92
|
+
if (body.adminKey) {
|
|
93
|
+
data.adminKey = parseKey(body.adminKey);
|
|
94
|
+
}
|
|
95
|
+
if (body.expirationTime?.seconds) {
|
|
96
|
+
data.expirationTime = `${Long.fromValue(
|
|
97
|
+
body.expirationTime.seconds
|
|
98
|
+
).toString()}.${body.expirationTime.nanos}`;
|
|
99
|
+
}
|
|
100
|
+
if (body.autoRenewPeriod?.seconds) {
|
|
101
|
+
data.autoRenewPeriod = Long.fromValue(
|
|
102
|
+
body.autoRenewPeriod.seconds
|
|
103
|
+
).toString();
|
|
104
|
+
}
|
|
105
|
+
if (body.memo) {
|
|
106
|
+
const memoAsAny = body.memo;
|
|
107
|
+
if (memoAsAny && typeof memoAsAny === "object" && memoAsAny.hasOwnProperty("value")) {
|
|
108
|
+
const memoVal = memoAsAny.value;
|
|
109
|
+
data.memo = memoVal === null || memoVal === void 0 ? void 0 : String(memoVal);
|
|
110
|
+
} else if (typeof memoAsAny === "string") {
|
|
111
|
+
data.memo = memoAsAny;
|
|
112
|
+
} else {
|
|
113
|
+
data.memo = void 0;
|
|
114
|
+
}
|
|
115
|
+
} else {
|
|
116
|
+
data.memo = void 0;
|
|
117
|
+
}
|
|
118
|
+
if (body.stakedAccountId) {
|
|
119
|
+
data.stakedAccountId = new AccountId(
|
|
120
|
+
body.stakedAccountId.shardNum ?? 0,
|
|
121
|
+
body.stakedAccountId.realmNum ?? 0,
|
|
122
|
+
body.stakedAccountId.accountNum ?? 0
|
|
123
|
+
).toString();
|
|
124
|
+
data.stakedNodeId = void 0;
|
|
125
|
+
} else if (body.stakedNodeId !== null && body.stakedNodeId !== void 0 && Long.fromValue(body.stakedNodeId).notEquals(-1)) {
|
|
126
|
+
data.stakedNodeId = Long.fromValue(body.stakedNodeId).toString();
|
|
127
|
+
data.stakedAccountId = void 0;
|
|
128
|
+
} else {
|
|
129
|
+
data.stakedNodeId = void 0;
|
|
130
|
+
data.stakedAccountId = void 0;
|
|
131
|
+
}
|
|
132
|
+
if (body.declineReward?.value !== void 0) {
|
|
133
|
+
data.declineReward = body.declineReward.value;
|
|
134
|
+
}
|
|
135
|
+
if (body.maxAutomaticTokenAssociations?.value !== void 0) {
|
|
136
|
+
data.maxAutomaticTokenAssociations = body.maxAutomaticTokenAssociations.value;
|
|
137
|
+
}
|
|
138
|
+
if (body.autoRenewAccountId) {
|
|
139
|
+
data.autoRenewAccountId = new AccountId(
|
|
140
|
+
body.autoRenewAccountId.shardNum ?? 0,
|
|
141
|
+
body.autoRenewAccountId.realmNum ?? 0,
|
|
142
|
+
body.autoRenewAccountId.accountNum ?? 0
|
|
143
|
+
).toString();
|
|
144
|
+
}
|
|
145
|
+
return data;
|
|
154
146
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
147
|
+
static parseContractDelete(body) {
|
|
148
|
+
if (!body) return void 0;
|
|
149
|
+
const data = {};
|
|
150
|
+
if (body.contractID) {
|
|
151
|
+
data.contractIdToDelete = new ContractId(
|
|
152
|
+
body.contractID.shardNum ?? 0,
|
|
153
|
+
body.contractID.realmNum ?? 0,
|
|
154
|
+
body.contractID.contractNum ?? 0
|
|
155
|
+
).toString();
|
|
156
|
+
}
|
|
157
|
+
if (body.transferAccountID) {
|
|
158
|
+
data.transferAccountId = new AccountId(
|
|
159
|
+
body.transferAccountID.shardNum ?? 0,
|
|
160
|
+
body.transferAccountID.realmNum ?? 0,
|
|
161
|
+
body.transferAccountID.accountNum ?? 0
|
|
162
|
+
).toString();
|
|
163
|
+
} else if (body.transferContractID) {
|
|
164
|
+
data.transferContractId = new ContractId(
|
|
165
|
+
body.transferContractID.shardNum ?? 0,
|
|
166
|
+
body.transferContractID.realmNum ?? 0,
|
|
167
|
+
body.transferContractID.contractNum ?? 0
|
|
168
|
+
).toString();
|
|
169
|
+
}
|
|
170
|
+
return data;
|
|
168
171
|
}
|
|
169
172
|
}
|
|
170
|
-
const gen = (suffix, blockLen, outputLen) => wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));
|
|
171
|
-
const keccak_256 = /* @__PURE__ */ gen(1, 136, 256 / 8);
|
|
172
173
|
export {
|
|
173
|
-
|
|
174
|
-
keccakP,
|
|
175
|
-
keccak_256
|
|
174
|
+
SCSParser
|
|
176
175
|
};
|
|
177
176
|
//# sourceMappingURL=standards-sdk.es37.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es37.js","sources":["../../node_modules/@noble/hashes/esm/sha3.js"],"sourcesContent":["import { bytes, exists, number, output } from './_assert.js';\nimport { rotlBH, rotlBL, rotlSH, rotlSL, split } from './_u64.js';\nimport { Hash, u32, toBytes, wrapConstructor, wrapXOFConstructorWithOpts, } from './utils.js';\n// SHA3 (keccak) is based on a new design: basically, the internal state is bigger than output size.\n// It's called a sponge function.\n// Various per round constants calculations\nconst [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];\nconst _0n = /* @__PURE__ */ BigInt(0);\nconst _1n = /* @__PURE__ */ BigInt(1);\nconst _2n = /* @__PURE__ */ BigInt(2);\nconst _7n = /* @__PURE__ */ BigInt(7);\nconst _256n = /* @__PURE__ */ BigInt(256);\nconst _0x71n = /* @__PURE__ */ BigInt(0x71);\nfor (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {\n // Pi\n [x, y] = [y, (2 * x + 3 * y) % 5];\n SHA3_PI.push(2 * (5 * y + x));\n // Rotational\n SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);\n // Iota\n let t = _0n;\n for (let j = 0; j < 7; j++) {\n R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;\n if (R & _2n)\n t ^= _1n << ((_1n << /* @__PURE__ */ BigInt(j)) - _1n);\n }\n _SHA3_IOTA.push(t);\n}\nconst [SHA3_IOTA_H, SHA3_IOTA_L] = /* @__PURE__ */ split(_SHA3_IOTA, true);\n// Left rotation (without 0, 32, 64)\nconst rotlH = (h, l, s) => (s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s));\nconst rotlL = (h, l, s) => (s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s));\n// Same as keccakf1600, but allows to skip some rounds\nexport function keccakP(s, rounds = 24) {\n const B = new Uint32Array(5 * 2);\n // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)\n for (let round = 24 - rounds; round < 24; round++) {\n // Theta θ\n for (let x = 0; x < 10; x++)\n B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];\n for (let x = 0; x < 10; x += 2) {\n const idx1 = (x + 8) % 10;\n const idx0 = (x + 2) % 10;\n const B0 = B[idx0];\n const B1 = B[idx0 + 1];\n const Th = rotlH(B0, B1, 1) ^ B[idx1];\n const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];\n for (let y = 0; y < 50; y += 10) {\n s[x + y] ^= Th;\n s[x + y + 1] ^= Tl;\n }\n }\n // Rho (ρ) and Pi (π)\n let curH = s[2];\n let curL = s[3];\n for (let t = 0; t < 24; t++) {\n const shift = SHA3_ROTL[t];\n const Th = rotlH(curH, curL, shift);\n const Tl = rotlL(curH, curL, shift);\n const PI = SHA3_PI[t];\n curH = s[PI];\n curL = s[PI + 1];\n s[PI] = Th;\n s[PI + 1] = Tl;\n }\n // Chi (χ)\n for (let y = 0; y < 50; y += 10) {\n for (let x = 0; x < 10; x++)\n B[x] = s[y + x];\n for (let x = 0; x < 10; x++)\n s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];\n }\n // Iota (ι)\n s[0] ^= SHA3_IOTA_H[round];\n s[1] ^= SHA3_IOTA_L[round];\n }\n B.fill(0);\n}\nexport class Keccak extends Hash {\n // NOTE: we accept arguments in bytes instead of bits here.\n constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {\n super();\n this.blockLen = blockLen;\n this.suffix = suffix;\n this.outputLen = outputLen;\n this.enableXOF = enableXOF;\n this.rounds = rounds;\n this.pos = 0;\n this.posOut = 0;\n this.finished = false;\n this.destroyed = false;\n // Can be passed from user as dkLen\n number(outputLen);\n // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes\n if (0 >= this.blockLen || this.blockLen >= 200)\n throw new Error('Sha3 supports only keccak-f1600 function');\n this.state = new Uint8Array(200);\n this.state32 = u32(this.state);\n }\n keccak() {\n keccakP(this.state32, this.rounds);\n this.posOut = 0;\n this.pos = 0;\n }\n update(data) {\n exists(this);\n const { blockLen, state } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n for (let i = 0; i < take; i++)\n state[this.pos++] ^= data[pos++];\n if (this.pos === blockLen)\n this.keccak();\n }\n return this;\n }\n finish() {\n if (this.finished)\n return;\n this.finished = true;\n const { state, suffix, pos, blockLen } = this;\n // Do the padding\n state[pos] ^= suffix;\n if ((suffix & 0x80) !== 0 && pos === blockLen - 1)\n this.keccak();\n state[blockLen - 1] ^= 0x80;\n this.keccak();\n }\n writeInto(out) {\n exists(this, false);\n bytes(out);\n this.finish();\n const bufferOut = this.state;\n const { blockLen } = this;\n for (let pos = 0, len = out.length; pos < len;) {\n if (this.posOut >= blockLen)\n this.keccak();\n const take = Math.min(blockLen - this.posOut, len - pos);\n out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);\n this.posOut += take;\n pos += take;\n }\n return out;\n }\n xofInto(out) {\n // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF\n if (!this.enableXOF)\n throw new Error('XOF is not possible for this instance');\n return this.writeInto(out);\n }\n xof(bytes) {\n number(bytes);\n return this.xofInto(new Uint8Array(bytes));\n }\n digestInto(out) {\n output(out, this);\n if (this.finished)\n throw new Error('digest() was already called');\n this.writeInto(out);\n this.destroy();\n return out;\n }\n digest() {\n return this.digestInto(new Uint8Array(this.outputLen));\n }\n destroy() {\n this.destroyed = true;\n this.state.fill(0);\n }\n _cloneInto(to) {\n const { blockLen, suffix, outputLen, rounds, enableXOF } = this;\n to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));\n to.state32.set(this.state32);\n to.pos = this.pos;\n to.posOut = this.posOut;\n to.finished = this.finished;\n to.rounds = rounds;\n // Suffix can change in cSHAKE\n to.suffix = suffix;\n to.outputLen = outputLen;\n to.enableXOF = enableXOF;\n to.destroyed = this.destroyed;\n return to;\n }\n}\nconst gen = (suffix, blockLen, outputLen) => wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));\nexport const sha3_224 = /* @__PURE__ */ gen(0x06, 144, 224 / 8);\n/**\n * SHA3-256 hash function\n * @param message - that would be hashed\n */\nexport const sha3_256 = /* @__PURE__ */ gen(0x06, 136, 256 / 8);\nexport const sha3_384 = /* @__PURE__ */ gen(0x06, 104, 384 / 8);\nexport const sha3_512 = /* @__PURE__ */ gen(0x06, 72, 512 / 8);\nexport const keccak_224 = /* @__PURE__ */ gen(0x01, 144, 224 / 8);\n/**\n * keccak-256 hash function. Different from SHA3-256.\n * @param message - that would be hashed\n */\nexport const keccak_256 = /* @__PURE__ */ gen(0x01, 136, 256 / 8);\nexport const keccak_384 = /* @__PURE__ */ gen(0x01, 104, 384 / 8);\nexport const keccak_512 = /* @__PURE__ */ gen(0x01, 72, 512 / 8);\nconst genShake = (suffix, blockLen, outputLen) => wrapXOFConstructorWithOpts((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));\nexport const shake128 = /* @__PURE__ */ genShake(0x1f, 168, 128 / 8);\nexport const shake256 = /* @__PURE__ */ genShake(0x1f, 136, 256 / 8);\n//# sourceMappingURL=sha3.js.map"],"names":["bytes"],"mappings":";;;AAMA,MAAM,CAAC,SAAS,WAAW,UAAU,IAAI,CAAC,CAAE,GAAE,CAAE,GAAE,EAAE;AACpD,MAAM,MAAsB,uBAAO,CAAC;AACpC,MAAM,MAAsB,uBAAO,CAAC;AACpC,MAAM,MAAsB,uBAAO,CAAC;AACpC,MAAM,MAAsB,uBAAO,CAAC;AACpC,MAAM,QAAwB,uBAAO,GAAG;AACxC,MAAM,SAAyB,uBAAO,GAAI;AAC1C,SAAS,QAAQ,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,QAAQ,IAAI,SAAS;AAE5D,GAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC;AAChC,UAAQ,KAAK,KAAK,IAAI,IAAI,EAAE;AAE5B,YAAU,MAAQ,QAAQ,MAAM,QAAQ,KAAM,IAAK,EAAE;AAErD,MAAI,IAAI;AACR,WAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AACxB,SAAM,KAAK,OAAS,KAAK,OAAO,UAAW;AAC3C,QAAI,IAAI;AACJ,WAAK,QAAS,OAAuB,uBAAO,CAAC,KAAK;AAAA,EAC9D;AACI,aAAW,KAAK,CAAC;AACrB;AACA,MAAM,CAAC,aAAa,WAAW,IAAoB,sBAAM,YAAY,IAAI;AAEzE,MAAM,QAAQ,CAAC,GAAG,GAAG,MAAO,IAAI,KAAK,OAAO,GAAG,GAAG,CAAC,IAAI,OAAO,GAAG,GAAG,CAAC;AACrE,MAAM,QAAQ,CAAC,GAAG,GAAG,MAAO,IAAI,KAAK,OAAO,GAAG,GAAG,CAAC,IAAI,OAAO,GAAG,GAAG,CAAC;AAE9D,SAAS,QAAQ,GAAG,SAAS,IAAI;AACpC,QAAM,IAAI,IAAI,YAAY,IAAI,CAAC;AAE/B,WAAS,QAAQ,KAAK,QAAQ,QAAQ,IAAI,SAAS;AAE/C,aAAS,IAAI,GAAG,IAAI,IAAI;AACpB,QAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9D,aAAS,IAAI,GAAG,IAAI,IAAI,KAAK,GAAG;AAC5B,YAAM,QAAQ,IAAI,KAAK;AACvB,YAAM,QAAQ,IAAI,KAAK;AACvB,YAAM,KAAK,EAAE,IAAI;AACjB,YAAM,KAAK,EAAE,OAAO,CAAC;AACrB,YAAM,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI;AACpC,YAAM,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;AACxC,eAAS,IAAI,GAAG,IAAI,IAAI,KAAK,IAAI;AAC7B,UAAE,IAAI,CAAC,KAAK;AACZ,UAAE,IAAI,IAAI,CAAC,KAAK;AAAA,MAChC;AAAA,IACA;AAEQ,QAAI,OAAO,EAAE,CAAC;AACd,QAAI,OAAO,EAAE,CAAC;AACd,aAAS,IAAI,GAAG,IAAI,IAAI,KAAK;AACzB,YAAM,QAAQ,UAAU,CAAC;AACzB,YAAM,KAAK,MAAM,MAAM,MAAM,KAAK;AAClC,YAAM,KAAK,MAAM,MAAM,MAAM,KAAK;AAClC,YAAM,KAAK,QAAQ,CAAC;AACpB,aAAO,EAAE,EAAE;AACX,aAAO,EAAE,KAAK,CAAC;AACf,QAAE,EAAE,IAAI;AACR,QAAE,KAAK,CAAC,IAAI;AAAA,IACxB;AAEQ,aAAS,IAAI,GAAG,IAAI,IAAI,KAAK,IAAI;AAC7B,eAAS,IAAI,GAAG,IAAI,IAAI;AACpB,UAAE,CAAC,IAAI,EAAE,IAAI,CAAC;AAClB,eAAS,IAAI,GAAG,IAAI,IAAI;AACpB,UAAE,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,EAAE,IAAI,GAAG,IAAI,KAAK,EAAE;AAAA,IAC7D;AAEQ,MAAE,CAAC,KAAK,YAAY,KAAK;AACzB,MAAE,CAAC,KAAK,YAAY,KAAK;AAAA,EACjC;AACI,IAAE,KAAK,CAAC;AACZ;AACO,MAAM,eAAe,KAAK;AAAA;AAAA,EAE7B,YAAY,UAAU,QAAQ,WAAW,YAAY,OAAO,SAAS,IAAI;AACrE,UAAO;AACP,SAAK,WAAW;AAChB,SAAK,SAAS;AACd,SAAK,YAAY;AACjB,SAAK,YAAY;AACjB,SAAK,SAAS;AACd,SAAK,MAAM;AACX,SAAK,SAAS;AACd,SAAK,WAAW;AAChB,SAAK,YAAY;AAEjB,WAAO,SAAS;AAEhB,QAAI,KAAK,KAAK,YAAY,KAAK,YAAY;AACvC,YAAM,IAAI,MAAM,0CAA0C;AAC9D,SAAK,QAAQ,IAAI,WAAW,GAAG;AAC/B,SAAK,UAAU,IAAI,KAAK,KAAK;AAAA,EACrC;AAAA,EACI,SAAS;AACL,YAAQ,KAAK,SAAS,KAAK,MAAM;AACjC,SAAK,SAAS;AACd,SAAK,MAAM;AAAA,EACnB;AAAA,EACI,OAAO,MAAM;AACT,WAAO,IAAI;AACX,UAAM,EAAE,UAAU,MAAK,IAAK;AAC5B,WAAO,QAAQ,IAAI;AACnB,UAAM,MAAM,KAAK;AACjB,aAAS,MAAM,GAAG,MAAM,OAAM;AAC1B,YAAM,OAAO,KAAK,IAAI,WAAW,KAAK,KAAK,MAAM,GAAG;AACpD,eAAS,IAAI,GAAG,IAAI,MAAM;AACtB,cAAM,KAAK,KAAK,KAAK,KAAK,KAAK;AACnC,UAAI,KAAK,QAAQ;AACb,aAAK,OAAQ;AAAA,IAC7B;AACQ,WAAO;AAAA,EACf;AAAA,EACI,SAAS;AACL,QAAI,KAAK;AACL;AACJ,SAAK,WAAW;AAChB,UAAM,EAAE,OAAO,QAAQ,KAAK,SAAU,IAAG;AAEzC,UAAM,GAAG,KAAK;AACd,SAAK,SAAS,SAAU,KAAK,QAAQ,WAAW;AAC5C,WAAK,OAAQ;AACjB,UAAM,WAAW,CAAC,KAAK;AACvB,SAAK,OAAQ;AAAA,EACrB;AAAA,EACI,UAAU,KAAK;AACX,WAAO,MAAM,KAAK;AAClB,UAAM,GAAG;AACT,SAAK,OAAQ;AACb,UAAM,YAAY,KAAK;AACvB,UAAM,EAAE,SAAQ,IAAK;AACrB,aAAS,MAAM,GAAG,MAAM,IAAI,QAAQ,MAAM,OAAM;AAC5C,UAAI,KAAK,UAAU;AACf,aAAK,OAAQ;AACjB,YAAM,OAAO,KAAK,IAAI,WAAW,KAAK,QAAQ,MAAM,GAAG;AACvD,UAAI,IAAI,UAAU,SAAS,KAAK,QAAQ,KAAK,SAAS,IAAI,GAAG,GAAG;AAChE,WAAK,UAAU;AACf,aAAO;AAAA,IACnB;AACQ,WAAO;AAAA,EACf;AAAA,EACI,QAAQ,KAAK;AAET,QAAI,CAAC,KAAK;AACN,YAAM,IAAI,MAAM,uCAAuC;AAC3D,WAAO,KAAK,UAAU,GAAG;AAAA,EACjC;AAAA,EACI,IAAIA,QAAO;AACP,WAAOA,MAAK;AACZ,WAAO,KAAK,QAAQ,IAAI,WAAWA,MAAK,CAAC;AAAA,EACjD;AAAA,EACI,WAAW,KAAK;AACZ,WAAO,KAAK,IAAI;AAChB,QAAI,KAAK;AACL,YAAM,IAAI,MAAM,6BAA6B;AACjD,SAAK,UAAU,GAAG;AAClB,SAAK,QAAS;AACd,WAAO;AAAA,EACf;AAAA,EACI,SAAS;AACL,WAAO,KAAK,WAAW,IAAI,WAAW,KAAK,SAAS,CAAC;AAAA,EAC7D;AAAA,EACI,UAAU;AACN,SAAK,YAAY;AACjB,SAAK,MAAM,KAAK,CAAC;AAAA,EACzB;AAAA,EACI,WAAW,IAAI;AACX,UAAM,EAAE,UAAU,QAAQ,WAAW,QAAQ,UAAS,IAAK;AAC3D,WAAO,KAAK,IAAI,OAAO,UAAU,QAAQ,WAAW,WAAW,MAAM;AACrE,OAAG,QAAQ,IAAI,KAAK,OAAO;AAC3B,OAAG,MAAM,KAAK;AACd,OAAG,SAAS,KAAK;AACjB,OAAG,WAAW,KAAK;AACnB,OAAG,SAAS;AAEZ,OAAG,SAAS;AACZ,OAAG,YAAY;AACf,OAAG,YAAY;AACf,OAAG,YAAY,KAAK;AACpB,WAAO;AAAA,EACf;AACA;AACA,MAAM,MAAM,CAAC,QAAQ,UAAU,cAAc,gBAAgB,MAAM,IAAI,OAAO,UAAU,QAAQ,SAAS,CAAC;AAc9F,MAAC,aAA6B,oBAAI,GAAM,KAAK,MAAM,CAAC;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es37.js","sources":["../../src/utils/parsers/scs-parser.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { ContractId, Hbar, HbarUnit, Long } from '@hashgraph/sdk';\nimport {\n ContractCallData,\n ContractCreateData,\n ContractUpdateData,\n ContractDeleteData,\n} from '../transaction-parser-types';\nimport { Buffer } from 'buffer';\nimport { parseKey } from './parser-utils';\nimport { AccountId, FileId } from '@hashgraph/sdk';\n\nexport class SCSParser {\n static parseContractCall(\n body: proto.IContractCallTransactionBody\n ): ContractCallData | undefined {\n if (!body) return undefined;\n const hbarAmount = Hbar.fromTinybars(Long.fromValue(body.amount ?? 0));\n const data: ContractCallData = {\n contractId: new ContractId(\n body.contractID!.shardNum ?? 0,\n body.contractID!.realmNum ?? 0,\n body.contractID!.contractNum ?? 0\n ).toString(),\n gas: Long.fromValue(body.gas ?? 0).toNumber(),\n amount: parseFloat(hbarAmount.toString(HbarUnit.Hbar)),\n };\n if (body.functionParameters) {\n data.functionParameters = Buffer.from(body.functionParameters).toString(\n 'hex'\n );\n if (data.functionParameters.length >= 8) {\n data.functionName = data.functionParameters.substring(0, 8);\n }\n }\n return data;\n }\n\n static parseContractCreate(\n body: proto.IContractCreateTransactionBody\n ): ContractCreateData | undefined {\n if (!body) return undefined;\n const data: ContractCreateData = {};\n if (body.initialBalance) {\n data.initialBalance = Hbar.fromTinybars(\n Long.fromValue(body.initialBalance)\n ).toString(HbarUnit.Hbar);\n }\n if (body.gas) {\n data.gas = Long.fromValue(body.gas).toString();\n }\n if (body.adminKey) {\n data.adminKey = parseKey(body.adminKey);\n }\n if (body.constructorParameters) {\n data.constructorParameters = Buffer.from(\n body.constructorParameters\n ).toString('hex');\n }\n if (body.memo) {\n data.memo = body.memo;\n }\n if (body.autoRenewPeriod?.seconds) {\n data.autoRenewPeriod = Long.fromValue(\n body.autoRenewPeriod.seconds\n ).toString();\n }\n if (body.stakedAccountId) {\n data.stakedAccountId = new AccountId(\n body.stakedAccountId.shardNum ?? 0,\n body.stakedAccountId.realmNum ?? 0,\n body.stakedAccountId.accountNum ?? 0\n ).toString();\n } else if (body.stakedNodeId !== null && body.stakedNodeId !== undefined) {\n data.stakedNodeId = Long.fromValue(body.stakedNodeId).toString();\n }\n if (body.declineReward !== undefined) {\n data.declineReward = body.declineReward;\n }\n if (body.maxAutomaticTokenAssociations !== undefined) {\n data.maxAutomaticTokenAssociations = body.maxAutomaticTokenAssociations;\n }\n if (body.fileID) {\n data.initcodeSource = 'fileID';\n data.initcode = new FileId(\n body.fileID.shardNum ?? 0,\n body.fileID.realmNum ?? 0,\n body.fileID.fileNum ?? 0\n ).toString();\n } else if (body.initcode && body.initcode.length > 0) {\n data.initcodeSource = 'bytes';\n data.initcode = Buffer.from(body.initcode).toString('hex');\n }\n return data;\n }\n\n static parseContractUpdate(\n body: proto.IContractUpdateTransactionBody\n ): ContractUpdateData | undefined {\n if (!body) return undefined;\n const data: ContractUpdateData = {};\n if (body.contractID) {\n data.contractIdToUpdate = new ContractId(\n body.contractID.shardNum ?? 0,\n body.contractID.realmNum ?? 0,\n body.contractID.contractNum ?? 0\n ).toString();\n }\n if (body.adminKey) {\n data.adminKey = parseKey(body.adminKey);\n }\n if (body.expirationTime?.seconds) {\n data.expirationTime = `${Long.fromValue(\n body.expirationTime.seconds\n ).toString()}.${body.expirationTime.nanos}`;\n }\n if (body.autoRenewPeriod?.seconds) {\n data.autoRenewPeriod = Long.fromValue(\n body.autoRenewPeriod.seconds\n ).toString();\n }\n\n if (body.memo) {\n const memoAsAny = body.memo as any;\n if (memoAsAny && typeof memoAsAny === 'object' && memoAsAny.hasOwnProperty('value')) {\n const memoVal = memoAsAny.value;\n data.memo = (memoVal === null || memoVal === undefined) ? undefined : String(memoVal);\n } else if (typeof memoAsAny === 'string') {\n data.memo = memoAsAny;\n } else {\n data.memo = undefined;\n }\n } else {\n data.memo = undefined;\n }\n\n if (body.stakedAccountId) {\n data.stakedAccountId = new AccountId(\n body.stakedAccountId.shardNum ?? 0,\n body.stakedAccountId.realmNum ?? 0,\n body.stakedAccountId.accountNum ?? 0\n ).toString();\n data.stakedNodeId = undefined;\n } else if (\n body.stakedNodeId !== null &&\n body.stakedNodeId !== undefined &&\n Long.fromValue(body.stakedNodeId).notEquals(-1)\n ) {\n data.stakedNodeId = Long.fromValue(body.stakedNodeId).toString();\n data.stakedAccountId = undefined;\n } else {\n data.stakedNodeId = undefined;\n data.stakedAccountId = undefined;\n }\n if (body.declineReward?.value !== undefined) {\n data.declineReward = body.declineReward.value;\n }\n if (body.maxAutomaticTokenAssociations?.value !== undefined) {\n data.maxAutomaticTokenAssociations =\n body.maxAutomaticTokenAssociations.value;\n }\n if (body.autoRenewAccountId) {\n data.autoRenewAccountId = new AccountId(\n body.autoRenewAccountId.shardNum ?? 0,\n body.autoRenewAccountId.realmNum ?? 0,\n body.autoRenewAccountId.accountNum ?? 0\n ).toString();\n }\n return data;\n }\n\n static parseContractDelete(\n body: proto.IContractDeleteTransactionBody\n ): ContractDeleteData | undefined {\n if (!body) return undefined;\n const data: ContractDeleteData = {};\n if (body.contractID) {\n data.contractIdToDelete = new ContractId(\n body.contractID.shardNum ?? 0,\n body.contractID.realmNum ?? 0,\n body.contractID.contractNum ?? 0\n ).toString();\n }\n if (body.transferAccountID) {\n data.transferAccountId = new AccountId(\n body.transferAccountID.shardNum ?? 0,\n body.transferAccountID.realmNum ?? 0,\n body.transferAccountID.accountNum ?? 0\n ).toString();\n } else if (body.transferContractID) {\n data.transferContractId = new ContractId(\n body.transferContractID.shardNum ?? 0,\n body.transferContractID.realmNum ?? 0,\n body.transferContractID.contractNum ?? 0\n ).toString();\n }\n return data;\n }\n}\n"],"names":["Buffer"],"mappings":"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"}
|
|
@@ -1,94 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
class UtilParser {
|
|
2
|
+
static parseUtilPrng(body) {
|
|
3
|
+
if (!body) return void 0;
|
|
4
|
+
const data = {};
|
|
5
|
+
if (body.range && body.range !== 0) {
|
|
6
|
+
data.range = body.range;
|
|
6
7
|
}
|
|
7
|
-
return
|
|
8
|
+
return data;
|
|
8
9
|
}
|
|
9
|
-
if (typeof value === "string" && value.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)) {
|
|
10
|
-
const result = new Uint8Array((value.length - 2) / 2);
|
|
11
|
-
let offset = 2;
|
|
12
|
-
for (let i = 0; i < result.length; i++) {
|
|
13
|
-
result[i] = parseInt(value.substring(offset, offset + 2), 16);
|
|
14
|
-
offset += 2;
|
|
15
|
-
}
|
|
16
|
-
return result;
|
|
17
|
-
}
|
|
18
|
-
assertArgument(false, "invalid BytesLike value", name || "value", value);
|
|
19
|
-
}
|
|
20
|
-
function getBytes(value, name) {
|
|
21
|
-
return _getBytes(value, name, false);
|
|
22
|
-
}
|
|
23
|
-
function getBytesCopy(value, name) {
|
|
24
|
-
return _getBytes(value, name, true);
|
|
25
|
-
}
|
|
26
|
-
function isHexString(value, length) {
|
|
27
|
-
if (typeof value !== "string" || !value.match(/^0x[0-9A-Fa-f]*$/)) {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
if (typeof length === "number" && value.length !== 2 + 2 * length) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
if (length === true && value.length % 2 !== 0) {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
38
|
-
const HexCharacters = "0123456789abcdef";
|
|
39
|
-
function hexlify(data) {
|
|
40
|
-
const bytes = getBytes(data);
|
|
41
|
-
let result = "0x";
|
|
42
|
-
for (let i = 0; i < bytes.length; i++) {
|
|
43
|
-
const v = bytes[i];
|
|
44
|
-
result += HexCharacters[(v & 240) >> 4] + HexCharacters[v & 15];
|
|
45
|
-
}
|
|
46
|
-
return result;
|
|
47
|
-
}
|
|
48
|
-
function concat(datas) {
|
|
49
|
-
return "0x" + datas.map((d) => hexlify(d).substring(2)).join("");
|
|
50
|
-
}
|
|
51
|
-
function dataSlice(data, start, end) {
|
|
52
|
-
const bytes = getBytes(data);
|
|
53
|
-
if (end != null && end > bytes.length) {
|
|
54
|
-
assert(false, "cannot slice beyond data bounds", "BUFFER_OVERRUN", {
|
|
55
|
-
buffer: bytes,
|
|
56
|
-
length: bytes.length,
|
|
57
|
-
offset: end
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
return hexlify(bytes.slice(start == null ? 0 : start, end == null ? bytes.length : end));
|
|
61
|
-
}
|
|
62
|
-
function zeroPad(data, length, left) {
|
|
63
|
-
const bytes = getBytes(data);
|
|
64
|
-
assert(length >= bytes.length, "padding exceeds data length", "BUFFER_OVERRUN", {
|
|
65
|
-
buffer: new Uint8Array(bytes),
|
|
66
|
-
length,
|
|
67
|
-
offset: length + 1
|
|
68
|
-
});
|
|
69
|
-
const result = new Uint8Array(length);
|
|
70
|
-
result.fill(0);
|
|
71
|
-
if (left) {
|
|
72
|
-
result.set(bytes, length - bytes.length);
|
|
73
|
-
} else {
|
|
74
|
-
result.set(bytes, 0);
|
|
75
|
-
}
|
|
76
|
-
return hexlify(result);
|
|
77
|
-
}
|
|
78
|
-
function zeroPadValue(data, length) {
|
|
79
|
-
return zeroPad(data, length, true);
|
|
80
|
-
}
|
|
81
|
-
function zeroPadBytes(data, length) {
|
|
82
|
-
return zeroPad(data, length, false);
|
|
83
10
|
}
|
|
84
11
|
export {
|
|
85
|
-
|
|
86
|
-
dataSlice,
|
|
87
|
-
getBytes,
|
|
88
|
-
getBytesCopy,
|
|
89
|
-
hexlify,
|
|
90
|
-
isHexString,
|
|
91
|
-
zeroPadBytes,
|
|
92
|
-
zeroPadValue
|
|
12
|
+
UtilParser
|
|
93
13
|
};
|
|
94
14
|
//# sourceMappingURL=standards-sdk.es38.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es38.js","sources":["../../
|
|
1
|
+
{"version":3,"file":"standards-sdk.es38.js","sources":["../../src/utils/parsers/util-parser.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { UtilPrngData } from '../transaction-parser-types';\n\nexport class UtilParser {\n static parseUtilPrng(\n body: proto.IUtilPrngTransactionBody\n ): UtilPrngData | undefined {\n if (!body) return undefined;\n const data: UtilPrngData = {};\n if (body.range && body.range !== 0) {\n data.range = body.range;\n }\n return data;\n }\n}\n"],"names":[],"mappings":"AAGO,MAAM,WAAW;AAAA,EACtB,OAAO,cACL,MAC0B;AACtB,QAAA,CAAC,KAAa,QAAA;AAClB,UAAM,OAAqB,CAAC;AAC5B,QAAI,KAAK,SAAS,KAAK,UAAU,GAAG;AAClC,WAAK,QAAQ,KAAK;AAAA,IAAA;AAEb,WAAA;AAAA,EAAA;AAEX;"}
|