quantumcoin 7.0.12 → 7.0.14
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/README-SDK.md +828 -823
- package/README.md +4 -0
- package/config.d.ts +50 -50
- package/examples/example-generated-sdk-js/README.md +65 -0
- package/examples/example-generated-sdk-js/examples/_test-wallet.js +17 -0
- package/examples/example-generated-sdk-js/examples/deploy.js +41 -0
- package/examples/example-generated-sdk-js/examples/events.js +36 -0
- package/examples/example-generated-sdk-js/examples/read-operations.js +46 -0
- package/examples/example-generated-sdk-js/examples/write-operations.js +44 -0
- package/examples/example-generated-sdk-js/index.d.ts +1 -0
- package/examples/example-generated-sdk-js/index.js +15 -0
- package/examples/example-generated-sdk-js/package-lock.json +59 -0
- package/examples/example-generated-sdk-js/package.json +22 -0
- package/examples/example-generated-sdk-js/src/SimpleERC20.d.ts +19 -0
- package/examples/example-generated-sdk-js/src/SimpleERC20.js +353 -0
- package/examples/example-generated-sdk-js/src/SimpleERC20__factory.d.ts +10 -0
- package/examples/example-generated-sdk-js/src/SimpleERC20__factory.js +29 -0
- package/examples/example-generated-sdk-js/src/index.d.ts +4 -0
- package/examples/example-generated-sdk-js/src/index.js +5 -0
- package/examples/example-generated-sdk-js/src/quantumcoin-shims.d.ts +23 -0
- package/examples/example-generated-sdk-js/src/types.d.ts +3 -0
- package/examples/example-generated-sdk-js/src/types.js +3 -0
- package/examples/example-generated-sdk-js/test/e2e/SimpleERC20.e2e.test.js +78 -0
- package/examples/example-generated-sdk-ts/README.md +65 -0
- package/examples/example-generated-sdk-ts/examples/_test-wallet.js +17 -0
- package/examples/example-generated-sdk-ts/examples/deploy.js +41 -0
- package/examples/example-generated-sdk-ts/examples/events.js +36 -0
- package/examples/example-generated-sdk-ts/examples/read-operations.js +46 -0
- package/examples/example-generated-sdk-ts/examples/write-operations.js +44 -0
- package/examples/example-generated-sdk-ts/index.d.ts +1 -0
- package/examples/example-generated-sdk-ts/index.js +15 -0
- package/examples/example-generated-sdk-ts/package-lock.json +59 -0
- package/examples/example-generated-sdk-ts/package.json +23 -0
- package/examples/example-generated-sdk-ts/src/SimpleERC20.ts +334 -0
- package/examples/example-generated-sdk-ts/src/SimpleERC20__factory.ts +28 -0
- package/examples/example-generated-sdk-ts/src/index.ts +4 -0
- package/examples/example-generated-sdk-ts/src/quantumcoin-shims.d.ts +23 -0
- package/examples/example-generated-sdk-ts/src/types.ts +4 -0
- package/examples/example-generated-sdk-ts/test/e2e/SimpleERC20.e2e.test.js +78 -0
- package/examples/example-generated-sdk-ts/tsconfig.json +14 -0
- package/examples/node_modules/.package-lock.json +5 -5
- package/examples/node_modules/quantum-coin-js-sdk/README.md +5 -5
- package/examples/node_modules/quantum-coin-js-sdk/example/package-lock.json +1 -1
- package/examples/node_modules/quantum-coin-js-sdk/index.d.ts +1031 -1031
- package/examples/node_modules/quantum-coin-js-sdk/index.js +15 -15
- package/examples/node_modules/quantum-coin-js-sdk/package.json +1 -1
- package/examples/node_modules/quantum-coin-js-sdk/wasmBase64.js +2 -2
- package/examples/package-lock.json +6 -6
- package/examples/package.json +1 -1
- package/examples/sdk-generator-erc20.inline.json +251 -251
- package/generate-sdk.js +1845 -1822
- package/package.json +2 -2
- package/src/abi/fragments.d.ts +42 -42
- package/src/abi/index.d.ts +13 -13
- package/src/abi/interface.js +11 -2
- package/src/abi/js-abi-coder.js +61 -2
- package/src/contract/contract.js +53 -5
- package/src/contract/index.d.ts +9 -9
- package/src/errors/index.d.ts +92 -92
- package/src/generator/index.d.ts +11 -4
- package/src/generator/index.js +185 -18
- package/src/internal/hex.d.ts +68 -61
- package/src/internal/hex.js +36 -0
- package/src/providers/json-rpc-provider.d.ts +12 -12
- package/src/providers/provider.js +141 -8
- package/src/utils/address.d.ts +58 -58
- package/src/utils/encoding.d.ts +120 -120
- package/src/utils/hashing.js +298 -298
- package/src/utils/index.d.ts +63 -63
- package/src/utils/index.js +14 -14
- package/src/utils/result.d.ts +57 -57
- package/src/utils/rlp.d.ts +12 -12
- package/src/utils/rlp.js +13 -1
- package/src/utils/units.d.ts +29 -29
- package/src/wallet/index.d.ts +10 -10
- package/src/wallet/wallet.d.ts +192 -192
- package/src/wallet/wallet.js +713 -630
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/README.md +83 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/artifacts/AllSolidityTypes.abi.json +12544 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/artifacts/AllSolidityTypes.bin +1 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/_test-wallet.js +17 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/_test-wallet.ts +10 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/deploy.js +41 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/deploy.ts +41 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/events.js +36 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/events.ts +36 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/offline-signing.js +82 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/offline-signing.ts +80 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/read-operations.js +46 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/read-operations.ts +44 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/write-operations.js +44 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/write-operations.ts +44 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/index.d.ts +1 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/index.js +21 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/package-lock.json +597 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/package.json +25 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/AllSolidityTypes.d.ts +1280 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/AllSolidityTypes.js +14021 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/AllSolidityTypes__factory.d.ts +11 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/AllSolidityTypes__factory.js +31 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/index.d.ts +4 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/index.js +5 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/quantumcoin-shims.d.ts +25 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/types.d.ts +3 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/types.js +3 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/test/e2e/AllSolidityTypes.e2e.test.js +77 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/test/e2e/AllSolidityTypes.extra.test.js +195 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/README.md +83 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/artifacts/AllSolidityTypes.abi.json +12544 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/artifacts/AllSolidityTypes.bin +1 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/_test-wallet.js +17 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/_test-wallet.ts +10 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/deploy.js +41 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/deploy.ts +41 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/events.js +36 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/events.ts +36 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/offline-signing.js +82 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/offline-signing.ts +80 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/read-operations.js +46 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/read-operations.ts +44 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/write-operations.js +44 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/write-operations.ts +44 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/index.d.ts +1 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/index.js +21 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/package-lock.json +597 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/package.json +26 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/AllSolidityTypes.ts +13940 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/AllSolidityTypes__factory.ts +31 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/index.ts +4 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/quantumcoin-shims.d.ts +25 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/types.ts +4 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/test/e2e/AllSolidityTypes.e2e.test.js +77 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/test/e2e/AllSolidityTypes.extra.test.js +195 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/tsconfig.json +18 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/README.md +74 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/artifacts/SimpleERC20.abi.json +245 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/artifacts/SimpleERC20.bin +1 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/_test-wallet.js +17 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/_test-wallet.ts +10 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/deploy.js +41 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/deploy.ts +41 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/events.js +36 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/events.ts +36 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/offline-signing.js +82 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/offline-signing.ts +80 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/read-operations.js +46 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/read-operations.ts +44 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/write-operations.js +44 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/write-operations.ts +44 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/index.d.ts +1 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/index.js +16 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/package-lock.json +597 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/package.json +25 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/SimpleERC20.d.ts +24 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/SimpleERC20.js +378 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/SimpleERC20__factory.d.ts +10 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/SimpleERC20__factory.js +31 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/index.d.ts +4 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/index.js +5 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/quantumcoin-shims.d.ts +25 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/types.d.ts +3 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/types.js +3 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/test/e2e/SimpleERC20.e2e.test.js +90 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/README.md +74 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/artifacts/SimpleERC20.abi.json +245 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/artifacts/SimpleERC20.bin +1 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/_test-wallet.js +17 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/_test-wallet.ts +10 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/deploy.js +41 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/deploy.ts +41 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/events.js +36 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/events.ts +36 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/offline-signing.js +82 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/offline-signing.ts +80 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/read-operations.js +46 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/read-operations.ts +44 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/write-operations.js +44 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/write-operations.ts +44 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/index.d.ts +1 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/index.js +16 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/package-lock.json +597 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/package.json +26 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/SimpleERC20.ts +361 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/SimpleERC20__factory.ts +30 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/index.ts +4 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/quantumcoin-shims.d.ts +25 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/types.ts +4 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/test/e2e/SimpleERC20.e2e.test.js +90 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/tsconfig.json +18 -0
- package/test/e2e/generator-interface.e2e.test.js +165 -0
- package/test/e2e/generator-interface.e2e.test.ts +160 -0
- package/test/e2e/signing-context-and-fee.e2e.test.js +141 -141
- package/test/e2e/signing-context-and-fee.e2e.test.ts +128 -128
- package/test/integration/provider.test.js +88 -88
- package/test/security/abi-decoder-bounds.test.js +122 -0
- package/test/security/contract-overrides.test.js +112 -0
- package/test/security/generator-injection.test.js +195 -0
- package/test/security/malformed-input.test.js +26 -27
- package/test/security/rpc-numeric-bounds.test.js +81 -0
- package/test/security/rpc-trust.test.js +202 -0
- package/test/unit/abi-interface.test.js +12 -5
- package/test/unit/abi-interface.test.ts +8 -1
- package/test/unit/address-wallet.test.js +923 -892
- package/test/unit/address-wallet.test.ts +877 -877
- package/test/unit/encoding-units-rlp.test.js +35 -0
- package/test/unit/generator.test.js +48 -1
- package/test/unit/generator.test.ts +48 -1
- package/test/unit/hashing.test.js +64 -64
- package/test/unit/hashing.test.ts +63 -63
- package/test/unit/internal-hex.test.js +32 -1
- package/test/unit/internal-hex.test.ts +32 -1
- package/test/unit/populate-transaction.test.js +33 -0
- package/test/unit/providers.test.js +51 -1
- package/test/unit/providers.test.ts +53 -0
package/src/utils/index.d.ts
CHANGED
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
declare const _exports: {
|
|
2
|
-
formatUnits(value: import("./units").BigNumberish, decimals?: number | undefined): string;
|
|
3
|
-
parseUnits(value: string, decimals?: number | undefined): bigint;
|
|
4
|
-
formatEther(value: import("./units").BigNumberish): string;
|
|
5
|
-
parseEther(value: string): bigint;
|
|
6
|
-
WeiPerEther: bigint;
|
|
7
|
-
checkResultErrors(result: any): Array<{
|
|
8
|
-
error: Error;
|
|
9
|
-
path: Array<string | number>;
|
|
10
|
-
}>;
|
|
11
|
-
Result: typeof import("./result").Result;
|
|
12
|
-
encodeRlp(value: any): string;
|
|
13
|
-
decodeRlp(data: string): any;
|
|
14
|
-
keccak256(data: string | Uint8Array): string;
|
|
15
|
-
sha256(data: string | Uint8Array): string;
|
|
16
|
-
sha512(data: string | Uint8Array): string;
|
|
17
|
-
ripemd160(data: string | Uint8Array): string;
|
|
18
|
-
id(text: string): string;
|
|
19
|
-
randomBytes(length: number): Uint8Array;
|
|
20
|
-
computeHmac(algorithm: string, key: string | Uint8Array, data: string | Uint8Array): string;
|
|
21
|
-
pbkdf2(password: string | Uint8Array, salt: string | Uint8Array, iterations: number, keylen: number, algorithm?: string | undefined): string;
|
|
22
|
-
scrypt(password: string | Uint8Array, salt: string | Uint8Array, N: number, r: number, p: number, dkLen: number): Promise<string>;
|
|
23
|
-
scryptSync(password: string | Uint8Array, salt: string | Uint8Array, N: number, r: number, p: number, dkLen: number): string;
|
|
24
|
-
toUtf8String(data: import("./encoding").BytesLike): string;
|
|
25
|
-
toUtf8Bytes(str: string): Uint8Array;
|
|
26
|
-
toHex(data: import("./encoding").BytesLike): string;
|
|
27
|
-
hexlify(data: import("./encoding").BytesLike): string;
|
|
28
|
-
arrayify(data: import("./encoding").BytesLike): Uint8Array;
|
|
29
|
-
concat(items: import("./encoding").BytesLike[]): string;
|
|
30
|
-
stripZerosLeft(data: import("./encoding").BytesLike): string;
|
|
31
|
-
encodeBytes32String(text: string): string;
|
|
32
|
-
decodeBytes32String(bytes: import("./encoding").BytesLike): string;
|
|
33
|
-
decodeBase58(data: string): Uint8Array;
|
|
34
|
-
decodeBase64(data: string): Uint8Array;
|
|
35
|
-
encodeBase58(data: import("./encoding").BytesLike): string;
|
|
36
|
-
encodeBase64(data: import("./encoding").BytesLike): string;
|
|
37
|
-
toUtf8CodePoints(str: string): number[];
|
|
38
|
-
isBytesLike(value: any): boolean;
|
|
39
|
-
zeroPad(value: import("./encoding").BytesLike, length: number): string;
|
|
40
|
-
zeroPadValue(value: import("./encoding").BytesLike, length: number): string;
|
|
41
|
-
solidityPacked(): void;
|
|
42
|
-
solidityPackedKeccak256(): void;
|
|
43
|
-
solidityPackedSha256(): void;
|
|
44
|
-
isHexString: typeof import("./encoding").isHexString;
|
|
45
|
-
bytesToHex: typeof import("./encoding").bytesToHex;
|
|
46
|
-
hexToBytes: typeof import("./encoding").hexToBytes;
|
|
47
|
-
isAddress(address: string): boolean;
|
|
48
|
-
getAddress(address: string): string;
|
|
49
|
-
isAddressable(value: any): boolean;
|
|
50
|
-
resolveAddress(target: any): string | Promise<string>;
|
|
51
|
-
getContractAddress(tx: {
|
|
52
|
-
from: string;
|
|
53
|
-
nonce: number;
|
|
54
|
-
}): string;
|
|
55
|
-
getCreateAddress(tx: {
|
|
56
|
-
from: string;
|
|
57
|
-
nonce: number;
|
|
58
|
-
}): string;
|
|
59
|
-
getCreate2Address(from: string, salt: string, initCodeHash: string): string;
|
|
60
|
-
computeAddress(key: string | Uint8Array): string;
|
|
61
|
-
FixedNumber: typeof import("./fixednumber").FixedNumber;
|
|
62
|
-
};
|
|
63
|
-
export = _exports;
|
|
1
|
+
declare const _exports: {
|
|
2
|
+
formatUnits(value: import("./units").BigNumberish, decimals?: number | undefined): string;
|
|
3
|
+
parseUnits(value: string, decimals?: number | undefined): bigint;
|
|
4
|
+
formatEther(value: import("./units").BigNumberish): string;
|
|
5
|
+
parseEther(value: string): bigint;
|
|
6
|
+
WeiPerEther: bigint;
|
|
7
|
+
checkResultErrors(result: any): Array<{
|
|
8
|
+
error: Error;
|
|
9
|
+
path: Array<string | number>;
|
|
10
|
+
}>;
|
|
11
|
+
Result: typeof import("./result").Result;
|
|
12
|
+
encodeRlp(value: any): string;
|
|
13
|
+
decodeRlp(data: string): any;
|
|
14
|
+
keccak256(data: string | Uint8Array): string;
|
|
15
|
+
sha256(data: string | Uint8Array): string;
|
|
16
|
+
sha512(data: string | Uint8Array): string;
|
|
17
|
+
ripemd160(data: string | Uint8Array): string;
|
|
18
|
+
id(text: string): string;
|
|
19
|
+
randomBytes(length: number): Uint8Array;
|
|
20
|
+
computeHmac(algorithm: string, key: string | Uint8Array, data: string | Uint8Array): string;
|
|
21
|
+
pbkdf2(password: string | Uint8Array, salt: string | Uint8Array, iterations: number, keylen: number, algorithm?: string | undefined): string;
|
|
22
|
+
scrypt(password: string | Uint8Array, salt: string | Uint8Array, N: number, r: number, p: number, dkLen: number): Promise<string>;
|
|
23
|
+
scryptSync(password: string | Uint8Array, salt: string | Uint8Array, N: number, r: number, p: number, dkLen: number): string;
|
|
24
|
+
toUtf8String(data: import("./encoding").BytesLike): string;
|
|
25
|
+
toUtf8Bytes(str: string): Uint8Array;
|
|
26
|
+
toHex(data: import("./encoding").BytesLike): string;
|
|
27
|
+
hexlify(data: import("./encoding").BytesLike): string;
|
|
28
|
+
arrayify(data: import("./encoding").BytesLike): Uint8Array;
|
|
29
|
+
concat(items: import("./encoding").BytesLike[]): string;
|
|
30
|
+
stripZerosLeft(data: import("./encoding").BytesLike): string;
|
|
31
|
+
encodeBytes32String(text: string): string;
|
|
32
|
+
decodeBytes32String(bytes: import("./encoding").BytesLike): string;
|
|
33
|
+
decodeBase58(data: string): Uint8Array;
|
|
34
|
+
decodeBase64(data: string): Uint8Array;
|
|
35
|
+
encodeBase58(data: import("./encoding").BytesLike): string;
|
|
36
|
+
encodeBase64(data: import("./encoding").BytesLike): string;
|
|
37
|
+
toUtf8CodePoints(str: string): number[];
|
|
38
|
+
isBytesLike(value: any): boolean;
|
|
39
|
+
zeroPad(value: import("./encoding").BytesLike, length: number): string;
|
|
40
|
+
zeroPadValue(value: import("./encoding").BytesLike, length: number): string;
|
|
41
|
+
solidityPacked(): void;
|
|
42
|
+
solidityPackedKeccak256(): void;
|
|
43
|
+
solidityPackedSha256(): void;
|
|
44
|
+
isHexString: typeof import("./encoding").isHexString;
|
|
45
|
+
bytesToHex: typeof import("./encoding").bytesToHex;
|
|
46
|
+
hexToBytes: typeof import("./encoding").hexToBytes;
|
|
47
|
+
isAddress(address: string): boolean;
|
|
48
|
+
getAddress(address: string): string;
|
|
49
|
+
isAddressable(value: any): boolean;
|
|
50
|
+
resolveAddress(target: any): string | Promise<string>;
|
|
51
|
+
getContractAddress(tx: {
|
|
52
|
+
from: string;
|
|
53
|
+
nonce: number;
|
|
54
|
+
}): string;
|
|
55
|
+
getCreateAddress(tx: {
|
|
56
|
+
from: string;
|
|
57
|
+
nonce: number;
|
|
58
|
+
}): string;
|
|
59
|
+
getCreate2Address(from: string, salt: string, initCodeHash: string): string;
|
|
60
|
+
computeAddress(key: string | Uint8Array): string;
|
|
61
|
+
FixedNumber: typeof import("./fixednumber").FixedNumber;
|
|
62
|
+
};
|
|
63
|
+
export = _exports;
|
package/src/utils/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Utilities export barrel.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
module.exports = {
|
|
6
|
-
...require("./address"),
|
|
7
|
-
...require("./encoding"),
|
|
8
|
-
...require("./hashing"),
|
|
9
|
-
...require("./rlp"),
|
|
10
|
-
...require("./result"),
|
|
11
|
-
...require("./units"),
|
|
12
|
-
...require("./fixednumber"),
|
|
13
|
-
};
|
|
14
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Utilities export barrel.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
module.exports = {
|
|
6
|
+
...require("./address"),
|
|
7
|
+
...require("./encoding"),
|
|
8
|
+
...require("./hashing"),
|
|
9
|
+
...require("./rlp"),
|
|
10
|
+
...require("./result"),
|
|
11
|
+
...require("./units"),
|
|
12
|
+
...require("./fixednumber"),
|
|
13
|
+
};
|
|
14
|
+
|
package/src/utils/result.d.ts
CHANGED
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Result utility (ethers.js v6 compatible).
|
|
3
|
-
*
|
|
4
|
-
* ethers.js Result is an Array-like with optional named keys.
|
|
5
|
-
* This simplified implementation covers the common patterns used in this SDK.
|
|
6
|
-
*/
|
|
7
|
-
export class Result extends Array<any> {
|
|
8
|
-
/**
|
|
9
|
-
* @param {Array<any>} items
|
|
10
|
-
* @param {Array<null|string>=} keys
|
|
11
|
-
* @returns {Result}
|
|
12
|
-
*/
|
|
13
|
-
static fromItems(items: Array<any>, keys?: Array<null | string> | undefined): Result;
|
|
14
|
-
/**
|
|
15
|
-
* @param {any[]=} items
|
|
16
|
-
* @param {(null|string)[]=} keys
|
|
17
|
-
*/
|
|
18
|
-
constructor(items?: any[] | undefined, keys?: (null | string)[] | undefined);
|
|
19
|
-
/** @type {(null|string)[]|null} */
|
|
20
|
-
_keys: (null | string)[] | null;
|
|
21
|
-
/**
|
|
22
|
-
* Get a value by key.
|
|
23
|
-
* @param {string} name
|
|
24
|
-
* @returns {any}
|
|
25
|
-
*/
|
|
26
|
-
getValue(name: string): any;
|
|
27
|
-
/**
|
|
28
|
-
* Convert to array (optionally deep).
|
|
29
|
-
* @param {boolean=} deep
|
|
30
|
-
* @returns {any[]}
|
|
31
|
-
*/
|
|
32
|
-
toArray(deep?: boolean | undefined): any[];
|
|
33
|
-
/**
|
|
34
|
-
* Convert to object (optionally deep).
|
|
35
|
-
* @param {boolean=} deep
|
|
36
|
-
* @returns {Record<string, any>}
|
|
37
|
-
*/
|
|
38
|
-
toObject(deep?: boolean | undefined): Record<string, any>;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Scan a decoded Result (or nested structure) for embedded Error objects.
|
|
42
|
-
*
|
|
43
|
-
* ethers.js uses this to surface nested decode errors (especially for tuples
|
|
44
|
-
* and structs). This lightweight implementation walks:
|
|
45
|
-
* - Result instances (by index; prefers named keys in the path when available)
|
|
46
|
-
* - Arrays
|
|
47
|
-
* - Plain objects (for struct-like outputs)
|
|
48
|
-
*
|
|
49
|
-
* It is cycle-safe.
|
|
50
|
-
*
|
|
51
|
-
* @param {any} result
|
|
52
|
-
* @returns {Array<{ error: Error, path: Array<string|number> }>}
|
|
53
|
-
*/
|
|
54
|
-
export function checkResultErrors(result: any): Array<{
|
|
55
|
-
error: Error;
|
|
56
|
-
path: Array<string | number>;
|
|
57
|
-
}>;
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Result utility (ethers.js v6 compatible).
|
|
3
|
+
*
|
|
4
|
+
* ethers.js Result is an Array-like with optional named keys.
|
|
5
|
+
* This simplified implementation covers the common patterns used in this SDK.
|
|
6
|
+
*/
|
|
7
|
+
export class Result extends Array<any> {
|
|
8
|
+
/**
|
|
9
|
+
* @param {Array<any>} items
|
|
10
|
+
* @param {Array<null|string>=} keys
|
|
11
|
+
* @returns {Result}
|
|
12
|
+
*/
|
|
13
|
+
static fromItems(items: Array<any>, keys?: Array<null | string> | undefined): Result;
|
|
14
|
+
/**
|
|
15
|
+
* @param {any[]=} items
|
|
16
|
+
* @param {(null|string)[]=} keys
|
|
17
|
+
*/
|
|
18
|
+
constructor(items?: any[] | undefined, keys?: (null | string)[] | undefined);
|
|
19
|
+
/** @type {(null|string)[]|null} */
|
|
20
|
+
_keys: (null | string)[] | null;
|
|
21
|
+
/**
|
|
22
|
+
* Get a value by key.
|
|
23
|
+
* @param {string} name
|
|
24
|
+
* @returns {any}
|
|
25
|
+
*/
|
|
26
|
+
getValue(name: string): any;
|
|
27
|
+
/**
|
|
28
|
+
* Convert to array (optionally deep).
|
|
29
|
+
* @param {boolean=} deep
|
|
30
|
+
* @returns {any[]}
|
|
31
|
+
*/
|
|
32
|
+
toArray(deep?: boolean | undefined): any[];
|
|
33
|
+
/**
|
|
34
|
+
* Convert to object (optionally deep).
|
|
35
|
+
* @param {boolean=} deep
|
|
36
|
+
* @returns {Record<string, any>}
|
|
37
|
+
*/
|
|
38
|
+
toObject(deep?: boolean | undefined): Record<string, any>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Scan a decoded Result (or nested structure) for embedded Error objects.
|
|
42
|
+
*
|
|
43
|
+
* ethers.js uses this to surface nested decode errors (especially for tuples
|
|
44
|
+
* and structs). This lightweight implementation walks:
|
|
45
|
+
* - Result instances (by index; prefers named keys in the path when available)
|
|
46
|
+
* - Arrays
|
|
47
|
+
* - Plain objects (for struct-like outputs)
|
|
48
|
+
*
|
|
49
|
+
* It is cycle-safe.
|
|
50
|
+
*
|
|
51
|
+
* @param {any} result
|
|
52
|
+
* @returns {Array<{ error: Error, path: Array<string|number> }>}
|
|
53
|
+
*/
|
|
54
|
+
export function checkResultErrors(result: any): Array<{
|
|
55
|
+
error: Error;
|
|
56
|
+
path: Array<string | number>;
|
|
57
|
+
}>;
|
package/src/utils/rlp.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RLP-encode a value.
|
|
3
|
-
* @param {any} value
|
|
4
|
-
* @returns {string}
|
|
5
|
-
*/
|
|
6
|
-
export function encodeRlp(value: any): string;
|
|
7
|
-
/**
|
|
8
|
-
* RLP-decode a hex string.
|
|
9
|
-
* @param {string} data
|
|
10
|
-
* @returns {any}
|
|
11
|
-
*/
|
|
12
|
-
export function decodeRlp(data: string): any;
|
|
1
|
+
/**
|
|
2
|
+
* RLP-encode a value.
|
|
3
|
+
* @param {any} value
|
|
4
|
+
* @returns {string}
|
|
5
|
+
*/
|
|
6
|
+
export function encodeRlp(value: any): string;
|
|
7
|
+
/**
|
|
8
|
+
* RLP-decode a hex string.
|
|
9
|
+
* @param {string} data
|
|
10
|
+
* @returns {any}
|
|
11
|
+
*/
|
|
12
|
+
export function decodeRlp(data: string): any;
|
package/src/utils/rlp.js
CHANGED
|
@@ -103,9 +103,14 @@ function _encode(value) {
|
|
|
103
103
|
function _readLen(bytes, offset, lenOfLen) {
|
|
104
104
|
if (lenOfLen === 0) return 0;
|
|
105
105
|
if (offset + lenOfLen > bytes.length) throw new Error("RLP: insufficient data for length");
|
|
106
|
+
// Canonical encoding forbids a leading zero byte in the length field.
|
|
107
|
+
if (bytes[offset] === 0) throw new Error("RLP: non-canonical length (leading zero byte)");
|
|
108
|
+
// Accumulate with multiplication (not `<< 8`, which is a signed 32-bit op
|
|
109
|
+
// that overflows/wraps for 4+ byte lengths) and reject impossibly large lengths.
|
|
106
110
|
let len = 0;
|
|
107
111
|
for (let i = 0; i < lenOfLen; i++) {
|
|
108
|
-
len =
|
|
112
|
+
len = len * 256 + bytes[offset + i];
|
|
113
|
+
if (len > Number.MAX_SAFE_INTEGER) throw new Error("RLP: length exceeds maximum safe integer");
|
|
109
114
|
}
|
|
110
115
|
return len;
|
|
111
116
|
}
|
|
@@ -128,6 +133,9 @@ function _decode(bytes, start, end, depth) {
|
|
|
128
133
|
const dataStart = start + 1;
|
|
129
134
|
const dataEnd = dataStart + len;
|
|
130
135
|
if (dataEnd > end) throw new Error("RLP: out of bounds");
|
|
136
|
+
// Canonical encoding requires a single byte < 0x80 to be encoded as
|
|
137
|
+
// itself, never as a 1-byte string.
|
|
138
|
+
if (len === 1 && bytes[dataStart] < 0x80) throw new Error("RLP: non-canonical single byte encoding");
|
|
131
139
|
const out = bytesToHex(bytes.slice(dataStart, dataEnd));
|
|
132
140
|
return { value: out, next: dataEnd };
|
|
133
141
|
}
|
|
@@ -136,6 +144,8 @@ function _decode(bytes, start, end, depth) {
|
|
|
136
144
|
if (prefix <= 0xbf) {
|
|
137
145
|
const lenOfLen = prefix - 0xb7;
|
|
138
146
|
const len = _readLen(bytes, start + 1, lenOfLen);
|
|
147
|
+
// Lengths <= 55 must use the short-string form.
|
|
148
|
+
if (len <= 55) throw new Error("RLP: non-canonical long string (length fits short form)");
|
|
139
149
|
const dataStart = start + 1 + lenOfLen;
|
|
140
150
|
const dataEnd = dataStart + len;
|
|
141
151
|
if (dataEnd > end) throw new Error("RLP: out of bounds");
|
|
@@ -163,6 +173,8 @@ function _decode(bytes, start, end, depth) {
|
|
|
163
173
|
// Long list
|
|
164
174
|
const lenOfLen = prefix - 0xf7;
|
|
165
175
|
const len = _readLen(bytes, start + 1, lenOfLen);
|
|
176
|
+
// Lengths <= 55 must use the short-list form.
|
|
177
|
+
if (len <= 55) throw new Error("RLP: non-canonical long list (length fits short form)");
|
|
166
178
|
const dataStart = start + 1 + lenOfLen;
|
|
167
179
|
const dataEnd = dataStart + len;
|
|
168
180
|
if (dataEnd > end) throw new Error("RLP: out of bounds");
|
package/src/utils/units.d.ts
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
export type BigNumberish = string | number | bigint;
|
|
2
|
-
/**
|
|
3
|
-
* Format a BigNumberish into a decimal string with `decimals` places.
|
|
4
|
-
* @param {BigNumberish} value
|
|
5
|
-
* @param {number=} decimals
|
|
6
|
-
* @returns {string}
|
|
7
|
-
*/
|
|
8
|
-
export function formatUnits(value: BigNumberish, decimals?: number | undefined): string;
|
|
9
|
-
/**
|
|
10
|
-
* Parse a decimal string into bigint with `decimals` places.
|
|
11
|
-
* @param {string} value
|
|
12
|
-
* @param {number=} decimals
|
|
13
|
-
* @returns {bigint}
|
|
14
|
-
*/
|
|
15
|
-
export function parseUnits(value: string, decimals?: number | undefined): bigint;
|
|
16
|
-
/**
|
|
17
|
-
* Format wei as coin string.
|
|
18
|
-
* @param {BigNumberish} value
|
|
19
|
-
* @returns {string}
|
|
20
|
-
*/
|
|
21
|
-
export function formatEther(value: BigNumberish): string;
|
|
22
|
-
/**
|
|
23
|
-
* Parse coin string to wei.
|
|
24
|
-
* @param {string} value
|
|
25
|
-
* @returns {bigint}
|
|
26
|
-
*/
|
|
27
|
-
export function parseEther(value: string): bigint;
|
|
28
|
-
import { WeiPerEther } from "../constants";
|
|
29
|
-
export { WeiPerEther };
|
|
1
|
+
export type BigNumberish = string | number | bigint;
|
|
2
|
+
/**
|
|
3
|
+
* Format a BigNumberish into a decimal string with `decimals` places.
|
|
4
|
+
* @param {BigNumberish} value
|
|
5
|
+
* @param {number=} decimals
|
|
6
|
+
* @returns {string}
|
|
7
|
+
*/
|
|
8
|
+
export function formatUnits(value: BigNumberish, decimals?: number | undefined): string;
|
|
9
|
+
/**
|
|
10
|
+
* Parse a decimal string into bigint with `decimals` places.
|
|
11
|
+
* @param {string} value
|
|
12
|
+
* @param {number=} decimals
|
|
13
|
+
* @returns {bigint}
|
|
14
|
+
*/
|
|
15
|
+
export function parseUnits(value: string, decimals?: number | undefined): bigint;
|
|
16
|
+
/**
|
|
17
|
+
* Format wei as coin string.
|
|
18
|
+
* @param {BigNumberish} value
|
|
19
|
+
* @returns {string}
|
|
20
|
+
*/
|
|
21
|
+
export function formatEther(value: BigNumberish): string;
|
|
22
|
+
/**
|
|
23
|
+
* Parse coin string to wei.
|
|
24
|
+
* @param {string} value
|
|
25
|
+
* @returns {bigint}
|
|
26
|
+
*/
|
|
27
|
+
export function parseEther(value: string): bigint;
|
|
28
|
+
import { WeiPerEther } from "../constants";
|
|
29
|
+
export { WeiPerEther };
|
package/src/wallet/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
declare const _exports: {
|
|
2
|
-
SigningKey: typeof import("./wallet").SigningKey;
|
|
3
|
-
AbstractSigner: typeof import("./wallet").AbstractSigner;
|
|
4
|
-
BaseWallet: typeof import("./wallet").BaseWallet;
|
|
5
|
-
Wallet: typeof import("./wallet").Wallet;
|
|
6
|
-
NonceManager: typeof import("./wallet").NonceManager;
|
|
7
|
-
JsonRpcSigner: typeof import("./wallet").JsonRpcSigner;
|
|
8
|
-
VoidSigner: typeof import("./wallet").VoidSigner;
|
|
9
|
-
};
|
|
10
|
-
export = _exports;
|
|
1
|
+
declare const _exports: {
|
|
2
|
+
SigningKey: typeof import("./wallet").SigningKey;
|
|
3
|
+
AbstractSigner: typeof import("./wallet").AbstractSigner;
|
|
4
|
+
BaseWallet: typeof import("./wallet").BaseWallet;
|
|
5
|
+
Wallet: typeof import("./wallet").Wallet;
|
|
6
|
+
NonceManager: typeof import("./wallet").NonceManager;
|
|
7
|
+
JsonRpcSigner: typeof import("./wallet").JsonRpcSigner;
|
|
8
|
+
VoidSigner: typeof import("./wallet").VoidSigner;
|
|
9
|
+
};
|
|
10
|
+
export = _exports;
|