@hashgraphonline/standards-sdk 0.0.79 → 0.0.80
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/browser.d.ts.map +1 -1
- package/dist/es/hcs-10/sdk.d.ts +10 -1
- package/dist/es/hcs-10/sdk.d.ts.map +1 -1
- package/dist/es/standards-sdk.es100.js +2 -29
- package/dist/es/standards-sdk.es100.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +15 -28
- package/dist/es/standards-sdk.es101.js.map +1 -1
- package/dist/es/standards-sdk.es102.js +404 -16
- package/dist/es/standards-sdk.es102.js.map +1 -1
- package/dist/es/standards-sdk.es103.js +168 -38
- package/dist/es/standards-sdk.es103.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +138 -13
- package/dist/es/standards-sdk.es104.js.map +1 -1
- package/dist/es/standards-sdk.es105.js +3 -61
- package/dist/es/standards-sdk.es105.js.map +1 -1
- package/dist/es/standards-sdk.es106.js +2 -1289
- package/dist/es/standards-sdk.es106.js.map +1 -1
- package/dist/es/standards-sdk.es107.js +2 -32
- package/dist/es/standards-sdk.es107.js.map +1 -1
- package/dist/es/standards-sdk.es108.js +33 -5
- package/dist/es/standards-sdk.es108.js.map +1 -1
- package/dist/es/standards-sdk.es109.js +29 -155
- package/dist/es/standards-sdk.es109.js.map +1 -1
- package/dist/es/standards-sdk.es110.js +9 -793
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es111.js +30 -170
- package/dist/es/standards-sdk.es111.js.map +1 -1
- package/dist/es/standards-sdk.es112.js +2282 -143
- package/dist/es/standards-sdk.es112.js.map +1 -1
- package/dist/es/standards-sdk.es113.js +1 -1
- 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 +2 -2
- package/dist/es/standards-sdk.es18.js +3 -3
- package/dist/es/standards-sdk.es21.js +966 -1692
- package/dist/es/standards-sdk.es21.js.map +1 -1
- package/dist/es/standards-sdk.es22.js +121 -5544
- package/dist/es/standards-sdk.es22.js.map +1 -1
- package/dist/es/standards-sdk.es23.js +36 -5
- package/dist/es/standards-sdk.es23.js.map +1 -1
- package/dist/es/standards-sdk.es24.js +48 -36
- package/dist/es/standards-sdk.es24.js.map +1 -1
- package/dist/es/standards-sdk.es25.js +7163 -21
- package/dist/es/standards-sdk.es25.js.map +1 -1
- package/dist/es/standards-sdk.es26.js +1 -1
- package/dist/es/standards-sdk.es28.js +4086 -960
- package/dist/es/standards-sdk.es28.js.map +1 -1
- package/dist/es/standards-sdk.es29.js +5 -4167
- package/dist/es/standards-sdk.es29.js.map +1 -1
- package/dist/es/standards-sdk.es33.js +337 -7109
- package/dist/es/standards-sdk.es33.js.map +1 -1
- package/dist/es/standards-sdk.es34.js +5 -3
- package/dist/es/standards-sdk.es34.js.map +1 -1
- package/dist/es/standards-sdk.es35.js +179 -3
- package/dist/es/standards-sdk.es35.js.map +1 -1
- package/dist/es/standards-sdk.es36.js +68 -351
- package/dist/es/standards-sdk.es36.js.map +1 -1
- package/dist/es/standards-sdk.es37.js +113 -5
- package/dist/es/standards-sdk.es37.js.map +1 -1
- package/dist/es/standards-sdk.es38.js +43 -170
- package/dist/es/standards-sdk.es38.js.map +1 -1
- package/dist/es/standards-sdk.es39.js +9 -80
- package/dist/es/standards-sdk.es39.js.map +1 -1
- package/dist/es/standards-sdk.es4.js +1 -1
- package/dist/es/standards-sdk.es40.js +87 -104
- package/dist/es/standards-sdk.es40.js.map +1 -1
- package/dist/es/standards-sdk.es41.js +3 -51
- package/dist/es/standards-sdk.es41.js.map +1 -1
- package/dist/es/standards-sdk.es42.js +2 -10
- package/dist/es/standards-sdk.es42.js.map +1 -1
- package/dist/es/standards-sdk.es43.js +102 -86
- package/dist/es/standards-sdk.es43.js.map +1 -1
- package/dist/es/standards-sdk.es44.js +73 -3
- package/dist/es/standards-sdk.es44.js.map +1 -1
- package/dist/es/standards-sdk.es45.js +6 -2
- package/dist/es/standards-sdk.es45.js.map +1 -1
- package/dist/es/standards-sdk.es46.js +4 -112
- package/dist/es/standards-sdk.es46.js.map +1 -1
- package/dist/es/standards-sdk.es47.js +216 -69
- package/dist/es/standards-sdk.es47.js.map +1 -1
- package/dist/es/standards-sdk.es48.js +58 -6
- package/dist/es/standards-sdk.es48.js.map +1 -1
- package/dist/es/standards-sdk.es49.js +69 -5
- package/dist/es/standards-sdk.es49.js.map +1 -1
- package/dist/es/standards-sdk.es5.js +3 -3
- package/dist/es/standards-sdk.es50.js +3 -220
- package/dist/es/standards-sdk.es50.js.map +1 -1
- package/dist/es/standards-sdk.es51.js +3 -58
- package/dist/es/standards-sdk.es51.js.map +1 -1
- package/dist/es/standards-sdk.es52.js +163 -68
- package/dist/es/standards-sdk.es52.js.map +1 -1
- package/dist/es/standards-sdk.es53.js +30 -99
- package/dist/es/standards-sdk.es53.js.map +1 -1
- package/dist/es/standards-sdk.es54.js +63 -2
- package/dist/es/standards-sdk.es54.js.map +1 -1
- package/dist/es/standards-sdk.es55.js +49 -15
- package/dist/es/standards-sdk.es55.js.map +1 -1
- package/dist/es/standards-sdk.es56.js +8 -407
- package/dist/es/standards-sdk.es56.js.map +1 -1
- package/dist/es/standards-sdk.es57.js +55 -154
- package/dist/es/standards-sdk.es57.js.map +1 -1
- package/dist/es/standards-sdk.es58.js +6 -32
- package/dist/es/standards-sdk.es58.js.map +1 -1
- package/dist/es/standards-sdk.es59.js +13 -61
- package/dist/es/standards-sdk.es59.js.map +1 -1
- package/dist/es/standards-sdk.es60.js +7 -50
- package/dist/es/standards-sdk.es60.js.map +1 -1
- package/dist/es/standards-sdk.es61.js +45 -10
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es62.js +2 -65
- package/dist/es/standards-sdk.es62.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +135 -5
- package/dist/es/standards-sdk.es63.js.map +1 -1
- package/dist/es/standards-sdk.es64.js +170 -13
- package/dist/es/standards-sdk.es64.js.map +1 -1
- package/dist/es/standards-sdk.es65.js +2 -7
- package/dist/es/standards-sdk.es65.js.map +1 -1
- package/dist/es/standards-sdk.es66.js +12 -44
- package/dist/es/standards-sdk.es66.js.map +1 -1
- package/dist/es/standards-sdk.es67.js +13 -2
- package/dist/es/standards-sdk.es67.js.map +1 -1
- package/dist/es/standards-sdk.es68.js +7111 -111
- package/dist/es/standards-sdk.es68.js.map +1 -1
- package/dist/es/standards-sdk.es69.js +29 -169
- package/dist/es/standards-sdk.es69.js.map +1 -1
- package/dist/es/standards-sdk.es7.js +70 -2
- package/dist/es/standards-sdk.es7.js.map +1 -1
- package/dist/es/standards-sdk.es70.js +15 -2282
- package/dist/es/standards-sdk.es70.js.map +1 -1
- package/dist/es/standards-sdk.es71.js +4 -13
- package/dist/es/standards-sdk.es71.js.map +1 -1
- package/dist/es/standards-sdk.es72.js +4 -13
- package/dist/es/standards-sdk.es72.js.map +1 -1
- package/dist/es/standards-sdk.es73.js +15 -31
- package/dist/es/standards-sdk.es73.js.map +1 -1
- package/dist/es/standards-sdk.es74.js +4 -14
- package/dist/es/standards-sdk.es74.js.map +1 -1
- package/dist/es/standards-sdk.es75.js +39 -4
- package/dist/es/standards-sdk.es75.js.map +1 -1
- package/dist/es/standards-sdk.es76.js +40 -4
- package/dist/es/standards-sdk.es76.js.map +1 -1
- package/dist/es/standards-sdk.es77.js +36 -15
- package/dist/es/standards-sdk.es77.js.map +1 -1
- package/dist/es/standards-sdk.es78.js +78 -5
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +193 -37
- package/dist/es/standards-sdk.es79.js.map +1 -1
- package/dist/es/standards-sdk.es8.js +6 -6
- package/dist/es/standards-sdk.es8.js.map +1 -1
- package/dist/es/standards-sdk.es80.js +437 -39
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es81.js +24 -36
- package/dist/es/standards-sdk.es81.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +131 -70
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +18 -3
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +29 -2
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +29 -2
- package/dist/es/standards-sdk.es85.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +19 -32
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +41 -30
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +18 -9
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +59 -32
- package/dist/es/standards-sdk.es89.js.map +1 -1
- package/dist/es/standards-sdk.es90.js +1289 -2
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +131 -67
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +90 -22
- package/dist/es/standards-sdk.es92.js.map +1 -1
- package/dist/es/standards-sdk.es93.js +67 -131
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es94.js +27 -86
- package/dist/es/standards-sdk.es94.js.map +1 -1
- package/dist/es/standards-sdk.es95.js +5 -194
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es96.js +140 -419
- package/dist/es/standards-sdk.es96.js.map +1 -1
- package/dist/es/standards-sdk.es97.js +22 -24
- package/dist/es/standards-sdk.es97.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +777 -123
- package/dist/es/standards-sdk.es98.js.map +1 -1
- package/dist/es/standards-sdk.es99.js +100 -17
- package/dist/es/standards-sdk.es99.js.map +1 -1
- package/dist/umd/hcs-10/browser.d.ts.map +1 -1
- package/dist/umd/hcs-10/sdk.d.ts +10 -1
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es95.js","sources":["../../node_modules/ethers/lib.esm/abi/abi-coder.js"],"sourcesContent":["/**\n * When sending values to or receiving values from a [[Contract]], the\n * data is generally encoded using the [ABI standard](link-solc-abi).\n *\n * The AbiCoder provides a utility to encode values to ABI data and\n * decode values from ABI data.\n *\n * Most of the time, developers should favour the [[Contract]] class,\n * which further abstracts a lot of the finer details of ABI data.\n *\n * @_section api/abi/abi-coder:ABI Encoding\n */\n// See: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI\nimport { assertArgumentCount, assertArgument } from \"../utils/index.js\";\nimport { Reader, Writer } from \"./coders/abstract-coder.js\";\nimport { AddressCoder } from \"./coders/address.js\";\nimport { ArrayCoder } from \"./coders/array.js\";\nimport { BooleanCoder } from \"./coders/boolean.js\";\nimport { BytesCoder } from \"./coders/bytes.js\";\nimport { FixedBytesCoder } from \"./coders/fixed-bytes.js\";\nimport { NullCoder } from \"./coders/null.js\";\nimport { NumberCoder } from \"./coders/number.js\";\nimport { StringCoder } from \"./coders/string.js\";\nimport { TupleCoder } from \"./coders/tuple.js\";\nimport { ParamType } from \"./fragments.js\";\nimport { getAddress } from \"../address/index.js\";\nimport { getBytes, hexlify, makeError } from \"../utils/index.js\";\n// https://docs.soliditylang.org/en/v0.8.17/control-structures.html\nconst PanicReasons = new Map();\nPanicReasons.set(0x00, \"GENERIC_PANIC\");\nPanicReasons.set(0x01, \"ASSERT_FALSE\");\nPanicReasons.set(0x11, \"OVERFLOW\");\nPanicReasons.set(0x12, \"DIVIDE_BY_ZERO\");\nPanicReasons.set(0x21, \"ENUM_RANGE_ERROR\");\nPanicReasons.set(0x22, \"BAD_STORAGE_DATA\");\nPanicReasons.set(0x31, \"STACK_UNDERFLOW\");\nPanicReasons.set(0x32, \"ARRAY_RANGE_ERROR\");\nPanicReasons.set(0x41, \"OUT_OF_MEMORY\");\nPanicReasons.set(0x51, \"UNINITIALIZED_FUNCTION_CALL\");\nconst paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);\nconst paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);\nlet defaultCoder = null;\nlet defaultMaxInflation = 1024;\nfunction getBuiltinCallException(action, tx, data, abiCoder) {\n let message = \"missing revert data\";\n let reason = null;\n const invocation = null;\n let revert = null;\n if (data) {\n message = \"execution reverted\";\n const bytes = getBytes(data);\n data = hexlify(data);\n if (bytes.length === 0) {\n message += \" (no data present; likely require(false) occurred\";\n reason = \"require(false)\";\n }\n else if (bytes.length % 32 !== 4) {\n message += \" (could not decode reason; invalid data length)\";\n }\n else if (hexlify(bytes.slice(0, 4)) === \"0x08c379a0\") {\n // Error(string)\n try {\n reason = abiCoder.decode([\"string\"], bytes.slice(4))[0];\n revert = {\n signature: \"Error(string)\",\n name: \"Error\",\n args: [reason]\n };\n message += `: ${JSON.stringify(reason)}`;\n }\n catch (error) {\n message += \" (could not decode reason; invalid string data)\";\n }\n }\n else if (hexlify(bytes.slice(0, 4)) === \"0x4e487b71\") {\n // Panic(uint256)\n try {\n const code = Number(abiCoder.decode([\"uint256\"], bytes.slice(4))[0]);\n revert = {\n signature: \"Panic(uint256)\",\n name: \"Panic\",\n args: [code]\n };\n reason = `Panic due to ${PanicReasons.get(code) || \"UNKNOWN\"}(${code})`;\n message += `: ${reason}`;\n }\n catch (error) {\n message += \" (could not decode panic code)\";\n }\n }\n else {\n message += \" (unknown custom error)\";\n }\n }\n const transaction = {\n to: (tx.to ? getAddress(tx.to) : null),\n data: (tx.data || \"0x\")\n };\n if (tx.from) {\n transaction.from = getAddress(tx.from);\n }\n return makeError(message, \"CALL_EXCEPTION\", {\n action, data, reason, transaction, invocation, revert\n });\n}\n/**\n * The **AbiCoder** is a low-level class responsible for encoding JavaScript\n * values into binary data and decoding binary data into JavaScript values.\n */\nexport class AbiCoder {\n #getCoder(param) {\n if (param.isArray()) {\n return new ArrayCoder(this.#getCoder(param.arrayChildren), param.arrayLength, param.name);\n }\n if (param.isTuple()) {\n return new TupleCoder(param.components.map((c) => this.#getCoder(c)), param.name);\n }\n switch (param.baseType) {\n case \"address\":\n return new AddressCoder(param.name);\n case \"bool\":\n return new BooleanCoder(param.name);\n case \"string\":\n return new StringCoder(param.name);\n case \"bytes\":\n return new BytesCoder(param.name);\n case \"\":\n return new NullCoder(param.name);\n }\n // u?int[0-9]*\n let match = param.type.match(paramTypeNumber);\n if (match) {\n let size = parseInt(match[2] || \"256\");\n assertArgument(size !== 0 && size <= 256 && (size % 8) === 0, \"invalid \" + match[1] + \" bit length\", \"param\", param);\n return new NumberCoder(size / 8, (match[1] === \"int\"), param.name);\n }\n // bytes[0-9]+\n match = param.type.match(paramTypeBytes);\n if (match) {\n let size = parseInt(match[1]);\n assertArgument(size !== 0 && size <= 32, \"invalid bytes length\", \"param\", param);\n return new FixedBytesCoder(size, param.name);\n }\n assertArgument(false, \"invalid type\", \"type\", param.type);\n }\n /**\n * Get the default values for the given %%types%%.\n *\n * For example, a ``uint`` is by default ``0`` and ``bool``\n * is by default ``false``.\n */\n getDefaultValue(types) {\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.defaultValue();\n }\n /**\n * Encode the %%values%% as the %%types%% into ABI data.\n *\n * @returns DataHexstring\n */\n encode(types, values) {\n assertArgumentCount(values.length, types.length, \"types/values length mismatch\");\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = (new TupleCoder(coders, \"_\"));\n const writer = new Writer();\n coder.encode(writer, values);\n return writer.data;\n }\n /**\n * Decode the ABI %%data%% as the %%types%% into values.\n *\n * If %%loose%% decoding is enabled, then strict padding is\n * not enforced. Some older versions of Solidity incorrectly\n * padded event data emitted from ``external`` functions.\n */\n decode(types, data, loose) {\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.decode(new Reader(data, loose, defaultMaxInflation));\n }\n static _setDefaultMaxInflation(value) {\n assertArgument(typeof (value) === \"number\" && Number.isInteger(value), \"invalid defaultMaxInflation factor\", \"value\", value);\n defaultMaxInflation = value;\n }\n /**\n * Returns the shared singleton instance of a default [[AbiCoder]].\n *\n * On the first call, the instance is created internally.\n */\n static defaultAbiCoder() {\n if (defaultCoder == null) {\n defaultCoder = new AbiCoder();\n }\n return defaultCoder;\n }\n /**\n * Returns an ethers-compatible [[CallExceptionError]] Error for the given\n * result %%data%% for the [[CallExceptionAction]] %%action%% against\n * the Transaction %%tx%%.\n */\n static getBuiltinCallException(action, tx, data) {\n return getBuiltinCallException(action, tx, data, AbiCoder.defaultAbiCoder());\n }\n}\n//# sourceMappingURL=abi-coder.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es95.js","sources":["../../node_modules/ethers/lib.esm/hash/id.js"],"sourcesContent":["import { keccak256 } from \"../crypto/index.js\";\nimport { toUtf8Bytes } from \"../utils/index.js\";\n/**\n * A simple hashing function which operates on UTF-8 strings to\n * compute an 32-byte identifier.\n *\n * This simply computes the [UTF-8 bytes](toUtf8Bytes) and computes\n * the [[keccak256]].\n *\n * @example:\n * id(\"hello world\")\n * //_result:\n */\nexport function id(value) {\n return keccak256(toUtf8Bytes(value));\n}\n//# sourceMappingURL=id.js.map"],"names":[],"mappings":";;AAaO,SAAS,GAAG,OAAO;AACtB,SAAO,UAAU,YAAY,KAAK,CAAC;AACvC;","x_google_ignoreList":[0]}
|
|
@@ -1,441 +1,162 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
import { defineProperties } from "./standards-sdk.es107.js";
|
|
17
|
-
const WordSize = 32;
|
|
18
|
-
const Padding = new Uint8Array(WordSize);
|
|
19
|
-
const passProperties = ["then"];
|
|
20
|
-
const _guard = {};
|
|
21
|
-
const resultNames = /* @__PURE__ */ new WeakMap();
|
|
22
|
-
function getNames(result) {
|
|
23
|
-
return resultNames.get(result);
|
|
24
|
-
}
|
|
25
|
-
function setNames(result, names) {
|
|
26
|
-
resultNames.set(result, names);
|
|
27
|
-
}
|
|
28
|
-
function throwError(name, error) {
|
|
29
|
-
const wrapped = new Error(`deferred error during ABI decoding triggered accessing ${name}`);
|
|
30
|
-
wrapped.error = error;
|
|
31
|
-
throw wrapped;
|
|
32
|
-
}
|
|
33
|
-
function toObject(names, items, deep) {
|
|
34
|
-
if (names.indexOf(null) >= 0) {
|
|
35
|
-
return items.map((item, index) => {
|
|
36
|
-
if (item instanceof Result) {
|
|
37
|
-
return toObject(getNames(item), item, deep);
|
|
38
|
-
}
|
|
39
|
-
return item;
|
|
40
|
-
});
|
|
1
|
+
import { assertArgument, assert } from "./standards-sdk.es91.js";
|
|
2
|
+
const BN_0 = BigInt(0);
|
|
3
|
+
const BN_1 = BigInt(1);
|
|
4
|
+
const maxValue = 9007199254740991;
|
|
5
|
+
function fromTwos(_value, _width) {
|
|
6
|
+
const value = getUint(_value, "value");
|
|
7
|
+
const width = BigInt(getNumber(_width, "width"));
|
|
8
|
+
assert(value >> width === BN_0, "overflow", "NUMERIC_FAULT", {
|
|
9
|
+
operation: "fromTwos",
|
|
10
|
+
fault: "overflow",
|
|
11
|
+
value: _value
|
|
12
|
+
});
|
|
13
|
+
if (value >> width - BN_1) {
|
|
14
|
+
const mask2 = (BN_1 << width) - BN_1;
|
|
15
|
+
return -((~value & mask2) + BN_1);
|
|
41
16
|
}
|
|
42
|
-
return
|
|
43
|
-
let item = items.getValue(name);
|
|
44
|
-
if (!(name in accum)) {
|
|
45
|
-
if (deep && item instanceof Result) {
|
|
46
|
-
item = toObject(getNames(item), item, deep);
|
|
47
|
-
}
|
|
48
|
-
accum[name] = item;
|
|
49
|
-
}
|
|
50
|
-
return accum;
|
|
51
|
-
}, {});
|
|
17
|
+
return value;
|
|
52
18
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
items = args;
|
|
64
|
-
names = [];
|
|
65
|
-
wrap = false;
|
|
66
|
-
}
|
|
67
|
-
super(items.length);
|
|
68
|
-
// No longer used; but cannot be removed as it will remove the
|
|
69
|
-
// #private field from the .d.ts which may break backwards
|
|
70
|
-
// compatibility
|
|
71
|
-
__privateAdd(this, _names);
|
|
72
|
-
items.forEach((item, index) => {
|
|
73
|
-
this[index] = item;
|
|
19
|
+
function toTwos(_value, _width) {
|
|
20
|
+
let value = getBigInt(_value, "value");
|
|
21
|
+
const width = BigInt(getNumber(_width, "width"));
|
|
22
|
+
const limit = BN_1 << width - BN_1;
|
|
23
|
+
if (value < BN_0) {
|
|
24
|
+
value = -value;
|
|
25
|
+
assert(value <= limit, "too low", "NUMERIC_FAULT", {
|
|
26
|
+
operation: "toTwos",
|
|
27
|
+
fault: "overflow",
|
|
28
|
+
value: _value
|
|
74
29
|
});
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
const name = names[index];
|
|
83
|
-
if (name != null && nameCounts.get(name) === 1) {
|
|
84
|
-
return name;
|
|
85
|
-
}
|
|
86
|
-
return null;
|
|
87
|
-
})));
|
|
88
|
-
__privateSet(this, _names, []);
|
|
89
|
-
if (__privateGet(this, _names) == null) {
|
|
90
|
-
void __privateGet(this, _names);
|
|
91
|
-
}
|
|
92
|
-
if (!wrap) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
Object.freeze(this);
|
|
96
|
-
const proxy = new Proxy(this, {
|
|
97
|
-
get: (target, prop, receiver) => {
|
|
98
|
-
if (typeof prop === "string") {
|
|
99
|
-
if (prop.match(/^[0-9]+$/)) {
|
|
100
|
-
const index = getNumber(prop, "%index");
|
|
101
|
-
if (index < 0 || index >= this.length) {
|
|
102
|
-
throw new RangeError("out of result range");
|
|
103
|
-
}
|
|
104
|
-
const item = target[index];
|
|
105
|
-
if (item instanceof Error) {
|
|
106
|
-
throwError(`index ${index}`, item);
|
|
107
|
-
}
|
|
108
|
-
return item;
|
|
109
|
-
}
|
|
110
|
-
if (passProperties.indexOf(prop) >= 0) {
|
|
111
|
-
return Reflect.get(target, prop, receiver);
|
|
112
|
-
}
|
|
113
|
-
const value = target[prop];
|
|
114
|
-
if (value instanceof Function) {
|
|
115
|
-
return function(...args2) {
|
|
116
|
-
return value.apply(this === receiver ? target : this, args2);
|
|
117
|
-
};
|
|
118
|
-
} else if (!(prop in target)) {
|
|
119
|
-
return target.getValue.apply(this === receiver ? target : this, [prop]);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return Reflect.get(target, prop, receiver);
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
setNames(proxy, getNames(this));
|
|
126
|
-
return proxy;
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Returns the Result as a normal Array. If %%deep%%, any children
|
|
130
|
-
* which are Result objects are also converted to a normal Array.
|
|
131
|
-
*
|
|
132
|
-
* This will throw if there are any outstanding deferred
|
|
133
|
-
* errors.
|
|
134
|
-
*/
|
|
135
|
-
toArray(deep) {
|
|
136
|
-
const result = [];
|
|
137
|
-
this.forEach((item, index) => {
|
|
138
|
-
if (item instanceof Error) {
|
|
139
|
-
throwError(`index ${index}`, item);
|
|
140
|
-
}
|
|
141
|
-
if (deep && item instanceof _Result) {
|
|
142
|
-
item = item.toArray(deep);
|
|
143
|
-
}
|
|
144
|
-
result.push(item);
|
|
30
|
+
const mask2 = (BN_1 << width) - BN_1;
|
|
31
|
+
return (~value & mask2) + BN_1;
|
|
32
|
+
} else {
|
|
33
|
+
assert(value < limit, "too high", "NUMERIC_FAULT", {
|
|
34
|
+
operation: "toTwos",
|
|
35
|
+
fault: "overflow",
|
|
36
|
+
value: _value
|
|
145
37
|
});
|
|
146
|
-
return result;
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Returns the Result as an Object with each name-value pair. If
|
|
150
|
-
* %%deep%%, any children which are Result objects are also
|
|
151
|
-
* converted to an Object.
|
|
152
|
-
*
|
|
153
|
-
* This will throw if any value is unnamed, or if there are
|
|
154
|
-
* any outstanding deferred errors.
|
|
155
|
-
*/
|
|
156
|
-
toObject(deep) {
|
|
157
|
-
const names = getNames(this);
|
|
158
|
-
return names.reduce((accum, name, index) => {
|
|
159
|
-
assert(name != null, `value at index ${index} unnamed`, "UNSUPPORTED_OPERATION", {
|
|
160
|
-
operation: "toObject()"
|
|
161
|
-
});
|
|
162
|
-
return toObject(names, this, deep);
|
|
163
|
-
}, {});
|
|
164
38
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
function mask(_value, _bits) {
|
|
42
|
+
const value = getUint(_value, "value");
|
|
43
|
+
const bits = BigInt(getNumber(_bits, "bits"));
|
|
44
|
+
return value & (BN_1 << bits) - BN_1;
|
|
45
|
+
}
|
|
46
|
+
function getBigInt(value, name) {
|
|
47
|
+
switch (typeof value) {
|
|
48
|
+
case "bigint":
|
|
49
|
+
return value;
|
|
50
|
+
case "number":
|
|
51
|
+
assertArgument(Number.isInteger(value), "underflow", name || "value", value);
|
|
52
|
+
assertArgument(value >= -9007199254740991 && value <= maxValue, "overflow", name || "value", value);
|
|
53
|
+
return BigInt(value);
|
|
54
|
+
case "string":
|
|
55
|
+
try {
|
|
56
|
+
if (value === "") {
|
|
57
|
+
throw new Error("empty string");
|
|
58
|
+
}
|
|
59
|
+
if (value[0] === "-" && value[1] !== "-") {
|
|
60
|
+
return -BigInt(value.substring(1));
|
|
61
|
+
}
|
|
62
|
+
return BigInt(value);
|
|
63
|
+
} catch (e) {
|
|
64
|
+
assertArgument(false, `invalid BigNumberish string: ${e.message}`, name || "value", value);
|
|
185
65
|
}
|
|
186
|
-
}
|
|
187
|
-
if (end > this.length) {
|
|
188
|
-
end = this.length;
|
|
189
|
-
}
|
|
190
|
-
const _names2 = getNames(this);
|
|
191
|
-
const result = [], names = [];
|
|
192
|
-
for (let i = start; i < end; i++) {
|
|
193
|
-
result.push(this[i]);
|
|
194
|
-
names.push(_names2[i]);
|
|
195
|
-
}
|
|
196
|
-
return new _Result(_guard, result, names);
|
|
197
66
|
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
67
|
+
assertArgument(false, "invalid BigNumberish value", name || "value", value);
|
|
68
|
+
}
|
|
69
|
+
function getUint(value, name) {
|
|
70
|
+
const result = getBigInt(value, name);
|
|
71
|
+
assert(result >= BN_0, "unsigned value cannot be negative", "NUMERIC_FAULT", {
|
|
72
|
+
fault: "overflow",
|
|
73
|
+
operation: "getUint",
|
|
74
|
+
value
|
|
75
|
+
});
|
|
76
|
+
return result;
|
|
77
|
+
}
|
|
78
|
+
const Nibbles = "0123456789abcdef";
|
|
79
|
+
function toBigInt(value) {
|
|
80
|
+
if (value instanceof Uint8Array) {
|
|
81
|
+
let result = "0x0";
|
|
82
|
+
for (const v of value) {
|
|
83
|
+
result += Nibbles[v >> 4];
|
|
84
|
+
result += Nibbles[v & 15];
|
|
213
85
|
}
|
|
214
|
-
return
|
|
86
|
+
return BigInt(result);
|
|
215
87
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
88
|
+
return getBigInt(value);
|
|
89
|
+
}
|
|
90
|
+
function getNumber(value, name) {
|
|
91
|
+
switch (typeof value) {
|
|
92
|
+
case "bigint":
|
|
93
|
+
assertArgument(value >= -9007199254740991 && value <= maxValue, "overflow", name || "value", value);
|
|
94
|
+
return Number(value);
|
|
95
|
+
case "number":
|
|
96
|
+
assertArgument(Number.isInteger(value), "underflow", name || "value", value);
|
|
97
|
+
assertArgument(value >= -9007199254740991 && value <= maxValue, "overflow", name || "value", value);
|
|
98
|
+
return value;
|
|
99
|
+
case "string":
|
|
100
|
+
try {
|
|
101
|
+
if (value === "") {
|
|
102
|
+
throw new Error("empty string");
|
|
103
|
+
}
|
|
104
|
+
return getNumber(BigInt(value), name);
|
|
105
|
+
} catch (e) {
|
|
106
|
+
assertArgument(false, `invalid numeric string: ${e.message}`, name || "value", value);
|
|
225
107
|
}
|
|
226
|
-
result.push(callback.call(thisArg, item, i, this));
|
|
227
|
-
}
|
|
228
|
-
return result;
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Returns the value for %%name%%.
|
|
232
|
-
*
|
|
233
|
-
* Since it is possible to have a key whose name conflicts with
|
|
234
|
-
* a method on a [[Result]] or its superclass Array, or any
|
|
235
|
-
* JavaScript keyword, this ensures all named values are still
|
|
236
|
-
* accessible by name.
|
|
237
|
-
*/
|
|
238
|
-
getValue(name) {
|
|
239
|
-
const index = getNames(this).indexOf(name);
|
|
240
|
-
if (index === -1) {
|
|
241
|
-
return void 0;
|
|
242
|
-
}
|
|
243
|
-
const value = this[index];
|
|
244
|
-
if (value instanceof Error) {
|
|
245
|
-
throwError(`property ${JSON.stringify(name)}`, value.error);
|
|
246
|
-
}
|
|
247
|
-
return value;
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Creates a new [[Result]] for %%items%% with each entry
|
|
251
|
-
* also accessible by its corresponding name in %%keys%%.
|
|
252
|
-
*/
|
|
253
|
-
static fromItems(items, keys) {
|
|
254
|
-
return new _Result(_guard, items, keys);
|
|
255
|
-
}
|
|
256
|
-
};
|
|
257
|
-
_names = new WeakMap();
|
|
258
|
-
let Result = _Result;
|
|
259
|
-
function getValue(value) {
|
|
260
|
-
let bytes = toBeArray(value);
|
|
261
|
-
assert(bytes.length <= WordSize, "value out-of-bounds", "BUFFER_OVERRUN", { buffer: bytes, length: WordSize, offset: bytes.length });
|
|
262
|
-
if (bytes.length !== WordSize) {
|
|
263
|
-
bytes = getBytesCopy(concat([Padding.slice(bytes.length % WordSize), bytes]));
|
|
264
108
|
}
|
|
265
|
-
|
|
109
|
+
assertArgument(false, "invalid numeric value", name || "value", value);
|
|
266
110
|
}
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
// The coder name:
|
|
270
|
-
// - address, uint256, tuple, array, etc.
|
|
271
|
-
__publicField(this, "name");
|
|
272
|
-
// The fully expanded type, including composite types:
|
|
273
|
-
// - address, uint256, tuple(address,bytes), uint256[3][4][], etc.
|
|
274
|
-
__publicField(this, "type");
|
|
275
|
-
// The localName bound in the signature, in this example it is "baz":
|
|
276
|
-
// - tuple(address foo, uint bar) baz
|
|
277
|
-
__publicField(this, "localName");
|
|
278
|
-
// Whether this type is dynamic:
|
|
279
|
-
// - Dynamic: bytes, string, address[], tuple(boolean[]), etc.
|
|
280
|
-
// - Not Dynamic: address, uint256, boolean[3], tuple(address, uint8)
|
|
281
|
-
__publicField(this, "dynamic");
|
|
282
|
-
defineProperties(this, { name, type, localName, dynamic }, {
|
|
283
|
-
name: "string",
|
|
284
|
-
type: "string",
|
|
285
|
-
localName: "string",
|
|
286
|
-
dynamic: "boolean"
|
|
287
|
-
});
|
|
288
|
-
}
|
|
289
|
-
_throwError(message, value) {
|
|
290
|
-
assertArgument(false, message, this.localName, value);
|
|
291
|
-
}
|
|
111
|
+
function toNumber(value) {
|
|
112
|
+
return getNumber(toBigInt(value));
|
|
292
113
|
}
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
return __privateMethod(this, _Writer_instances, writeData_fn).call(this, getBytesCopy(writer.data));
|
|
310
|
-
}
|
|
311
|
-
// Arrayish item; pad on the right to *nearest* WordSize
|
|
312
|
-
writeBytes(value) {
|
|
313
|
-
let bytes = getBytesCopy(value);
|
|
314
|
-
const paddingOffset = bytes.length % WordSize;
|
|
315
|
-
if (paddingOffset) {
|
|
316
|
-
bytes = getBytesCopy(concat([bytes, Padding.slice(paddingOffset)]));
|
|
114
|
+
function toBeHex(_value, _width) {
|
|
115
|
+
const value = getUint(_value, "value");
|
|
116
|
+
let result = value.toString(16);
|
|
117
|
+
if (_width == null) {
|
|
118
|
+
if (result.length % 2) {
|
|
119
|
+
result = "0" + result;
|
|
120
|
+
}
|
|
121
|
+
} else {
|
|
122
|
+
const width = getNumber(_width, "width");
|
|
123
|
+
assert(width * 2 >= result.length, `value exceeds width (${width} bytes)`, "NUMERIC_FAULT", {
|
|
124
|
+
operation: "toBeHex",
|
|
125
|
+
fault: "overflow",
|
|
126
|
+
value: _value
|
|
127
|
+
});
|
|
128
|
+
while (result.length < width * 2) {
|
|
129
|
+
result = "0" + result;
|
|
317
130
|
}
|
|
318
|
-
return __privateMethod(this, _Writer_instances, writeData_fn).call(this, bytes);
|
|
319
|
-
}
|
|
320
|
-
// Numeric item; pad on the left *to* WordSize
|
|
321
|
-
writeValue(value) {
|
|
322
|
-
return __privateMethod(this, _Writer_instances, writeData_fn).call(this, getValue(value));
|
|
323
|
-
}
|
|
324
|
-
// Inserts a numeric place-holder, returning a callback that can
|
|
325
|
-
// be used to asjust the value later
|
|
326
|
-
writeUpdatableValue() {
|
|
327
|
-
const offset = __privateGet(this, _data).length;
|
|
328
|
-
__privateGet(this, _data).push(Padding);
|
|
329
|
-
__privateSet(this, _dataLength, __privateGet(this, _dataLength) + WordSize);
|
|
330
|
-
return (value) => {
|
|
331
|
-
__privateGet(this, _data)[offset] = getValue(value);
|
|
332
|
-
};
|
|
333
131
|
}
|
|
132
|
+
return "0x" + result;
|
|
334
133
|
}
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
__privateGet(this, _data).push(data);
|
|
340
|
-
__privateSet(this, _dataLength, __privateGet(this, _dataLength) + data.length);
|
|
341
|
-
return data.length;
|
|
342
|
-
};
|
|
343
|
-
const _Reader = class _Reader {
|
|
344
|
-
constructor(data, allowLoose, maxInflation) {
|
|
345
|
-
__privateAdd(this, _Reader_instances);
|
|
346
|
-
// Allows incomplete unpadded data to be read; otherwise an error
|
|
347
|
-
// is raised if attempting to overrun the buffer. This is required
|
|
348
|
-
// to deal with an old Solidity bug, in which event data for
|
|
349
|
-
// external (not public thoguh) was tightly packed.
|
|
350
|
-
__publicField(this, "allowLoose");
|
|
351
|
-
__privateAdd(this, _data2);
|
|
352
|
-
__privateAdd(this, _offset);
|
|
353
|
-
__privateAdd(this, _bytesRead);
|
|
354
|
-
__privateAdd(this, _parent);
|
|
355
|
-
__privateAdd(this, _maxInflation);
|
|
356
|
-
defineProperties(this, { allowLoose: !!allowLoose });
|
|
357
|
-
__privateSet(this, _data2, getBytesCopy(data));
|
|
358
|
-
__privateSet(this, _bytesRead, 0);
|
|
359
|
-
__privateSet(this, _parent, null);
|
|
360
|
-
__privateSet(this, _maxInflation, maxInflation != null ? maxInflation : 1024);
|
|
361
|
-
__privateSet(this, _offset, 0);
|
|
362
|
-
}
|
|
363
|
-
get data() {
|
|
364
|
-
return hexlify(__privateGet(this, _data2));
|
|
365
|
-
}
|
|
366
|
-
get dataLength() {
|
|
367
|
-
return __privateGet(this, _data2).length;
|
|
368
|
-
}
|
|
369
|
-
get consumed() {
|
|
370
|
-
return __privateGet(this, _offset);
|
|
371
|
-
}
|
|
372
|
-
get bytes() {
|
|
373
|
-
return new Uint8Array(__privateGet(this, _data2));
|
|
374
|
-
}
|
|
375
|
-
// Create a sub-reader with the same underlying data, but offset
|
|
376
|
-
subReader(offset) {
|
|
377
|
-
const reader = new _Reader(__privateGet(this, _data2).slice(__privateGet(this, _offset) + offset), this.allowLoose, __privateGet(this, _maxInflation));
|
|
378
|
-
__privateSet(reader, _parent, this);
|
|
379
|
-
return reader;
|
|
380
|
-
}
|
|
381
|
-
// Read bytes
|
|
382
|
-
readBytes(length, loose) {
|
|
383
|
-
let bytes = __privateMethod(this, _Reader_instances, peekBytes_fn).call(this, 0, length, !!loose);
|
|
384
|
-
__privateMethod(this, _Reader_instances, incrementBytesRead_fn).call(this, length);
|
|
385
|
-
__privateSet(this, _offset, __privateGet(this, _offset) + bytes.length);
|
|
386
|
-
return bytes.slice(0, length);
|
|
134
|
+
function toBeArray(_value) {
|
|
135
|
+
const value = getUint(_value, "value");
|
|
136
|
+
if (value === BN_0) {
|
|
137
|
+
return new Uint8Array([]);
|
|
387
138
|
}
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
139
|
+
let hex = value.toString(16);
|
|
140
|
+
if (hex.length % 2) {
|
|
141
|
+
hex = "0" + hex;
|
|
391
142
|
}
|
|
392
|
-
|
|
393
|
-
|
|
143
|
+
const result = new Uint8Array(hex.length / 2);
|
|
144
|
+
for (let i = 0; i < result.length; i++) {
|
|
145
|
+
const offset = i * 2;
|
|
146
|
+
result[i] = parseInt(hex.substring(offset, offset + 2), 16);
|
|
394
147
|
}
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
_offset = new WeakMap();
|
|
398
|
-
_bytesRead = new WeakMap();
|
|
399
|
-
_parent = new WeakMap();
|
|
400
|
-
_maxInflation = new WeakMap();
|
|
401
|
-
_Reader_instances = new WeakSet();
|
|
402
|
-
incrementBytesRead_fn = function(count) {
|
|
403
|
-
var _a;
|
|
404
|
-
if (__privateGet(this, _parent)) {
|
|
405
|
-
return __privateMethod(_a = __privateGet(this, _parent), _Reader_instances, incrementBytesRead_fn).call(_a, count);
|
|
406
|
-
}
|
|
407
|
-
__privateSet(this, _bytesRead, __privateGet(this, _bytesRead) + count);
|
|
408
|
-
assert(__privateGet(this, _maxInflation) < 1 || __privateGet(this, _bytesRead) <= __privateGet(this, _maxInflation) * this.dataLength, `compressed ABI data exceeds inflation ratio of ${__privateGet(this, _maxInflation)} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`, "BUFFER_OVERRUN", {
|
|
409
|
-
buffer: getBytesCopy(__privateGet(this, _data2)),
|
|
410
|
-
offset: __privateGet(this, _offset),
|
|
411
|
-
length: count,
|
|
412
|
-
info: {
|
|
413
|
-
bytesRead: __privateGet(this, _bytesRead),
|
|
414
|
-
dataLength: this.dataLength
|
|
415
|
-
}
|
|
416
|
-
});
|
|
417
|
-
};
|
|
418
|
-
peekBytes_fn = function(offset, length, loose) {
|
|
419
|
-
let alignedLength = Math.ceil(length / WordSize) * WordSize;
|
|
420
|
-
if (__privateGet(this, _offset) + alignedLength > __privateGet(this, _data2).length) {
|
|
421
|
-
if (this.allowLoose && loose && __privateGet(this, _offset) + length <= __privateGet(this, _data2).length) {
|
|
422
|
-
alignedLength = length;
|
|
423
|
-
} else {
|
|
424
|
-
assert(false, "data out-of-bounds", "BUFFER_OVERRUN", {
|
|
425
|
-
buffer: getBytesCopy(__privateGet(this, _data2)),
|
|
426
|
-
length: __privateGet(this, _data2).length,
|
|
427
|
-
offset: __privateGet(this, _offset) + alignedLength
|
|
428
|
-
});
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
return __privateGet(this, _data2).slice(__privateGet(this, _offset), __privateGet(this, _offset) + alignedLength);
|
|
432
|
-
};
|
|
433
|
-
let Reader = _Reader;
|
|
148
|
+
return result;
|
|
149
|
+
}
|
|
434
150
|
export {
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
151
|
+
fromTwos,
|
|
152
|
+
getBigInt,
|
|
153
|
+
getNumber,
|
|
154
|
+
getUint,
|
|
155
|
+
mask,
|
|
156
|
+
toBeArray,
|
|
157
|
+
toBeHex,
|
|
158
|
+
toBigInt,
|
|
159
|
+
toNumber,
|
|
160
|
+
toTwos
|
|
440
161
|
};
|
|
441
162
|
//# sourceMappingURL=standards-sdk.es96.js.map
|