@hashgraphonline/standards-sdk 0.0.67 → 0.0.69
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/hcs-10/base-client.d.ts +20 -5
- package/dist/es/hcs-10/base-client.d.ts.map +1 -1
- package/dist/es/hcs-10/browser.d.ts.map +1 -1
- package/dist/es/hcs-10/sdk.d.ts +12 -2
- package/dist/es/hcs-10/sdk.d.ts.map +1 -1
- package/dist/es/standards-sdk.es102.js +1 -1
- package/dist/es/standards-sdk.es104.js +1 -1
- package/dist/es/standards-sdk.es105.js +6 -6
- package/dist/es/standards-sdk.es106.js +3 -3
- package/dist/es/standards-sdk.es113.js +1 -1
- package/dist/es/standards-sdk.es114.js +2 -2
- package/dist/es/standards-sdk.es12.js +2 -2
- package/dist/es/standards-sdk.es14.js +1 -1
- package/dist/es/standards-sdk.es17.js +1 -1
- package/dist/es/standards-sdk.es18.js +2 -2
- package/dist/es/standards-sdk.es20.js +10 -10
- package/dist/es/standards-sdk.es22.js +36 -3
- package/dist/es/standards-sdk.es22.js.map +1 -1
- package/dist/es/standards-sdk.es23.js +48 -4167
- package/dist/es/standards-sdk.es23.js.map +1 -1
- package/dist/es/standards-sdk.es24.js +6627 -36
- package/dist/es/standards-sdk.es24.js.map +1 -1
- package/dist/es/standards-sdk.es25.js +3 -48
- package/dist/es/standards-sdk.es25.js.map +1 -1
- package/dist/es/standards-sdk.es26.js +2 -6627
- package/dist/es/standards-sdk.es26.js.map +1 -1
- package/dist/es/standards-sdk.es27.js +5 -2
- package/dist/es/standards-sdk.es27.js.map +1 -1
- package/dist/es/standards-sdk.es28.js +4167 -5
- package/dist/es/standards-sdk.es28.js.map +1 -1
- package/dist/es/standards-sdk.es29.js +419 -3
- package/dist/es/standards-sdk.es29.js.map +1 -1
- package/dist/es/standards-sdk.es30.js +1 -163
- package/dist/es/standards-sdk.es30.js.map +1 -1
- package/dist/es/standards-sdk.es31.js +112 -93
- package/dist/es/standards-sdk.es31.js.map +1 -1
- package/dist/es/standards-sdk.es32.js +3 -2
- package/dist/es/standards-sdk.es32.js.map +1 -1
- package/dist/es/standards-sdk.es33.js +163 -15
- package/dist/es/standards-sdk.es33.js.map +1 -1
- package/dist/es/standards-sdk.es34.js +2 -409
- package/dist/es/standards-sdk.es34.js.map +1 -1
- package/dist/es/standards-sdk.es35.js +189 -413
- package/dist/es/standards-sdk.es35.js.map +1 -1
- package/dist/es/standards-sdk.es36.js +438 -2
- package/dist/es/standards-sdk.es36.js.map +1 -1
- package/dist/es/standards-sdk.es37.js +20 -115
- package/dist/es/standards-sdk.es37.js.map +1 -1
- package/dist/es/standards-sdk.es38.js +139 -2282
- package/dist/es/standards-sdk.es38.js.map +1 -1
- package/dist/es/standards-sdk.es39.js +17 -3
- package/dist/es/standards-sdk.es39.js.map +1 -1
- package/dist/es/standards-sdk.es40.js +29 -2
- package/dist/es/standards-sdk.es40.js.map +1 -1
- package/dist/es/standards-sdk.es41.js +25 -80
- package/dist/es/standards-sdk.es41.js.map +1 -1
- package/dist/es/standards-sdk.es42.js +20 -22
- package/dist/es/standards-sdk.es42.js.map +1 -1
- package/dist/es/standards-sdk.es43.js +38 -142
- package/dist/es/standards-sdk.es43.js.map +1 -1
- package/dist/es/standards-sdk.es44.js +13 -86
- package/dist/es/standards-sdk.es44.js.map +1 -1
- package/dist/es/standards-sdk.es45.js +55 -168
- package/dist/es/standards-sdk.es45.js.map +1 -1
- package/dist/es/standards-sdk.es46.js +1288 -5
- package/dist/es/standards-sdk.es46.js.map +1 -1
- package/dist/es/standards-sdk.es47.js +132 -127
- package/dist/es/standards-sdk.es47.js.map +1 -1
- package/dist/es/standards-sdk.es48.js +81 -185
- package/dist/es/standards-sdk.es48.js.map +1 -1
- package/dist/es/standards-sdk.es49.js +75 -429
- package/dist/es/standards-sdk.es49.js.map +1 -1
- package/dist/es/standards-sdk.es5.js +67 -18
- package/dist/es/standards-sdk.es5.js.map +1 -1
- package/dist/es/standards-sdk.es50.js +28 -21
- package/dist/es/standards-sdk.es50.js.map +1 -1
- package/dist/es/standards-sdk.es51.js +5 -138
- package/dist/es/standards-sdk.es51.js.map +1 -1
- package/dist/es/standards-sdk.es52.js +154 -13
- package/dist/es/standards-sdk.es52.js.map +1 -1
- package/dist/es/standards-sdk.es53.js +21 -27
- package/dist/es/standards-sdk.es53.js.map +1 -1
- package/dist/es/standards-sdk.es54.js +784 -20
- package/dist/es/standards-sdk.es54.js.map +1 -1
- package/dist/es/standards-sdk.es55.js +170 -17
- package/dist/es/standards-sdk.es55.js.map +1 -1
- package/dist/es/standards-sdk.es56.js +134 -35
- package/dist/es/standards-sdk.es56.js.map +1 -1
- package/dist/es/standards-sdk.es57.js +3 -17
- package/dist/es/standards-sdk.es57.js.map +1 -1
- package/dist/es/standards-sdk.es58.js +11 -51
- package/dist/es/standards-sdk.es58.js.map +1 -1
- package/dist/es/standards-sdk.es59.js +22 -1284
- package/dist/es/standards-sdk.es59.js.map +1 -1
- package/dist/es/standards-sdk.es60.js +23 -29
- package/dist/es/standards-sdk.es60.js.map +1 -1
- package/dist/es/standards-sdk.es61.js +37 -158
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es62.js +346 -775
- package/dist/es/standards-sdk.es62.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +5 -26
- package/dist/es/standards-sdk.es63.js.map +1 -1
- package/dist/es/standards-sdk.es64.js +177 -24
- package/dist/es/standards-sdk.es64.js.map +1 -1
- package/dist/es/standards-sdk.es65.js +79 -36
- package/dist/es/standards-sdk.es65.js.map +1 -1
- package/dist/es/standards-sdk.es66.js +112 -19
- package/dist/es/standards-sdk.es66.js.map +1 -1
- package/dist/es/standards-sdk.es67.js +42 -354
- package/dist/es/standards-sdk.es67.js.map +1 -1
- package/dist/es/standards-sdk.es68.js +9 -5
- package/dist/es/standards-sdk.es68.js.map +1 -1
- package/dist/es/standards-sdk.es69.js +82 -164
- package/dist/es/standards-sdk.es69.js.map +1 -1
- package/dist/es/standards-sdk.es7.js +52 -7
- package/dist/es/standards-sdk.es7.js.map +1 -1
- package/dist/es/standards-sdk.es70.js +3 -80
- package/dist/es/standards-sdk.es70.js.map +1 -1
- package/dist/es/standards-sdk.es71.js +2 -114
- package/dist/es/standards-sdk.es71.js.map +1 -1
- package/dist/es/standards-sdk.es72.js +104 -43
- package/dist/es/standards-sdk.es72.js.map +1 -1
- package/dist/es/standards-sdk.es73.js +72 -8
- package/dist/es/standards-sdk.es73.js.map +1 -1
- package/dist/es/standards-sdk.es74.js +5 -96
- package/dist/es/standards-sdk.es74.js.map +1 -1
- package/dist/es/standards-sdk.es75.js +4 -3
- package/dist/es/standards-sdk.es75.js.map +1 -1
- package/dist/es/standards-sdk.es76.js +221 -2
- package/dist/es/standards-sdk.es76.js.map +1 -1
- package/dist/es/standards-sdk.es77.js +53 -108
- package/dist/es/standards-sdk.es77.js.map +1 -1
- package/dist/es/standards-sdk.es78.js +68 -73
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +100 -5
- package/dist/es/standards-sdk.es79.js.map +1 -1
- package/dist/es/standards-sdk.es8.js +17 -3
- package/dist/es/standards-sdk.es8.js.map +1 -1
- package/dist/es/standards-sdk.es80.js +2 -5
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es81.js +15 -220
- package/dist/es/standards-sdk.es81.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +403 -52
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +32 -69
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +57 -26
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +45 -58
- package/dist/es/standards-sdk.es85.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +8 -48
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +63 -8
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +5 -64
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +15 -6
- 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 +7 -15
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +44 -6
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +2 -45
- package/dist/es/standards-sdk.es92.js.map +1 -1
- package/dist/es/standards-sdk.es93.js +136 -2
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es94.js +162 -126
- package/dist/es/standards-sdk.es94.js.map +1 -1
- package/dist/es/standards-sdk.es95.js +2281 -171
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +1 -1
- package/dist/es/standards-sdk.es99.js +3 -3
- package/dist/umd/hcs-10/base-client.d.ts +20 -5
- package/dist/umd/hcs-10/base-client.d.ts.map +1 -1
- package/dist/umd/hcs-10/browser.d.ts.map +1 -1
- package/dist/umd/hcs-10/sdk.d.ts +12 -2
- package/dist/umd/hcs-10/sdk.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/package.json +1 -1
|
@@ -1,94 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
return value;
|
|
1
|
+
import { toUtf8Bytes, toUtf8String } from "./standards-sdk.es56.js";
|
|
2
|
+
import { Typed } from "./standards-sdk.es54.js";
|
|
3
|
+
import { DynamicBytesCoder } from "./standards-sdk.es40.js";
|
|
4
|
+
class StringCoder extends DynamicBytesCoder {
|
|
5
|
+
constructor(localName) {
|
|
6
|
+
super("string", localName);
|
|
8
7
|
}
|
|
9
|
-
|
|
10
|
-
|
|
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;
|
|
8
|
+
defaultValue() {
|
|
9
|
+
return "";
|
|
17
10
|
}
|
|
18
|
-
|
|
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;
|
|
11
|
+
encode(writer, _value) {
|
|
12
|
+
return super.encode(writer, toUtf8Bytes(Typed.dereference(_value, "string")));
|
|
32
13
|
}
|
|
33
|
-
|
|
34
|
-
return
|
|
14
|
+
decode(reader) {
|
|
15
|
+
return toUtf8String(super.decode(reader));
|
|
35
16
|
}
|
|
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
17
|
}
|
|
84
18
|
export {
|
|
85
|
-
|
|
86
|
-
dataSlice,
|
|
87
|
-
getBytes,
|
|
88
|
-
getBytesCopy,
|
|
89
|
-
hexlify,
|
|
90
|
-
isHexString,
|
|
91
|
-
zeroPadBytes,
|
|
92
|
-
zeroPadValue
|
|
19
|
+
StringCoder
|
|
93
20
|
};
|
|
94
21
|
//# sourceMappingURL=standards-sdk.es44.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es44.js","sources":["../../node_modules/ethers/lib.esm/
|
|
1
|
+
{"version":3,"file":"standards-sdk.es44.js","sources":["../../node_modules/ethers/lib.esm/abi/coders/string.js"],"sourcesContent":["import { toUtf8Bytes, toUtf8String } from \"../../utils/utf8.js\";\nimport { Typed } from \"../typed.js\";\nimport { DynamicBytesCoder } from \"./bytes.js\";\n/**\n * @_ignore\n */\nexport class StringCoder extends DynamicBytesCoder {\n constructor(localName) {\n super(\"string\", localName);\n }\n defaultValue() {\n return \"\";\n }\n encode(writer, _value) {\n return super.encode(writer, toUtf8Bytes(Typed.dereference(_value, \"string\")));\n }\n decode(reader) {\n return toUtf8String(super.decode(reader));\n }\n}\n//# sourceMappingURL=string.js.map"],"names":[],"mappings":";;;AAMO,MAAM,oBAAoB,kBAAkB;AAAA,EAC/C,YAAY,WAAW;AACnB,UAAM,UAAU,SAAS;AAAA,EACjC;AAAA,EACI,eAAe;AACX,WAAO;AAAA,EACf;AAAA,EACI,OAAO,QAAQ,QAAQ;AACnB,WAAO,MAAM,OAAO,QAAQ,YAAY,MAAM,YAAY,QAAQ,QAAQ,CAAC,CAAC;AAAA,EACpF;AAAA,EACI,OAAO,QAAQ;AACX,WAAO,aAAa,MAAM,OAAO,MAAM,CAAC;AAAA,EAChD;AACA;","x_google_ignoreList":[0]}
|
|
@@ -1,177 +1,64 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
let t = _0n;
|
|
16
|
-
for (let j = 0; j < 7; j++) {
|
|
17
|
-
R = (R << _1n ^ (R >> _7n) * _0x71n) % _256n;
|
|
18
|
-
if (R & _2n)
|
|
19
|
-
t ^= _1n << (_1n << /* @__PURE__ */ BigInt(j)) - _1n;
|
|
20
|
-
}
|
|
21
|
-
_SHA3_IOTA.push(t);
|
|
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
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
+
import { defineProperties } from "./standards-sdk.es50.js";
|
|
5
|
+
import { Typed } from "./standards-sdk.es54.js";
|
|
6
|
+
import { Coder } from "./standards-sdk.es36.js";
|
|
7
|
+
import { pack, unpack } from "./standards-sdk.es38.js";
|
|
8
|
+
class TupleCoder extends Coder {
|
|
9
|
+
constructor(coders, localName) {
|
|
10
|
+
let dynamic = false;
|
|
11
|
+
const types = [];
|
|
12
|
+
coders.forEach((coder) => {
|
|
13
|
+
if (coder.dynamic) {
|
|
14
|
+
dynamic = true;
|
|
41
15
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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;
|
|
16
|
+
types.push(coder.type);
|
|
17
|
+
});
|
|
18
|
+
const type = "tuple(" + types.join(",") + ")";
|
|
19
|
+
super("tuple", type, localName, dynamic);
|
|
20
|
+
__publicField(this, "coders");
|
|
21
|
+
defineProperties(this, { coders: Object.freeze(coders.slice()) });
|
|
130
22
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
23
|
+
defaultValue() {
|
|
24
|
+
const values = [];
|
|
25
|
+
this.coders.forEach((coder) => {
|
|
26
|
+
values.push(coder.defaultValue());
|
|
27
|
+
});
|
|
28
|
+
const uniqueNames = this.coders.reduce((accum, coder) => {
|
|
29
|
+
const name = coder.localName;
|
|
30
|
+
if (name) {
|
|
31
|
+
if (!accum[name]) {
|
|
32
|
+
accum[name] = 0;
|
|
33
|
+
}
|
|
34
|
+
accum[name]++;
|
|
35
|
+
}
|
|
36
|
+
return accum;
|
|
37
|
+
}, {});
|
|
38
|
+
this.coders.forEach((coder, index) => {
|
|
39
|
+
let name = coder.localName;
|
|
40
|
+
if (!name || uniqueNames[name] !== 1) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (name === "length") {
|
|
44
|
+
name = "_length";
|
|
45
|
+
}
|
|
46
|
+
if (values[name] != null) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
values[name] = values[index];
|
|
50
|
+
});
|
|
51
|
+
return Object.freeze(values);
|
|
150
52
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
this.
|
|
53
|
+
encode(writer, _value) {
|
|
54
|
+
const value = Typed.dereference(_value, "tuple");
|
|
55
|
+
return pack(writer, this.coders, value);
|
|
154
56
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));
|
|
158
|
-
to.state32.set(this.state32);
|
|
159
|
-
to.pos = this.pos;
|
|
160
|
-
to.posOut = this.posOut;
|
|
161
|
-
to.finished = this.finished;
|
|
162
|
-
to.rounds = rounds;
|
|
163
|
-
to.suffix = suffix;
|
|
164
|
-
to.outputLen = outputLen;
|
|
165
|
-
to.enableXOF = enableXOF;
|
|
166
|
-
to.destroyed = this.destroyed;
|
|
167
|
-
return to;
|
|
57
|
+
decode(reader) {
|
|
58
|
+
return unpack(reader, this.coders);
|
|
168
59
|
}
|
|
169
60
|
}
|
|
170
|
-
const gen = (suffix, blockLen, outputLen) => wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));
|
|
171
|
-
const keccak_256 = /* @__PURE__ */ gen(1, 136, 256 / 8);
|
|
172
61
|
export {
|
|
173
|
-
|
|
174
|
-
keccakP,
|
|
175
|
-
keccak_256
|
|
62
|
+
TupleCoder
|
|
176
63
|
};
|
|
177
64
|
//# sourceMappingURL=standards-sdk.es45.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es45.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":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es45.js","sources":["../../node_modules/ethers/lib.esm/abi/coders/tuple.js"],"sourcesContent":["import { defineProperties } from \"../../utils/properties.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder } from \"./abstract-coder.js\";\nimport { pack, unpack } from \"./array.js\";\n/**\n * @_ignore\n */\nexport class TupleCoder extends Coder {\n coders;\n constructor(coders, localName) {\n let dynamic = false;\n const types = [];\n coders.forEach((coder) => {\n if (coder.dynamic) {\n dynamic = true;\n }\n types.push(coder.type);\n });\n const type = (\"tuple(\" + types.join(\",\") + \")\");\n super(\"tuple\", type, localName, dynamic);\n defineProperties(this, { coders: Object.freeze(coders.slice()) });\n }\n defaultValue() {\n const values = [];\n this.coders.forEach((coder) => {\n values.push(coder.defaultValue());\n });\n // We only output named properties for uniquely named coders\n const uniqueNames = this.coders.reduce((accum, coder) => {\n const name = coder.localName;\n if (name) {\n if (!accum[name]) {\n accum[name] = 0;\n }\n accum[name]++;\n }\n return accum;\n }, {});\n // Add named values\n this.coders.forEach((coder, index) => {\n let name = coder.localName;\n if (!name || uniqueNames[name] !== 1) {\n return;\n }\n if (name === \"length\") {\n name = \"_length\";\n }\n if (values[name] != null) {\n return;\n }\n values[name] = values[index];\n });\n return Object.freeze(values);\n }\n encode(writer, _value) {\n const value = Typed.dereference(_value, \"tuple\");\n return pack(writer, this.coders, value);\n }\n decode(reader) {\n return unpack(reader, this.coders);\n }\n}\n//# sourceMappingURL=tuple.js.map"],"names":[],"mappings":";;;;;;;AAOO,MAAM,mBAAmB,MAAM;AAAA,EAElC,YAAY,QAAQ,WAAW;AAC3B,QAAI,UAAU;AACd,UAAM,QAAQ,CAAE;AAChB,WAAO,QAAQ,CAAC,UAAU;AACtB,UAAI,MAAM,SAAS;AACf,kBAAU;AAAA,MAC1B;AACY,YAAM,KAAK,MAAM,IAAI;AAAA,IACjC,CAAS;AACD,UAAM,OAAQ,WAAW,MAAM,KAAK,GAAG,IAAI;AAC3C,UAAM,SAAS,MAAM,WAAW,OAAO;AAX3C;AAYI,qBAAiB,MAAM,EAAE,QAAQ,OAAO,OAAO,OAAO,MAAO,CAAA,GAAG;AAAA,EACxE;AAAA,EACI,eAAe;AACX,UAAM,SAAS,CAAE;AACjB,SAAK,OAAO,QAAQ,CAAC,UAAU;AAC3B,aAAO,KAAK,MAAM,cAAc;AAAA,IAC5C,CAAS;AAED,UAAM,cAAc,KAAK,OAAO,OAAO,CAAC,OAAO,UAAU;AACrD,YAAM,OAAO,MAAM;AACnB,UAAI,MAAM;AACN,YAAI,CAAC,MAAM,IAAI,GAAG;AACd,gBAAM,IAAI,IAAI;AAAA,QAClC;AACgB,cAAM,IAAI;AAAA,MAC1B;AACY,aAAO;AAAA,IACV,GAAE,EAAE;AAEL,SAAK,OAAO,QAAQ,CAAC,OAAO,UAAU;AAClC,UAAI,OAAO,MAAM;AACjB,UAAI,CAAC,QAAQ,YAAY,IAAI,MAAM,GAAG;AAClC;AAAA,MAChB;AACY,UAAI,SAAS,UAAU;AACnB,eAAO;AAAA,MACvB;AACY,UAAI,OAAO,IAAI,KAAK,MAAM;AACtB;AAAA,MAChB;AACY,aAAO,IAAI,IAAI,OAAO,KAAK;AAAA,IACvC,CAAS;AACD,WAAO,OAAO,OAAO,MAAM;AAAA,EACnC;AAAA,EACI,OAAO,QAAQ,QAAQ;AACnB,UAAM,QAAQ,MAAM,YAAY,QAAQ,OAAO;AAC/C,WAAO,KAAK,QAAQ,KAAK,QAAQ,KAAK;AAAA,EAC9C;AAAA,EACI,OAAO,QAAQ;AACX,WAAO,OAAO,QAAQ,KAAK,MAAM;AAAA,EACzC;AACA;","x_google_ignoreList":[0]}
|