@ethereumjs/util
Advanced tools
| import type { Account } from './account.ts'; | ||
| import type { Address } from './address.ts'; | ||
| import type { PrefixedHexString } from './types.ts'; | ||
| /** | ||
| * @dev Returns the 31-bytes binary tree stem for a given address and tree index. | ||
| * @param hashFunction The hashFunction for the binary tree | ||
| * @param {Address} address The address to generate the tree key for. | ||
| * @param treeIndex The index of the tree to generate the key for. Defaults to 0. | ||
| * @return The 31-bytes binary tree stem as a Uint8Array. | ||
| */ | ||
| export declare function getBinaryTreeStem(hashFunction: (value: Uint8Array) => Uint8Array, address: Address, treeIndex?: number | bigint): Uint8Array; | ||
| export interface BinaryTreeStateDiff { | ||
| stem: PrefixedHexString; | ||
| suffixDiffs: { | ||
| currentValue: PrefixedHexString | null; | ||
| newValue: PrefixedHexString | null; | ||
| suffix: number | string; | ||
| }[]; | ||
| } | ||
| export type BinaryTreeProof = any; | ||
| /** | ||
| * Experimental, object format could eventual change. | ||
| * An object that provides the state and proof necessary for binary tree stateless execution | ||
| * */ | ||
| export interface BinaryTreeExecutionWitness { | ||
| /** | ||
| * The stateRoot of the parent block | ||
| */ | ||
| parentStateRoot: PrefixedHexString; | ||
| /** | ||
| * An array of state diffs. | ||
| * Each item corresponding to state accesses or state modifications of the block. | ||
| * In the current design, it also contains the resulting state of the block execution (post-state). | ||
| */ | ||
| stateDiff: BinaryTreeStateDiff[]; | ||
| /** | ||
| * The proof for the block. | ||
| * Proves that the provided stateDiff belongs to the canonical binary tree. | ||
| */ | ||
| proof: any; | ||
| } | ||
| export type BinaryTreeLeafType = (typeof BinaryTreeLeafType)[keyof typeof BinaryTreeLeafType]; | ||
| export declare const BinaryTreeLeafType: { | ||
| readonly BasicData: 0; | ||
| readonly CodeHash: 1; | ||
| }; | ||
| export type BinaryTreeLeafBasicData = { | ||
| version: number; | ||
| nonce: bigint; | ||
| balance: bigint; | ||
| codeSize: number; | ||
| }; | ||
| export declare const BINARY_TREE_VERSION_OFFSET = 0; | ||
| export declare const BINARY_TREE_CODE_SIZE_OFFSET = 5; | ||
| export declare const BINARY_TREE_NONCE_OFFSET = 8; | ||
| export declare const BINARY_TREE_BALANCE_OFFSET = 16; | ||
| export declare const BINARY_TREE_VERSION_BYTES_LENGTH = 1; | ||
| export declare const BINARY_TREE_CODE_SIZE_BYTES_LENGTH = 3; | ||
| export declare const BINARY_TREE_NONCE_BYTES_LENGTH = 8; | ||
| export declare const BINARY_TREE_BALANCE_BYTES_LENGTH = 16; | ||
| export declare const BINARY_TREE_BASIC_DATA_LEAF_KEY: Uint8Array<ArrayBufferLike>; | ||
| export declare const BINARY_TREE_CODE_HASH_LEAF_KEY: Uint8Array<ArrayBufferLike>; | ||
| export declare const BINARY_TREE_CODE_CHUNK_SIZE = 31; | ||
| export declare const BINARY_TREE_HEADER_STORAGE_OFFSET = 64; | ||
| export declare const BINARY_TREE_CODE_OFFSET = 128; | ||
| export declare const BINARY_TREE_NODE_WIDTH = 256; | ||
| export declare const BINARY_TREE_MAIN_STORAGE_OFFSET: bigint; | ||
| /** | ||
| * @dev Returns the tree key for a given binary tree stem, and sub index. | ||
| * @dev Assumes that the tree node width = 256 | ||
| * @param stem The 31-bytes binary tree stem as a Uint8Array. | ||
| * @param subIndex The sub index of the tree to generate the key for as a Uint8Array. | ||
| * @return The tree key as a Uint8Array. | ||
| */ | ||
| export declare const getBinaryTreeKey: (stem: Uint8Array, leaf: BinaryTreeLeafType | Uint8Array) => Uint8Array<ArrayBufferLike>; | ||
| /** | ||
| * Calculates the position of the storage key in the BinaryTree tree, determining | ||
| * both the tree index (the node in the tree) and the subindex (the position within the node). | ||
| * @param {bigint} storageKey - The key representing a specific storage slot. | ||
| * @returns {Object} - An object containing the tree index and subindex | ||
| */ | ||
| export declare function getBinaryTreeIndicesForStorageSlot(storageKey: bigint): { | ||
| treeIndex: bigint; | ||
| subIndex: number; | ||
| }; | ||
| /** | ||
| * Calculates the position of the code chunks in the BinaryTree tree, determining | ||
| * both the tree index (the node in the tree) and the subindex (the position within the node). | ||
| * @param {bigint} chunkId - The ID representing a specific chunk. | ||
| * @returns {Object} - An object containing the tree index and subindex | ||
| */ | ||
| export declare function getBinaryTreeIndicesForCodeChunk(chunkId: number): { | ||
| treeIndex: number; | ||
| subIndex: number; | ||
| }; | ||
| /** | ||
| * Asynchronously calculates the BinaryTree tree key for the specified code chunk ID. | ||
| * @param {Address} address - The account address to access code for. | ||
| * @param {number} chunkId - The ID of the code chunk to retrieve. | ||
| * @param hashFunction - The hash function used for BinaryTree-related operations. | ||
| * @returns {Uint8Array} - The BinaryTree tree key as a byte array. | ||
| */ | ||
| export declare const getBinaryTreeKeyForCodeChunk: (address: Address, chunkId: number, hashFunction: (input: Uint8Array) => Uint8Array) => Uint8Array<ArrayBufferLike>; | ||
| export declare const chunkifyBinaryTreeCode: (code: Uint8Array) => Uint8Array<ArrayBufferLike>[]; | ||
| /** | ||
| * Asynchronously calculates the BinaryTree tree key for the specified storage slot. | ||
| * @param {Address} address - The account address to access code for. | ||
| * @param {bigint} storageKey - The storage slot key to retrieve the key for. | ||
| * @param hashFunction - The hash function used in the Binary Tree. | ||
| * @returns {Uint8Array} - The BinaryTree tree key as a byte array. | ||
| */ | ||
| export declare const getBinaryTreeKeyForStorageSlot: (address: Address, storageKey: bigint, hashFunction: (input: Uint8Array) => Uint8Array) => Uint8Array<ArrayBufferLike>; | ||
| /** | ||
| * This function extracts and decodes account header elements (version, nonce, code size, and balance) | ||
| * from an encoded `Uint8Array` representation of raw BinaryTree leaf-node basic data. Each component is sliced | ||
| * from the `encodedBasicData` array based on predefined offsets and lengths, and then converted | ||
| * to its appropriate type (integer or BigInt). | ||
| * @param {Uint8Array} encodedBasicData - The encoded BinaryTree leaf basic data containing the version, nonce, | ||
| * code size, and balance in a compact Uint8Array format. | ||
| * @returns {BinaryTreeLeafBasicData} - An object containing the decoded version, nonce, code size, and balance. | ||
| */ | ||
| export declare function decodeBinaryTreeLeafBasicData(encodedBasicData: Uint8Array): BinaryTreeLeafBasicData; | ||
| /** | ||
| * This function takes a `BinaryTreeLeafBasicData` object and encodes its properties | ||
| * (version, nonce, code size, and balance) into a compact `Uint8Array` format. Each | ||
| * property is serialized and padded to match the required byte lengths defined by | ||
| * EIP-7864. Additionally, 4 bytes are reserved for future use as specified | ||
| * in EIP-7864. | ||
| * @param {Account} account - An object containing the version, nonce, | ||
| * code size, and balance to be encoded. | ||
| * @returns {Uint8Array} - A compact bytes representation of the account header basic data. | ||
| */ | ||
| export declare function encodeBinaryTreeLeafBasicData(account: Account): Uint8Array; | ||
| /** | ||
| * Helper method to generate the suffixes for code chunks for putting code | ||
| * @param numChunks number of chunks to generate suffixes for | ||
| * @returns number[] - an array of numbers corresponding to the code chunks being put | ||
| */ | ||
| export declare const generateBinaryTreeChunkSuffixes: (numChunks: number) => number[]; | ||
| /** | ||
| * Helper method for generating the code stems necessary for putting code | ||
| * @param numChunks the number of code chunks to be put | ||
| * @param address the address of the account getting the code | ||
| * @param hashFunction an initialized {@link BinaryTreeCrypto} object | ||
| * @returns an array of stems for putting code | ||
| */ | ||
| export declare function generateBinaryTreeCodeStems(numChunks: number, address: Address, hashFunction: (input: Uint8Array) => Uint8Array): Uint8Array[]; | ||
| //# sourceMappingURL=binaryTree.d.ts.map |
| {"version":3,"file":"binaryTree.d.ts","sourceRoot":"","sources":["../../src/binaryTree.ts"],"names":[],"mappings":"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"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.generateBinaryTreeChunkSuffixes = exports.getBinaryTreeKeyForStorageSlot = exports.chunkifyBinaryTreeCode = exports.getBinaryTreeKeyForCodeChunk = exports.getBinaryTreeKey = exports.BINARY_TREE_MAIN_STORAGE_OFFSET = exports.BINARY_TREE_NODE_WIDTH = exports.BINARY_TREE_CODE_OFFSET = exports.BINARY_TREE_HEADER_STORAGE_OFFSET = exports.BINARY_TREE_CODE_CHUNK_SIZE = exports.BINARY_TREE_CODE_HASH_LEAF_KEY = exports.BINARY_TREE_BASIC_DATA_LEAF_KEY = exports.BINARY_TREE_BALANCE_BYTES_LENGTH = exports.BINARY_TREE_NONCE_BYTES_LENGTH = exports.BINARY_TREE_CODE_SIZE_BYTES_LENGTH = exports.BINARY_TREE_VERSION_BYTES_LENGTH = exports.BINARY_TREE_BALANCE_OFFSET = exports.BINARY_TREE_NONCE_OFFSET = exports.BINARY_TREE_CODE_SIZE_OFFSET = exports.BINARY_TREE_VERSION_OFFSET = exports.BinaryTreeLeafType = void 0; | ||
| exports.getBinaryTreeStem = getBinaryTreeStem; | ||
| exports.getBinaryTreeIndicesForStorageSlot = getBinaryTreeIndicesForStorageSlot; | ||
| exports.getBinaryTreeIndicesForCodeChunk = getBinaryTreeIndicesForCodeChunk; | ||
| exports.decodeBinaryTreeLeafBasicData = decodeBinaryTreeLeafBasicData; | ||
| exports.encodeBinaryTreeLeafBasicData = encodeBinaryTreeLeafBasicData; | ||
| exports.generateBinaryTreeCodeStems = generateBinaryTreeCodeStems; | ||
| const bytes_ts_1 = require("./bytes.js"); | ||
| /** | ||
| * @dev Returns the 31-bytes binary tree stem for a given address and tree index. | ||
| * @param hashFunction The hashFunction for the binary tree | ||
| * @param {Address} address The address to generate the tree key for. | ||
| * @param treeIndex The index of the tree to generate the key for. Defaults to 0. | ||
| * @return The 31-bytes binary tree stem as a Uint8Array. | ||
| */ | ||
| function getBinaryTreeStem(hashFunction, address, treeIndex = 0) { | ||
| const address32 = (0, bytes_ts_1.setLengthLeft)(address.toBytes(), 32); | ||
| let treeIndexBytes; | ||
| if (typeof treeIndex === 'number') { | ||
| treeIndexBytes = (0, bytes_ts_1.setLengthRight)((0, bytes_ts_1.int32ToBytes)(Number(treeIndex), true), 32); | ||
| } | ||
| else { | ||
| treeIndexBytes = (0, bytes_ts_1.setLengthRight)((0, bytes_ts_1.bigIntToBytes)(BigInt(treeIndex), true).slice(0, 32), 32); | ||
| } | ||
| const treeStem = hashFunction((0, bytes_ts_1.concatBytes)(address32, treeIndexBytes)).slice(0, 31); | ||
| return treeStem; | ||
| } | ||
| exports.BinaryTreeLeafType = { | ||
| BasicData: 0, | ||
| CodeHash: 1, | ||
| }; | ||
| exports.BINARY_TREE_VERSION_OFFSET = 0; | ||
| exports.BINARY_TREE_CODE_SIZE_OFFSET = 5; | ||
| exports.BINARY_TREE_NONCE_OFFSET = 8; | ||
| exports.BINARY_TREE_BALANCE_OFFSET = 16; | ||
| exports.BINARY_TREE_VERSION_BYTES_LENGTH = 1; | ||
| exports.BINARY_TREE_CODE_SIZE_BYTES_LENGTH = 3; | ||
| exports.BINARY_TREE_NONCE_BYTES_LENGTH = 8; | ||
| exports.BINARY_TREE_BALANCE_BYTES_LENGTH = 16; | ||
| exports.BINARY_TREE_BASIC_DATA_LEAF_KEY = (0, bytes_ts_1.intToBytes)(exports.BinaryTreeLeafType.BasicData); | ||
| exports.BINARY_TREE_CODE_HASH_LEAF_KEY = (0, bytes_ts_1.intToBytes)(exports.BinaryTreeLeafType.CodeHash); | ||
| exports.BINARY_TREE_CODE_CHUNK_SIZE = 31; | ||
| exports.BINARY_TREE_HEADER_STORAGE_OFFSET = 64; | ||
| exports.BINARY_TREE_CODE_OFFSET = 128; | ||
| exports.BINARY_TREE_NODE_WIDTH = 256; | ||
| exports.BINARY_TREE_MAIN_STORAGE_OFFSET = BigInt(256) ** BigInt(exports.BINARY_TREE_CODE_CHUNK_SIZE); | ||
| /** | ||
| * @dev Returns the tree key for a given binary tree stem, and sub index. | ||
| * @dev Assumes that the tree node width = 256 | ||
| * @param stem The 31-bytes binary tree stem as a Uint8Array. | ||
| * @param subIndex The sub index of the tree to generate the key for as a Uint8Array. | ||
| * @return The tree key as a Uint8Array. | ||
| */ | ||
| const getBinaryTreeKey = (stem, leaf) => { | ||
| switch (leaf) { | ||
| case exports.BinaryTreeLeafType.BasicData: | ||
| return (0, bytes_ts_1.concatBytes)(stem, exports.BINARY_TREE_BASIC_DATA_LEAF_KEY); | ||
| case exports.BinaryTreeLeafType.CodeHash: | ||
| return (0, bytes_ts_1.concatBytes)(stem, exports.BINARY_TREE_CODE_HASH_LEAF_KEY); | ||
| default: | ||
| return (0, bytes_ts_1.concatBytes)(stem, leaf); | ||
| } | ||
| }; | ||
| exports.getBinaryTreeKey = getBinaryTreeKey; | ||
| /** | ||
| * Calculates the position of the storage key in the BinaryTree tree, determining | ||
| * both the tree index (the node in the tree) and the subindex (the position within the node). | ||
| * @param {bigint} storageKey - The key representing a specific storage slot. | ||
| * @returns {Object} - An object containing the tree index and subindex | ||
| */ | ||
| function getBinaryTreeIndicesForStorageSlot(storageKey) { | ||
| let position; | ||
| if (storageKey < exports.BINARY_TREE_CODE_OFFSET - exports.BINARY_TREE_HEADER_STORAGE_OFFSET) { | ||
| position = BigInt(exports.BINARY_TREE_HEADER_STORAGE_OFFSET) + storageKey; | ||
| } | ||
| else { | ||
| position = exports.BINARY_TREE_MAIN_STORAGE_OFFSET + storageKey; | ||
| } | ||
| const treeIndex = position / BigInt(exports.BINARY_TREE_NODE_WIDTH); | ||
| const subIndex = Number(position % BigInt(exports.BINARY_TREE_NODE_WIDTH)); | ||
| return { treeIndex, subIndex }; | ||
| } | ||
| /** | ||
| * Calculates the position of the code chunks in the BinaryTree tree, determining | ||
| * both the tree index (the node in the tree) and the subindex (the position within the node). | ||
| * @param {bigint} chunkId - The ID representing a specific chunk. | ||
| * @returns {Object} - An object containing the tree index and subindex | ||
| */ | ||
| function getBinaryTreeIndicesForCodeChunk(chunkId) { | ||
| const treeIndex = Math.floor((exports.BINARY_TREE_CODE_OFFSET + chunkId) / exports.BINARY_TREE_NODE_WIDTH); | ||
| const subIndex = (exports.BINARY_TREE_CODE_OFFSET + chunkId) % exports.BINARY_TREE_NODE_WIDTH; | ||
| return { treeIndex, subIndex }; | ||
| } | ||
| /** | ||
| * Asynchronously calculates the BinaryTree tree key for the specified code chunk ID. | ||
| * @param {Address} address - The account address to access code for. | ||
| * @param {number} chunkId - The ID of the code chunk to retrieve. | ||
| * @param hashFunction - The hash function used for BinaryTree-related operations. | ||
| * @returns {Uint8Array} - The BinaryTree tree key as a byte array. | ||
| */ | ||
| const getBinaryTreeKeyForCodeChunk = (address, chunkId, hashFunction) => { | ||
| const { treeIndex, subIndex } = getBinaryTreeIndicesForCodeChunk(chunkId); | ||
| return (0, bytes_ts_1.concatBytes)(getBinaryTreeStem(hashFunction, address, treeIndex), (0, bytes_ts_1.toBytes)(subIndex)); | ||
| }; | ||
| exports.getBinaryTreeKeyForCodeChunk = getBinaryTreeKeyForCodeChunk; | ||
| // This code was written by robots based on the reference implementation in EIP-7864 | ||
| const chunkifyBinaryTreeCode = (code) => { | ||
| const PUSH1 = 0x60; // Assuming PUSH1 is defined as 0x60 | ||
| const PUSH32 = 0x7f; // Assuming PUSH32 is defined as 0x7f | ||
| const PUSH_OFFSET = 0x5f; // Assuming PUSH_OFFSET is defined as 0x5f | ||
| // Calculate padding length | ||
| const paddingLength = (31 - (code.length % 31)) % 31; | ||
| const paddedCode = new Uint8Array(code.length + paddingLength); | ||
| paddedCode.set(code); | ||
| // Pre-allocate the bytesToExecData array | ||
| const bytesToExecData = new Uint8Array(paddedCode.length + 32); | ||
| let pos = 0; | ||
| while (pos < paddedCode.length) { | ||
| let pushdataBytes = 0; | ||
| if (PUSH1 <= paddedCode[pos] && paddedCode[pos] <= PUSH32) { | ||
| pushdataBytes = paddedCode[pos] - PUSH_OFFSET; | ||
| } | ||
| pos += 1; | ||
| for (let x = 0; x < pushdataBytes; x++) { | ||
| bytesToExecData[pos + x] = pushdataBytes - x; | ||
| } | ||
| pos += pushdataBytes; | ||
| } | ||
| // Pre-allocate the chunks array | ||
| const numChunks = Math.ceil(paddedCode.length / 31); | ||
| const chunks = new Array(numChunks); | ||
| for (let i = 0, pos = 0; i < numChunks; i++, pos += 31) { | ||
| const chunk = new Uint8Array(32); | ||
| chunk[0] = Math.min(bytesToExecData[pos], 31); | ||
| chunk.set(paddedCode.subarray(pos, pos + 31), 1); | ||
| chunks[i] = chunk; | ||
| } | ||
| return chunks; | ||
| }; | ||
| exports.chunkifyBinaryTreeCode = chunkifyBinaryTreeCode; | ||
| /** | ||
| * Asynchronously calculates the BinaryTree tree key for the specified storage slot. | ||
| * @param {Address} address - The account address to access code for. | ||
| * @param {bigint} storageKey - The storage slot key to retrieve the key for. | ||
| * @param hashFunction - The hash function used in the Binary Tree. | ||
| * @returns {Uint8Array} - The BinaryTree tree key as a byte array. | ||
| */ | ||
| const getBinaryTreeKeyForStorageSlot = (address, storageKey, hashFunction) => { | ||
| const { treeIndex, subIndex } = getBinaryTreeIndicesForStorageSlot(storageKey); | ||
| return (0, bytes_ts_1.concatBytes)(getBinaryTreeStem(hashFunction, address, treeIndex), (0, bytes_ts_1.intToBytes)(subIndex)); | ||
| }; | ||
| exports.getBinaryTreeKeyForStorageSlot = getBinaryTreeKeyForStorageSlot; | ||
| /** | ||
| * This function extracts and decodes account header elements (version, nonce, code size, and balance) | ||
| * from an encoded `Uint8Array` representation of raw BinaryTree leaf-node basic data. Each component is sliced | ||
| * from the `encodedBasicData` array based on predefined offsets and lengths, and then converted | ||
| * to its appropriate type (integer or BigInt). | ||
| * @param {Uint8Array} encodedBasicData - The encoded BinaryTree leaf basic data containing the version, nonce, | ||
| * code size, and balance in a compact Uint8Array format. | ||
| * @returns {BinaryTreeLeafBasicData} - An object containing the decoded version, nonce, code size, and balance. | ||
| */ | ||
| function decodeBinaryTreeLeafBasicData(encodedBasicData) { | ||
| const versionBytes = encodedBasicData.slice(0, exports.BINARY_TREE_VERSION_BYTES_LENGTH); | ||
| const nonceBytes = encodedBasicData.slice(exports.BINARY_TREE_NONCE_OFFSET, exports.BINARY_TREE_NONCE_OFFSET + exports.BINARY_TREE_NONCE_BYTES_LENGTH); | ||
| const codeSizeBytes = encodedBasicData.slice(exports.BINARY_TREE_CODE_SIZE_OFFSET, exports.BINARY_TREE_CODE_SIZE_OFFSET + exports.BINARY_TREE_CODE_SIZE_BYTES_LENGTH); | ||
| const balanceBytes = encodedBasicData.slice(exports.BINARY_TREE_BALANCE_OFFSET, exports.BINARY_TREE_BALANCE_OFFSET + exports.BINARY_TREE_BALANCE_BYTES_LENGTH); | ||
| const version = (0, bytes_ts_1.bytesToInt32)(versionBytes); | ||
| const nonce = (0, bytes_ts_1.bytesToBigInt)(nonceBytes); | ||
| const codeSize = (0, bytes_ts_1.bytesToInt32)(codeSizeBytes); | ||
| const balance = (0, bytes_ts_1.bytesToBigInt)(balanceBytes); | ||
| return { version, nonce, codeSize, balance }; | ||
| } | ||
| /** | ||
| * This function takes a `BinaryTreeLeafBasicData` object and encodes its properties | ||
| * (version, nonce, code size, and balance) into a compact `Uint8Array` format. Each | ||
| * property is serialized and padded to match the required byte lengths defined by | ||
| * EIP-7864. Additionally, 4 bytes are reserved for future use as specified | ||
| * in EIP-7864. | ||
| * @param {Account} account - An object containing the version, nonce, | ||
| * code size, and balance to be encoded. | ||
| * @returns {Uint8Array} - A compact bytes representation of the account header basic data. | ||
| */ | ||
| function encodeBinaryTreeLeafBasicData(account) { | ||
| const encodedVersion = (0, bytes_ts_1.setLengthLeft)((0, bytes_ts_1.int32ToBytes)(account.version), exports.BINARY_TREE_VERSION_BYTES_LENGTH); | ||
| // Per EIP-7864, bytes 1-4 are reserved for future use | ||
| const reservedBytes = new Uint8Array([0, 0, 0, 0]); | ||
| const encodedNonce = (0, bytes_ts_1.setLengthLeft)((0, bytes_ts_1.bigIntToBytes)(account.nonce), exports.BINARY_TREE_NONCE_BYTES_LENGTH); | ||
| const encodedCodeSize = (0, bytes_ts_1.setLengthLeft)((0, bytes_ts_1.int32ToBytes)(account.codeSize), exports.BINARY_TREE_CODE_SIZE_BYTES_LENGTH); | ||
| const encodedBalance = (0, bytes_ts_1.setLengthLeft)((0, bytes_ts_1.bigIntToBytes)(account.balance), exports.BINARY_TREE_BALANCE_BYTES_LENGTH); | ||
| return (0, bytes_ts_1.concatBytes)(encodedVersion, reservedBytes, encodedCodeSize, encodedNonce, encodedBalance); | ||
| } | ||
| /** | ||
| * Helper method to generate the suffixes for code chunks for putting code | ||
| * @param numChunks number of chunks to generate suffixes for | ||
| * @returns number[] - an array of numbers corresponding to the code chunks being put | ||
| */ | ||
| const generateBinaryTreeChunkSuffixes = (numChunks) => { | ||
| if (numChunks === 0) | ||
| return []; | ||
| const chunkSuffixes = new Array(numChunks); | ||
| let currentSuffix = exports.BINARY_TREE_CODE_OFFSET; | ||
| for (let x = 0; x < numChunks; x++) { | ||
| chunkSuffixes[x] = currentSuffix; | ||
| currentSuffix++; | ||
| // Reset suffix to 0 if exceeds BINARY_TREE_NODE_WIDTH | ||
| if (currentSuffix >= exports.BINARY_TREE_NODE_WIDTH) | ||
| currentSuffix = 0; | ||
| } | ||
| return chunkSuffixes; | ||
| }; | ||
| exports.generateBinaryTreeChunkSuffixes = generateBinaryTreeChunkSuffixes; | ||
| /** | ||
| * Helper method for generating the code stems necessary for putting code | ||
| * @param numChunks the number of code chunks to be put | ||
| * @param address the address of the account getting the code | ||
| * @param hashFunction an initialized {@link BinaryTreeCrypto} object | ||
| * @returns an array of stems for putting code | ||
| */ | ||
| function generateBinaryTreeCodeStems(numChunks, address, hashFunction) { | ||
| // The maximum number of chunks is 793 (maxCodeSize - 24576) / (bytes per chunk 31) + (round up - 1) | ||
| // Code is stored in chunks starting at leaf index 128 of the leaf node corresponding to the stem of the code's address | ||
| // Code chunks beyond the initial 128 are stored in additional leaf nodes in batches up of up to 256 chunks per leaf node | ||
| // so the maximum number of leaf nodes that can hold contract code for a specific address is 4 leaf nodes (128 chunks in | ||
| // the first leaf node and 256 chunks in up to 3 additional leaf nodes) | ||
| // So, instead of computing every single leaf key (which is a heavy operation), we just compute the stem for the first | ||
| // chunk in each leaf node and can then know that the chunks in between have tree keys in monotonically increasing order | ||
| const numStems = numChunks > exports.BINARY_TREE_CODE_OFFSET ? Math.ceil(numChunks / exports.BINARY_TREE_NODE_WIDTH) + 1 : 1; | ||
| const chunkStems = new Array(numStems); | ||
| // Compute the stem for the initial set of code chunks | ||
| chunkStems[0] = (0, exports.getBinaryTreeKeyForCodeChunk)(address, 0, hashFunction).slice(0, 31); | ||
| for (let stemNum = 0; stemNum < numStems - 1; stemNum++) { | ||
| // Generate additional stems | ||
| const firstChunkKey = (0, exports.getBinaryTreeKeyForCodeChunk)(address, exports.BINARY_TREE_CODE_OFFSET + stemNum * exports.BINARY_TREE_NODE_WIDTH, hashFunction); | ||
| chunkStems[stemNum + 1] = firstChunkKey.slice(0, 31); | ||
| } | ||
| return chunkStems; | ||
| } | ||
| //# sourceMappingURL=binaryTree.js.map |
| {"version":3,"file":"binaryTree.js","sourceRoot":"","sources":["../../src/binaryTree.ts"],"names":[],"mappings":"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"} |
| import { DEFAULT_ERROR_CODE, EthereumJSError, type EthereumJSErrorMetaData, type EthereumJSErrorObject, EthereumJSErrorWithoutCode } from '@ethereumjs/rlp'; | ||
| export { DEFAULT_ERROR_CODE, EthereumJSError, EthereumJSErrorWithoutCode, type EthereumJSErrorMetaData, type EthereumJSErrorObject, }; | ||
| //# sourceMappingURL=errors.d.ts.map |
| {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,0BAA0B,EAC3B,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,0BAA0B,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,GAC3B,CAAA"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.EthereumJSErrorWithoutCode = exports.EthereumJSError = exports.DEFAULT_ERROR_CODE = void 0; | ||
| const rlp_1 = require("@ethereumjs/rlp"); | ||
| Object.defineProperty(exports, "DEFAULT_ERROR_CODE", { enumerable: true, get: function () { return rlp_1.DEFAULT_ERROR_CODE; } }); | ||
| Object.defineProperty(exports, "EthereumJSError", { enumerable: true, get: function () { return rlp_1.EthereumJSError; } }); | ||
| Object.defineProperty(exports, "EthereumJSErrorWithoutCode", { enumerable: true, get: function () { return rlp_1.EthereumJSErrorWithoutCode; } }); | ||
| // Below here: specific monorepo-wide errors (examples and commented out) | ||
| /*export enum UsageErrorType { | ||
| UNSUPPORTED_FEATURE = 'unsupported feature', | ||
| }* | ||
| /** | ||
| * Error along API Usage | ||
| * | ||
| * Use directly or in a subclassed context for error comparison (`e instanceof UsageError`) | ||
| */ | ||
| //export class UsageError extends EthereumJSError<{ code: UsageErrorType }> {} | ||
| //# sourceMappingURL=errors.js.map |
| {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":";;;AAAA,yCAMwB;AAGtB,mGARA,wBAAkB,OAQA;AAClB,gGARA,qBAAe,OAQA;AACf,2GANA,gCAA0B,OAMA;AAK5B,yEAAyE;AAEzE;;;;;;;;GAQG;AACH,8EAA8E"} |
| import type { Account } from './account.ts'; | ||
| import type { Address } from './address.ts'; | ||
| import type { PrefixedHexString } from './types.ts'; | ||
| /** | ||
| * @dev Returns the 31-bytes binary tree stem for a given address and tree index. | ||
| * @param hashFunction The hashFunction for the binary tree | ||
| * @param {Address} address The address to generate the tree key for. | ||
| * @param treeIndex The index of the tree to generate the key for. Defaults to 0. | ||
| * @return The 31-bytes binary tree stem as a Uint8Array. | ||
| */ | ||
| export declare function getBinaryTreeStem(hashFunction: (value: Uint8Array) => Uint8Array, address: Address, treeIndex?: number | bigint): Uint8Array; | ||
| export interface BinaryTreeStateDiff { | ||
| stem: PrefixedHexString; | ||
| suffixDiffs: { | ||
| currentValue: PrefixedHexString | null; | ||
| newValue: PrefixedHexString | null; | ||
| suffix: number | string; | ||
| }[]; | ||
| } | ||
| export type BinaryTreeProof = any; | ||
| /** | ||
| * Experimental, object format could eventual change. | ||
| * An object that provides the state and proof necessary for binary tree stateless execution | ||
| * */ | ||
| export interface BinaryTreeExecutionWitness { | ||
| /** | ||
| * The stateRoot of the parent block | ||
| */ | ||
| parentStateRoot: PrefixedHexString; | ||
| /** | ||
| * An array of state diffs. | ||
| * Each item corresponding to state accesses or state modifications of the block. | ||
| * In the current design, it also contains the resulting state of the block execution (post-state). | ||
| */ | ||
| stateDiff: BinaryTreeStateDiff[]; | ||
| /** | ||
| * The proof for the block. | ||
| * Proves that the provided stateDiff belongs to the canonical binary tree. | ||
| */ | ||
| proof: any; | ||
| } | ||
| export type BinaryTreeLeafType = (typeof BinaryTreeLeafType)[keyof typeof BinaryTreeLeafType]; | ||
| export declare const BinaryTreeLeafType: { | ||
| readonly BasicData: 0; | ||
| readonly CodeHash: 1; | ||
| }; | ||
| export type BinaryTreeLeafBasicData = { | ||
| version: number; | ||
| nonce: bigint; | ||
| balance: bigint; | ||
| codeSize: number; | ||
| }; | ||
| export declare const BINARY_TREE_VERSION_OFFSET = 0; | ||
| export declare const BINARY_TREE_CODE_SIZE_OFFSET = 5; | ||
| export declare const BINARY_TREE_NONCE_OFFSET = 8; | ||
| export declare const BINARY_TREE_BALANCE_OFFSET = 16; | ||
| export declare const BINARY_TREE_VERSION_BYTES_LENGTH = 1; | ||
| export declare const BINARY_TREE_CODE_SIZE_BYTES_LENGTH = 3; | ||
| export declare const BINARY_TREE_NONCE_BYTES_LENGTH = 8; | ||
| export declare const BINARY_TREE_BALANCE_BYTES_LENGTH = 16; | ||
| export declare const BINARY_TREE_BASIC_DATA_LEAF_KEY: Uint8Array<ArrayBufferLike>; | ||
| export declare const BINARY_TREE_CODE_HASH_LEAF_KEY: Uint8Array<ArrayBufferLike>; | ||
| export declare const BINARY_TREE_CODE_CHUNK_SIZE = 31; | ||
| export declare const BINARY_TREE_HEADER_STORAGE_OFFSET = 64; | ||
| export declare const BINARY_TREE_CODE_OFFSET = 128; | ||
| export declare const BINARY_TREE_NODE_WIDTH = 256; | ||
| export declare const BINARY_TREE_MAIN_STORAGE_OFFSET: bigint; | ||
| /** | ||
| * @dev Returns the tree key for a given binary tree stem, and sub index. | ||
| * @dev Assumes that the tree node width = 256 | ||
| * @param stem The 31-bytes binary tree stem as a Uint8Array. | ||
| * @param subIndex The sub index of the tree to generate the key for as a Uint8Array. | ||
| * @return The tree key as a Uint8Array. | ||
| */ | ||
| export declare const getBinaryTreeKey: (stem: Uint8Array, leaf: BinaryTreeLeafType | Uint8Array) => Uint8Array<ArrayBufferLike>; | ||
| /** | ||
| * Calculates the position of the storage key in the BinaryTree tree, determining | ||
| * both the tree index (the node in the tree) and the subindex (the position within the node). | ||
| * @param {bigint} storageKey - The key representing a specific storage slot. | ||
| * @returns {Object} - An object containing the tree index and subindex | ||
| */ | ||
| export declare function getBinaryTreeIndicesForStorageSlot(storageKey: bigint): { | ||
| treeIndex: bigint; | ||
| subIndex: number; | ||
| }; | ||
| /** | ||
| * Calculates the position of the code chunks in the BinaryTree tree, determining | ||
| * both the tree index (the node in the tree) and the subindex (the position within the node). | ||
| * @param {bigint} chunkId - The ID representing a specific chunk. | ||
| * @returns {Object} - An object containing the tree index and subindex | ||
| */ | ||
| export declare function getBinaryTreeIndicesForCodeChunk(chunkId: number): { | ||
| treeIndex: number; | ||
| subIndex: number; | ||
| }; | ||
| /** | ||
| * Asynchronously calculates the BinaryTree tree key for the specified code chunk ID. | ||
| * @param {Address} address - The account address to access code for. | ||
| * @param {number} chunkId - The ID of the code chunk to retrieve. | ||
| * @param hashFunction - The hash function used for BinaryTree-related operations. | ||
| * @returns {Uint8Array} - The BinaryTree tree key as a byte array. | ||
| */ | ||
| export declare const getBinaryTreeKeyForCodeChunk: (address: Address, chunkId: number, hashFunction: (input: Uint8Array) => Uint8Array) => Uint8Array<ArrayBufferLike>; | ||
| export declare const chunkifyBinaryTreeCode: (code: Uint8Array) => Uint8Array<ArrayBufferLike>[]; | ||
| /** | ||
| * Asynchronously calculates the BinaryTree tree key for the specified storage slot. | ||
| * @param {Address} address - The account address to access code for. | ||
| * @param {bigint} storageKey - The storage slot key to retrieve the key for. | ||
| * @param hashFunction - The hash function used in the Binary Tree. | ||
| * @returns {Uint8Array} - The BinaryTree tree key as a byte array. | ||
| */ | ||
| export declare const getBinaryTreeKeyForStorageSlot: (address: Address, storageKey: bigint, hashFunction: (input: Uint8Array) => Uint8Array) => Uint8Array<ArrayBufferLike>; | ||
| /** | ||
| * This function extracts and decodes account header elements (version, nonce, code size, and balance) | ||
| * from an encoded `Uint8Array` representation of raw BinaryTree leaf-node basic data. Each component is sliced | ||
| * from the `encodedBasicData` array based on predefined offsets and lengths, and then converted | ||
| * to its appropriate type (integer or BigInt). | ||
| * @param {Uint8Array} encodedBasicData - The encoded BinaryTree leaf basic data containing the version, nonce, | ||
| * code size, and balance in a compact Uint8Array format. | ||
| * @returns {BinaryTreeLeafBasicData} - An object containing the decoded version, nonce, code size, and balance. | ||
| */ | ||
| export declare function decodeBinaryTreeLeafBasicData(encodedBasicData: Uint8Array): BinaryTreeLeafBasicData; | ||
| /** | ||
| * This function takes a `BinaryTreeLeafBasicData` object and encodes its properties | ||
| * (version, nonce, code size, and balance) into a compact `Uint8Array` format. Each | ||
| * property is serialized and padded to match the required byte lengths defined by | ||
| * EIP-7864. Additionally, 4 bytes are reserved for future use as specified | ||
| * in EIP-7864. | ||
| * @param {Account} account - An object containing the version, nonce, | ||
| * code size, and balance to be encoded. | ||
| * @returns {Uint8Array} - A compact bytes representation of the account header basic data. | ||
| */ | ||
| export declare function encodeBinaryTreeLeafBasicData(account: Account): Uint8Array; | ||
| /** | ||
| * Helper method to generate the suffixes for code chunks for putting code | ||
| * @param numChunks number of chunks to generate suffixes for | ||
| * @returns number[] - an array of numbers corresponding to the code chunks being put | ||
| */ | ||
| export declare const generateBinaryTreeChunkSuffixes: (numChunks: number) => number[]; | ||
| /** | ||
| * Helper method for generating the code stems necessary for putting code | ||
| * @param numChunks the number of code chunks to be put | ||
| * @param address the address of the account getting the code | ||
| * @param hashFunction an initialized {@link BinaryTreeCrypto} object | ||
| * @returns an array of stems for putting code | ||
| */ | ||
| export declare function generateBinaryTreeCodeStems(numChunks: number, address: Address, hashFunction: (input: Uint8Array) => Uint8Array): Uint8Array[]; | ||
| //# sourceMappingURL=binaryTree.d.ts.map |
| {"version":3,"file":"binaryTree.d.ts","sourceRoot":"","sources":["../../src/binaryTree.ts"],"names":[],"mappings":"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"} |
| import { bigIntToBytes, bytesToBigInt, bytesToInt32, concatBytes, int32ToBytes, intToBytes, setLengthLeft, setLengthRight, toBytes, } from "./bytes.js"; | ||
| /** | ||
| * @dev Returns the 31-bytes binary tree stem for a given address and tree index. | ||
| * @param hashFunction The hashFunction for the binary tree | ||
| * @param {Address} address The address to generate the tree key for. | ||
| * @param treeIndex The index of the tree to generate the key for. Defaults to 0. | ||
| * @return The 31-bytes binary tree stem as a Uint8Array. | ||
| */ | ||
| export function getBinaryTreeStem(hashFunction, address, treeIndex = 0) { | ||
| const address32 = setLengthLeft(address.toBytes(), 32); | ||
| let treeIndexBytes; | ||
| if (typeof treeIndex === 'number') { | ||
| treeIndexBytes = setLengthRight(int32ToBytes(Number(treeIndex), true), 32); | ||
| } | ||
| else { | ||
| treeIndexBytes = setLengthRight(bigIntToBytes(BigInt(treeIndex), true).slice(0, 32), 32); | ||
| } | ||
| const treeStem = hashFunction(concatBytes(address32, treeIndexBytes)).slice(0, 31); | ||
| return treeStem; | ||
| } | ||
| export const BinaryTreeLeafType = { | ||
| BasicData: 0, | ||
| CodeHash: 1, | ||
| }; | ||
| export const BINARY_TREE_VERSION_OFFSET = 0; | ||
| export const BINARY_TREE_CODE_SIZE_OFFSET = 5; | ||
| export const BINARY_TREE_NONCE_OFFSET = 8; | ||
| export const BINARY_TREE_BALANCE_OFFSET = 16; | ||
| export const BINARY_TREE_VERSION_BYTES_LENGTH = 1; | ||
| export const BINARY_TREE_CODE_SIZE_BYTES_LENGTH = 3; | ||
| export const BINARY_TREE_NONCE_BYTES_LENGTH = 8; | ||
| export const BINARY_TREE_BALANCE_BYTES_LENGTH = 16; | ||
| export const BINARY_TREE_BASIC_DATA_LEAF_KEY = intToBytes(BinaryTreeLeafType.BasicData); | ||
| export const BINARY_TREE_CODE_HASH_LEAF_KEY = intToBytes(BinaryTreeLeafType.CodeHash); | ||
| export const BINARY_TREE_CODE_CHUNK_SIZE = 31; | ||
| export const BINARY_TREE_HEADER_STORAGE_OFFSET = 64; | ||
| export const BINARY_TREE_CODE_OFFSET = 128; | ||
| export const BINARY_TREE_NODE_WIDTH = 256; | ||
| export const BINARY_TREE_MAIN_STORAGE_OFFSET = BigInt(256) ** BigInt(BINARY_TREE_CODE_CHUNK_SIZE); | ||
| /** | ||
| * @dev Returns the tree key for a given binary tree stem, and sub index. | ||
| * @dev Assumes that the tree node width = 256 | ||
| * @param stem The 31-bytes binary tree stem as a Uint8Array. | ||
| * @param subIndex The sub index of the tree to generate the key for as a Uint8Array. | ||
| * @return The tree key as a Uint8Array. | ||
| */ | ||
| export const getBinaryTreeKey = (stem, leaf) => { | ||
| switch (leaf) { | ||
| case BinaryTreeLeafType.BasicData: | ||
| return concatBytes(stem, BINARY_TREE_BASIC_DATA_LEAF_KEY); | ||
| case BinaryTreeLeafType.CodeHash: | ||
| return concatBytes(stem, BINARY_TREE_CODE_HASH_LEAF_KEY); | ||
| default: | ||
| return concatBytes(stem, leaf); | ||
| } | ||
| }; | ||
| /** | ||
| * Calculates the position of the storage key in the BinaryTree tree, determining | ||
| * both the tree index (the node in the tree) and the subindex (the position within the node). | ||
| * @param {bigint} storageKey - The key representing a specific storage slot. | ||
| * @returns {Object} - An object containing the tree index and subindex | ||
| */ | ||
| export function getBinaryTreeIndicesForStorageSlot(storageKey) { | ||
| let position; | ||
| if (storageKey < BINARY_TREE_CODE_OFFSET - BINARY_TREE_HEADER_STORAGE_OFFSET) { | ||
| position = BigInt(BINARY_TREE_HEADER_STORAGE_OFFSET) + storageKey; | ||
| } | ||
| else { | ||
| position = BINARY_TREE_MAIN_STORAGE_OFFSET + storageKey; | ||
| } | ||
| const treeIndex = position / BigInt(BINARY_TREE_NODE_WIDTH); | ||
| const subIndex = Number(position % BigInt(BINARY_TREE_NODE_WIDTH)); | ||
| return { treeIndex, subIndex }; | ||
| } | ||
| /** | ||
| * Calculates the position of the code chunks in the BinaryTree tree, determining | ||
| * both the tree index (the node in the tree) and the subindex (the position within the node). | ||
| * @param {bigint} chunkId - The ID representing a specific chunk. | ||
| * @returns {Object} - An object containing the tree index and subindex | ||
| */ | ||
| export function getBinaryTreeIndicesForCodeChunk(chunkId) { | ||
| const treeIndex = Math.floor((BINARY_TREE_CODE_OFFSET + chunkId) / BINARY_TREE_NODE_WIDTH); | ||
| const subIndex = (BINARY_TREE_CODE_OFFSET + chunkId) % BINARY_TREE_NODE_WIDTH; | ||
| return { treeIndex, subIndex }; | ||
| } | ||
| /** | ||
| * Asynchronously calculates the BinaryTree tree key for the specified code chunk ID. | ||
| * @param {Address} address - The account address to access code for. | ||
| * @param {number} chunkId - The ID of the code chunk to retrieve. | ||
| * @param hashFunction - The hash function used for BinaryTree-related operations. | ||
| * @returns {Uint8Array} - The BinaryTree tree key as a byte array. | ||
| */ | ||
| export const getBinaryTreeKeyForCodeChunk = (address, chunkId, hashFunction) => { | ||
| const { treeIndex, subIndex } = getBinaryTreeIndicesForCodeChunk(chunkId); | ||
| return concatBytes(getBinaryTreeStem(hashFunction, address, treeIndex), toBytes(subIndex)); | ||
| }; | ||
| // This code was written by robots based on the reference implementation in EIP-7864 | ||
| export const chunkifyBinaryTreeCode = (code) => { | ||
| const PUSH1 = 0x60; // Assuming PUSH1 is defined as 0x60 | ||
| const PUSH32 = 0x7f; // Assuming PUSH32 is defined as 0x7f | ||
| const PUSH_OFFSET = 0x5f; // Assuming PUSH_OFFSET is defined as 0x5f | ||
| // Calculate padding length | ||
| const paddingLength = (31 - (code.length % 31)) % 31; | ||
| const paddedCode = new Uint8Array(code.length + paddingLength); | ||
| paddedCode.set(code); | ||
| // Pre-allocate the bytesToExecData array | ||
| const bytesToExecData = new Uint8Array(paddedCode.length + 32); | ||
| let pos = 0; | ||
| while (pos < paddedCode.length) { | ||
| let pushdataBytes = 0; | ||
| if (PUSH1 <= paddedCode[pos] && paddedCode[pos] <= PUSH32) { | ||
| pushdataBytes = paddedCode[pos] - PUSH_OFFSET; | ||
| } | ||
| pos += 1; | ||
| for (let x = 0; x < pushdataBytes; x++) { | ||
| bytesToExecData[pos + x] = pushdataBytes - x; | ||
| } | ||
| pos += pushdataBytes; | ||
| } | ||
| // Pre-allocate the chunks array | ||
| const numChunks = Math.ceil(paddedCode.length / 31); | ||
| const chunks = new Array(numChunks); | ||
| for (let i = 0, pos = 0; i < numChunks; i++, pos += 31) { | ||
| const chunk = new Uint8Array(32); | ||
| chunk[0] = Math.min(bytesToExecData[pos], 31); | ||
| chunk.set(paddedCode.subarray(pos, pos + 31), 1); | ||
| chunks[i] = chunk; | ||
| } | ||
| return chunks; | ||
| }; | ||
| /** | ||
| * Asynchronously calculates the BinaryTree tree key for the specified storage slot. | ||
| * @param {Address} address - The account address to access code for. | ||
| * @param {bigint} storageKey - The storage slot key to retrieve the key for. | ||
| * @param hashFunction - The hash function used in the Binary Tree. | ||
| * @returns {Uint8Array} - The BinaryTree tree key as a byte array. | ||
| */ | ||
| export const getBinaryTreeKeyForStorageSlot = (address, storageKey, hashFunction) => { | ||
| const { treeIndex, subIndex } = getBinaryTreeIndicesForStorageSlot(storageKey); | ||
| return concatBytes(getBinaryTreeStem(hashFunction, address, treeIndex), intToBytes(subIndex)); | ||
| }; | ||
| /** | ||
| * This function extracts and decodes account header elements (version, nonce, code size, and balance) | ||
| * from an encoded `Uint8Array` representation of raw BinaryTree leaf-node basic data. Each component is sliced | ||
| * from the `encodedBasicData` array based on predefined offsets and lengths, and then converted | ||
| * to its appropriate type (integer or BigInt). | ||
| * @param {Uint8Array} encodedBasicData - The encoded BinaryTree leaf basic data containing the version, nonce, | ||
| * code size, and balance in a compact Uint8Array format. | ||
| * @returns {BinaryTreeLeafBasicData} - An object containing the decoded version, nonce, code size, and balance. | ||
| */ | ||
| export function decodeBinaryTreeLeafBasicData(encodedBasicData) { | ||
| const versionBytes = encodedBasicData.slice(0, BINARY_TREE_VERSION_BYTES_LENGTH); | ||
| const nonceBytes = encodedBasicData.slice(BINARY_TREE_NONCE_OFFSET, BINARY_TREE_NONCE_OFFSET + BINARY_TREE_NONCE_BYTES_LENGTH); | ||
| const codeSizeBytes = encodedBasicData.slice(BINARY_TREE_CODE_SIZE_OFFSET, BINARY_TREE_CODE_SIZE_OFFSET + BINARY_TREE_CODE_SIZE_BYTES_LENGTH); | ||
| const balanceBytes = encodedBasicData.slice(BINARY_TREE_BALANCE_OFFSET, BINARY_TREE_BALANCE_OFFSET + BINARY_TREE_BALANCE_BYTES_LENGTH); | ||
| const version = bytesToInt32(versionBytes); | ||
| const nonce = bytesToBigInt(nonceBytes); | ||
| const codeSize = bytesToInt32(codeSizeBytes); | ||
| const balance = bytesToBigInt(balanceBytes); | ||
| return { version, nonce, codeSize, balance }; | ||
| } | ||
| /** | ||
| * This function takes a `BinaryTreeLeafBasicData` object and encodes its properties | ||
| * (version, nonce, code size, and balance) into a compact `Uint8Array` format. Each | ||
| * property is serialized and padded to match the required byte lengths defined by | ||
| * EIP-7864. Additionally, 4 bytes are reserved for future use as specified | ||
| * in EIP-7864. | ||
| * @param {Account} account - An object containing the version, nonce, | ||
| * code size, and balance to be encoded. | ||
| * @returns {Uint8Array} - A compact bytes representation of the account header basic data. | ||
| */ | ||
| export function encodeBinaryTreeLeafBasicData(account) { | ||
| const encodedVersion = setLengthLeft(int32ToBytes(account.version), BINARY_TREE_VERSION_BYTES_LENGTH); | ||
| // Per EIP-7864, bytes 1-4 are reserved for future use | ||
| const reservedBytes = new Uint8Array([0, 0, 0, 0]); | ||
| const encodedNonce = setLengthLeft(bigIntToBytes(account.nonce), BINARY_TREE_NONCE_BYTES_LENGTH); | ||
| const encodedCodeSize = setLengthLeft(int32ToBytes(account.codeSize), BINARY_TREE_CODE_SIZE_BYTES_LENGTH); | ||
| const encodedBalance = setLengthLeft(bigIntToBytes(account.balance), BINARY_TREE_BALANCE_BYTES_LENGTH); | ||
| return concatBytes(encodedVersion, reservedBytes, encodedCodeSize, encodedNonce, encodedBalance); | ||
| } | ||
| /** | ||
| * Helper method to generate the suffixes for code chunks for putting code | ||
| * @param numChunks number of chunks to generate suffixes for | ||
| * @returns number[] - an array of numbers corresponding to the code chunks being put | ||
| */ | ||
| export const generateBinaryTreeChunkSuffixes = (numChunks) => { | ||
| if (numChunks === 0) | ||
| return []; | ||
| const chunkSuffixes = new Array(numChunks); | ||
| let currentSuffix = BINARY_TREE_CODE_OFFSET; | ||
| for (let x = 0; x < numChunks; x++) { | ||
| chunkSuffixes[x] = currentSuffix; | ||
| currentSuffix++; | ||
| // Reset suffix to 0 if exceeds BINARY_TREE_NODE_WIDTH | ||
| if (currentSuffix >= BINARY_TREE_NODE_WIDTH) | ||
| currentSuffix = 0; | ||
| } | ||
| return chunkSuffixes; | ||
| }; | ||
| /** | ||
| * Helper method for generating the code stems necessary for putting code | ||
| * @param numChunks the number of code chunks to be put | ||
| * @param address the address of the account getting the code | ||
| * @param hashFunction an initialized {@link BinaryTreeCrypto} object | ||
| * @returns an array of stems for putting code | ||
| */ | ||
| export function generateBinaryTreeCodeStems(numChunks, address, hashFunction) { | ||
| // The maximum number of chunks is 793 (maxCodeSize - 24576) / (bytes per chunk 31) + (round up - 1) | ||
| // Code is stored in chunks starting at leaf index 128 of the leaf node corresponding to the stem of the code's address | ||
| // Code chunks beyond the initial 128 are stored in additional leaf nodes in batches up of up to 256 chunks per leaf node | ||
| // so the maximum number of leaf nodes that can hold contract code for a specific address is 4 leaf nodes (128 chunks in | ||
| // the first leaf node and 256 chunks in up to 3 additional leaf nodes) | ||
| // So, instead of computing every single leaf key (which is a heavy operation), we just compute the stem for the first | ||
| // chunk in each leaf node and can then know that the chunks in between have tree keys in monotonically increasing order | ||
| const numStems = numChunks > BINARY_TREE_CODE_OFFSET ? Math.ceil(numChunks / BINARY_TREE_NODE_WIDTH) + 1 : 1; | ||
| const chunkStems = new Array(numStems); | ||
| // Compute the stem for the initial set of code chunks | ||
| chunkStems[0] = getBinaryTreeKeyForCodeChunk(address, 0, hashFunction).slice(0, 31); | ||
| for (let stemNum = 0; stemNum < numStems - 1; stemNum++) { | ||
| // Generate additional stems | ||
| const firstChunkKey = getBinaryTreeKeyForCodeChunk(address, BINARY_TREE_CODE_OFFSET + stemNum * BINARY_TREE_NODE_WIDTH, hashFunction); | ||
| chunkStems[stemNum + 1] = firstChunkKey.slice(0, 31); | ||
| } | ||
| return chunkStems; | ||
| } | ||
| //# sourceMappingURL=binaryTree.js.map |
| {"version":3,"file":"binaryTree.js","sourceRoot":"","sources":["../../src/binaryTree.ts"],"names":[],"mappings":"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"} |
| import { DEFAULT_ERROR_CODE, EthereumJSError, type EthereumJSErrorMetaData, type EthereumJSErrorObject, EthereumJSErrorWithoutCode } from '@ethereumjs/rlp'; | ||
| export { DEFAULT_ERROR_CODE, EthereumJSError, EthereumJSErrorWithoutCode, type EthereumJSErrorMetaData, type EthereumJSErrorObject, }; | ||
| //# sourceMappingURL=errors.d.ts.map |
| {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,0BAA0B,EAC3B,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,0BAA0B,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,GAC3B,CAAA"} |
| import { DEFAULT_ERROR_CODE, EthereumJSError, EthereumJSErrorWithoutCode, } from '@ethereumjs/rlp'; | ||
| export { DEFAULT_ERROR_CODE, EthereumJSError, EthereumJSErrorWithoutCode, }; | ||
| // Below here: specific monorepo-wide errors (examples and commented out) | ||
| /*export enum UsageErrorType { | ||
| UNSUPPORTED_FEATURE = 'unsupported feature', | ||
| }* | ||
| /** | ||
| * Error along API Usage | ||
| * | ||
| * Use directly or in a subclassed context for error comparison (`e instanceof UsageError`) | ||
| */ | ||
| //export class UsageError extends EthereumJSError<{ code: UsageErrorType }> {} | ||
| //# sourceMappingURL=errors.js.map |
| {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,eAAe,EAGf,0BAA0B,GAC3B,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,0BAA0B,GAG3B,CAAA;AAED,yEAAyE;AAEzE;;;;;;;;GAQG;AACH,8EAA8E"} |
| import { | ||
| bigIntToBytes, | ||
| bytesToBigInt, | ||
| bytesToInt32, | ||
| concatBytes, | ||
| int32ToBytes, | ||
| intToBytes, | ||
| setLengthLeft, | ||
| setLengthRight, | ||
| toBytes, | ||
| } from './bytes.ts' | ||
| import type { Account } from './account.ts' | ||
| import type { Address } from './address.ts' | ||
| import type { PrefixedHexString } from './types.ts' | ||
| /** | ||
| * @dev Returns the 31-bytes binary tree stem for a given address and tree index. | ||
| * @param hashFunction The hashFunction for the binary tree | ||
| * @param {Address} address The address to generate the tree key for. | ||
| * @param treeIndex The index of the tree to generate the key for. Defaults to 0. | ||
| * @return The 31-bytes binary tree stem as a Uint8Array. | ||
| */ | ||
| export function getBinaryTreeStem( | ||
| hashFunction: (value: Uint8Array) => Uint8Array, | ||
| address: Address, | ||
| treeIndex: number | bigint = 0, | ||
| ): Uint8Array { | ||
| const address32 = setLengthLeft(address.toBytes(), 32) | ||
| let treeIndexBytes: Uint8Array | ||
| if (typeof treeIndex === 'number') { | ||
| treeIndexBytes = setLengthRight(int32ToBytes(Number(treeIndex), true), 32) | ||
| } else { | ||
| treeIndexBytes = setLengthRight(bigIntToBytes(BigInt(treeIndex), true).slice(0, 32), 32) | ||
| } | ||
| const treeStem = hashFunction(concatBytes(address32, treeIndexBytes)).slice(0, 31) | ||
| return treeStem | ||
| } | ||
| export interface BinaryTreeStateDiff { | ||
| stem: PrefixedHexString | ||
| suffixDiffs: { | ||
| currentValue: PrefixedHexString | null | ||
| newValue: PrefixedHexString | null | ||
| suffix: number | string | ||
| }[] | ||
| } | ||
| // TODO: This is a placeholder type, the actual type is not yet defined | ||
| export type BinaryTreeProof = any | ||
| /** | ||
| * Experimental, object format could eventual change. | ||
| * An object that provides the state and proof necessary for binary tree stateless execution | ||
| * */ | ||
| export interface BinaryTreeExecutionWitness { | ||
| /** | ||
| * The stateRoot of the parent block | ||
| */ | ||
| parentStateRoot: PrefixedHexString | ||
| /** | ||
| * An array of state diffs. | ||
| * Each item corresponding to state accesses or state modifications of the block. | ||
| * In the current design, it also contains the resulting state of the block execution (post-state). | ||
| */ | ||
| stateDiff: BinaryTreeStateDiff[] | ||
| /** | ||
| * The proof for the block. | ||
| * Proves that the provided stateDiff belongs to the canonical binary tree. | ||
| */ | ||
| proof: any | ||
| } | ||
| export type BinaryTreeLeafType = (typeof BinaryTreeLeafType)[keyof typeof BinaryTreeLeafType] | ||
| export const BinaryTreeLeafType = { | ||
| BasicData: 0, | ||
| CodeHash: 1, | ||
| } as const | ||
| export type BinaryTreeLeafBasicData = { | ||
| version: number | ||
| nonce: bigint | ||
| balance: bigint | ||
| codeSize: number | ||
| } | ||
| export const BINARY_TREE_VERSION_OFFSET = 0 | ||
| export const BINARY_TREE_CODE_SIZE_OFFSET = 5 | ||
| export const BINARY_TREE_NONCE_OFFSET = 8 | ||
| export const BINARY_TREE_BALANCE_OFFSET = 16 | ||
| export const BINARY_TREE_VERSION_BYTES_LENGTH = 1 | ||
| export const BINARY_TREE_CODE_SIZE_BYTES_LENGTH = 3 | ||
| export const BINARY_TREE_NONCE_BYTES_LENGTH = 8 | ||
| export const BINARY_TREE_BALANCE_BYTES_LENGTH = 16 | ||
| export const BINARY_TREE_BASIC_DATA_LEAF_KEY = intToBytes(BinaryTreeLeafType.BasicData) | ||
| export const BINARY_TREE_CODE_HASH_LEAF_KEY = intToBytes(BinaryTreeLeafType.CodeHash) | ||
| export const BINARY_TREE_CODE_CHUNK_SIZE = 31 | ||
| export const BINARY_TREE_HEADER_STORAGE_OFFSET = 64 | ||
| export const BINARY_TREE_CODE_OFFSET = 128 | ||
| export const BINARY_TREE_NODE_WIDTH = 256 | ||
| export const BINARY_TREE_MAIN_STORAGE_OFFSET = BigInt(256) ** BigInt(BINARY_TREE_CODE_CHUNK_SIZE) | ||
| /** | ||
| * @dev Returns the tree key for a given binary tree stem, and sub index. | ||
| * @dev Assumes that the tree node width = 256 | ||
| * @param stem The 31-bytes binary tree stem as a Uint8Array. | ||
| * @param subIndex The sub index of the tree to generate the key for as a Uint8Array. | ||
| * @return The tree key as a Uint8Array. | ||
| */ | ||
| export const getBinaryTreeKey = (stem: Uint8Array, leaf: BinaryTreeLeafType | Uint8Array) => { | ||
| switch (leaf) { | ||
| case BinaryTreeLeafType.BasicData: | ||
| return concatBytes(stem, BINARY_TREE_BASIC_DATA_LEAF_KEY) | ||
| case BinaryTreeLeafType.CodeHash: | ||
| return concatBytes(stem, BINARY_TREE_CODE_HASH_LEAF_KEY) | ||
| default: | ||
| return concatBytes(stem, leaf) | ||
| } | ||
| } | ||
| /** | ||
| * Calculates the position of the storage key in the BinaryTree tree, determining | ||
| * both the tree index (the node in the tree) and the subindex (the position within the node). | ||
| * @param {bigint} storageKey - The key representing a specific storage slot. | ||
| * @returns {Object} - An object containing the tree index and subindex | ||
| */ | ||
| export function getBinaryTreeIndicesForStorageSlot(storageKey: bigint): { | ||
| treeIndex: bigint | ||
| subIndex: number | ||
| } { | ||
| let position: bigint | ||
| if (storageKey < BINARY_TREE_CODE_OFFSET - BINARY_TREE_HEADER_STORAGE_OFFSET) { | ||
| position = BigInt(BINARY_TREE_HEADER_STORAGE_OFFSET) + storageKey | ||
| } else { | ||
| position = BINARY_TREE_MAIN_STORAGE_OFFSET + storageKey | ||
| } | ||
| const treeIndex = position / BigInt(BINARY_TREE_NODE_WIDTH) | ||
| const subIndex = Number(position % BigInt(BINARY_TREE_NODE_WIDTH)) | ||
| return { treeIndex, subIndex } | ||
| } | ||
| /** | ||
| * Calculates the position of the code chunks in the BinaryTree tree, determining | ||
| * both the tree index (the node in the tree) and the subindex (the position within the node). | ||
| * @param {bigint} chunkId - The ID representing a specific chunk. | ||
| * @returns {Object} - An object containing the tree index and subindex | ||
| */ | ||
| export function getBinaryTreeIndicesForCodeChunk(chunkId: number) { | ||
| const treeIndex = Math.floor((BINARY_TREE_CODE_OFFSET + chunkId) / BINARY_TREE_NODE_WIDTH) | ||
| const subIndex = (BINARY_TREE_CODE_OFFSET + chunkId) % BINARY_TREE_NODE_WIDTH | ||
| return { treeIndex, subIndex } | ||
| } | ||
| /** | ||
| * Asynchronously calculates the BinaryTree tree key for the specified code chunk ID. | ||
| * @param {Address} address - The account address to access code for. | ||
| * @param {number} chunkId - The ID of the code chunk to retrieve. | ||
| * @param hashFunction - The hash function used for BinaryTree-related operations. | ||
| * @returns {Uint8Array} - The BinaryTree tree key as a byte array. | ||
| */ | ||
| export const getBinaryTreeKeyForCodeChunk = ( | ||
| address: Address, | ||
| chunkId: number, | ||
| hashFunction: (input: Uint8Array) => Uint8Array, | ||
| ) => { | ||
| const { treeIndex, subIndex } = getBinaryTreeIndicesForCodeChunk(chunkId) | ||
| return concatBytes(getBinaryTreeStem(hashFunction, address, treeIndex), toBytes(subIndex)) | ||
| } | ||
| // This code was written by robots based on the reference implementation in EIP-7864 | ||
| export const chunkifyBinaryTreeCode = (code: Uint8Array) => { | ||
| const PUSH1 = 0x60 // Assuming PUSH1 is defined as 0x60 | ||
| const PUSH32 = 0x7f // Assuming PUSH32 is defined as 0x7f | ||
| const PUSH_OFFSET = 0x5f // Assuming PUSH_OFFSET is defined as 0x5f | ||
| // Calculate padding length | ||
| const paddingLength = (31 - (code.length % 31)) % 31 | ||
| const paddedCode = new Uint8Array(code.length + paddingLength) | ||
| paddedCode.set(code) | ||
| // Pre-allocate the bytesToExecData array | ||
| const bytesToExecData = new Uint8Array(paddedCode.length + 32) | ||
| let pos = 0 | ||
| while (pos < paddedCode.length) { | ||
| let pushdataBytes = 0 | ||
| if (PUSH1 <= paddedCode[pos] && paddedCode[pos] <= PUSH32) { | ||
| pushdataBytes = paddedCode[pos] - PUSH_OFFSET | ||
| } | ||
| pos += 1 | ||
| for (let x = 0; x < pushdataBytes; x++) { | ||
| bytesToExecData[pos + x] = pushdataBytes - x | ||
| } | ||
| pos += pushdataBytes | ||
| } | ||
| // Pre-allocate the chunks array | ||
| const numChunks = Math.ceil(paddedCode.length / 31) | ||
| const chunks = new Array<Uint8Array>(numChunks) | ||
| for (let i = 0, pos = 0; i < numChunks; i++, pos += 31) { | ||
| const chunk = new Uint8Array(32) | ||
| chunk[0] = Math.min(bytesToExecData[pos], 31) | ||
| chunk.set(paddedCode.subarray(pos, pos + 31), 1) | ||
| chunks[i] = chunk | ||
| } | ||
| return chunks | ||
| } | ||
| /** | ||
| * Asynchronously calculates the BinaryTree tree key for the specified storage slot. | ||
| * @param {Address} address - The account address to access code for. | ||
| * @param {bigint} storageKey - The storage slot key to retrieve the key for. | ||
| * @param hashFunction - The hash function used in the Binary Tree. | ||
| * @returns {Uint8Array} - The BinaryTree tree key as a byte array. | ||
| */ | ||
| export const getBinaryTreeKeyForStorageSlot = ( | ||
| address: Address, | ||
| storageKey: bigint, | ||
| hashFunction: (input: Uint8Array) => Uint8Array, | ||
| ) => { | ||
| const { treeIndex, subIndex } = getBinaryTreeIndicesForStorageSlot(storageKey) | ||
| return concatBytes(getBinaryTreeStem(hashFunction, address, treeIndex), intToBytes(subIndex)) | ||
| } | ||
| /** | ||
| * This function extracts and decodes account header elements (version, nonce, code size, and balance) | ||
| * from an encoded `Uint8Array` representation of raw BinaryTree leaf-node basic data. Each component is sliced | ||
| * from the `encodedBasicData` array based on predefined offsets and lengths, and then converted | ||
| * to its appropriate type (integer or BigInt). | ||
| * @param {Uint8Array} encodedBasicData - The encoded BinaryTree leaf basic data containing the version, nonce, | ||
| * code size, and balance in a compact Uint8Array format. | ||
| * @returns {BinaryTreeLeafBasicData} - An object containing the decoded version, nonce, code size, and balance. | ||
| */ | ||
| export function decodeBinaryTreeLeafBasicData( | ||
| encodedBasicData: Uint8Array, | ||
| ): BinaryTreeLeafBasicData { | ||
| const versionBytes = encodedBasicData.slice(0, BINARY_TREE_VERSION_BYTES_LENGTH) | ||
| const nonceBytes = encodedBasicData.slice( | ||
| BINARY_TREE_NONCE_OFFSET, | ||
| BINARY_TREE_NONCE_OFFSET + BINARY_TREE_NONCE_BYTES_LENGTH, | ||
| ) | ||
| const codeSizeBytes = encodedBasicData.slice( | ||
| BINARY_TREE_CODE_SIZE_OFFSET, | ||
| BINARY_TREE_CODE_SIZE_OFFSET + BINARY_TREE_CODE_SIZE_BYTES_LENGTH, | ||
| ) | ||
| const balanceBytes = encodedBasicData.slice( | ||
| BINARY_TREE_BALANCE_OFFSET, | ||
| BINARY_TREE_BALANCE_OFFSET + BINARY_TREE_BALANCE_BYTES_LENGTH, | ||
| ) | ||
| const version = bytesToInt32(versionBytes) | ||
| const nonce = bytesToBigInt(nonceBytes) | ||
| const codeSize = bytesToInt32(codeSizeBytes) | ||
| const balance = bytesToBigInt(balanceBytes) | ||
| return { version, nonce, codeSize, balance } | ||
| } | ||
| /** | ||
| * This function takes a `BinaryTreeLeafBasicData` object and encodes its properties | ||
| * (version, nonce, code size, and balance) into a compact `Uint8Array` format. Each | ||
| * property is serialized and padded to match the required byte lengths defined by | ||
| * EIP-7864. Additionally, 4 bytes are reserved for future use as specified | ||
| * in EIP-7864. | ||
| * @param {Account} account - An object containing the version, nonce, | ||
| * code size, and balance to be encoded. | ||
| * @returns {Uint8Array} - A compact bytes representation of the account header basic data. | ||
| */ | ||
| export function encodeBinaryTreeLeafBasicData(account: Account): Uint8Array { | ||
| const encodedVersion = setLengthLeft( | ||
| int32ToBytes(account.version), | ||
| BINARY_TREE_VERSION_BYTES_LENGTH, | ||
| ) | ||
| // Per EIP-7864, bytes 1-4 are reserved for future use | ||
| const reservedBytes = new Uint8Array([0, 0, 0, 0]) | ||
| const encodedNonce = setLengthLeft(bigIntToBytes(account.nonce), BINARY_TREE_NONCE_BYTES_LENGTH) | ||
| const encodedCodeSize = setLengthLeft( | ||
| int32ToBytes(account.codeSize), | ||
| BINARY_TREE_CODE_SIZE_BYTES_LENGTH, | ||
| ) | ||
| const encodedBalance = setLengthLeft( | ||
| bigIntToBytes(account.balance), | ||
| BINARY_TREE_BALANCE_BYTES_LENGTH, | ||
| ) | ||
| return concatBytes(encodedVersion, reservedBytes, encodedCodeSize, encodedNonce, encodedBalance) | ||
| } | ||
| /** | ||
| * Helper method to generate the suffixes for code chunks for putting code | ||
| * @param numChunks number of chunks to generate suffixes for | ||
| * @returns number[] - an array of numbers corresponding to the code chunks being put | ||
| */ | ||
| export const generateBinaryTreeChunkSuffixes = (numChunks: number) => { | ||
| if (numChunks === 0) return [] | ||
| const chunkSuffixes: number[] = new Array<number>(numChunks) | ||
| let currentSuffix = BINARY_TREE_CODE_OFFSET | ||
| for (let x = 0; x < numChunks; x++) { | ||
| chunkSuffixes[x] = currentSuffix | ||
| currentSuffix++ | ||
| // Reset suffix to 0 if exceeds BINARY_TREE_NODE_WIDTH | ||
| if (currentSuffix >= BINARY_TREE_NODE_WIDTH) currentSuffix = 0 | ||
| } | ||
| return chunkSuffixes | ||
| } | ||
| /** | ||
| * Helper method for generating the code stems necessary for putting code | ||
| * @param numChunks the number of code chunks to be put | ||
| * @param address the address of the account getting the code | ||
| * @param hashFunction an initialized {@link BinaryTreeCrypto} object | ||
| * @returns an array of stems for putting code | ||
| */ | ||
| export function generateBinaryTreeCodeStems( | ||
| numChunks: number, | ||
| address: Address, | ||
| hashFunction: (input: Uint8Array) => Uint8Array, | ||
| ): Uint8Array[] { | ||
| // The maximum number of chunks is 793 (maxCodeSize - 24576) / (bytes per chunk 31) + (round up - 1) | ||
| // Code is stored in chunks starting at leaf index 128 of the leaf node corresponding to the stem of the code's address | ||
| // Code chunks beyond the initial 128 are stored in additional leaf nodes in batches up of up to 256 chunks per leaf node | ||
| // so the maximum number of leaf nodes that can hold contract code for a specific address is 4 leaf nodes (128 chunks in | ||
| // the first leaf node and 256 chunks in up to 3 additional leaf nodes) | ||
| // So, instead of computing every single leaf key (which is a heavy operation), we just compute the stem for the first | ||
| // chunk in each leaf node and can then know that the chunks in between have tree keys in monotonically increasing order | ||
| const numStems = | ||
| numChunks > BINARY_TREE_CODE_OFFSET ? Math.ceil(numChunks / BINARY_TREE_NODE_WIDTH) + 1 : 1 | ||
| const chunkStems = new Array<Uint8Array>(numStems) | ||
| // Compute the stem for the initial set of code chunks | ||
| chunkStems[0] = getBinaryTreeKeyForCodeChunk(address, 0, hashFunction).slice(0, 31) | ||
| for (let stemNum = 0; stemNum < numStems - 1; stemNum++) { | ||
| // Generate additional stems | ||
| const firstChunkKey = getBinaryTreeKeyForCodeChunk( | ||
| address, | ||
| BINARY_TREE_CODE_OFFSET + stemNum * BINARY_TREE_NODE_WIDTH, | ||
| hashFunction, | ||
| ) | ||
| chunkStems[stemNum + 1] = firstChunkKey.slice(0, 31) | ||
| } | ||
| return chunkStems | ||
| } |
| import { | ||
| DEFAULT_ERROR_CODE, | ||
| EthereumJSError, | ||
| type EthereumJSErrorMetaData, | ||
| type EthereumJSErrorObject, | ||
| EthereumJSErrorWithoutCode, | ||
| } from '@ethereumjs/rlp' | ||
| export { | ||
| DEFAULT_ERROR_CODE, | ||
| EthereumJSError, | ||
| EthereumJSErrorWithoutCode, | ||
| type EthereumJSErrorMetaData, | ||
| type EthereumJSErrorObject, | ||
| } | ||
| // Below here: specific monorepo-wide errors (examples and commented out) | ||
| /*export enum UsageErrorType { | ||
| UNSUPPORTED_FEATURE = 'unsupported feature', | ||
| }* | ||
| /** | ||
| * Error along API Usage | ||
| * | ||
| * Use directly or in a subclassed context for error comparison (`e instanceof UsageError`) | ||
| */ | ||
| //export class UsageError extends EthereumJSError<{ code: UsageErrorType }> {} |
@@ -1,2 +0,2 @@ | ||
| import type { BigIntLike, BytesLike, PrefixedHexString } from './types.js'; | ||
| import type { BigIntLike, BytesLike, PrefixedHexString } from './types.ts'; | ||
| export interface AccountData { | ||
@@ -81,3 +81,3 @@ nonce?: BigIntLike; | ||
| */ | ||
| export declare const isValidAddress: (hexAddress: string) => hexAddress is `0x${string}`; | ||
| export declare const isValidAddress: (hexAddress: string) => hexAddress is PrefixedHexString; | ||
| /** | ||
@@ -156,4 +156,4 @@ * Returns a checksummed address. | ||
| export declare const isZeroAddress: (hexAddress: string) => boolean; | ||
| export declare function accountBodyFromSlim(body: AccountBodyBytes): Uint8Array[]; | ||
| export declare function accountBodyToSlim(body: AccountBodyBytes): Uint8Array[]; | ||
| export declare function accountBodyFromSlim(body: AccountBodyBytes): Uint8Array<ArrayBufferLike>[]; | ||
| export declare function accountBodyToSlim(body: AccountBodyBytes): Uint8Array<ArrayBuffer>[]; | ||
| /** | ||
@@ -164,3 +164,3 @@ * Converts a slim account (per snap protocol spec) to the RLP encoded version of the account | ||
| */ | ||
| export declare function accountBodyToRLP(body: AccountBodyBytes, couldBeSlim?: boolean): Uint8Array; | ||
| export declare function accountBodyToRLP(body: AccountBodyBytes, couldBeSlim?: boolean): Uint8Array<ArrayBufferLike>; | ||
| //# sourceMappingURL=account.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/account.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/account.ts"],"names":[],"mappings":"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"} |
+96
-95
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.accountBodyToRLP = exports.accountBodyToSlim = exports.accountBodyFromSlim = exports.isZeroAddress = exports.zeroAddress = exports.importPublic = exports.privateToAddress = exports.privateToPublic = exports.publicToAddress = exports.pubToAddress = exports.isValidPublic = exports.isValidPrivate = exports.generateAddress2 = exports.generateAddress = exports.isValidChecksumAddress = exports.toChecksumAddress = exports.isValidAddress = exports.createPartialAccountFromRLP = exports.createAccountFromRLP = exports.createPartialAccount = exports.createAccountFromBytesArray = exports.createAccount = exports.Account = void 0; | ||
| exports.isZeroAddress = exports.zeroAddress = exports.importPublic = exports.privateToAddress = exports.privateToPublic = exports.publicToAddress = exports.pubToAddress = exports.isValidPublic = exports.isValidPrivate = exports.generateAddress2 = exports.generateAddress = exports.isValidChecksumAddress = exports.toChecksumAddress = exports.isValidAddress = exports.Account = void 0; | ||
| exports.createAccount = createAccount; | ||
| exports.createAccountFromBytesArray = createAccountFromBytesArray; | ||
| exports.createPartialAccount = createPartialAccount; | ||
| exports.createAccountFromRLP = createAccountFromRLP; | ||
| exports.createPartialAccountFromRLP = createPartialAccountFromRLP; | ||
| exports.accountBodyFromSlim = accountBodyFromSlim; | ||
| exports.accountBodyToSlim = accountBodyToSlim; | ||
| exports.accountBodyToRLP = accountBodyToRLP; | ||
| const rlp_1 = require("@ethereumjs/rlp"); | ||
| const keccak_js_1 = require("ethereum-cryptography/keccak.js"); | ||
| const secp256k1_js_1 = require("ethereum-cryptography/secp256k1.js"); | ||
| const bytes_js_1 = require("./bytes.js"); | ||
| const constants_js_1 = require("./constants.js"); | ||
| const helpers_js_1 = require("./helpers.js"); | ||
| const internal_js_1 = require("./internal.js"); | ||
| const bytes_ts_1 = require("./bytes.js"); | ||
| const constants_ts_1 = require("./constants.js"); | ||
| const errors_ts_1 = require("./errors.js"); | ||
| const helpers_ts_1 = require("./helpers.js"); | ||
| const internal_ts_1 = require("./internal.js"); | ||
| /** | ||
@@ -93,3 +102,3 @@ * Account class to load and maintain the basic account objects. | ||
| */ | ||
| constructor(nonce = constants_js_1.BIGINT_0, balance = constants_js_1.BIGINT_0, storageRoot = constants_js_1.KECCAK256_RLP, codeHash = constants_js_1.KECCAK256_NULL, codeSize = 0, version = 0) { | ||
| constructor(nonce = constants_ts_1.BIGINT_0, balance = constants_ts_1.BIGINT_0, storageRoot = constants_ts_1.KECCAK256_RLP, codeHash = constants_ts_1.KECCAK256_NULL, codeSize = 0, version = 0) { | ||
| this._nonce = null; | ||
@@ -114,16 +123,16 @@ this._balance = null; | ||
| _validate() { | ||
| if (this._nonce !== null && this._nonce < constants_js_1.BIGINT_0) { | ||
| throw new Error('nonce must be greater than zero'); | ||
| if (this._nonce !== null && this._nonce < constants_ts_1.BIGINT_0) { | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('nonce must be greater than zero'); | ||
| } | ||
| if (this._balance !== null && this._balance < constants_js_1.BIGINT_0) { | ||
| throw new Error('balance must be greater than zero'); | ||
| if (this._balance !== null && this._balance < constants_ts_1.BIGINT_0) { | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('balance must be greater than zero'); | ||
| } | ||
| if (this._storageRoot !== null && this._storageRoot.length !== 32) { | ||
| throw new Error('storageRoot must have a length of 32'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('storageRoot must have a length of 32'); | ||
| } | ||
| if (this._codeHash !== null && this._codeHash.length !== 32) { | ||
| throw new Error('codeHash must have a length of 32'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('codeHash must have a length of 32'); | ||
| } | ||
| if (this._codeSize !== null && this._codeSize < constants_js_1.BIGINT_0) { | ||
| throw new Error('codeSize must be greater than zero'); | ||
| if (this._codeSize !== null && this._codeSize < constants_ts_1.BIGINT_0) { | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('codeSize must be greater than zero'); | ||
| } | ||
@@ -136,4 +145,4 @@ } | ||
| return [ | ||
| (0, bytes_js_1.bigIntToUnpaddedBytes)(this.nonce), | ||
| (0, bytes_js_1.bigIntToUnpaddedBytes)(this.balance), | ||
| (0, bytes_ts_1.bigIntToUnpaddedBytes)(this.nonce), | ||
| (0, bytes_ts_1.bigIntToUnpaddedBytes)(this.balance), | ||
| this.storageRoot, | ||
@@ -151,6 +160,6 @@ this.codeHash, | ||
| const partialData = []; | ||
| const zeroEncoded = (0, bytes_js_1.intToUnpaddedBytes)(0); | ||
| const oneEncoded = (0, bytes_js_1.intToUnpaddedBytes)(1); | ||
| const zeroEncoded = (0, bytes_ts_1.intToUnpaddedBytes)(0); | ||
| const oneEncoded = (0, bytes_ts_1.intToUnpaddedBytes)(1); | ||
| if (this._nonce !== null) { | ||
| partialData.push([oneEncoded, (0, bytes_js_1.bigIntToUnpaddedBytes)(this._nonce)]); | ||
| partialData.push([oneEncoded, (0, bytes_ts_1.bigIntToUnpaddedBytes)(this._nonce)]); | ||
| } | ||
@@ -161,3 +170,3 @@ else { | ||
| if (this._balance !== null) { | ||
| partialData.push([oneEncoded, (0, bytes_js_1.bigIntToUnpaddedBytes)(this._balance)]); | ||
| partialData.push([oneEncoded, (0, bytes_ts_1.bigIntToUnpaddedBytes)(this._balance)]); | ||
| } | ||
@@ -180,3 +189,3 @@ else { | ||
| if (this._codeSize !== null) { | ||
| partialData.push([oneEncoded, (0, bytes_js_1.intToUnpaddedBytes)(this._codeSize)]); | ||
| partialData.push([oneEncoded, (0, bytes_ts_1.intToUnpaddedBytes)(this._codeSize)]); | ||
| } | ||
@@ -187,3 +196,3 @@ else { | ||
| if (this._version !== null) { | ||
| partialData.push([oneEncoded, (0, bytes_js_1.intToUnpaddedBytes)(this._version)]); | ||
| partialData.push([oneEncoded, (0, bytes_ts_1.intToUnpaddedBytes)(this._version)]); | ||
| } | ||
@@ -202,3 +211,3 @@ else { | ||
| } | ||
| return ((this._codeHash !== null && !(0, bytes_js_1.equalsBytes)(this._codeHash, constants_js_1.KECCAK256_NULL)) || | ||
| return ((this._codeHash !== null && !(0, bytes_ts_1.equalsBytes)(this._codeHash, constants_ts_1.KECCAK256_NULL)) || | ||
| (this._codeSize !== null && this._codeSize !== 0)); | ||
@@ -213,10 +222,10 @@ } | ||
| // helpful for determination in partial accounts | ||
| if ((this._balance !== null && this.balance !== constants_js_1.BIGINT_0) || | ||
| (this._nonce === null && this.nonce !== constants_js_1.BIGINT_0) || | ||
| (this._codeHash !== null && !(0, bytes_js_1.equalsBytes)(this.codeHash, constants_js_1.KECCAK256_NULL))) { | ||
| if ((this._balance !== null && this.balance !== constants_ts_1.BIGINT_0) || | ||
| (this._nonce === null && this.nonce !== constants_ts_1.BIGINT_0) || | ||
| (this._codeHash !== null && !(0, bytes_ts_1.equalsBytes)(this.codeHash, constants_ts_1.KECCAK256_NULL))) { | ||
| return false; | ||
| } | ||
| return (this.balance === constants_js_1.BIGINT_0 && | ||
| this.nonce === constants_js_1.BIGINT_0 && | ||
| (0, bytes_js_1.equalsBytes)(this.codeHash, constants_js_1.KECCAK256_NULL)); | ||
| return (this.balance === constants_ts_1.BIGINT_0 && | ||
| this.nonce === constants_ts_1.BIGINT_0 && | ||
| (0, bytes_ts_1.equalsBytes)(this.codeHash, constants_ts_1.KECCAK256_NULL)); | ||
| } | ||
@@ -231,10 +240,8 @@ } | ||
| } | ||
| return new Account(nonce !== undefined ? (0, bytes_js_1.bytesToBigInt)((0, bytes_js_1.toBytes)(nonce)) : undefined, balance !== undefined ? (0, bytes_js_1.bytesToBigInt)((0, bytes_js_1.toBytes)(balance)) : undefined, storageRoot !== undefined ? (0, bytes_js_1.toBytes)(storageRoot) : undefined, codeHash !== undefined ? (0, bytes_js_1.toBytes)(codeHash) : undefined); | ||
| return new Account(nonce !== undefined ? (0, bytes_ts_1.bytesToBigInt)((0, bytes_ts_1.toBytes)(nonce)) : undefined, balance !== undefined ? (0, bytes_ts_1.bytesToBigInt)((0, bytes_ts_1.toBytes)(balance)) : undefined, storageRoot !== undefined ? (0, bytes_ts_1.toBytes)(storageRoot) : undefined, codeHash !== undefined ? (0, bytes_ts_1.toBytes)(codeHash) : undefined); | ||
| } | ||
| exports.createAccount = createAccount; | ||
| function createAccountFromBytesArray(values) { | ||
| const [nonce, balance, storageRoot, codeHash] = values; | ||
| return new Account((0, bytes_js_1.bytesToBigInt)(nonce), (0, bytes_js_1.bytesToBigInt)(balance), storageRoot, codeHash); | ||
| return new Account((0, bytes_ts_1.bytesToBigInt)(nonce), (0, bytes_ts_1.bytesToBigInt)(balance), storageRoot, codeHash); | ||
| } | ||
| exports.createAccountFromBytesArray = createAccountFromBytesArray; | ||
| function createPartialAccount(partialAccountData) { | ||
@@ -250,29 +257,27 @@ const { nonce, balance, storageRoot, codeHash, codeSize, version } = partialAccountData; | ||
| } | ||
| return new Account(nonce !== undefined && nonce !== null ? (0, bytes_js_1.bytesToBigInt)((0, bytes_js_1.toBytes)(nonce)) : nonce, balance !== undefined && balance !== null ? (0, bytes_js_1.bytesToBigInt)((0, bytes_js_1.toBytes)(balance)) : balance, storageRoot !== undefined && storageRoot !== null ? (0, bytes_js_1.toBytes)(storageRoot) : storageRoot, codeHash !== undefined && codeHash !== null ? (0, bytes_js_1.toBytes)(codeHash) : codeHash, codeSize !== undefined && codeSize !== null ? (0, bytes_js_1.bytesToInt)((0, bytes_js_1.toBytes)(codeSize)) : codeSize, version !== undefined && version !== null ? (0, bytes_js_1.bytesToInt)((0, bytes_js_1.toBytes)(version)) : version); | ||
| return new Account(nonce !== undefined && nonce !== null ? (0, bytes_ts_1.bytesToBigInt)((0, bytes_ts_1.toBytes)(nonce)) : nonce, balance !== undefined && balance !== null ? (0, bytes_ts_1.bytesToBigInt)((0, bytes_ts_1.toBytes)(balance)) : balance, storageRoot !== undefined && storageRoot !== null ? (0, bytes_ts_1.toBytes)(storageRoot) : storageRoot, codeHash !== undefined && codeHash !== null ? (0, bytes_ts_1.toBytes)(codeHash) : codeHash, codeSize !== undefined && codeSize !== null ? (0, bytes_ts_1.bytesToInt)((0, bytes_ts_1.toBytes)(codeSize)) : codeSize, version !== undefined && version !== null ? (0, bytes_ts_1.bytesToInt)((0, bytes_ts_1.toBytes)(version)) : version); | ||
| } | ||
| exports.createPartialAccount = createPartialAccount; | ||
| function createAccountFromRLP(serialized) { | ||
| const values = rlp_1.RLP.decode(serialized); | ||
| if (!Array.isArray(values)) { | ||
| throw new Error('Invalid serialized account input. Must be array'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Invalid serialized account input. Must be array'); | ||
| } | ||
| return createAccountFromBytesArray(values); | ||
| } | ||
| exports.createAccountFromRLP = createAccountFromRLP; | ||
| function createPartialAccountFromRLP(serialized) { | ||
| const values = rlp_1.RLP.decode(serialized); | ||
| if (!Array.isArray(values)) { | ||
| throw new Error('Invalid serialized account input. Must be array'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Invalid serialized account input. Must be array'); | ||
| } | ||
| let nonce = null; | ||
| if (!Array.isArray(values[0])) { | ||
| throw new Error('Invalid partial nonce encoding. Must be array'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Invalid partial nonce encoding. Must be array'); | ||
| } | ||
| else { | ||
| const isNotNullIndicator = (0, bytes_js_1.bytesToInt)(values[0][0]); | ||
| const isNotNullIndicator = (0, bytes_ts_1.bytesToInt)(values[0][0]); | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for nonce`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`Invalid isNullIndicator=${isNotNullIndicator} for nonce`); | ||
| } | ||
| if (isNotNullIndicator === 1) { | ||
| nonce = (0, bytes_js_1.bytesToBigInt)(values[0][1]); | ||
| nonce = (0, bytes_ts_1.bytesToBigInt)(values[0][1]); | ||
| } | ||
@@ -282,11 +287,11 @@ } | ||
| if (!Array.isArray(values[1])) { | ||
| throw new Error('Invalid partial balance encoding. Must be array'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Invalid partial balance encoding. Must be array'); | ||
| } | ||
| else { | ||
| const isNotNullIndicator = (0, bytes_js_1.bytesToInt)(values[1][0]); | ||
| const isNotNullIndicator = (0, bytes_ts_1.bytesToInt)(values[1][0]); | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for balance`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`Invalid isNullIndicator=${isNotNullIndicator} for balance`); | ||
| } | ||
| if (isNotNullIndicator === 1) { | ||
| balance = (0, bytes_js_1.bytesToBigInt)(values[1][1]); | ||
| balance = (0, bytes_ts_1.bytesToBigInt)(values[1][1]); | ||
| } | ||
@@ -296,8 +301,8 @@ } | ||
| if (!Array.isArray(values[2])) { | ||
| throw new Error('Invalid partial storageRoot encoding. Must be array'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Invalid partial storageRoot encoding. Must be array'); | ||
| } | ||
| else { | ||
| const isNotNullIndicator = (0, bytes_js_1.bytesToInt)(values[2][0]); | ||
| const isNotNullIndicator = (0, bytes_ts_1.bytesToInt)(values[2][0]); | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for storageRoot`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`Invalid isNullIndicator=${isNotNullIndicator} for storageRoot`); | ||
| } | ||
@@ -310,8 +315,8 @@ if (isNotNullIndicator === 1) { | ||
| if (!Array.isArray(values[3])) { | ||
| throw new Error('Invalid partial codeHash encoding. Must be array'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Invalid partial codeHash encoding. Must be array'); | ||
| } | ||
| else { | ||
| const isNotNullIndicator = (0, bytes_js_1.bytesToInt)(values[3][0]); | ||
| const isNotNullIndicator = (0, bytes_ts_1.bytesToInt)(values[3][0]); | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for codeHash`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`Invalid isNullIndicator=${isNotNullIndicator} for codeHash`); | ||
| } | ||
@@ -324,11 +329,11 @@ if (isNotNullIndicator === 1) { | ||
| if (!Array.isArray(values[4])) { | ||
| throw new Error('Invalid partial codeSize encoding. Must be array'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Invalid partial codeSize encoding. Must be array'); | ||
| } | ||
| else { | ||
| const isNotNullIndicator = (0, bytes_js_1.bytesToInt)(values[4][0]); | ||
| const isNotNullIndicator = (0, bytes_ts_1.bytesToInt)(values[4][0]); | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for codeSize`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`Invalid isNullIndicator=${isNotNullIndicator} for codeSize`); | ||
| } | ||
| if (isNotNullIndicator === 1) { | ||
| codeSize = (0, bytes_js_1.bytesToInt)(values[4][1]); | ||
| codeSize = (0, bytes_ts_1.bytesToInt)(values[4][1]); | ||
| } | ||
@@ -338,11 +343,11 @@ } | ||
| if (!Array.isArray(values[5])) { | ||
| throw new Error('Invalid partial version encoding. Must be array'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Invalid partial version encoding. Must be array'); | ||
| } | ||
| else { | ||
| const isNotNullIndicator = (0, bytes_js_1.bytesToInt)(values[5][0]); | ||
| const isNotNullIndicator = (0, bytes_ts_1.bytesToInt)(values[5][0]); | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for version`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`Invalid isNullIndicator=${isNotNullIndicator} for version`); | ||
| } | ||
| if (isNotNullIndicator === 1) { | ||
| version = (0, bytes_js_1.bytesToInt)(values[5][1]); | ||
| version = (0, bytes_ts_1.bytesToInt)(values[5][1]); | ||
| } | ||
@@ -352,3 +357,2 @@ } | ||
| } | ||
| exports.createPartialAccountFromRLP = createPartialAccountFromRLP; | ||
| /** | ||
@@ -359,5 +363,5 @@ * Checks if the address is a valid. Accepts checksummed addresses too. | ||
| try { | ||
| (0, helpers_js_1.assertIsString)(hexAddress); | ||
| (0, helpers_ts_1.assertIsString)(hexAddress); | ||
| } | ||
| catch (e) { | ||
| catch { | ||
| return false; | ||
@@ -381,11 +385,11 @@ } | ||
| const toChecksumAddress = function (hexAddress, eip1191ChainId) { | ||
| (0, helpers_js_1.assertIsHexString)(hexAddress); | ||
| const address = (0, internal_js_1.stripHexPrefix)(hexAddress).toLowerCase(); | ||
| (0, helpers_ts_1.assertIsHexString)(hexAddress); | ||
| const address = (0, internal_ts_1.stripHexPrefix)(hexAddress).toLowerCase(); | ||
| let prefix = ''; | ||
| if (eip1191ChainId !== undefined) { | ||
| const chainId = (0, bytes_js_1.bytesToBigInt)((0, bytes_js_1.toBytes)(eip1191ChainId)); | ||
| const chainId = (0, bytes_ts_1.bytesToBigInt)((0, bytes_ts_1.toBytes)(eip1191ChainId)); | ||
| prefix = chainId.toString() + '0x'; | ||
| } | ||
| const bytes = (0, bytes_js_1.utf8ToBytes)(prefix + address); | ||
| const hash = (0, bytes_js_1.bytesToHex)((0, keccak_js_1.keccak256)(bytes)).slice(2); | ||
| const bytes = (0, bytes_ts_1.utf8ToBytes)(prefix + address); | ||
| const hash = (0, bytes_ts_1.bytesToHex)((0, keccak_js_1.keccak256)(bytes)).slice(2); | ||
| let ret = ''; | ||
@@ -418,5 +422,5 @@ for (let i = 0; i < address.length; i++) { | ||
| const generateAddress = function (from, nonce) { | ||
| (0, helpers_js_1.assertIsBytes)(from); | ||
| (0, helpers_js_1.assertIsBytes)(nonce); | ||
| if ((0, bytes_js_1.bytesToBigInt)(nonce) === constants_js_1.BIGINT_0) { | ||
| (0, helpers_ts_1.assertIsBytes)(from); | ||
| (0, helpers_ts_1.assertIsBytes)(nonce); | ||
| if ((0, bytes_ts_1.bytesToBigInt)(nonce) === constants_ts_1.BIGINT_0) { | ||
| // in RLP we want to encode null in the case of zero nonce | ||
@@ -437,12 +441,12 @@ // read the RLP documentation for an answer if you dare | ||
| const generateAddress2 = function (from, salt, initCode) { | ||
| (0, helpers_js_1.assertIsBytes)(from); | ||
| (0, helpers_js_1.assertIsBytes)(salt); | ||
| (0, helpers_js_1.assertIsBytes)(initCode); | ||
| (0, helpers_ts_1.assertIsBytes)(from); | ||
| (0, helpers_ts_1.assertIsBytes)(salt); | ||
| (0, helpers_ts_1.assertIsBytes)(initCode); | ||
| if (from.length !== 20) { | ||
| throw new Error('Expected from to be of length 20'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Expected from to be of length 20'); | ||
| } | ||
| if (salt.length !== 32) { | ||
| throw new Error('Expected salt to be of length 32'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Expected salt to be of length 32'); | ||
| } | ||
| const address = (0, keccak_js_1.keccak256)((0, bytes_js_1.concatBytes)((0, bytes_js_1.hexToBytes)('0xff'), from, salt, (0, keccak_js_1.keccak256)(initCode))); | ||
| const address = (0, keccak_js_1.keccak256)((0, bytes_ts_1.concatBytes)((0, bytes_ts_1.hexToBytes)('0xff'), from, salt, (0, keccak_js_1.keccak256)(initCode))); | ||
| return address.subarray(-20); | ||
@@ -465,3 +469,3 @@ }; | ||
| const isValidPublic = function (publicKey, sanitize = false) { | ||
| (0, helpers_js_1.assertIsBytes)(publicKey); | ||
| (0, helpers_ts_1.assertIsBytes)(publicKey); | ||
| if (publicKey.length === 64) { | ||
@@ -471,6 +475,6 @@ // Convert to SEC1 for secp256k1 | ||
| try { | ||
| secp256k1_js_1.secp256k1.ProjectivePoint.fromHex((0, bytes_js_1.concatBytes)(Uint8Array.from([4]), publicKey)); | ||
| secp256k1_js_1.secp256k1.ProjectivePoint.fromHex((0, bytes_ts_1.concatBytes)(Uint8Array.from([4]), publicKey)); | ||
| return true; | ||
| } | ||
| catch (e) { | ||
| catch { | ||
| return false; | ||
@@ -486,3 +490,3 @@ } | ||
| } | ||
| catch (e) { | ||
| catch { | ||
| return false; | ||
@@ -499,3 +503,3 @@ } | ||
| const pubToAddress = function (pubKey, sanitize = false) { | ||
| (0, helpers_js_1.assertIsBytes)(pubKey); | ||
| (0, helpers_ts_1.assertIsBytes)(pubKey); | ||
| if (sanitize && pubKey.length !== 64) { | ||
@@ -505,3 +509,3 @@ pubKey = secp256k1_js_1.secp256k1.ProjectivePoint.fromHex(pubKey).toRawBytes(false).slice(1); | ||
| if (pubKey.length !== 64) { | ||
| throw new Error('Expected pubKey to be of length 64'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Expected pubKey to be of length 64'); | ||
| } | ||
@@ -518,3 +522,3 @@ // Only take the lower 160bits of the hash | ||
| const privateToPublic = function (privateKey) { | ||
| (0, helpers_js_1.assertIsBytes)(privateKey); | ||
| (0, helpers_ts_1.assertIsBytes)(privateKey); | ||
| // skip the type flag and use the X, Y points | ||
@@ -536,3 +540,3 @@ return secp256k1_js_1.secp256k1.ProjectivePoint.fromPrivateKey(privateKey).toRawBytes(false).slice(1); | ||
| const importPublic = function (publicKey) { | ||
| (0, helpers_js_1.assertIsBytes)(publicKey); | ||
| (0, helpers_ts_1.assertIsBytes)(publicKey); | ||
| if (publicKey.length !== 64) { | ||
@@ -548,3 +552,3 @@ publicKey = secp256k1_js_1.secp256k1.ProjectivePoint.fromHex(publicKey).toRawBytes(false).slice(1); | ||
| const zeroAddress = function () { | ||
| return (0, bytes_js_1.bytesToHex)(new Uint8Array(20)); | ||
| return (0, bytes_ts_1.bytesToHex)(new Uint8Array(20)); | ||
| }; | ||
@@ -557,5 +561,5 @@ exports.zeroAddress = zeroAddress; | ||
| try { | ||
| (0, helpers_js_1.assertIsString)(hexAddress); | ||
| (0, helpers_ts_1.assertIsString)(hexAddress); | ||
| } | ||
| catch (e) { | ||
| catch { | ||
| return false; | ||
@@ -572,7 +576,6 @@ } | ||
| balance, | ||
| storageRoot.length === 0 ? constants_js_1.KECCAK256_RLP : storageRoot, | ||
| codeHash.length === 0 ? constants_js_1.KECCAK256_NULL : codeHash, | ||
| storageRoot.length === 0 ? constants_ts_1.KECCAK256_RLP : storageRoot, | ||
| codeHash.length === 0 ? constants_ts_1.KECCAK256_NULL : codeHash, | ||
| ]; | ||
| } | ||
| exports.accountBodyFromSlim = accountBodyFromSlim; | ||
| const emptyUint8Arr = new Uint8Array(0); | ||
@@ -584,7 +587,6 @@ function accountBodyToSlim(body) { | ||
| balance, | ||
| (0, bytes_js_1.equalsBytes)(storageRoot, constants_js_1.KECCAK256_RLP) ? emptyUint8Arr : storageRoot, | ||
| (0, bytes_js_1.equalsBytes)(codeHash, constants_js_1.KECCAK256_NULL) ? emptyUint8Arr : codeHash, | ||
| (0, bytes_ts_1.equalsBytes)(storageRoot, constants_ts_1.KECCAK256_RLP) ? emptyUint8Arr : storageRoot, | ||
| (0, bytes_ts_1.equalsBytes)(codeHash, constants_ts_1.KECCAK256_NULL) ? emptyUint8Arr : codeHash, | ||
| ]; | ||
| } | ||
| exports.accountBodyToSlim = accountBodyToSlim; | ||
| /** | ||
@@ -599,3 +601,2 @@ * Converts a slim account (per snap protocol spec) to the RLP encoded version of the account | ||
| } | ||
| exports.accountBodyToRLP = accountBodyToRLP; | ||
| //# sourceMappingURL=account.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/account.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/account.ts"],"names":[],"mappings":";;;AAgRA,sCAYC;AAED,kEAIC;AAED,oDAsBC;AAED,oDAQC;AAED,kEAwFC;AA4ND,kDAQC;AAGD,8CAQC;AAOD,4CAGC;AAvpBD,yCAAqC;AACrC,+DAA2D;AAC3D,qEAA8D;AAE9D,yCAWmB;AACnB,iDAAwE;AACxE,2CAAwD;AACxD,6CAA+E;AAC/E,+CAA8C;AAsB9C;;;;;;;;;GASG;AACH,MAAa,OAAO;IASlB,IAAI,OAAO;QACT,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,QAAQ,CAAA;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC,WAAW,IAAI,CAAC,QAAQ,aAAa,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,MAAM,CAAA;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC,SAAS,IAAI,CAAC,MAAM,aAAa,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAc;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,IAAI,OAAO;QACT,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,QAAQ,CAAA;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC,WAAW,IAAI,CAAC,QAAQ,aAAa,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,YAAY,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC,eAAe,IAAI,CAAC,YAAY,aAAa,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC;IACD,IAAI,WAAW,CAAC,YAAwB;QACtC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC,YAAY,IAAI,CAAC,SAAS,aAAa,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,SAAqB;QAChC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC,YAAY,IAAI,CAAC,SAAS,aAAa,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,SAAiB;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED;;;;OAIG;IACH,YACE,QAAuB,uBAAQ,EAC/B,UAAyB,uBAAQ,EACjC,cAAiC,4BAAa,EAC9C,WAA8B,6BAAc,EAC5C,WAA0B,CAAC,EAC3B,UAAyB,CAAC;QArF5B,WAAM,GAAkB,IAAI,CAAA;QAC5B,aAAQ,GAAkB,IAAI,CAAA;QAC9B,iBAAY,GAAsB,IAAI,CAAA;QACtC,cAAS,GAAsB,IAAI,CAAA;QACnC,mDAAmD;QACnD,cAAS,GAAkB,IAAI,CAAA;QAC/B,aAAQ,GAAkB,IAAI,CAAA;QAiF5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QAEzB,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACjE,QAAQ,GAAG,CAAC,CAAA;QACd,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QAEvB,IAAI,CAAC,SAAS,EAAE,CAAA;IAClB,CAAC;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,uBAAQ,EAAE,CAAC;YACnD,MAAM,IAAA,sCAA0B,EAAC,iCAAiC,CAAC,CAAA;QACrE,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,GAAG,uBAAQ,EAAE,CAAC;YACvD,MAAM,IAAA,sCAA0B,EAAC,mCAAmC,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAClE,MAAM,IAAA,sCAA0B,EAAC,sCAAsC,CAAC,CAAA;QAC1E,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAC5D,MAAM,IAAA,sCAA0B,EAAC,mCAAmC,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,GAAG,uBAAQ,EAAE,CAAC;YACzD,MAAM,IAAA,sCAA0B,EAAC,oCAAoC,CAAC,CAAA;QACxE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,GAAG;QACD,OAAO;YACL,IAAA,gCAAqB,EAAC,IAAI,CAAC,KAAK,CAAC;YACjC,IAAA,gCAAqB,EAAC,IAAI,CAAC,OAAO,CAAC;YACnC,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,QAAQ;SACd,CAAA;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,SAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,wBAAwB;QACtB,MAAM,WAAW,GAAG,EAAE,CAAA;QACtB,MAAM,WAAW,GAAG,IAAA,6BAAkB,EAAC,CAAC,CAAC,CAAA;QACzC,MAAM,UAAU,GAAG,IAAA,6BAAkB,EAAC,CAAC,CAAC,CAAA;QAExC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,IAAA,gCAAqB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACpE,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;QACjC,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,IAAA,gCAAqB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACtE,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;QACjC,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC/B,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;QACnD,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;QACjC,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;QAChD,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;QACjC,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,IAAA,6BAAkB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QACpE,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;QACjC,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,IAAA,6BAAkB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACnE,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;QACjC,CAAC;QAED,OAAO,SAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACvD,MAAM,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACrE,CAAC;QACD,OAAO,CACL,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,IAAA,sBAAW,EAAC,IAAI,CAAC,SAAS,EAAE,6BAAc,CAAC,CAAC;YACzE,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,CAClD,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,gDAAgD;QAChD,IACE,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,uBAAQ,CAAC;YACrD,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,uBAAQ,CAAC;YACjD,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,IAAA,sBAAW,EAAC,IAAI,CAAC,QAAQ,EAAE,6BAAc,CAAC,CAAC,EACxE,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,CACL,IAAI,CAAC,OAAO,KAAK,uBAAQ;YACzB,IAAI,CAAC,KAAK,KAAK,uBAAQ;YACvB,IAAA,sBAAW,EAAC,IAAI,CAAC,QAAQ,EAAE,6BAAc,CAAC,CAC3C,CAAA;IACH,CAAC;CACF;AAzND,0BAyNC;AAED,uBAAuB;AAEvB,SAAgB,aAAa,CAAC,WAAwB;IACpD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAA;IAC7D,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpF,MAAM,KAAK,CAAC,iDAAiD,CAAC,CAAA;IAChE,CAAC;IAED,OAAO,IAAI,OAAO,CAChB,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,wBAAa,EAAC,IAAA,kBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAC/D,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,wBAAa,EAAC,IAAA,kBAAO,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACnE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,kBAAO,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,EAC5D,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,kBAAO,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CACvD,CAAA;AACH,CAAC;AAED,SAAgB,2BAA2B,CAAC,MAAoB;IAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAA;IAEtD,OAAO,IAAI,OAAO,CAAC,IAAA,wBAAa,EAAC,KAAK,CAAC,EAAE,IAAA,wBAAa,EAAC,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;AACzF,CAAC;AAED,SAAgB,oBAAoB,CAAC,kBAAsC;IACzE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAA;IAEvF,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,IAAI;QAChB,WAAW,KAAK,IAAI;QACpB,QAAQ,KAAK,IAAI;QACjB,QAAQ,KAAK,IAAI;QACjB,OAAO,KAAK,IAAI,EAChB,CAAC;QACD,MAAM,KAAK,CAAC,yBAAyB,CAAC,CAAA;IACxC,CAAC;IAED,OAAO,IAAI,OAAO,CAChB,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,wBAAa,EAAC,IAAA,kBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAC7E,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,wBAAa,EAAC,IAAA,kBAAO,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EACrF,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,kBAAO,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EACtF,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,kBAAO,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAC1E,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,qBAAU,EAAC,IAAA,kBAAO,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EACtF,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,qBAAU,EAAC,IAAA,kBAAO,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CACnF,CAAA;AACH,CAAC;AAED,SAAgB,oBAAoB,CAAC,UAAsB;IACzD,MAAM,MAAM,GAAG,SAAG,CAAC,MAAM,CAAC,UAAU,CAAiB,CAAA;IAErD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAA,sCAA0B,EAAC,iDAAiD,CAAC,CAAA;IACrF,CAAC;IAED,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAA;AAC5C,CAAC;AAED,SAAgB,2BAA2B,CAAC,UAAsB;IAChE,MAAM,MAAM,GAAG,SAAG,CAAC,MAAM,CAAC,UAAU,CAAmB,CAAA;IAEvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAA,sCAA0B,EAAC,iDAAiD,CAAC,CAAA;IACrF,CAAC;IAED,IAAI,KAAK,GAAG,IAAI,CAAA;IAChB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAA,sCAA0B,EAAC,+CAA+C,CAAC,CAAA;IACnF,CAAC;SAAM,CAAC;QACN,MAAM,kBAAkB,GAAG,IAAA,qBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,IAAI,kBAAkB,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,IAAA,sCAA0B,EAAC,2BAA2B,kBAAkB,YAAY,CAAC,CAAA;QAC7F,CAAC;QACD,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;YAC7B,KAAK,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAA,sCAA0B,EAAC,iDAAiD,CAAC,CAAA;IACrF,CAAC;SAAM,CAAC;QACN,MAAM,kBAAkB,GAAG,IAAA,qBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,IAAI,kBAAkB,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,IAAA,sCAA0B,EAAC,2BAA2B,kBAAkB,cAAc,CAAC,CAAA;QAC/F,CAAC;QACD,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IAED,IAAI,WAAW,GAAG,IAAI,CAAA;IACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAA,sCAA0B,EAAC,qDAAqD,CAAC,CAAA;IACzF,CAAC;SAAM,CAAC;QACN,MAAM,kBAAkB,GAAG,IAAA,qBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,IAAI,kBAAkB,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,IAAA,sCAA0B,EAC9B,2BAA2B,kBAAkB,kBAAkB,CAChE,CAAA;QACH,CAAC;QACD,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;YAC7B,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,GAAG,IAAI,CAAA;IACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAA,sCAA0B,EAAC,kDAAkD,CAAC,CAAA;IACtF,CAAC;SAAM,CAAC;QACN,MAAM,kBAAkB,GAAG,IAAA,qBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,IAAI,kBAAkB,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,IAAA,sCAA0B,EAAC,2BAA2B,kBAAkB,eAAe,CAAC,CAAA;QAChG,CAAC;QACD,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;YAC7B,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,GAAG,IAAI,CAAA;IACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAA,sCAA0B,EAAC,kDAAkD,CAAC,CAAA;IACtF,CAAC;SAAM,CAAC;QACN,MAAM,kBAAkB,GAAG,IAAA,qBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,IAAI,kBAAkB,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,IAAA,sCAA0B,EAAC,2BAA2B,kBAAkB,eAAe,CAAC,CAAA;QAChG,CAAC;QACD,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;YAC7B,QAAQ,GAAG,IAAA,qBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAA,sCAA0B,EAAC,iDAAiD,CAAC,CAAA;IACrF,CAAC;SAAM,CAAC;QACN,MAAM,kBAAkB,GAAG,IAAA,qBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,IAAI,kBAAkB,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,IAAA,sCAA0B,EAAC,2BAA2B,kBAAkB,cAAc,CAAC,CAAA;QAC/F,CAAC;QACD,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,IAAA,qBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;AAC3F,CAAC;AAED;;GAEG;AACI,MAAM,cAAc,GAAG,UAAU,UAAkB;IACxD,IAAI,CAAC;QACH,IAAA,2BAAc,EAAC,UAAU,CAAC,CAAA;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAC/C,CAAC,CAAA;AARY,QAAA,cAAc,kBAQ1B;AAED;;;;;;;;;;;GAWG;AACI,MAAM,iBAAiB,GAAG,UAC/B,UAAkB,EAClB,cAA2B;IAE3B,IAAA,8BAAiB,EAAC,UAAU,CAAC,CAAA;IAC7B,MAAM,OAAO,GAAG,IAAA,4BAAc,EAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAA;IAExD,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,IAAA,kBAAO,EAAC,cAAc,CAAC,CAAC,CAAA;QACtD,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAA;IACpC,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,sBAAW,EAAC,MAAM,GAAG,OAAO,CAAC,CAAA;IAC3C,MAAM,IAAI,GAAG,IAAA,qBAAU,EAAC,IAAA,qBAAS,EAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClD,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QACjC,CAAC;aAAM,CAAC;YACN,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,GAAG,EAAE,CAAA;AACnB,CAAC,CAAA;AA1BY,QAAA,iBAAiB,qBA0B7B;AAED;;;;GAIG;AACI,MAAM,sBAAsB,GAAG,UACpC,UAAkB,EAClB,cAA2B;IAE3B,OAAO,IAAA,sBAAc,EAAC,UAAU,CAAC,IAAI,IAAA,yBAAiB,EAAC,UAAU,EAAE,cAAc,CAAC,KAAK,UAAU,CAAA;AACnG,CAAC,CAAA;AALY,QAAA,sBAAsB,0BAKlC;AAED;;;;GAIG;AACI,MAAM,eAAe,GAAG,UAAU,IAAgB,EAAE,KAAiB;IAC1E,IAAA,0BAAa,EAAC,IAAI,CAAC,CAAA;IACnB,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAA;IAEpB,IAAI,IAAA,wBAAa,EAAC,KAAK,CAAC,KAAK,uBAAQ,EAAE,CAAC;QACtC,0DAA0D;QAC1D,uDAAuD;QACvD,OAAO,IAAA,qBAAS,EAAC,SAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;IACzE,CAAC;IAED,0CAA0C;IAC1C,OAAO,IAAA,qBAAS,EAAC,SAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;AAC3D,CAAC,CAAA;AAZY,QAAA,eAAe,mBAY3B;AAED;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,UAC9B,IAAgB,EAChB,IAAgB,EAChB,QAAoB;IAEpB,IAAA,0BAAa,EAAC,IAAI,CAAC,CAAA;IACnB,IAAA,0BAAa,EAAC,IAAI,CAAC,CAAA;IACnB,IAAA,0BAAa,EAAC,QAAQ,CAAC,CAAA;IAEvB,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACvB,MAAM,IAAA,sCAA0B,EAAC,kCAAkC,CAAC,CAAA;IACtE,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACvB,MAAM,IAAA,sCAA0B,EAAC,kCAAkC,CAAC,CAAA;IACtE,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,qBAAS,EAAC,IAAA,sBAAW,EAAC,IAAA,qBAAU,EAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAE3F,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;AAC9B,CAAC,CAAA;AAnBY,QAAA,gBAAgB,oBAmB5B;AAED;;GAEG;AACI,MAAM,cAAc,GAAG,UAAU,UAAsB;IAC5D,OAAO,wBAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;AACtD,CAAC,CAAA;AAFY,QAAA,cAAc,kBAE1B;AAED;;;;;GAKG;AACI,MAAM,aAAa,GAAG,UAAU,SAAqB,EAAE,WAAoB,KAAK;IACrF,IAAA,0BAAa,EAAC,SAAS,CAAC,CAAA;IACxB,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC5B,gCAAgC;QAChC,iDAAiD;QACjD,IAAI,CAAC;YACH,wBAAS,CAAC,eAAe,CAAC,OAAO,CAAC,IAAA,sBAAW,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;YAC/E,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,CAAC;QACH,wBAAS,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAvBY,QAAA,aAAa,iBAuBzB;AAED;;;;;GAKG;AACI,MAAM,YAAY,GAAG,UAAU,MAAkB,EAAE,WAAoB,KAAK;IACjF,IAAA,0BAAa,EAAC,MAAM,CAAC,CAAA;IACrB,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,wBAAS,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC/E,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACzB,MAAM,IAAA,sCAA0B,EAAC,oCAAoC,CAAC,CAAA;IACxE,CAAC;IACD,0CAA0C;IAC1C,OAAO,IAAA,qBAAS,EAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;AACxC,CAAC,CAAA;AAVY,QAAA,YAAY,gBAUxB;AACY,QAAA,eAAe,GAAG,oBAAY,CAAA;AAE3C;;;GAGG;AACI,MAAM,eAAe,GAAG,UAAU,UAAsB;IAC7D,IAAA,0BAAa,EAAC,UAAU,CAAC,CAAA;IACzB,6CAA6C;IAC7C,OAAO,wBAAS,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACxF,CAAC,CAAA;AAJY,QAAA,eAAe,mBAI3B;AAED;;;GAGG;AACI,MAAM,gBAAgB,GAAG,UAAU,UAAsB;IAC9D,OAAO,IAAA,uBAAe,EAAC,IAAA,uBAAe,EAAC,UAAU,CAAC,CAAC,CAAA;AACrD,CAAC,CAAA;AAFY,QAAA,gBAAgB,oBAE5B;AAED;;GAEG;AACI,MAAM,YAAY,GAAG,UAAU,SAAqB;IACzD,IAAA,0BAAa,EAAC,SAAS,CAAC,CAAA;IACxB,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC5B,SAAS,GAAG,wBAAS,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACrF,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AANY,QAAA,YAAY,gBAMxB;AAED;;GAEG;AACI,MAAM,WAAW,GAAG;IACzB,OAAO,IAAA,qBAAU,EAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;AACvC,CAAC,CAAA;AAFY,QAAA,WAAW,eAEvB;AAED;;GAEG;AACI,MAAM,aAAa,GAAG,UAAU,UAAkB;IACvD,IAAI,CAAC;QACH,IAAA,2BAAc,EAAC,UAAU,CAAC,CAAA;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,mBAAW,GAAE,CAAA;IAC9B,OAAO,QAAQ,KAAK,UAAU,CAAA;AAChC,CAAC,CAAA;AATY,QAAA,aAAa,iBASzB;AAED,SAAgB,mBAAmB,CAAC,IAAsB;IACxD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAA;IACpD,OAAO;QACL,KAAK;QACL,OAAO;QACP,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,4BAAa,CAAC,CAAC,CAAC,WAAW;QACtD,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,6BAAc,CAAC,CAAC,CAAC,QAAQ;KAClD,CAAA;AACH,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;AACvC,SAAgB,iBAAiB,CAAC,IAAsB;IACtD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAA;IACpD,OAAO;QACL,KAAK;QACL,OAAO;QACP,IAAA,sBAAW,EAAC,WAAW,EAAE,4BAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW;QACrE,IAAA,sBAAW,EAAC,QAAQ,EAAE,6BAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ;KACjE,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,IAAsB,EAAE,WAAW,GAAG,IAAI;IACzE,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAClE,OAAO,SAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;AAChC,CAAC"} |
@@ -1,2 +0,2 @@ | ||
| import type { PrefixedHexString } from './types.js'; | ||
| import type { PrefixedHexString } from './types.ts'; | ||
| /** | ||
@@ -3,0 +3,0 @@ * Handling and generating Ethereum addresses |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD;;GAEG;AACH,qBAAa,OAAO;IAClB,SAAgB,KAAK,EAAE,UAAU,CAAA;gBAErB,KAAK,EAAE,UAAU;IAO7B;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAIjC;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;;OAGG;IACH,2BAA2B,IAAI,OAAO;IAOtC;;OAEG;IACH,QAAQ,IAAI,iBAAiB;IAI7B;;OAEG;IACH,OAAO,IAAI,UAAU;CAGtB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAM9D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAK5D;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAMtE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAM3E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAK3E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,UAAU,GACnB,OAAO,CAQT"} | ||
| {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD;;GAEG;AACH,qBAAa,OAAO;IAClB,SAAgB,KAAK,EAAE,UAAU,CAAA;gBAErB,KAAK,EAAE,UAAU;IAO7B;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAIjC;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;;OAGG;IACH,2BAA2B,IAAI,OAAO;IAOtC;;OAEG;IACH,QAAQ,IAAI,iBAAiB;IAI7B;;OAEG;IACH,OAAO,IAAI,UAAU;CAGtB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAM9D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAK5D;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAMtE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAM3E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAK3E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,UAAU,GACnB,OAAO,CAQT"} |
+32
-31
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.createContractAddress2 = exports.createContractAddress = exports.createAddressFromPrivateKey = exports.createAddressFromPublicKey = exports.createAddressFromString = exports.createAddressFromBigInt = exports.createZeroAddress = exports.Address = void 0; | ||
| const account_js_1 = require("./account.js"); | ||
| const bytes_js_1 = require("./bytes.js"); | ||
| const constants_js_1 = require("./constants.js"); | ||
| exports.Address = void 0; | ||
| exports.createZeroAddress = createZeroAddress; | ||
| exports.createAddressFromBigInt = createAddressFromBigInt; | ||
| exports.createAddressFromString = createAddressFromString; | ||
| exports.createAddressFromPublicKey = createAddressFromPublicKey; | ||
| exports.createAddressFromPrivateKey = createAddressFromPrivateKey; | ||
| exports.createContractAddress = createContractAddress; | ||
| exports.createContractAddress2 = createContractAddress2; | ||
| const account_ts_1 = require("./account.js"); | ||
| const bytes_ts_1 = require("./bytes.js"); | ||
| const constants_ts_1 = require("./constants.js"); | ||
| const errors_ts_1 = require("./errors.js"); | ||
| /** | ||
@@ -13,3 +21,3 @@ * Handling and generating Ethereum addresses | ||
| if (bytes.length !== 20) { | ||
| throw new Error('Invalid address length'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Invalid address length'); | ||
| } | ||
@@ -22,3 +30,3 @@ this.bytes = bytes; | ||
| equals(address) { | ||
| return (0, bytes_js_1.equalsBytes)(this.bytes, address.bytes); | ||
| return (0, bytes_ts_1.equalsBytes)(this.bytes, address.bytes); | ||
| } | ||
@@ -36,4 +44,4 @@ /** | ||
| isPrecompileOrSystemAddress() { | ||
| const address = (0, bytes_js_1.bytesToBigInt)(this.bytes); | ||
| const rangeMin = constants_js_1.BIGINT_0; | ||
| const address = (0, bytes_ts_1.bytesToBigInt)(this.bytes); | ||
| const rangeMin = constants_ts_1.BIGINT_0; | ||
| const rangeMax = BigInt('0xffff'); | ||
@@ -46,3 +54,3 @@ return address >= rangeMin && address <= rangeMax; | ||
| toString() { | ||
| return (0, bytes_js_1.bytesToHex)(this.bytes); | ||
| return (0, bytes_ts_1.bytesToHex)(this.bytes); | ||
| } | ||
@@ -63,3 +71,2 @@ /** | ||
| } | ||
| exports.createZeroAddress = createZeroAddress; | ||
| /** | ||
@@ -70,9 +77,8 @@ * Returns an Address object from a bigint address (they are stored as bigints on the stack) | ||
| function createAddressFromBigInt(value) { | ||
| const bytes = (0, bytes_js_1.bigIntToBytes)(value); | ||
| const bytes = (0, bytes_ts_1.bigIntToBytes)(value); | ||
| if (bytes.length > 20) { | ||
| throw new Error(`Invalid address, too long: ${bytes.length}`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`Invalid address, too long: ${bytes.length}`); | ||
| } | ||
| return new Address((0, bytes_js_1.setLengthLeft)(bytes, 20)); | ||
| return new Address((0, bytes_ts_1.setLengthLeft)(bytes, 20)); | ||
| } | ||
| exports.createAddressFromBigInt = createAddressFromBigInt; | ||
| /** | ||
@@ -83,8 +89,7 @@ * Returns an Address object from a hex-encoded string. | ||
| function createAddressFromString(str) { | ||
| if (!(0, account_js_1.isValidAddress)(str)) { | ||
| throw new Error(`Invalid address input=${str}`); | ||
| if (!(0, account_ts_1.isValidAddress)(str)) { | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`Invalid address input=${str}`); | ||
| } | ||
| return new Address((0, bytes_js_1.hexToBytes)(str)); | ||
| return new Address((0, bytes_ts_1.hexToBytes)(str)); | ||
| } | ||
| exports.createAddressFromString = createAddressFromString; | ||
| /** | ||
@@ -96,8 +101,7 @@ * Returns an address for a given public key. | ||
| if (!(pubKey instanceof Uint8Array)) { | ||
| throw new Error('Public key should be Uint8Array'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Public key should be Uint8Array'); | ||
| } | ||
| const bytes = (0, account_js_1.pubToAddress)(pubKey); | ||
| const bytes = (0, account_ts_1.pubToAddress)(pubKey); | ||
| return new Address(bytes); | ||
| } | ||
| exports.createAddressFromPublicKey = createAddressFromPublicKey; | ||
| /** | ||
@@ -109,8 +113,7 @@ * Returns an address for a given private key. | ||
| if (!(privateKey instanceof Uint8Array)) { | ||
| throw new Error('Private key should be Uint8Array'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Private key should be Uint8Array'); | ||
| } | ||
| const bytes = (0, account_js_1.privateToAddress)(privateKey); | ||
| const bytes = (0, account_ts_1.privateToAddress)(privateKey); | ||
| return new Address(bytes); | ||
| } | ||
| exports.createAddressFromPrivateKey = createAddressFromPrivateKey; | ||
| /** | ||
@@ -123,7 +126,6 @@ * Generates an address for a newly created contract. | ||
| if (typeof nonce !== 'bigint') { | ||
| throw new Error('Expected nonce to be a bigint'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Expected nonce to be a bigint'); | ||
| } | ||
| return new Address((0, account_js_1.generateAddress)(from.bytes, (0, bytes_js_1.bigIntToBytes)(nonce))); | ||
| return new Address((0, account_ts_1.generateAddress)(from.bytes, (0, bytes_ts_1.bigIntToBytes)(nonce))); | ||
| } | ||
| exports.createContractAddress = createContractAddress; | ||
| /** | ||
@@ -137,10 +139,9 @@ * Generates an address for a contract created using CREATE2. | ||
| if (!(salt instanceof Uint8Array)) { | ||
| throw new Error('Expected salt to be a Uint8Array'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Expected salt to be a Uint8Array'); | ||
| } | ||
| if (!(initCode instanceof Uint8Array)) { | ||
| throw new Error('Expected initCode to be a Uint8Array'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Expected initCode to be a Uint8Array'); | ||
| } | ||
| return new Address((0, account_js_1.generateAddress2)(from.bytes, salt, initCode)); | ||
| return new Address((0, account_ts_1.generateAddress2)(from.bytes, salt, initCode)); | ||
| } | ||
| exports.createContractAddress2 = createContractAddress2; | ||
| //# sourceMappingURL=address.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"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"} |
@@ -1,3 +0,3 @@ | ||
| import type { KZG } from './kzg.js'; | ||
| import type { PrefixedHexString } from './types.js'; | ||
| import type { KZG } from './kzg.ts'; | ||
| import type { PrefixedHexString } from './types.ts'; | ||
| export declare const getBlobs: (input: string) => `0x${string}`[]; | ||
@@ -4,0 +4,0 @@ export declare const blobsToCommitments: (kzg: KZG, blobs: PrefixedHexString[]) => `0x${string}`[]; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"blobs.d.ts","sourceRoot":"","sources":["../../src/blobs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AA8BnD,eAAO,MAAM,QAAQ,UAAW,MAAM,oBAsBrC,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAS,GAAG,SAAS,iBAAiB,EAAE,oBAMtE,CAAA;AAED,eAAO,MAAM,aAAa,QACnB,GAAG,SACD,iBAAiB,EAAE,eACb,iBAAiB,EAAE,oBAOjC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,eACnB,iBAAiB,yBACN,MAAM,kBAM9B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,gBAAiB,iBAAiB,EAAE,oBAM5E,CAAA"} | ||
| {"version":3,"file":"blobs.d.ts","sourceRoot":"","sources":["../../src/blobs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AA8BnD,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,oBAsBrC,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,KAAK,GAAG,EAAE,OAAO,iBAAiB,EAAE,oBAMtE,CAAA;AAED,eAAO,MAAM,aAAa,GACxB,KAAK,GAAG,EACR,OAAO,iBAAiB,EAAE,EAC1B,aAAa,iBAAiB,EAAE,oBAOjC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAC/B,YAAY,iBAAiB,EAC7B,uBAAuB,MAAM,kBAM9B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,GAAI,aAAa,iBAAiB,EAAE,oBAM5E,CAAA"} |
@@ -5,3 +5,3 @@ "use strict"; | ||
| const sha256_js_1 = require("ethereum-cryptography/sha256.js"); | ||
| const bytes_js_1 = require("./bytes.js"); | ||
| const bytes_ts_1 = require("./bytes.js"); | ||
| /** | ||
@@ -29,6 +29,6 @@ * These utilities for constructing blobs are borrowed from https://github.com/Inphi/eip4844-interop.git | ||
| } | ||
| return (0, bytes_js_1.bytesToHex)(blob); | ||
| return (0, bytes_ts_1.bytesToHex)(blob); | ||
| } | ||
| const getBlobs = (input) => { | ||
| const data = (0, bytes_js_1.utf8ToBytes)(input); | ||
| const data = (0, bytes_ts_1.utf8ToBytes)(input); | ||
| const len = data.byteLength; | ||
@@ -76,4 +76,4 @@ if (len === 0) { | ||
| computedVersionedHash.set([blobCommitmentVersion], 0); | ||
| computedVersionedHash.set((0, sha256_js_1.sha256)((0, bytes_js_1.hexToBytes)(commitment)).subarray(1), 1); | ||
| return (0, bytes_js_1.bytesToHex)(computedVersionedHash); | ||
| computedVersionedHash.set((0, sha256_js_1.sha256)((0, bytes_ts_1.hexToBytes)(commitment)).subarray(1), 1); | ||
| return (0, bytes_ts_1.bytesToHex)(computedVersionedHash); | ||
| }; | ||
@@ -80,0 +80,0 @@ exports.computeVersionedHash = computeVersionedHash; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"blobs.js","sourceRoot":"","sources":["../../src/blobs.ts"],"names":[],"mappings":";;;AAAA,+DAAwD;AAExD,yCAAgE;AAKhE;;GAEG;AACH,MAAM,uBAAuB,GAAG,EAAE,CAAA;AAClC,MAAM,uBAAuB,GAAG,IAAI,CAAA;AACpC,MAAM,qBAAqB,GAAG,EAAE,GAAG,uBAAuB,CAAA;AAC1D,MAAM,gBAAgB,GAAG,CAAC,CAAA;AAC1B,MAAM,uBAAuB,GAAG,qBAAqB,GAAG,gBAAgB,GAAG,CAAC,CAAA;AAC5E,MAAM,SAAS,GAAG,uBAAuB,GAAG,uBAAuB,CAAA;AAEnE,SAAS,UAAU,CAAC,IAAgB,EAAE,SAAiB;IACrD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,SAAS,GAAG,qBAAqB,CAAC,CAAA;IAC/D,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;IAC7B,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,IAAgB;IAChC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAA;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,EAAE,CAAC,EAAE,EAAE;QAChD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;QAChC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;KACxB;IAED,OAAO,IAAA,qBAAU,EAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAEM,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,EAAE;IACxC,MAAM,IAAI,GAAG,IAAA,sBAAW,EAAC,KAAK,CAAC,CAAA;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAA;IAC3B,IAAI,GAAG,KAAK,CAAC,EAAE;QACb,MAAM,KAAK,CAAC,mBAAmB,CAAC,CAAA;KACjC;IACD,IAAI,GAAG,GAAG,uBAAuB,EAAE;QACjC,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAA;KACtC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,qBAAqB,CAAC,CAAA;IAExD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAEzC,MAAM,KAAK,GAAwB,EAAE,CAAA;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,qBAAqB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAA;QACxF,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KACjB;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAtBY,QAAA,QAAQ,YAsBpB;AAEM,MAAM,kBAAkB,GAAG,CAAC,GAAQ,EAAE,KAA0B,EAAE,EAAE;IACzE,MAAM,WAAW,GAAwB,EAAE,CAAA;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAuB,CAAC,CAAA;KACnF;IACD,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AANY,QAAA,kBAAkB,sBAM9B;AAEM,MAAM,aAAa,GAAG,CAC3B,GAAQ,EACR,KAA0B,EAC1B,WAAgC,EAChC,EAAE;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CACrC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CACpC,CAAA;IAExB,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAVY,QAAA,aAAa,iBAUzB;AAED;;;;;;;GAOG;AACI,MAAM,oBAAoB,GAAG,CAClC,UAA6B,EAC7B,qBAA6B,EAC7B,EAAE;IACF,MAAM,qBAAqB,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;IAChD,qBAAqB,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAA;IACrD,qBAAqB,CAAC,GAAG,CAAC,IAAA,kBAAM,EAAC,IAAA,qBAAU,EAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACxE,OAAO,IAAA,qBAAU,EAAC,qBAAqB,CAAC,CAAA;AAC1C,CAAC,CAAA;AARY,QAAA,oBAAoB,wBAQhC;AAED;;;;;GAKG;AACI,MAAM,4BAA4B,GAAG,CAAC,WAAgC,EAAE,EAAE;IAC/E,MAAM,MAAM,GAAwB,EAAE,CAAA;IACtC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,IAAA,4BAAoB,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAA;KACpD;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AANY,QAAA,4BAA4B,gCAMxC"} | ||
| {"version":3,"file":"blobs.js","sourceRoot":"","sources":["../../src/blobs.ts"],"names":[],"mappings":"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"} |
+34
-5
| import { bytesToHex as _bytesToUnprefixedHex } from 'ethereum-cryptography/utils.js'; | ||
| import type { PrefixedHexString, TransformableToBytes } from './types.js'; | ||
| import type { PrefixedHexString, TransformableToBytes } from './types.ts'; | ||
| /** | ||
@@ -13,4 +13,4 @@ * @deprecated | ||
| */ | ||
| export declare const hexToBytes: (hex: string) => Uint8Array; | ||
| export declare const unprefixedHexToBytes: (hex: string) => Uint8Array; | ||
| export declare const hexToBytes: (hex: string) => Uint8Array<ArrayBufferLike>; | ||
| export declare const unprefixedHexToBytes: (hex: string) => Uint8Array<ArrayBufferLike>; | ||
| export declare const bytesToHex: (bytes: Uint8Array) => PrefixedHexString; | ||
@@ -226,5 +226,17 @@ /** | ||
| /** | ||
| * Converts a Uint8Array of bytes into an array of bits. | ||
| * @param {Uint8Array} bytes - The input byte array. | ||
| * @param {number} bitLength - The number of bits to extract from the input bytes. | ||
| * @returns {number[]} An array of bits (each 0 or 1) corresponding to the input bytes. | ||
| */ | ||
| export declare function bytesToBits(bytes: Uint8Array, bitLength?: number): number[]; | ||
| /** | ||
| * Converts an array of bits into a Uint8Array. | ||
| * The input bits are grouped into sets of 8, with the first bit in each group being the most significant. | ||
| * @param {number[]} bits - The input array of bits (each should be 0 or 1). Its length should be a multiple of 8. | ||
| * @returns {Uint8Array} A Uint8Array constructed from the input bits. | ||
| */ | ||
| export declare function bitsToBytes(bits: number[]): Uint8Array; | ||
| /** | ||
| * Compares two byte arrays and returns the count of consecutively matching items from the start. | ||
| * | ||
| * @function | ||
| * @param {Uint8Array} bytes1 - The first Uint8Array to compare. | ||
@@ -235,2 +247,19 @@ * @param {Uint8Array} bytes2 - The second Uint8Array to compare. | ||
| export declare function matchingBytesLength(bytes1: Uint8Array, bytes2: Uint8Array): number; | ||
| /** | ||
| * Compares two arrays of bits (0 or 1) and returns the count of consecutively matching bits from the start. | ||
| * @param {number[]} bits1 - The first array of bits, in bytes or bits. | ||
| * @param {number[]} bits2 - The second array of bits, in bytes or bits. | ||
| * @returns {number} The count of consecutively matching bits from the start. | ||
| */ | ||
| export declare function matchingBitsLength(bits1: number[], bits2: number[]): number; | ||
| /** | ||
| * Checks whether two arrays of bits are equal. | ||
| * | ||
| * Two arrays are considered equal if they have the same length and each corresponding element is identical. | ||
| * | ||
| * @param {number[]} bits1 - The first bits array. | ||
| * @param {number[]} bits2 - The second bits array. | ||
| * @returns {boolean} True if the arrays are equal; otherwise, false. | ||
| */ | ||
| export declare function equalsBits(bits1: number[], bits2: number[]): boolean; | ||
| //# sourceMappingURL=bytes.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../src/bytes.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../src/bytes.ts"],"names":[],"mappings":"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"} |
+104
-34
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.matchingBytesLength = exports.hexToBigInt = exports.utf8ToBytes = exports.equalsBytes = exports.bytesToUtf8 = exports.bigInt64ToBytes = exports.int32ToBytes = exports.bytesToBigInt64 = exports.bytesToInt32 = exports.concatBytes = exports.randomBytes = exports.compareBytes = exports.intToUnpaddedBytes = exports.bigIntToAddressBytes = exports.bigIntToUnpaddedBytes = exports.bigIntMin = exports.bigIntMax = exports.bigIntToHex = exports.validateNoLeadingZeroes = exports.short = exports.addHexPrefix = exports.toUnsigned = exports.fromSigned = exports.toBytes = exports.unpadHex = exports.unpadArray = exports.unpadBytes = exports.setLengthRight = exports.setLengthLeft = exports.bigIntToBytes = exports.intToBytes = exports.intToHex = exports.bytesToInt = exports.bytesToBigInt = exports.bytesToHex = exports.unprefixedHexToBytes = exports.hexToBytes = exports.bytesToUnprefixedHex = void 0; | ||
| exports.utf8ToBytes = exports.equalsBytes = exports.bytesToUtf8 = exports.concatBytes = exports.randomBytes = exports.compareBytes = exports.intToUnpaddedBytes = exports.bigIntToAddressBytes = exports.bigIntToUnpaddedBytes = exports.bigIntMin = exports.bigIntMax = exports.bigIntToHex = exports.validateNoLeadingZeroes = exports.short = exports.addHexPrefix = exports.toUnsigned = exports.fromSigned = exports.toBytes = exports.unpadHex = exports.unpadArray = exports.unpadBytes = exports.setLengthRight = exports.setLengthLeft = exports.bigIntToBytes = exports.intToBytes = exports.intToHex = exports.bytesToInt = exports.bytesToBigInt = exports.bytesToHex = exports.unprefixedHexToBytes = exports.hexToBytes = exports.bytesToUnprefixedHex = void 0; | ||
| exports.bytesToInt32 = bytesToInt32; | ||
| exports.bytesToBigInt64 = bytesToBigInt64; | ||
| exports.int32ToBytes = int32ToBytes; | ||
| exports.bigInt64ToBytes = bigInt64ToBytes; | ||
| exports.hexToBigInt = hexToBigInt; | ||
| exports.bytesToBits = bytesToBits; | ||
| exports.bitsToBytes = bitsToBytes; | ||
| exports.matchingBytesLength = matchingBytesLength; | ||
| exports.matchingBitsLength = matchingBitsLength; | ||
| exports.equalsBits = equalsBits; | ||
| const random_js_1 = require("ethereum-cryptography/random.js"); | ||
| // eslint-disable-next-line no-restricted-imports | ||
| const utils_js_1 = require("ethereum-cryptography/utils.js"); | ||
| const helpers_js_1 = require("./helpers.js"); | ||
| const internal_js_1 = require("./internal.js"); | ||
| const errors_ts_1 = require("./errors.js"); | ||
| const helpers_ts_1 = require("./helpers.js"); | ||
| const internal_ts_1 = require("./internal.js"); | ||
| const BIGINT_0 = BigInt(0); | ||
@@ -22,4 +32,4 @@ /** | ||
| if (!hex.startsWith('0x')) | ||
| throw new Error('input string must be 0x prefixed'); | ||
| return (0, utils_js_1.hexToBytes)((0, internal_js_1.padToEven)((0, internal_js_1.stripHexPrefix)(hex))); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('input string must be 0x prefixed'); | ||
| return (0, utils_js_1.hexToBytes)((0, internal_ts_1.padToEven)((0, internal_ts_1.stripHexPrefix)(hex))); | ||
| }; | ||
@@ -29,4 +39,4 @@ exports.hexToBytes = hexToBytes; | ||
| if (hex.startsWith('0x')) | ||
| throw new Error('input string cannot be 0x prefixed'); | ||
| return (0, utils_js_1.hexToBytes)((0, internal_js_1.padToEven)(hex)); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('input string cannot be 0x prefixed'); | ||
| return (0, utils_js_1.hexToBytes)((0, internal_ts_1.padToEven)(hex)); | ||
| }; | ||
@@ -78,3 +88,3 @@ exports.unprefixedHexToBytes = unprefixedHexToBytes; | ||
| if (!Number.isSafeInteger(res)) | ||
| throw new Error('Number exceeds 53 bits'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Number exceeds 53 bits'); | ||
| return res; | ||
@@ -91,3 +101,3 @@ }; | ||
| if (!Number.isSafeInteger(i) || i < 0) { | ||
| throw new Error(`Received an invalid integer type: ${i}`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`Received an invalid integer type: ${i}`); | ||
| } | ||
@@ -113,4 +123,3 @@ return ('0x' + i.toString(16)); | ||
| const bigIntToBytes = (num, littleEndian = false) => { | ||
| // eslint-disable-next-line @typescript-eslint/no-use-before-define | ||
| const bytes = (0, exports.toBytes)(`0x${(0, internal_js_1.padToEven)(num.toString(16))}`); | ||
| const bytes = (0, exports.toBytes)(`0x${(0, internal_ts_1.padToEven)(num.toString(16))}`); | ||
| return littleEndian ? bytes.reverse() : bytes; | ||
@@ -149,3 +158,3 @@ }; | ||
| const setLengthLeft = (msg, length) => { | ||
| (0, helpers_js_1.assertIsBytes)(msg); | ||
| (0, helpers_ts_1.assertIsBytes)(msg); | ||
| return setLength(msg, length, false); | ||
@@ -162,3 +171,3 @@ }; | ||
| const setLengthRight = (msg, length) => { | ||
| (0, helpers_js_1.assertIsBytes)(msg); | ||
| (0, helpers_ts_1.assertIsBytes)(msg); | ||
| return setLength(msg, length, true); | ||
@@ -186,3 +195,3 @@ }; | ||
| const unpadBytes = (a) => { | ||
| (0, helpers_js_1.assertIsBytes)(a); | ||
| (0, helpers_ts_1.assertIsBytes)(a); | ||
| return stripZeros(a); | ||
@@ -197,3 +206,3 @@ }; | ||
| const unpadArray = (a) => { | ||
| (0, helpers_js_1.assertIsArray)(a); | ||
| (0, helpers_ts_1.assertIsArray)(a); | ||
| return stripZeros(a); | ||
@@ -208,4 +217,4 @@ }; | ||
| const unpadHex = (a) => { | ||
| (0, helpers_js_1.assertIsHexString)(a); | ||
| return `0x${stripZeros((0, internal_js_1.stripHexPrefix)(a))}`; | ||
| (0, helpers_ts_1.assertIsHexString)(a); | ||
| return `0x${stripZeros((0, internal_ts_1.stripHexPrefix)(a))}`; | ||
| }; | ||
@@ -228,4 +237,4 @@ exports.unpadHex = unpadHex; | ||
| if (typeof v === 'string') { | ||
| if (!(0, internal_js_1.isHexString)(v)) { | ||
| throw new Error(`Cannot convert string to Uint8Array. toBytes only supports 0x-prefixed hex strings and this string was given: ${v}`); | ||
| if (!(0, internal_ts_1.isHexString)(v)) { | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`Cannot convert string to Uint8Array. toBytes only supports 0x-prefixed hex strings and this string was given: ${v}`); | ||
| } | ||
@@ -239,3 +248,3 @@ return (0, exports.hexToBytes)(v); | ||
| if (v < BIGINT_0) { | ||
| throw new Error(`Cannot convert negative bigint to Uint8Array. Given: ${v}`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`Cannot convert negative bigint to Uint8Array. Given: ${v}`); | ||
| } | ||
@@ -251,3 +260,3 @@ let n = v.toString(16); | ||
| } | ||
| throw new Error('invalid type'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('invalid type'); | ||
| }; | ||
@@ -282,3 +291,3 @@ exports.toBytes = toBytes; | ||
| } | ||
| return (0, internal_js_1.isHexString)(str) ? str : `0x${str}`; | ||
| return (0, internal_ts_1.isHexString)(str) ? str : `0x${str}`; | ||
| }; | ||
@@ -322,3 +331,3 @@ exports.addHexPrefix = addHexPrefix; | ||
| if (v !== undefined && v.length > 0 && v[0] === 0) { | ||
| throw new Error(`${k} cannot have leading zeroes, received: ${(0, exports.bytesToHex)(v)}`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`${k} cannot have leading zeroes, received: ${(0, exports.bytesToHex)(v)}`); | ||
| } | ||
@@ -437,3 +446,2 @@ } | ||
| } | ||
| exports.bytesToInt32 = bytesToInt32; | ||
| /** | ||
@@ -452,3 +460,2 @@ * @notice Convert a Uint8Array to a 64-bit bigint | ||
| } | ||
| exports.bytesToBigInt64 = bytesToBigInt64; | ||
| /** | ||
@@ -466,3 +473,2 @@ * @notice Convert a 32-bit integer to a Uint8Array. | ||
| } | ||
| exports.int32ToBytes = int32ToBytes; | ||
| /** | ||
@@ -480,4 +486,2 @@ * @notice Convert a 64-bit bigint to a Uint8Array. | ||
| } | ||
| exports.bigInt64ToBytes = bigInt64ToBytes; | ||
| // eslint-disable-next-line no-restricted-imports | ||
| var utils_js_2 = require("ethereum-cryptography/utils.js"); | ||
@@ -488,9 +492,37 @@ Object.defineProperty(exports, "bytesToUtf8", { enumerable: true, get: function () { return utils_js_2.bytesToUtf8; } }); | ||
| function hexToBigInt(input) { | ||
| return (0, exports.bytesToBigInt)((0, exports.hexToBytes)((0, internal_js_1.isHexString)(input) ? input : `0x${input}`)); | ||
| return (0, exports.bytesToBigInt)((0, exports.hexToBytes)((0, internal_ts_1.isHexString)(input) ? input : `0x${input}`)); | ||
| } | ||
| exports.hexToBigInt = hexToBigInt; | ||
| /** | ||
| * Converts a Uint8Array of bytes into an array of bits. | ||
| * @param {Uint8Array} bytes - The input byte array. | ||
| * @param {number} bitLength - The number of bits to extract from the input bytes. | ||
| * @returns {number[]} An array of bits (each 0 or 1) corresponding to the input bytes. | ||
| */ | ||
| function bytesToBits(bytes, bitLength) { | ||
| const bits = []; | ||
| for (let i = 0; i < (bitLength ?? bytes.length * 8); i++) { | ||
| const byteIndex = Math.floor(i / 8); | ||
| const bitIndex = 7 - (i % 8); | ||
| bits.push((bytes[byteIndex] >> bitIndex) & 1); | ||
| } | ||
| return bits; | ||
| } | ||
| /** | ||
| * Converts an array of bits into a Uint8Array. | ||
| * The input bits are grouped into sets of 8, with the first bit in each group being the most significant. | ||
| * @param {number[]} bits - The input array of bits (each should be 0 or 1). Its length should be a multiple of 8. | ||
| * @returns {Uint8Array} A Uint8Array constructed from the input bits. | ||
| */ | ||
| function bitsToBytes(bits) { | ||
| const numBytes = Math.ceil(bits.length / 8); // Ensure partial byte storage | ||
| const byteData = new Uint8Array(numBytes); | ||
| for (let i = 0; i < bits.length; i++) { | ||
| const byteIndex = Math.floor(i / 8); | ||
| const bitIndex = 7 - (i % 8); | ||
| byteData[byteIndex] |= bits[i] << bitIndex; | ||
| } | ||
| return byteData; | ||
| } | ||
| /** | ||
| * Compares two byte arrays and returns the count of consecutively matching items from the start. | ||
| * | ||
| * @function | ||
| * @param {Uint8Array} bytes1 - The first Uint8Array to compare. | ||
@@ -514,3 +546,41 @@ * @param {Uint8Array} bytes2 - The second Uint8Array to compare. | ||
| } | ||
| exports.matchingBytesLength = matchingBytesLength; | ||
| /** | ||
| * Compares two arrays of bits (0 or 1) and returns the count of consecutively matching bits from the start. | ||
| * @param {number[]} bits1 - The first array of bits, in bytes or bits. | ||
| * @param {number[]} bits2 - The second array of bits, in bytes or bits. | ||
| * @returns {number} The count of consecutively matching bits from the start. | ||
| */ | ||
| function matchingBitsLength(bits1, bits2) { | ||
| let count = 0; | ||
| const minLength = Math.min(bits1.length, bits2.length); | ||
| for (let i = 0; i < minLength; i++) { | ||
| if (bits1[i] === bits2[i]) { | ||
| count++; | ||
| } | ||
| else { | ||
| return count; | ||
| } | ||
| } | ||
| return count; | ||
| } | ||
| /** | ||
| * Checks whether two arrays of bits are equal. | ||
| * | ||
| * Two arrays are considered equal if they have the same length and each corresponding element is identical. | ||
| * | ||
| * @param {number[]} bits1 - The first bits array. | ||
| * @param {number[]} bits2 - The second bits array. | ||
| * @returns {boolean} True if the arrays are equal; otherwise, false. | ||
| */ | ||
| function equalsBits(bits1, bits2) { | ||
| if (bits1.length !== bits2.length) { | ||
| return false; | ||
| } | ||
| for (let i = 0; i < bits1.length; i++) { | ||
| if (bits1[i] !== bits2[i]) { | ||
| return false; | ||
| } | ||
| } | ||
| return true; | ||
| } | ||
| //# sourceMappingURL=bytes.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/bytes.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/bytes.ts"],"names":[],"mappings":"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"} |
@@ -28,3 +28,3 @@ /** | ||
| */ | ||
| export declare const KECCAK256_NULL: Uint8Array; | ||
| export declare const KECCAK256_NULL: Uint8Array<ArrayBufferLike>; | ||
| /** | ||
@@ -37,3 +37,3 @@ * Keccak-256 of an RLP of an empty array | ||
| */ | ||
| export declare const KECCAK256_RLP_ARRAY: Uint8Array; | ||
| export declare const KECCAK256_RLP_ARRAY: Uint8Array<ArrayBufferLike>; | ||
| /** | ||
@@ -46,7 +46,8 @@ * Keccak-256 hash of the RLP of null | ||
| */ | ||
| export declare const KECCAK256_RLP: Uint8Array; | ||
| export declare const KECCAK256_RLP: Uint8Array<ArrayBufferLike>; | ||
| export declare const SHA256_NULL: Uint8Array<ArrayBufferLike>; | ||
| /** | ||
| * RLP encoded empty string | ||
| */ | ||
| export declare const RLP_EMPTY_STRING: Uint8Array; | ||
| export declare const RLP_EMPTY_STRING: Uint8Array<ArrayBuffer>; | ||
| export declare const MAX_WITHDRAWALS_PER_PAYLOAD = 16; | ||
@@ -53,0 +54,0 @@ export declare const RIPEMD160_ADDRESS_STRING = "0000000000000000000000000000000000000003"; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,UAAU,QAA+B,CAAA;AAEtD;;GAEG;AACH,eAAO,MAAM,WAAW,QAEvB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAE9B,CAAA;AAED,eAAO,MAAM,eAAe,QAAoB,CAAA;AAChD,eAAO,MAAM,qBAAqB,QAAgC,CAAA;AAElE;;GAEG;AACH,eAAO,MAAM,UAAU,QAEtB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,uEAAuE,CAAA;AAEpG;;GAEG;AACH,eAAO,MAAM,cAAc,YAA+B,CAAA;AAE1D;;GAEG;AACH,eAAO,MAAM,qBAAqB,uEACoC,CAAA;AAEtE;;GAEG;AACH,eAAO,MAAM,mBAAmB,YAAoC,CAAA;AAEpE;;GAEG;AACH,eAAO,MAAM,eAAe,uEAAuE,CAAA;AAEnG;;GAEG;AACH,eAAO,MAAM,aAAa,YAA8B,CAAA;AAExD;;GAEG;AACH,eAAO,MAAM,gBAAgB,YAA0B,CAAA;AAEvD,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAE7C,eAAO,MAAM,wBAAwB,6CAA6C,CAAA;AAElF;;GAEG;AAEH,eAAO,MAAM,WAAW,QAAa,CAAA;AAErC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AAEjC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,SAAS,QAAa,CAAA;AAEnC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,UAAU,QAAc,CAAA;AAErC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,aAAa,QAAwC,CAAA;AAClE,eAAO,MAAM,cAAc,QAA4D,CAAA;AACvF,eAAO,MAAM,cAAc,QACmD,CAAA;AAC9E,eAAO,MAAM,cAAc,QAAyB,CAAA"} | ||
| {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,UAAU,QAA+B,CAAA;AAEtD;;GAEG;AACH,eAAO,MAAM,WAAW,QAEvB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAE9B,CAAA;AAED,eAAO,MAAM,eAAe,QAAoB,CAAA;AAChD,eAAO,MAAM,qBAAqB,QAAgC,CAAA;AAElE;;GAEG;AACH,eAAO,MAAM,UAAU,QAEtB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,uEAAuE,CAAA;AAEpG;;GAEG;AACH,eAAO,MAAM,cAAc,6BAA+B,CAAA;AAE1D;;GAEG;AACH,eAAO,MAAM,qBAAqB,uEACoC,CAAA;AAEtE;;GAEG;AACH,eAAO,MAAM,mBAAmB,6BAAoC,CAAA;AAEpE;;GAEG;AACH,eAAO,MAAM,eAAe,uEAAuE,CAAA;AAEnG;;GAEG;AACH,eAAO,MAAM,aAAa,6BAA8B,CAAA;AAExD,eAAO,MAAM,WAAW,6BAA2B,CAAA;AAEnD;;GAEG;AACH,eAAO,MAAM,gBAAgB,yBAA0B,CAAA;AAEvD,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAE7C,eAAO,MAAM,wBAAwB,6CAA6C,CAAA;AAElF;;GAEG;AAEH,eAAO,MAAM,WAAW,QAAa,CAAA;AAErC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AAEjC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,SAAS,QAAa,CAAA;AAEnC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,UAAU,QAAc,CAAA;AAErC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,aAAa,QAAwC,CAAA;AAClE,eAAO,MAAM,cAAc,QAA4D,CAAA;AACvF,eAAO,MAAM,cAAc,QACmD,CAAA;AAC9E,eAAO,MAAM,cAAc,QAAyB,CAAA"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.BIGINT_2EXP256 = exports.BIGINT_2EXP224 = exports.BIGINT_2EXP160 = exports.BIGINT_2EXP96 = exports.BIGINT_224 = exports.BIGINT_160 = exports.BIGINT_100 = exports.BIGINT_96 = exports.BIGINT_256 = exports.BIGINT_255 = exports.BIGINT_128 = exports.BIGINT_64 = exports.BIGINT_32 = exports.BIGINT_31 = exports.BIGINT_28 = exports.BIGINT_27 = exports.BIGINT_8 = exports.BIGINT_7 = exports.BIGINT_3 = exports.BIGINT_2 = exports.BIGINT_1 = exports.BIGINT_0 = exports.BIGINT_NEG1 = exports.RIPEMD160_ADDRESS_STRING = exports.MAX_WITHDRAWALS_PER_PAYLOAD = exports.RLP_EMPTY_STRING = exports.KECCAK256_RLP = exports.KECCAK256_RLP_S = exports.KECCAK256_RLP_ARRAY = exports.KECCAK256_RLP_ARRAY_S = exports.KECCAK256_NULL = exports.KECCAK256_NULL_S = exports.TWO_POW256 = exports.SECP256K1_ORDER_DIV_2 = exports.SECP256K1_ORDER = exports.MAX_INTEGER_BIGINT = exports.MAX_INTEGER = exports.MAX_UINT64 = void 0; | ||
| exports.BIGINT_2EXP256 = exports.BIGINT_2EXP224 = exports.BIGINT_2EXP160 = exports.BIGINT_2EXP96 = exports.BIGINT_224 = exports.BIGINT_160 = exports.BIGINT_100 = exports.BIGINT_96 = exports.BIGINT_256 = exports.BIGINT_255 = exports.BIGINT_128 = exports.BIGINT_64 = exports.BIGINT_32 = exports.BIGINT_31 = exports.BIGINT_28 = exports.BIGINT_27 = exports.BIGINT_8 = exports.BIGINT_7 = exports.BIGINT_3 = exports.BIGINT_2 = exports.BIGINT_1 = exports.BIGINT_0 = exports.BIGINT_NEG1 = exports.RIPEMD160_ADDRESS_STRING = exports.MAX_WITHDRAWALS_PER_PAYLOAD = exports.RLP_EMPTY_STRING = exports.SHA256_NULL = exports.KECCAK256_RLP = exports.KECCAK256_RLP_S = exports.KECCAK256_RLP_ARRAY = exports.KECCAK256_RLP_ARRAY_S = exports.KECCAK256_NULL = exports.KECCAK256_NULL_S = exports.TWO_POW256 = exports.SECP256K1_ORDER_DIV_2 = exports.SECP256K1_ORDER = exports.MAX_INTEGER_BIGINT = exports.MAX_INTEGER = exports.MAX_UINT64 = void 0; | ||
| const secp256k1_js_1 = require("ethereum-cryptography/secp256k1.js"); | ||
| const bytes_js_1 = require("./bytes.js"); | ||
| const sha256_js_1 = require("ethereum-cryptography/sha256.js"); | ||
| const bytes_ts_1 = require("./bytes.js"); | ||
| /** | ||
@@ -33,3 +34,3 @@ * 2^64-1 | ||
| */ | ||
| exports.KECCAK256_NULL = (0, bytes_js_1.hexToBytes)(exports.KECCAK256_NULL_S); | ||
| exports.KECCAK256_NULL = (0, bytes_ts_1.hexToBytes)(exports.KECCAK256_NULL_S); | ||
| /** | ||
@@ -42,3 +43,3 @@ * Keccak-256 of an RLP of an empty array | ||
| */ | ||
| exports.KECCAK256_RLP_ARRAY = (0, bytes_js_1.hexToBytes)(exports.KECCAK256_RLP_ARRAY_S); | ||
| exports.KECCAK256_RLP_ARRAY = (0, bytes_ts_1.hexToBytes)(exports.KECCAK256_RLP_ARRAY_S); | ||
| /** | ||
@@ -51,3 +52,4 @@ * Keccak-256 hash of the RLP of null | ||
| */ | ||
| exports.KECCAK256_RLP = (0, bytes_js_1.hexToBytes)(exports.KECCAK256_RLP_S); | ||
| exports.KECCAK256_RLP = (0, bytes_ts_1.hexToBytes)(exports.KECCAK256_RLP_S); | ||
| exports.SHA256_NULL = (0, sha256_js_1.sha256)(new Uint8Array()); | ||
| /** | ||
@@ -54,0 +56,0 @@ * RLP encoded empty string |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAA,qEAA8D;AAE9D,yCAAuC;AAEvC;;GAEG;AACU,QAAA,UAAU,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;AAEtD;;GAEG;AACU,QAAA,WAAW,GAAG,MAAM,CAC/B,oEAAoE,CACrE,CAAA;AAED;;;;GAIG;AACU,QAAA,kBAAkB,GAAG,MAAM,CACtC,gFAAgF,CACjF,CAAA;AAEY,QAAA,eAAe,GAAG,wBAAS,CAAC,KAAK,CAAC,CAAC,CAAA;AACnC,QAAA,qBAAqB,GAAG,wBAAS,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAElE;;GAEG;AACU,QAAA,UAAU,GAAG,MAAM,CAC9B,qEAAqE,CACtE,CAAA;AAED;;GAEG;AACU,QAAA,gBAAgB,GAAG,oEAAoE,CAAA;AAEpG;;GAEG;AACU,QAAA,cAAc,GAAG,IAAA,qBAAU,EAAC,wBAAgB,CAAC,CAAA;AAE1D;;GAEG;AACU,QAAA,qBAAqB,GAChC,oEAAoE,CAAA;AAEtE;;GAEG;AACU,QAAA,mBAAmB,GAAG,IAAA,qBAAU,EAAC,6BAAqB,CAAC,CAAA;AAEpE;;GAEG;AACU,QAAA,eAAe,GAAG,oEAAoE,CAAA;AAEnG;;GAEG;AACU,QAAA,aAAa,GAAG,IAAA,qBAAU,EAAC,uBAAe,CAAC,CAAA;AAExD;;GAEG;AACU,QAAA,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAE1C,QAAA,2BAA2B,GAAG,EAAE,CAAA;AAEhC,QAAA,wBAAwB,GAAG,0CAA0C,CAAA;AAElF;;GAEG;AAEU,QAAA,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAExB,QAAA,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AACpB,QAAA,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AACpB,QAAA,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AACpB,QAAA,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AACpB,QAAA,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AACpB,QAAA,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAEpB,QAAA,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACtB,QAAA,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACtB,QAAA,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACtB,QAAA,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACtB,QAAA,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AAEtB,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;AACxB,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;AACxB,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;AAExB,QAAA,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACtB,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;AACxB,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;AACxB,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;AACxB,QAAA,aAAa,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAA;AACrD,QAAA,cAAc,GAAG,MAAM,CAAC,iDAAiD,CAAC,CAAA;AAC1E,QAAA,cAAc,GACzB,MAAM,CAAC,oEAAoE,CAAC,CAAA;AACjE,QAAA,cAAc,GAAG,gBAAQ,IAAI,kBAAU,CAAA"} | ||
| {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"} |
+12
-10
@@ -5,12 +5,14 @@ export type DBObject = { | ||
| export type BatchDBOp<TKey extends Uint8Array | string | number = Uint8Array, TValue extends Uint8Array | string | DBObject = Uint8Array> = PutBatch<TKey, TValue> | DelBatch<TKey>; | ||
| export declare enum KeyEncoding { | ||
| String = "string", | ||
| Bytes = "view", | ||
| Number = "number" | ||
| } | ||
| export declare enum ValueEncoding { | ||
| String = "string", | ||
| Bytes = "view", | ||
| JSON = "json" | ||
| } | ||
| export type KeyEncoding = (typeof KeyEncoding)[keyof typeof KeyEncoding]; | ||
| export declare const KeyEncoding: { | ||
| readonly String: "string"; | ||
| readonly Bytes: "view"; | ||
| readonly Number: "number"; | ||
| }; | ||
| export type ValueEncoding = (typeof ValueEncoding)[keyof typeof ValueEncoding]; | ||
| export declare const ValueEncoding: { | ||
| readonly String: "string"; | ||
| readonly Bytes: "view"; | ||
| readonly JSON: "json"; | ||
| }; | ||
| export type EncodingOpts = { | ||
@@ -17,0 +19,0 @@ keyEncoding?: KeyEncoding; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAA;CAC1C,CAAA;AACD,MAAM,MAAM,SAAS,CACnB,IAAI,SAAS,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,EACtD,MAAM,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;AAE3C,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,KAAK,SAAS;IACd,MAAM,WAAW;CAClB;AAED,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,KAAK,SAAS;IACd,IAAI,SAAS;CACd;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B,CAAA;AACD,MAAM,WAAW,QAAQ,CACvB,IAAI,SAAS,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,EACtD,MAAM,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU;IAE1D,IAAI,EAAE,KAAK,CAAA;IACX,GAAG,EAAE,IAAI,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB;AAED,MAAM,WAAW,QAAQ,CAAC,IAAI,SAAS,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU;IAC9E,IAAI,EAAE,KAAK,CAAA;IACX,GAAG,EAAE,IAAI,CAAA;IACT,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB;AAED,MAAM,WAAW,EAAE,CACjB,IAAI,SAAS,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,EACtD,MAAM,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU;IAE1D;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAEhE;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/D;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAElD;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAExD;;;OAGG;IACH,WAAW,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAE/B;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAEtB"} | ||
| {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAA;CAC1C,CAAA;AACD,MAAM,MAAM,SAAS,CACnB,IAAI,SAAS,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,EACtD,MAAM,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;AAE3C,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAA;AAExE,eAAO,MAAM,WAAW;;;;CAId,CAAA;AAEV,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAA;AAE9E,eAAO,MAAM,aAAa;;;;CAIhB,CAAA;AAEV,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B,CAAA;AACD,MAAM,WAAW,QAAQ,CACvB,IAAI,SAAS,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,EACtD,MAAM,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU;IAE1D,IAAI,EAAE,KAAK,CAAA;IACX,GAAG,EAAE,IAAI,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB;AAED,MAAM,WAAW,QAAQ,CAAC,IAAI,SAAS,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU;IAC9E,IAAI,EAAE,KAAK,CAAA;IACX,GAAG,EAAE,IAAI,CAAA;IACT,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB;AAED,MAAM,WAAW,EAAE,CACjB,IAAI,SAAS,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,EACtD,MAAM,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU;IAE1D;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAEhE;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/D;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAElD;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAExD;;;OAGG;IACH,WAAW,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAE/B;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAEtB"} |
+10
-12
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.ValueEncoding = exports.KeyEncoding = void 0; | ||
| var KeyEncoding; | ||
| (function (KeyEncoding) { | ||
| KeyEncoding["String"] = "string"; | ||
| KeyEncoding["Bytes"] = "view"; | ||
| KeyEncoding["Number"] = "number"; | ||
| })(KeyEncoding = exports.KeyEncoding || (exports.KeyEncoding = {})); | ||
| var ValueEncoding; | ||
| (function (ValueEncoding) { | ||
| ValueEncoding["String"] = "string"; | ||
| ValueEncoding["Bytes"] = "view"; | ||
| ValueEncoding["JSON"] = "json"; | ||
| })(ValueEncoding = exports.ValueEncoding || (exports.ValueEncoding = {})); | ||
| exports.KeyEncoding = { | ||
| String: 'string', | ||
| Bytes: 'view', | ||
| Number: 'number', | ||
| }; | ||
| exports.ValueEncoding = { | ||
| String: 'string', | ||
| Bytes: 'view', | ||
| JSON: 'json', | ||
| }; | ||
| //# sourceMappingURL=db.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":";;;AAQA,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,6BAAc,CAAA;IACd,gCAAiB,CAAA;AACnB,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAED,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,+BAAc,CAAA;IACd,8BAAa,CAAA;AACf,CAAC,EAJW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAIxB"} | ||
| {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":";;;AAUa,QAAA,WAAW,GAAG;IACzB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,QAAQ;CACR,CAAA;AAIG,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,MAAM;CACJ,CAAA"} |
@@ -1,2 +0,2 @@ | ||
| import type { PrefixedHexString } from './types.js'; | ||
| import type { PrefixedHexString } from './types.ts'; | ||
| export type StoragePair = [key: PrefixedHexString, value: PrefixedHexString]; | ||
@@ -3,0 +3,0 @@ export type AccountState = [ |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.parseGethGenesisState = void 0; | ||
| const bytes_js_1 = require("./bytes.js"); | ||
| const internal_js_1 = require("./internal.js"); | ||
| exports.parseGethGenesisState = parseGethGenesisState; | ||
| const bytes_ts_1 = require("./bytes.js"); | ||
| const internal_ts_1 = require("./internal.js"); | ||
| /** | ||
@@ -15,7 +15,7 @@ * Parses the geth genesis state into Blockchain {@link GenesisState} | ||
| // create a map with lowercase for easy lookups | ||
| const prefixedAddress = (0, bytes_js_1.addHexPrefix)(address.toLowerCase()); | ||
| balance = (0, internal_js_1.isHexString)(balance) ? balance : (0, bytes_js_1.bigIntToHex)(BigInt(balance)); | ||
| code = code !== undefined ? (0, bytes_js_1.addHexPrefix)(code) : undefined; | ||
| const prefixedAddress = (0, bytes_ts_1.addHexPrefix)(address.toLowerCase()); | ||
| balance = (0, internal_ts_1.isHexString)(balance) ? balance : (0, bytes_ts_1.bigIntToHex)(BigInt(balance)); | ||
| code = code !== undefined ? (0, bytes_ts_1.addHexPrefix)(code) : undefined; | ||
| storage = storage !== undefined ? Object.entries(storage) : undefined; | ||
| nonce = nonce !== undefined ? (0, bytes_js_1.addHexPrefix)(nonce) : undefined; | ||
| nonce = nonce !== undefined ? (0, bytes_ts_1.addHexPrefix)(nonce) : undefined; | ||
| state[prefixedAddress] = [balance, code, storage, nonce]; | ||
@@ -25,3 +25,2 @@ } | ||
| } | ||
| exports.parseGethGenesisState = parseGethGenesisState; | ||
| //# sourceMappingURL=genesis.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"genesis.js","sourceRoot":"","sources":["../../src/genesis.ts"],"names":[],"mappings":";;;AAAA,yCAAsD;AACtD,+CAA2C;AAyC3C;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,IAAS;IAC7C,MAAM,KAAK,GAAiB,EAAE,CAAA;IAC9B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC7C,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC3D,+CAA+C;QAC/C,MAAM,eAAe,GAAG,IAAA,uBAAY,EAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;QAC3D,OAAO,GAAG,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;QACvE,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,uBAAY,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC1D,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACrE,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,uBAAY,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC7D,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;KACzD;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAbD,sDAaC"} | ||
| {"version":3,"file":"genesis.js","sourceRoot":"","sources":["../../src/genesis.ts"],"names":[],"mappings":";;AA8CA,sDAaC;AA3DD,yCAAsD;AACtD,+CAA2C;AAyC3C;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,IAAS;IAC7C,MAAM,KAAK,GAAiB,EAAE,CAAA;IAC9B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC3D,+CAA+C;QAC/C,MAAM,eAAe,GAAG,IAAA,uBAAY,EAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;QAC3D,OAAO,GAAG,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;QACvE,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,uBAAY,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC1D,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACrE,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,uBAAY,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC7D,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,iBAAiB,UAAoB,MAAM,KAAG,IAK1D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,UAAoB,UAAU,KAAG,IAK1D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,UAAoB,MAAM,EAAE,KAAG,IAKxD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,UAAoB,MAAM,KAAG,IAKvD,CAAA"} | ||
| {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAa,OAAO,MAAM,KAAG,IAK1D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAa,OAAO,UAAU,KAAG,IAK1D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAa,OAAO,MAAM,EAAE,KAAG,IAKxD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAa,OAAO,MAAM,KAAG,IAKvD,CAAA"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.assertIsString = exports.assertIsArray = exports.assertIsBytes = exports.assertIsHexString = void 0; | ||
| const internal_js_1 = require("./internal.js"); | ||
| const errors_ts_1 = require("./errors.js"); | ||
| const internal_ts_1 = require("./internal.js"); | ||
| /** | ||
@@ -10,5 +11,5 @@ * Throws if a string is not hex prefixed | ||
| const assertIsHexString = function (input) { | ||
| if (!(0, internal_js_1.isHexString)(input)) { | ||
| if (!(0, internal_ts_1.isHexString)(input)) { | ||
| const msg = `This method only supports 0x-prefixed hex strings but input was: ${input}`; | ||
| throw new Error(msg); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(msg); | ||
| } | ||
@@ -24,3 +25,3 @@ }; | ||
| const msg = `This method only supports Uint8Array but input was: ${input}`; | ||
| throw new Error(msg); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(msg); | ||
| } | ||
@@ -36,3 +37,3 @@ }; | ||
| const msg = `This method only supports number arrays but input was: ${input}`; | ||
| throw new Error(msg); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(msg); | ||
| } | ||
@@ -48,3 +49,3 @@ }; | ||
| const msg = `This method only supports strings but input was: ${input}`; | ||
| throw new Error(msg); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(msg); | ||
| } | ||
@@ -51,0 +52,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAE3C;;;GAGG;AACI,MAAM,iBAAiB,GAAG,UAAU,KAAa;IACtD,IAAI,CAAC,IAAA,yBAAW,EAAC,KAAK,CAAC,EAAE;QACvB,MAAM,GAAG,GAAG,oEAAoE,KAAK,EAAE,CAAA;QACvF,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;KACrB;AACH,CAAC,CAAA;AALY,QAAA,iBAAiB,qBAK7B;AAED;;;GAGG;AACI,MAAM,aAAa,GAAG,UAAU,KAAiB;IACtD,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE;QAClC,MAAM,GAAG,GAAG,uDAAuD,KAAK,EAAE,CAAA;QAC1E,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;KACrB;AACH,CAAC,CAAA;AALY,QAAA,aAAa,iBAKzB;AAED;;;GAGG;AACI,MAAM,aAAa,GAAG,UAAU,KAAe;IACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACzB,MAAM,GAAG,GAAG,0DAA0D,KAAK,EAAE,CAAA;QAC7E,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;KACrB;AACH,CAAC,CAAA;AALY,QAAA,aAAa,iBAKzB;AAED;;;GAGG;AACI,MAAM,cAAc,GAAG,UAAU,KAAa;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,GAAG,GAAG,oDAAoD,KAAK,EAAE,CAAA;QACvE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;KACrB;AACH,CAAC,CAAA;AALY,QAAA,cAAc,kBAK1B"} | ||
| {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;;AAAA,2CAAwD;AACxD,+CAA2C;AAE3C;;;GAGG;AACI,MAAM,iBAAiB,GAAG,UAAU,KAAa;IACtD,IAAI,CAAC,IAAA,yBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,oEAAoE,KAAK,EAAE,CAAA;QACvF,MAAM,IAAA,sCAA0B,EAAC,GAAG,CAAC,CAAA;IACvC,CAAC;AACH,CAAC,CAAA;AALY,QAAA,iBAAiB,qBAK7B;AAED;;;GAGG;AACI,MAAM,aAAa,GAAG,UAAU,KAAiB;IACtD,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,uDAAuD,KAAK,EAAE,CAAA;QAC1E,MAAM,IAAA,sCAA0B,EAAC,GAAG,CAAC,CAAA;IACvC,CAAC;AACH,CAAC,CAAA;AALY,QAAA,aAAa,iBAKzB;AAED;;;GAGG;AACI,MAAM,aAAa,GAAG,UAAU,KAAe;IACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,0DAA0D,KAAK,EAAE,CAAA;QAC7E,MAAM,IAAA,sCAA0B,EAAC,GAAG,CAAC,CAAA;IACvC,CAAC;AACH,CAAC,CAAA;AALY,QAAA,aAAa,iBAKzB;AAED;;;GAGG;AACI,MAAM,cAAc,GAAG,UAAU,KAAa;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,oDAAoD,KAAK,EAAE,CAAA;QACvE,MAAM,IAAA,sCAA0B,EAAC,GAAG,CAAC,CAAA;IACvC,CAAC;AACH,CAAC,CAAA;AALY,QAAA,cAAc,kBAK1B"} |
+24
-20
| /** | ||
| * Constants | ||
| */ | ||
| export * from './constants.js'; | ||
| export * from './constants.ts'; | ||
| /** | ||
| * Errors | ||
| */ | ||
| export * from './errors.ts'; | ||
| /** | ||
| * Units helpers | ||
| */ | ||
| export * from './units.js'; | ||
| export * from './units.ts'; | ||
| /** | ||
| * Account class and helper functions | ||
| */ | ||
| export * from './account.js'; | ||
| export * from './account.ts'; | ||
| /** | ||
| * Address type | ||
| */ | ||
| export * from './address.js'; | ||
| export * from './address.ts'; | ||
| /** | ||
| * DB type | ||
| */ | ||
| export * from './db.js'; | ||
| export * from './db.ts'; | ||
| /** | ||
| * Withdrawal type | ||
| */ | ||
| export * from './withdrawal.js'; | ||
| export * from './withdrawal.ts'; | ||
| /** | ||
| * ECDSA signature | ||
| */ | ||
| export * from './signature.js'; | ||
| export * from './signature.ts'; | ||
| /** | ||
| * Utilities for manipulating bytes, Uint8Arrays, etc. | ||
| */ | ||
| export * from './bytes.js'; | ||
| export * from './bytes.ts'; | ||
| /** | ||
| * Helpful TypeScript types | ||
| */ | ||
| export * from './types.js'; | ||
| export * from './types.ts'; | ||
| /** | ||
| * Export ethjs-util methods | ||
| */ | ||
| export * from './asyncEventEmitter.js'; | ||
| export * from './blobs.js'; | ||
| export * from './genesis.js'; | ||
| export { arrayContainsArray, fromAscii, fromUtf8, getBinarySize, getKeys, isHexString, padToEven, stripHexPrefix, toAscii, } from './internal.js'; | ||
| export * from './kzg.js'; | ||
| export * from './lock.js'; | ||
| export * from './mapDB.js'; | ||
| export * from './provider.js'; | ||
| export * from './request.js'; | ||
| export * from './tasks.js'; | ||
| export * from './verkle.js'; | ||
| export * from './binaryTree.ts'; | ||
| export * from './blobs.ts'; | ||
| export * from './genesis.ts'; | ||
| export { arrayContainsArray, fromAscii, fromUtf8, getBinarySize, getKeys, isHexString, padToEven, stripHexPrefix, toAscii, } from './internal.ts'; | ||
| export * from './kzg.ts'; | ||
| export * from './lock.ts'; | ||
| export * from './mapDB.ts'; | ||
| export * from './provider.ts'; | ||
| export * from './request.ts'; | ||
| export * from './tasks.ts'; | ||
| export * from './verkle.ts'; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,gBAAgB,CAAA;AAE9B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,cAAc,CAAA;AAE5B;;GAEG;AACH,cAAc,cAAc,CAAA;AAE5B;;GAEG;AACH,cAAc,SAAS,CAAA;AAEvB;;GAEG;AACH,cAAc,iBAAiB,CAAA;AAE/B;;GAEG;AACH,cAAc,gBAAgB,CAAA;AAE9B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,OAAO,EACP,WAAW,EACX,SAAS,EACT,cAAc,EACd,OAAO,GACR,MAAM,eAAe,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,gBAAgB,CAAA;AAE9B;;GAEG;AACH,cAAc,aAAa,CAAA;AAE3B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,cAAc,CAAA;AAE5B;;GAEG;AACH,cAAc,cAAc,CAAA;AAE5B;;GAEG;AACH,cAAc,SAAS,CAAA;AAEvB;;GAEG;AACH,cAAc,iBAAiB,CAAA;AAE/B;;GAEG;AACH,cAAc,gBAAgB,CAAA;AAE9B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,OAAO,EACP,WAAW,EACX,SAAS,EACT,cAAc,EACd,OAAO,GACR,MAAM,eAAe,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA"} |
+15
-11
@@ -23,2 +23,6 @@ "use strict"; | ||
| /** | ||
| * Errors | ||
| */ | ||
| __exportStar(require("./errors.js"), exports); | ||
| /** | ||
| * Units helpers | ||
@@ -58,15 +62,15 @@ */ | ||
| */ | ||
| __exportStar(require("./asyncEventEmitter.js"), exports); | ||
| __exportStar(require("./binaryTree.js"), exports); | ||
| __exportStar(require("./blobs.js"), exports); | ||
| __exportStar(require("./genesis.js"), exports); | ||
| var internal_js_1 = require("./internal.js"); | ||
| Object.defineProperty(exports, "arrayContainsArray", { enumerable: true, get: function () { return internal_js_1.arrayContainsArray; } }); | ||
| Object.defineProperty(exports, "fromAscii", { enumerable: true, get: function () { return internal_js_1.fromAscii; } }); | ||
| Object.defineProperty(exports, "fromUtf8", { enumerable: true, get: function () { return internal_js_1.fromUtf8; } }); | ||
| Object.defineProperty(exports, "getBinarySize", { enumerable: true, get: function () { return internal_js_1.getBinarySize; } }); | ||
| Object.defineProperty(exports, "getKeys", { enumerable: true, get: function () { return internal_js_1.getKeys; } }); | ||
| Object.defineProperty(exports, "isHexString", { enumerable: true, get: function () { return internal_js_1.isHexString; } }); | ||
| Object.defineProperty(exports, "padToEven", { enumerable: true, get: function () { return internal_js_1.padToEven; } }); | ||
| Object.defineProperty(exports, "stripHexPrefix", { enumerable: true, get: function () { return internal_js_1.stripHexPrefix; } }); | ||
| Object.defineProperty(exports, "toAscii", { enumerable: true, get: function () { return internal_js_1.toAscii; } }); | ||
| var internal_ts_1 = require("./internal.js"); | ||
| Object.defineProperty(exports, "arrayContainsArray", { enumerable: true, get: function () { return internal_ts_1.arrayContainsArray; } }); | ||
| Object.defineProperty(exports, "fromAscii", { enumerable: true, get: function () { return internal_ts_1.fromAscii; } }); | ||
| Object.defineProperty(exports, "fromUtf8", { enumerable: true, get: function () { return internal_ts_1.fromUtf8; } }); | ||
| Object.defineProperty(exports, "getBinarySize", { enumerable: true, get: function () { return internal_ts_1.getBinarySize; } }); | ||
| Object.defineProperty(exports, "getKeys", { enumerable: true, get: function () { return internal_ts_1.getKeys; } }); | ||
| Object.defineProperty(exports, "isHexString", { enumerable: true, get: function () { return internal_ts_1.isHexString; } }); | ||
| Object.defineProperty(exports, "padToEven", { enumerable: true, get: function () { return internal_ts_1.padToEven; } }); | ||
| Object.defineProperty(exports, "stripHexPrefix", { enumerable: true, get: function () { return internal_ts_1.stripHexPrefix; } }); | ||
| Object.defineProperty(exports, "toAscii", { enumerable: true, get: function () { return internal_ts_1.toAscii; } }); | ||
| __exportStar(require("./kzg.js"), exports); | ||
@@ -73,0 +77,0 @@ __exportStar(require("./lock.js"), exports); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,iDAA8B;AAE9B;;GAEG;AACH,6CAA0B;AAE1B;;GAEG;AACH,+CAA4B;AAE5B;;GAEG;AACH,+CAA4B;AAE5B;;GAEG;AACH,0CAAuB;AAEvB;;GAEG;AACH,kDAA+B;AAE/B;;GAEG;AACH,iDAA8B;AAE9B;;GAEG;AACH,6CAA0B;AAE1B;;GAEG;AACH,6CAA0B;AAE1B;;GAEG;AACH,yDAAsC;AACtC,6CAA0B;AAC1B,+CAA4B;AAC5B,6CAUsB;AATpB,iHAAA,kBAAkB,OAAA;AAClB,wGAAA,SAAS,OAAA;AACT,uGAAA,QAAQ,OAAA;AACR,4GAAA,aAAa,OAAA;AACb,sGAAA,OAAO,OAAA;AACP,0GAAA,WAAW,OAAA;AACX,wGAAA,SAAS,OAAA;AACT,6GAAA,cAAc,OAAA;AACd,sGAAA,OAAO,OAAA;AAET,2CAAwB;AACxB,4CAAyB;AACzB,6CAA0B;AAC1B,gDAA6B;AAC7B,+CAA4B;AAC5B,6CAA0B;AAC1B,8CAA2B"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,iDAA8B;AAE9B;;GAEG;AACH,8CAA2B;AAE3B;;GAEG;AACH,6CAA0B;AAE1B;;GAEG;AACH,+CAA4B;AAE5B;;GAEG;AACH,+CAA4B;AAE5B;;GAEG;AACH,0CAAuB;AAEvB;;GAEG;AACH,kDAA+B;AAE/B;;GAEG;AACH,iDAA8B;AAE9B;;GAEG;AACH,6CAA0B;AAE1B;;GAEG;AACH,6CAA0B;AAE1B;;GAEG;AACH,kDAA+B;AAC/B,6CAA0B;AAC1B,+CAA4B;AAC5B,6CAUsB;AATpB,iHAAA,kBAAkB,OAAA;AAClB,wGAAA,SAAS,OAAA;AACT,uGAAA,QAAQ,OAAA;AACR,4GAAA,aAAa,OAAA;AACb,sGAAA,OAAO,OAAA;AACP,0GAAA,WAAW,OAAA;AACX,wGAAA,SAAS,OAAA;AACT,6GAAA,cAAc,OAAA;AACd,sGAAA,OAAO,OAAA;AAET,2CAAwB;AACxB,4CAAyB;AACzB,6CAA0B;AAC1B,gDAA6B;AAC7B,+CAA4B;AAC5B,6CAA0B;AAC1B,8CAA2B"} |
@@ -1,2 +0,2 @@ | ||
| import type { PrefixedHexString } from './types.js'; | ||
| import type { PrefixedHexString } from './types.ts'; | ||
| /** | ||
@@ -3,0 +3,0 @@ * Returns a boolean on whether or not the the input starts with '0x' and matches the optional length |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,IAAI,iBAAiB,CAMtF;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,MAK5C,CAAA;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAU/C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,UAMxC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,OAAO,EAAE,EACjB,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAaT;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAa3C;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,UAI3C;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,UAS5C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,YAuB1F"} | ||
| {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,IAAI,iBAAiB,CAMtF;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAO5C,CAAA;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAY/C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,UAQxC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,OAAO,EAAE,EACjB,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAaT;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAa3C;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,UAI3C;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,UAS5C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,YA2B1F"} |
+22
-21
@@ -26,4 +26,13 @@ "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.getKeys = exports.fromAscii = exports.fromUtf8 = exports.toAscii = exports.arrayContainsArray = exports.getBinarySize = exports.padToEven = exports.stripHexPrefix = exports.isHexString = void 0; | ||
| const bytes_js_1 = require("./bytes.js"); | ||
| exports.stripHexPrefix = void 0; | ||
| exports.isHexString = isHexString; | ||
| exports.padToEven = padToEven; | ||
| exports.getBinarySize = getBinarySize; | ||
| exports.arrayContainsArray = arrayContainsArray; | ||
| exports.toAscii = toAscii; | ||
| exports.fromUtf8 = fromUtf8; | ||
| exports.fromAscii = fromAscii; | ||
| exports.getKeys = getKeys; | ||
| const bytes_ts_1 = require("./bytes.js"); | ||
| const errors_ts_1 = require("./errors.js"); | ||
| /** | ||
@@ -42,3 +51,2 @@ * Returns a boolean on whether or not the the input starts with '0x' and matches the optional length | ||
| } | ||
| exports.isHexString = isHexString; | ||
| /** | ||
@@ -51,3 +59,3 @@ * Removes '0x' from a given `String` if present | ||
| if (typeof str !== 'string') | ||
| throw new Error(`[stripHexPrefix] input must be type 'string', received ${typeof str}`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`[stripHexPrefix] input must be type 'string', received ${typeof str}`); | ||
| return isHexString(str) ? str.slice(2) : str; | ||
@@ -64,3 +72,3 @@ }; | ||
| if (typeof a !== 'string') { | ||
| throw new Error(`[padToEven] value must be type 'string', received ${typeof a}`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`[padToEven] value must be type 'string', received ${typeof a}`); | ||
| } | ||
@@ -71,3 +79,2 @@ if (a.length % 2) | ||
| } | ||
| exports.padToEven = padToEven; | ||
| /** | ||
@@ -80,7 +87,6 @@ * Get the binary size of a string | ||
| if (typeof str !== 'string') { | ||
| throw new Error(`[getBinarySize] method requires input type 'string', received ${typeof str}`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`[getBinarySize] method requires input type 'string', received ${typeof str}`); | ||
| } | ||
| return (0, bytes_js_1.utf8ToBytes)(str).byteLength; | ||
| return (0, bytes_ts_1.utf8ToBytes)(str).byteLength; | ||
| } | ||
| exports.getBinarySize = getBinarySize; | ||
| /** | ||
@@ -96,10 +102,9 @@ * Returns TRUE if the first specified array contains all elements | ||
| if (Array.isArray(superset) !== true) { | ||
| throw new Error(`[arrayContainsArray] method requires input 'superset' to be an array, got type '${typeof superset}'`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`[arrayContainsArray] method requires input 'superset' to be an array, got type '${typeof superset}'`); | ||
| } | ||
| if (Array.isArray(subset) !== true) { | ||
| throw new Error(`[arrayContainsArray] method requires input 'subset' to be an array, got type '${typeof subset}'`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`[arrayContainsArray] method requires input 'subset' to be an array, got type '${typeof subset}'`); | ||
| } | ||
| return subset[some === true ? 'some' : 'every']((value) => superset.indexOf(value) >= 0); | ||
| } | ||
| exports.arrayContainsArray = arrayContainsArray; | ||
| /** | ||
@@ -123,3 +128,2 @@ * Should be called to get ascii from its hex representation | ||
| } | ||
| exports.toAscii = toAscii; | ||
| /** | ||
@@ -134,6 +138,5 @@ * Should be called to get hex representation (prefixed by 0x) of utf8 string. | ||
| function fromUtf8(stringValue) { | ||
| const str = (0, bytes_js_1.utf8ToBytes)(stringValue); | ||
| return `0x${padToEven((0, bytes_js_1.bytesToUnprefixedHex)(str)).replace(/^0+|0+$/g, '')}`; | ||
| const str = (0, bytes_ts_1.utf8ToBytes)(stringValue); | ||
| return `0x${padToEven((0, bytes_ts_1.bytesToUnprefixedHex)(str)).replace(/^0+|0+$/g, '')}`; | ||
| } | ||
| exports.fromUtf8 = fromUtf8; | ||
| /** | ||
@@ -155,3 +158,2 @@ * Should be called to get hex representation (prefixed by 0x) of ascii string | ||
| } | ||
| exports.fromAscii = fromAscii; | ||
| /** | ||
@@ -170,6 +172,6 @@ * Returns the keys from an array of objects. | ||
| if (!Array.isArray(params)) { | ||
| throw new Error(`[getKeys] method expects input 'params' to be an array, got ${typeof params}`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`[getKeys] method expects input 'params' to be an array, got ${typeof params}`); | ||
| } | ||
| if (typeof key !== 'string') { | ||
| throw new Error(`[getKeys] method expects input 'key' to be type 'string', got ${typeof params}`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`[getKeys] method expects input 'key' to be type 'string', got ${typeof params}`); | ||
| } | ||
@@ -183,3 +185,3 @@ const result = []; | ||
| else if (typeof value !== 'string') { | ||
| throw new Error(`invalid abi - expected type 'string', received ${typeof value}`); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`invalid abi - expected type 'string', received ${typeof value}`); | ||
| } | ||
@@ -190,3 +192,2 @@ result.push(value); | ||
| } | ||
| exports.getKeys = getKeys; | ||
| //# sourceMappingURL=internal.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/lock.ts"],"names":[],"mappings":";;;AAAA,8FAA8F;AAC9F,MAAa,IAAI;IAAjB;QACU,YAAO,GAAW,CAAC,CAAA;QACnB,yBAAoB,GAAgC,EAAE,CAAA;IAsChE,CAAC;IApCC;;;OAGG;IACI,KAAK,CAAC,OAAO;QAClB,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;YACjB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;SAC7B;QAED,6FAA6F;QAC7F,sDAAsD;QACtD,OAAO,IAAI,OAAO,CAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACrF,CAAC;IAED;;;OAGG;IACI,OAAO;QACZ,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;QAEjB,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5D,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;SAChF;aAAM,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;YACrE,qFAAqF;YACrF,yEAAyE;YACzE,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;YAEjB,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAA;YACtD,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,IAAI,CAAC,CAAA;aACnB;SACF;IACH,CAAC;CACF;AAxCD,oBAwCC"} | ||
| {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/lock.ts"],"names":[],"mappings":";;;AAAA,8FAA8F;AAC9F,MAAa,IAAI;IAAjB;QACU,YAAO,GAAW,CAAC,CAAA;QACnB,yBAAoB,GAAgC,EAAE,CAAA;IAsChE,CAAC;IApCC;;;OAGG;IACI,KAAK,CAAC,OAAO;QAClB,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;YACjB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC;QAED,6FAA6F;QAC7F,sDAAsD;QACtD,OAAO,IAAI,OAAO,CAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACrF,CAAC;IAED;;;OAGG;IACI,OAAO;QACZ,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;QAEjB,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;QACjF,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,qFAAqF;YACrF,yEAAyE;YACzE,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;YAEjB,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAA;YACtD,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,IAAI,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAxCD,oBAwCC"} |
@@ -1,2 +0,2 @@ | ||
| import type { BatchDBOp, DB, DBObject } from './db.js'; | ||
| import type { BatchDBOp, DB, DBObject } from './db.ts'; | ||
| export declare class MapDB<TKey extends Uint8Array | string | number, TValue extends Uint8Array | string | DBObject> implements DB<TKey, TValue> { | ||
@@ -3,0 +3,0 @@ _database: Map<TKey, TValue>; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.MapDB = void 0; | ||
| const bytes_js_1 = require("./bytes.js"); | ||
| const bytes_ts_1 = require("./bytes.js"); | ||
| class MapDB { | ||
@@ -10,11 +10,11 @@ constructor(database) { | ||
| async get(key) { | ||
| const dbKey = key instanceof Uint8Array ? (0, bytes_js_1.bytesToUnprefixedHex)(key) : key.toString(); | ||
| const dbKey = key instanceof Uint8Array ? (0, bytes_ts_1.bytesToUnprefixedHex)(key) : key.toString(); | ||
| return this._database.get(dbKey); | ||
| } | ||
| async put(key, val) { | ||
| const dbKey = key instanceof Uint8Array ? (0, bytes_js_1.bytesToUnprefixedHex)(key) : key.toString(); | ||
| const dbKey = key instanceof Uint8Array ? (0, bytes_ts_1.bytesToUnprefixedHex)(key) : key.toString(); | ||
| this._database.set(dbKey, val); | ||
| } | ||
| async del(key) { | ||
| const dbKey = key instanceof Uint8Array ? (0, bytes_js_1.bytesToUnprefixedHex)(key) : key.toString(); | ||
| const dbKey = key instanceof Uint8Array ? (0, bytes_ts_1.bytesToUnprefixedHex)(key) : key.toString(); | ||
| this._database.delete(dbKey); | ||
@@ -21,0 +21,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"mapDB.js","sourceRoot":"","sources":["../../src/mapDB.ts"],"names":[],"mappings":";;;AAAA,yCAAiD;AAIjD,MAAa,KAAK;IAOhB,YAAY,QAA4B;QACtC,IAAI,CAAC,SAAS,GAAG,QAAQ,IAAI,IAAI,GAAG,EAAgB,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAS;QACjB,MAAM,KAAK,GAAG,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,IAAA,+BAAoB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QACpF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAa,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAS,EAAE,GAAW;QAC9B,MAAM,KAAK,GAAG,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,IAAA,+BAAoB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QACpF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAa,EAAE,GAAG,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAS;QACjB,MAAM,KAAK,GAAG,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,IAAA,+BAAoB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QACpF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAa,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAkC;QAC5C,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE;YACxB,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE;gBACrB,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;aACvB;YAED,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE;gBACrB,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;aACjC;SACF;IACH,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,OAAO,IAAI,KAAK,CAAe,IAAI,CAAC,SAAS,CAAC,CAAA;IAChD,CAAC;IAED,IAAI;QACF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF;AAlDD,sBAkDC"} | ||
| {"version":3,"file":"mapDB.js","sourceRoot":"","sources":["../../src/mapDB.ts"],"names":[],"mappings":";;;AAAA,yCAAiD;AAIjD,MAAa,KAAK;IAOhB,YAAY,QAA4B;QACtC,IAAI,CAAC,SAAS,GAAG,QAAQ,IAAI,IAAI,GAAG,EAAgB,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAS;QACjB,MAAM,KAAK,GAAG,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,IAAA,+BAAoB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QACpF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAa,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAS,EAAE,GAAW;QAC9B,MAAM,KAAK,GAAG,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,IAAA,+BAAoB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QACpF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAa,EAAE,GAAG,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAS;QACjB,MAAM,KAAK,GAAG,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,IAAA,+BAAoB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QACpF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAa,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAkC;QAC5C,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACzB,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;YAED,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,OAAO,IAAI,KAAK,CAAe,IAAI,CAAC,SAAS,CAAC,CAAA;IAChD,CAAC;IAED,IAAI;QACF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF;AAlDD,sBAkDC"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,MAAM,CAAC,EAAE,CAAA;CACjD,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,QAAe,MAAM,UAAU,SAAS,iBAiCrE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,aAAc,MAAM,GAAG,cAAc,WAQ5D,CAAA;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM;QACpB,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;CACF"} | ||
| {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAEA,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,MAAM,CAAC,EAAE,CAAA;CACjD,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,GAAU,KAAK,MAAM,EAAE,QAAQ,SAAS,iBAiCrE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,GAAG,cAAc,WAQ5D,CAAA;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM;QACpB,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;CACF"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.getProvider = exports.fetchFromProvider = void 0; | ||
| const errors_ts_1 = require("./errors.js"); | ||
| /** | ||
@@ -37,3 +38,3 @@ * Makes a simple RPC call to a remote Ethereum JSON-RPC provider and passes through the response. | ||
| if (!res.ok) { | ||
| throw new Error(`JSONRPCError: ${JSON.stringify({ | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`JSONRPCError: ${JSON.stringify({ | ||
| method: params.method, | ||
@@ -64,3 +65,3 @@ status: res.status, | ||
| else { | ||
| throw new Error('Must provide valid provider URL or Web3Provider'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Must provide valid provider URL or Web3Provider'); | ||
| } | ||
@@ -67,0 +68,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":";;;AAKA;;;;;;;;;;;;;;;;;GAiBG;AACI,MAAM,iBAAiB,GAAG,KAAK,EAAE,GAAW,EAAE,MAAiB,EAAE,EAAE;IACxE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,KAAK;QACd,EAAE,EAAE,CAAC;KACN,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;QACX,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,CAAC,SAAS,CAC7B;YACE,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBACnC,OAAO,iEAAiE,CAAA;YAC1E,CAAC,CAAC;SACH,EACD,IAAI,EACJ,CAAC,CACF,EAAE,CACJ,CAAA;KACF;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAC7B,uCAAuC;IACvC,OAAO,IAAI,CAAC,MAAM,CAAA;AACpB,CAAC,CAAA;AAjCY,QAAA,iBAAiB,qBAiC7B;AAED;;;;GAIG;AACI,MAAM,WAAW,GAAG,CAAC,QAAiC,EAAE,EAAE;IAC/D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,OAAO,QAAQ,CAAA;KAChB;SAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE;QAChF,OAAO,QAAQ,CAAC,cAAc,EAAE,CAAC,GAAG,CAAA;KACrC;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;KACnE;AACH,CAAC,CAAA;AARY,QAAA,WAAW,eAQvB"} | ||
| {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":";;;AAAA,2CAAwD;AAOxD;;;;;;;;;;;;;;;;;GAiBG;AACI,MAAM,iBAAiB,GAAG,KAAK,EAAE,GAAW,EAAE,MAAiB,EAAE,EAAE;IACxE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,KAAK;QACd,EAAE,EAAE,CAAC;KACN,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAA,sCAA0B,EAC9B,iBAAiB,IAAI,CAAC,SAAS,CAC7B;YACE,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBACnC,OAAO,iEAAiE,CAAA;YAC1E,CAAC,CAAC;SACH,EACD,IAAI,EACJ,CAAC,CACF,EAAE,CACJ,CAAA;IACH,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAC7B,uCAAuC;IACvC,OAAO,IAAI,CAAC,MAAM,CAAA;AACpB,CAAC,CAAA;AAjCY,QAAA,iBAAiB,qBAiC7B;AAED;;;;GAIG;AACI,MAAM,WAAW,GAAG,CAAC,QAAiC,EAAE,EAAE;IAC/D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAA;IACjB,CAAC;SAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACjF,OAAO,QAAQ,CAAC,cAAc,EAAE,CAAC,GAAG,CAAA;IACtC,CAAC;SAAM,CAAC;QACN,MAAM,IAAA,sCAA0B,EAAC,iDAAiD,CAAC,CAAA;IACrF,CAAC;AACH,CAAC,CAAA;AARY,QAAA,WAAW,eAQvB"} |
+14
-96
@@ -1,102 +0,20 @@ | ||
| import type { PrefixedHexString } from './types.js'; | ||
| import type { PrefixedHexString } from './types.ts'; | ||
| export type RequestBytes = Uint8Array; | ||
| export declare enum CLRequestType { | ||
| Deposit = 0, | ||
| Withdrawal = 1, | ||
| Consolidation = 2 | ||
| } | ||
| export type DepositRequestV1 = { | ||
| pubkey: PrefixedHexString; | ||
| withdrawalCredentials: PrefixedHexString; | ||
| amount: PrefixedHexString; | ||
| signature: PrefixedHexString; | ||
| index: PrefixedHexString; | ||
| export type CLRequestType = (typeof CLRequestType)[keyof typeof CLRequestType]; | ||
| export declare const CLRequestType: { | ||
| readonly Deposit: 0; | ||
| readonly Withdrawal: 1; | ||
| readonly Consolidation: 2; | ||
| }; | ||
| export type WithdrawalRequestV1 = { | ||
| sourceAddress: PrefixedHexString; | ||
| validatorPubkey: PrefixedHexString; | ||
| amount: PrefixedHexString; | ||
| }; | ||
| export type ConsolidationRequestV1 = { | ||
| sourceAddress: PrefixedHexString; | ||
| sourcePubkey: PrefixedHexString; | ||
| targetPubkey: PrefixedHexString; | ||
| }; | ||
| export interface RequestJSON { | ||
| [CLRequestType.Deposit]: DepositRequestV1; | ||
| [CLRequestType.Withdrawal]: WithdrawalRequestV1; | ||
| [CLRequestType.Consolidation]: ConsolidationRequestV1; | ||
| type: PrefixedHexString; | ||
| data: PrefixedHexString; | ||
| } | ||
| export type DepositRequestData = { | ||
| pubkey: Uint8Array; | ||
| withdrawalCredentials: Uint8Array; | ||
| amount: bigint; | ||
| signature: Uint8Array; | ||
| index: bigint; | ||
| }; | ||
| export type WithdrawalRequestData = { | ||
| sourceAddress: Uint8Array; | ||
| validatorPubkey: Uint8Array; | ||
| amount: bigint; | ||
| }; | ||
| export type ConsolidationRequestData = { | ||
| sourceAddress: Uint8Array; | ||
| sourcePubkey: Uint8Array; | ||
| targetPubkey: Uint8Array; | ||
| }; | ||
| export interface RequestData { | ||
| [CLRequestType.Deposit]: DepositRequestData; | ||
| [CLRequestType.Withdrawal]: WithdrawalRequestData; | ||
| [CLRequestType.Consolidation]: ConsolidationRequestData; | ||
| export declare class CLRequest<T extends CLRequestType> { | ||
| readonly bytes: Uint8Array; | ||
| get type(): T; | ||
| get data(): Uint8Array<ArrayBufferLike>; | ||
| constructor(requestType: T, requestData: Uint8Array); | ||
| } | ||
| export type TypedRequestData = RequestData[CLRequestType]; | ||
| export interface CLRequestInterface<T extends CLRequestType = CLRequestType> { | ||
| readonly type: T; | ||
| serialize(): Uint8Array; | ||
| toJSON(): RequestJSON[T]; | ||
| } | ||
| export declare abstract class CLRequest<T extends CLRequestType> implements CLRequestInterface<T> { | ||
| readonly type: T; | ||
| abstract serialize(): Uint8Array; | ||
| abstract toJSON(): RequestJSON[T]; | ||
| constructor(type: T); | ||
| } | ||
| export declare class DepositRequest extends CLRequest<CLRequestType.Deposit> { | ||
| readonly pubkey: Uint8Array; | ||
| readonly withdrawalCredentials: Uint8Array; | ||
| readonly amount: bigint; | ||
| readonly signature: Uint8Array; | ||
| readonly index: bigint; | ||
| constructor(pubkey: Uint8Array, withdrawalCredentials: Uint8Array, amount: bigint, signature: Uint8Array, index: bigint); | ||
| serialize(): Uint8Array; | ||
| toJSON(): DepositRequestV1; | ||
| } | ||
| export declare class WithdrawalRequest extends CLRequest<CLRequestType.Withdrawal> { | ||
| readonly sourceAddress: Uint8Array; | ||
| readonly validatorPubkey: Uint8Array; | ||
| readonly amount: bigint; | ||
| constructor(sourceAddress: Uint8Array, validatorPubkey: Uint8Array, amount: bigint); | ||
| serialize(): Uint8Array; | ||
| toJSON(): WithdrawalRequestV1; | ||
| } | ||
| export declare class ConsolidationRequest extends CLRequest<CLRequestType.Consolidation> { | ||
| readonly sourceAddress: Uint8Array; | ||
| readonly sourcePubkey: Uint8Array; | ||
| readonly targetPubkey: Uint8Array; | ||
| constructor(sourceAddress: Uint8Array, sourcePubkey: Uint8Array, targetPubkey: Uint8Array); | ||
| serialize(): Uint8Array; | ||
| toJSON(): ConsolidationRequestV1; | ||
| } | ||
| export declare function createDepositRequest(depositData: DepositRequestData): DepositRequest; | ||
| export declare function createDepositRequestFromJSON(jsonData: DepositRequestV1): DepositRequest; | ||
| export declare function createDepositRequestFromRLP(bytes: Uint8Array): DepositRequest; | ||
| export declare function createWithdrawalRequest(withdrawalData: WithdrawalRequestData): WithdrawalRequest; | ||
| export declare function createWithdrawalRequestFromJSON(jsonData: WithdrawalRequestV1): WithdrawalRequest; | ||
| export declare function createWithdrawalRequestFromRLP(bytes: Uint8Array): WithdrawalRequest; | ||
| export declare function createConsolidationRequest(consolidationData: ConsolidationRequestData): ConsolidationRequest; | ||
| export declare function createConsolidationRequestFromJSON(jsonData: ConsolidationRequestV1): ConsolidationRequest; | ||
| export declare function createConsolidationRequestFromRLP(bytes: Uint8Array): ConsolidationRequest; | ||
| export declare class CLRequestFactory { | ||
| static fromSerializedRequest(bytes: Uint8Array): CLRequest<CLRequestType>; | ||
| } | ||
| export declare function createCLRequest(bytes: Uint8Array): CLRequest<CLRequestType>; | ||
| //# sourceMappingURL=request.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,MAAM,MAAM,YAAY,GAAG,UAAU,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAA;AAE9E,eAAO,MAAM,aAAa;;;;CAIhB,CAAA;AAEV,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,iBAAiB,CAAA;IACvB,IAAI,EAAE,iBAAiB,CAAA;CACxB;AAED,qBAAa,SAAS,CAAC,CAAC,SAAS,aAAa;IAE5C,SAAgB,KAAK,EAAE,UAAU,CAAA;IAEjC,IAAI,IAAI,IACkB,CAAC,CAC1B;IAED,IAAI,IAAI,gCAEP;gBAEW,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU;CAGpD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,CAW3E"} |
+25
-168
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.CLRequestFactory = exports.createConsolidationRequestFromRLP = exports.createConsolidationRequestFromJSON = exports.createConsolidationRequest = exports.createWithdrawalRequestFromRLP = exports.createWithdrawalRequestFromJSON = exports.createWithdrawalRequest = exports.createDepositRequestFromRLP = exports.createDepositRequestFromJSON = exports.createDepositRequest = exports.ConsolidationRequest = exports.WithdrawalRequest = exports.DepositRequest = exports.CLRequest = exports.CLRequestType = void 0; | ||
| const rlp_1 = require("@ethereumjs/rlp"); | ||
| const utils_1 = require("ethereum-cryptography/utils"); | ||
| const bytes_js_1 = require("./bytes.js"); | ||
| const constants_js_1 = require("./constants.js"); | ||
| var CLRequestType; | ||
| (function (CLRequestType) { | ||
| CLRequestType[CLRequestType["Deposit"] = 0] = "Deposit"; | ||
| CLRequestType[CLRequestType["Withdrawal"] = 1] = "Withdrawal"; | ||
| CLRequestType[CLRequestType["Consolidation"] = 2] = "Consolidation"; | ||
| })(CLRequestType = exports.CLRequestType || (exports.CLRequestType = {})); | ||
| exports.CLRequest = exports.CLRequestType = void 0; | ||
| exports.createCLRequest = createCLRequest; | ||
| const bytes_ts_1 = require("./bytes.js"); | ||
| exports.CLRequestType = { | ||
| Deposit: 0, | ||
| Withdrawal: 1, | ||
| Consolidation: 2, | ||
| }; | ||
| class CLRequest { | ||
| constructor(type) { | ||
| this.type = type; | ||
| get type() { | ||
| return this.bytes[0]; | ||
| } | ||
| } | ||
| exports.CLRequest = CLRequest; | ||
| class DepositRequest extends CLRequest { | ||
| constructor(pubkey, withdrawalCredentials, amount, signature, index) { | ||
| super(CLRequestType.Deposit); | ||
| this.pubkey = pubkey; | ||
| this.withdrawalCredentials = withdrawalCredentials; | ||
| this.amount = amount; | ||
| this.signature = signature; | ||
| this.index = index; | ||
| get data() { | ||
| return this.bytes.subarray(1); | ||
| } | ||
| serialize() { | ||
| const indexBytes = this.index === constants_js_1.BIGINT_0 ? new Uint8Array() : (0, bytes_js_1.bigIntToBytes)(this.index); | ||
| const amountBytes = this.amount === constants_js_1.BIGINT_0 ? new Uint8Array() : (0, bytes_js_1.bigIntToBytes)(this.amount); | ||
| return (0, utils_1.concatBytes)(Uint8Array.from([this.type]), rlp_1.RLP.encode([ | ||
| this.pubkey, | ||
| this.withdrawalCredentials, | ||
| amountBytes, | ||
| this.signature, | ||
| indexBytes, | ||
| ])); | ||
| constructor(requestType, requestData) { | ||
| this.bytes = (0, bytes_ts_1.concatBytes)(new Uint8Array([requestType]), requestData); | ||
| } | ||
| toJSON() { | ||
| return { | ||
| pubkey: (0, bytes_js_1.bytesToHex)(this.pubkey), | ||
| withdrawalCredentials: (0, bytes_js_1.bytesToHex)(this.withdrawalCredentials), | ||
| amount: (0, bytes_js_1.bigIntToHex)(this.amount), | ||
| signature: (0, bytes_js_1.bytesToHex)(this.signature), | ||
| index: (0, bytes_js_1.bigIntToHex)(this.index), | ||
| }; | ||
| } | ||
| } | ||
| exports.DepositRequest = DepositRequest; | ||
| class WithdrawalRequest extends CLRequest { | ||
| constructor(sourceAddress, validatorPubkey, amount) { | ||
| super(CLRequestType.Withdrawal); | ||
| this.sourceAddress = sourceAddress; | ||
| this.validatorPubkey = validatorPubkey; | ||
| this.amount = amount; | ||
| exports.CLRequest = CLRequest; | ||
| function createCLRequest(bytes) { | ||
| switch (bytes[0]) { | ||
| case exports.CLRequestType.Deposit: | ||
| return new CLRequest(exports.CLRequestType.Deposit, bytes.subarray(1)); | ||
| case exports.CLRequestType.Withdrawal: | ||
| return new CLRequest(exports.CLRequestType.Withdrawal, bytes.subarray(1)); | ||
| case exports.CLRequestType.Consolidation: | ||
| return new CLRequest(exports.CLRequestType.Consolidation, bytes.subarray(1)); | ||
| default: | ||
| throw Error(`Invalid request type=${bytes[0]}`); | ||
| } | ||
| serialize() { | ||
| const amountBytes = this.amount === constants_js_1.BIGINT_0 ? new Uint8Array() : (0, bytes_js_1.bigIntToBytes)(this.amount); | ||
| return (0, utils_1.concatBytes)(Uint8Array.from([this.type]), rlp_1.RLP.encode([this.sourceAddress, this.validatorPubkey, amountBytes])); | ||
| } | ||
| toJSON() { | ||
| return { | ||
| sourceAddress: (0, bytes_js_1.bytesToHex)(this.sourceAddress), | ||
| validatorPubkey: (0, bytes_js_1.bytesToHex)(this.validatorPubkey), | ||
| amount: (0, bytes_js_1.bigIntToHex)(this.amount), | ||
| }; | ||
| } | ||
| } | ||
| exports.WithdrawalRequest = WithdrawalRequest; | ||
| class ConsolidationRequest extends CLRequest { | ||
| constructor(sourceAddress, sourcePubkey, targetPubkey) { | ||
| super(CLRequestType.Consolidation); | ||
| this.sourceAddress = sourceAddress; | ||
| this.sourcePubkey = sourcePubkey; | ||
| this.targetPubkey = targetPubkey; | ||
| } | ||
| serialize() { | ||
| return (0, utils_1.concatBytes)(Uint8Array.from([this.type]), rlp_1.RLP.encode([this.sourceAddress, this.sourcePubkey, this.targetPubkey])); | ||
| } | ||
| toJSON() { | ||
| return { | ||
| sourceAddress: (0, bytes_js_1.bytesToHex)(this.sourceAddress), | ||
| sourcePubkey: (0, bytes_js_1.bytesToHex)(this.sourcePubkey), | ||
| targetPubkey: (0, bytes_js_1.bytesToHex)(this.targetPubkey), | ||
| }; | ||
| } | ||
| } | ||
| exports.ConsolidationRequest = ConsolidationRequest; | ||
| function createDepositRequest(depositData) { | ||
| const { pubkey, withdrawalCredentials, amount, signature, index } = depositData; | ||
| return new DepositRequest(pubkey, withdrawalCredentials, amount, signature, index); | ||
| } | ||
| exports.createDepositRequest = createDepositRequest; | ||
| function createDepositRequestFromJSON(jsonData) { | ||
| const { pubkey, withdrawalCredentials, amount, signature, index } = jsonData; | ||
| return createDepositRequest({ | ||
| pubkey: (0, bytes_js_1.hexToBytes)(pubkey), | ||
| withdrawalCredentials: (0, bytes_js_1.hexToBytes)(withdrawalCredentials), | ||
| amount: (0, bytes_js_1.hexToBigInt)(amount), | ||
| signature: (0, bytes_js_1.hexToBytes)(signature), | ||
| index: (0, bytes_js_1.hexToBigInt)(index), | ||
| }); | ||
| } | ||
| exports.createDepositRequestFromJSON = createDepositRequestFromJSON; | ||
| function createDepositRequestFromRLP(bytes) { | ||
| const [pubkey, withdrawalCredentials, amount, signature, index] = rlp_1.RLP.decode(bytes); | ||
| return createDepositRequest({ | ||
| pubkey, | ||
| withdrawalCredentials, | ||
| amount: (0, bytes_js_1.bytesToBigInt)(amount), | ||
| signature, | ||
| index: (0, bytes_js_1.bytesToBigInt)(index), | ||
| }); | ||
| } | ||
| exports.createDepositRequestFromRLP = createDepositRequestFromRLP; | ||
| function createWithdrawalRequest(withdrawalData) { | ||
| const { sourceAddress, validatorPubkey, amount } = withdrawalData; | ||
| return new WithdrawalRequest(sourceAddress, validatorPubkey, amount); | ||
| } | ||
| exports.createWithdrawalRequest = createWithdrawalRequest; | ||
| function createWithdrawalRequestFromJSON(jsonData) { | ||
| const { sourceAddress, validatorPubkey, amount } = jsonData; | ||
| return createWithdrawalRequest({ | ||
| sourceAddress: (0, bytes_js_1.hexToBytes)(sourceAddress), | ||
| validatorPubkey: (0, bytes_js_1.hexToBytes)(validatorPubkey), | ||
| amount: (0, bytes_js_1.hexToBigInt)(amount), | ||
| }); | ||
| } | ||
| exports.createWithdrawalRequestFromJSON = createWithdrawalRequestFromJSON; | ||
| function createWithdrawalRequestFromRLP(bytes) { | ||
| const [sourceAddress, validatorPubkey, amount] = rlp_1.RLP.decode(bytes); | ||
| return createWithdrawalRequest({ | ||
| sourceAddress, | ||
| validatorPubkey, | ||
| amount: (0, bytes_js_1.bytesToBigInt)(amount), | ||
| }); | ||
| } | ||
| exports.createWithdrawalRequestFromRLP = createWithdrawalRequestFromRLP; | ||
| function createConsolidationRequest(consolidationData) { | ||
| const { sourceAddress, sourcePubkey, targetPubkey } = consolidationData; | ||
| return new ConsolidationRequest(sourceAddress, sourcePubkey, targetPubkey); | ||
| } | ||
| exports.createConsolidationRequest = createConsolidationRequest; | ||
| function createConsolidationRequestFromJSON(jsonData) { | ||
| const { sourceAddress, sourcePubkey, targetPubkey } = jsonData; | ||
| return createConsolidationRequest({ | ||
| sourceAddress: (0, bytes_js_1.hexToBytes)(sourceAddress), | ||
| sourcePubkey: (0, bytes_js_1.hexToBytes)(sourcePubkey), | ||
| targetPubkey: (0, bytes_js_1.hexToBytes)(targetPubkey), | ||
| }); | ||
| } | ||
| exports.createConsolidationRequestFromJSON = createConsolidationRequestFromJSON; | ||
| function createConsolidationRequestFromRLP(bytes) { | ||
| const [sourceAddress, sourcePubkey, targetPubkey] = rlp_1.RLP.decode(bytes); | ||
| return createConsolidationRequest({ | ||
| sourceAddress, | ||
| sourcePubkey, | ||
| targetPubkey, | ||
| }); | ||
| } | ||
| exports.createConsolidationRequestFromRLP = createConsolidationRequestFromRLP; | ||
| class CLRequestFactory { | ||
| static fromSerializedRequest(bytes) { | ||
| switch (bytes[0]) { | ||
| case CLRequestType.Deposit: | ||
| return createDepositRequestFromRLP(bytes.subarray(1)); | ||
| case CLRequestType.Withdrawal: | ||
| return createWithdrawalRequestFromRLP(bytes.subarray(1)); | ||
| case CLRequestType.Consolidation: | ||
| return createConsolidationRequestFromRLP(bytes.subarray(1)); | ||
| default: | ||
| throw Error(`Invalid request type=${bytes[0]}`); | ||
| } | ||
| } | ||
| } | ||
| exports.CLRequestFactory = CLRequestFactory; | ||
| //# sourceMappingURL=request.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":";;;AAoCA,0CAWC;AA/CD,yCAAwC;AAQ3B,QAAA,aAAa,GAAG;IAC3B,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,CAAC;IACb,aAAa,EAAE,CAAC;CACR,CAAA;AAOV,MAAa,SAAS;IAIpB,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAM,CAAA;IAC3B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC/B,CAAC;IAED,YAAY,WAAc,EAAE,WAAuB;QACjD,IAAI,CAAC,KAAK,GAAG,IAAA,sBAAW,EAAC,IAAI,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;IACtE,CAAC;CACF;AAfD,8BAeC;AAED,SAAgB,eAAe,CAAC,KAAiB;IAC/C,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjB,KAAK,qBAAa,CAAC,OAAO;YACxB,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAChE,KAAK,qBAAa,CAAC,UAAU;YAC3B,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACnE,KAAK,qBAAa,CAAC,aAAa;YAC9B,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACtE;YACE,MAAM,KAAK,CAAC,wBAAwB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACnD,CAAC;AACH,CAAC"} |
@@ -1,2 +0,2 @@ | ||
| import type { PrefixedHexString } from './types.js'; | ||
| import type { PrefixedHexString } from './types.ts'; | ||
| export interface ECDSASignature { | ||
@@ -7,9 +7,27 @@ v: bigint; | ||
| } | ||
| export interface ECSignOpts { | ||
| chainId?: bigint; | ||
| extraEntropy?: Uint8Array | boolean; | ||
| } | ||
| /** | ||
| * Returns the ECDSA signature of a message hash. | ||
| * | ||
| * If `chainId` is provided assume an EIP-155-style signature and calculate the `v` value | ||
| * If {@link ECSignOpts.chainId} is provided assume an EIP-155-style signature and calculate the `v` value | ||
| * accordingly, otherwise return a "static" `v` just derived from the `recovery` bit | ||
| * | ||
| * {@link ECSignOpts.extraEntropy} defaults to `false`. If set to `true`, this will create a "hedged signature" | ||
| * which is non-deterministic and provides additional protections against private key extraction attack vectors, | ||
| * as described in https://github.com/ethereumjs/ethereumjs-monorepo/issues/3801. It will yield a | ||
| * different, random signature each time `ecsign` is called on the same `msgHash` and `privateKey`. | ||
| * In particular: each time a transaction is signed, this will thus yield a different, random | ||
| * transaction hash. | ||
| * Additionally, a `Uint8Array` can be passed to `extraEntropy` to provide custom entropy, which | ||
| * will then still create a | ||
| * To use this feature, pass `true` or a `Uint8Array` to `extraEntropy`. | ||
| * For more information, see: https://github.com/ethereumjs/ethereumjs-monorepo/issues/3801 | ||
| */ | ||
| export declare function ecsign(msgHash: Uint8Array, privateKey: Uint8Array, chainId?: bigint): ECDSASignature; | ||
| export declare function ecsign(msgHash: Uint8Array, privateKey: Uint8Array, ecSignOpts?: { | ||
| chainId?: bigint; | ||
| extraEntropy?: Uint8Array | boolean; | ||
| }): ECDSASignature; | ||
| export declare function calculateSigRecovery(v: bigint, chainId?: bigint): bigint; | ||
@@ -16,0 +34,0 @@ /** |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,UAAU,CAAA;IACb,CAAC,EAAE,UAAU,CAAA;CACd;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CACpB,OAAO,EAAE,UAAU,EACnB,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,cAAc,CAYhB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAOxE;AAMD;;;;GAIG;AACH,eAAO,MAAM,SAAS,YACX,UAAU,KAChB,MAAM,KACN,UAAU,KACV,UAAU,YACH,MAAM,KACf,UAUF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,MAChB,MAAM,KACN,UAAU,KACV,UAAU,YACH,MAAM,KACf,MASF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,MACpB,MAAM,KACN,UAAU,KACV,UAAU,YACH,MAAM,KACf,MAYF,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,QAAkB,iBAAiB,KAAG,cA8B5D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,MACxB,MAAM,KACN,UAAU,KACV,UAAU,qBACK,OAAO,YACf,MAAM,KACf,OA0BF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,YAAsB,UAAU,KAAG,UAIlE,CAAA"} | ||
| {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,UAAU,CAAA;IACb,CAAC,EAAE,UAAU,CAAA;CACd;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,UAAU,GAAG,OAAO,CAAA;CACpC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CACpB,OAAO,EAAE,UAAU,EACnB,UAAU,EAAE,UAAU,EACtB,UAAU,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,UAAU,GAAG,OAAO,CAAA;CAA4B,GAC9F,cAAc,CAuBhB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAOxE;AAMD;;;;GAIG;AACH,eAAO,MAAM,SAAS,GACpB,SAAS,UAAU,EACnB,GAAG,MAAM,EACT,GAAG,UAAU,EACb,GAAG,UAAU,EACb,UAAU,MAAM,KACf,UAUF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GACnB,GAAG,MAAM,EACT,GAAG,UAAU,EACb,GAAG,UAAU,EACb,UAAU,MAAM,KACf,MASF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,GACvB,GAAG,MAAM,EACT,GAAG,UAAU,EACb,GAAG,UAAU,EACb,UAAU,MAAM,KACf,MAYF,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GAAa,KAAK,iBAAiB,KAAG,cA8B5D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,GAAG,MAAM,EACT,GAAG,UAAU,EACb,GAAG,UAAU,EACb,mBAAkB,OAAc,EAChC,UAAU,MAAM,KACf,OA0BF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAa,SAAS,UAAU,KAAG,UAIlE,CAAA"} |
+56
-36
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.hashPersonalMessage = exports.isValidSignature = exports.fromRPCSig = exports.toCompactSig = exports.toRPCSig = exports.ecrecover = exports.calculateSigRecovery = exports.ecsign = void 0; | ||
| exports.hashPersonalMessage = exports.isValidSignature = exports.fromRPCSig = exports.toCompactSig = exports.toRPCSig = exports.ecrecover = void 0; | ||
| exports.ecsign = ecsign; | ||
| exports.calculateSigRecovery = calculateSigRecovery; | ||
| const keccak_js_1 = require("ethereum-cryptography/keccak.js"); | ||
| const secp256k1_js_1 = require("ethereum-cryptography/secp256k1.js"); | ||
| const bytes_js_1 = require("./bytes.js"); | ||
| const constants_js_1 = require("./constants.js"); | ||
| const helpers_js_1 = require("./helpers.js"); | ||
| const bytes_ts_1 = require("./bytes.js"); | ||
| const constants_ts_1 = require("./constants.js"); | ||
| const errors_ts_1 = require("./errors.js"); | ||
| const helpers_ts_1 = require("./helpers.js"); | ||
| /** | ||
| * Returns the ECDSA signature of a message hash. | ||
| * | ||
| * If `chainId` is provided assume an EIP-155-style signature and calculate the `v` value | ||
| * If {@link ECSignOpts.chainId} is provided assume an EIP-155-style signature and calculate the `v` value | ||
| * accordingly, otherwise return a "static" `v` just derived from the `recovery` bit | ||
| * | ||
| * {@link ECSignOpts.extraEntropy} defaults to `false`. If set to `true`, this will create a "hedged signature" | ||
| * which is non-deterministic and provides additional protections against private key extraction attack vectors, | ||
| * as described in https://github.com/ethereumjs/ethereumjs-monorepo/issues/3801. It will yield a | ||
| * different, random signature each time `ecsign` is called on the same `msgHash` and `privateKey`. | ||
| * In particular: each time a transaction is signed, this will thus yield a different, random | ||
| * transaction hash. | ||
| * Additionally, a `Uint8Array` can be passed to `extraEntropy` to provide custom entropy, which | ||
| * will then still create a | ||
| * To use this feature, pass `true` or a `Uint8Array` to `extraEntropy`. | ||
| * For more information, see: https://github.com/ethereumjs/ethereumjs-monorepo/issues/3801 | ||
| */ | ||
| function ecsign(msgHash, privateKey, chainId) { | ||
| const sig = secp256k1_js_1.secp256k1.sign(msgHash, privateKey); | ||
| function ecsign(msgHash, privateKey, ecSignOpts = { extraEntropy: false }) { | ||
| const { chainId, extraEntropy } = ecSignOpts; | ||
| const sig = secp256k1_js_1.secp256k1.sign(msgHash, privateKey, { extraEntropy: extraEntropy ?? false }); | ||
| const buf = sig.toCompactRawBytes(); | ||
| const r = buf.slice(0, 32); | ||
| const s = buf.slice(32, 64); | ||
| if ([2, 3].includes(sig.recovery)) { | ||
| // From the yellow paper: | ||
| /* The recovery identifier is a 1 byte value specifying the parity and finiteness of the coordinates | ||
| of the curve point for which r is the x-value; this value is in the range of [0, 3], | ||
| however we declare the upper two possibilities, representing infinite values, invalid. */ | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`Invalid recovery value: values 2/3 are invalid, received: ${sig.recovery}`); | ||
| } | ||
| const v = chainId === undefined | ||
| ? BigInt(sig.recovery + 27) | ||
| : BigInt(sig.recovery + 35) + BigInt(chainId) * constants_js_1.BIGINT_2; | ||
| : BigInt(sig.recovery + 35) + BigInt(chainId) * constants_ts_1.BIGINT_2; | ||
| return { r, s, v }; | ||
| } | ||
| exports.ecsign = ecsign; | ||
| function calculateSigRecovery(v, chainId) { | ||
| if (v === constants_js_1.BIGINT_0 || v === constants_js_1.BIGINT_1) | ||
| if (v === constants_ts_1.BIGINT_0 || v === constants_ts_1.BIGINT_1) | ||
| return v; | ||
| if (chainId === undefined) { | ||
| return v - constants_js_1.BIGINT_27; | ||
| return v - constants_ts_1.BIGINT_27; | ||
| } | ||
| return v - (chainId * constants_js_1.BIGINT_2 + BigInt(35)); | ||
| return v - (chainId * constants_ts_1.BIGINT_2 + BigInt(35)); | ||
| } | ||
| exports.calculateSigRecovery = calculateSigRecovery; | ||
| function isValidSigRecovery(recovery) { | ||
| return recovery === constants_js_1.BIGINT_0 || recovery === constants_js_1.BIGINT_1; | ||
| return recovery === constants_ts_1.BIGINT_0 || recovery === constants_ts_1.BIGINT_1; | ||
| } | ||
@@ -44,6 +64,6 @@ /** | ||
| const ecrecover = function (msgHash, v, r, s, chainId) { | ||
| const signature = (0, bytes_js_1.concatBytes)((0, bytes_js_1.setLengthLeft)(r, 32), (0, bytes_js_1.setLengthLeft)(s, 32)); | ||
| const signature = (0, bytes_ts_1.concatBytes)((0, bytes_ts_1.setLengthLeft)(r, 32), (0, bytes_ts_1.setLengthLeft)(s, 32)); | ||
| const recovery = calculateSigRecovery(v, chainId); | ||
| if (!isValidSigRecovery(recovery)) { | ||
| throw new Error('Invalid signature v value'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Invalid signature v value'); | ||
| } | ||
@@ -63,6 +83,6 @@ const sig = secp256k1_js_1.secp256k1.Signature.fromCompact(signature).addRecoveryBit(Number(recovery)); | ||
| if (!isValidSigRecovery(recovery)) { | ||
| throw new Error('Invalid signature v value'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Invalid signature v value'); | ||
| } | ||
| // geth (and the RPC eth_sign method) uses the 65 byte format used by Bitcoin | ||
| return (0, bytes_js_1.bytesToHex)((0, bytes_js_1.concatBytes)((0, bytes_js_1.setLengthLeft)(r, 32), (0, bytes_js_1.setLengthLeft)(s, 32), (0, bytes_js_1.toBytes)(v))); | ||
| return (0, bytes_ts_1.bytesToHex)((0, bytes_ts_1.concatBytes)((0, bytes_ts_1.setLengthLeft)(r, 32), (0, bytes_ts_1.setLengthLeft)(s, 32), (0, bytes_ts_1.toBytes)(v))); | ||
| }; | ||
@@ -78,9 +98,9 @@ exports.toRPCSig = toRPCSig; | ||
| if (!isValidSigRecovery(recovery)) { | ||
| throw new Error('Invalid signature v value'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Invalid signature v value'); | ||
| } | ||
| const ss = Uint8Array.from([...s]); | ||
| if ((v > BigInt(28) && v % constants_js_1.BIGINT_2 === constants_js_1.BIGINT_1) || v === constants_js_1.BIGINT_1 || v === BigInt(28)) { | ||
| if ((v > BigInt(28) && v % constants_ts_1.BIGINT_2 === constants_ts_1.BIGINT_1) || v === constants_ts_1.BIGINT_1 || v === BigInt(28)) { | ||
| ss[0] |= 0x80; | ||
| } | ||
| return (0, bytes_js_1.bytesToHex)((0, bytes_js_1.concatBytes)((0, bytes_js_1.setLengthLeft)(r, 32), (0, bytes_js_1.setLengthLeft)(ss, 32))); | ||
| return (0, bytes_ts_1.bytesToHex)((0, bytes_ts_1.concatBytes)((0, bytes_ts_1.setLengthLeft)(r, 32), (0, bytes_ts_1.setLengthLeft)(ss, 32))); | ||
| }; | ||
@@ -97,3 +117,3 @@ exports.toCompactSig = toCompactSig; | ||
| const fromRPCSig = function (sig) { | ||
| const bytes = (0, bytes_js_1.toBytes)(sig); | ||
| const bytes = (0, bytes_ts_1.toBytes)(sig); | ||
| let r; | ||
@@ -105,3 +125,3 @@ let s; | ||
| s = bytes.subarray(32, 64); | ||
| v = (0, bytes_js_1.bytesToBigInt)(bytes.subarray(64)); | ||
| v = (0, bytes_ts_1.bytesToBigInt)(bytes.subarray(64)); | ||
| } | ||
@@ -112,11 +132,11 @@ else if (bytes.length === 64) { | ||
| s = bytes.subarray(32, 64); | ||
| v = BigInt((0, bytes_js_1.bytesToInt)(bytes.subarray(32, 33)) >> 7); | ||
| v = BigInt((0, bytes_ts_1.bytesToInt)(bytes.subarray(32, 33)) >> 7); | ||
| s[0] &= 0x7f; | ||
| } | ||
| else { | ||
| throw new Error('Invalid signature length'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Invalid signature length'); | ||
| } | ||
| // support both versions of `eth_sign` responses | ||
| if (v < 27) { | ||
| v = v + constants_js_1.BIGINT_27; | ||
| v = v + constants_ts_1.BIGINT_27; | ||
| } | ||
@@ -142,11 +162,11 @@ return { | ||
| } | ||
| const rBigInt = (0, bytes_js_1.bytesToBigInt)(r); | ||
| const sBigInt = (0, bytes_js_1.bytesToBigInt)(s); | ||
| if (rBigInt === constants_js_1.BIGINT_0 || | ||
| rBigInt >= constants_js_1.SECP256K1_ORDER || | ||
| sBigInt === constants_js_1.BIGINT_0 || | ||
| sBigInt >= constants_js_1.SECP256K1_ORDER) { | ||
| const rBigInt = (0, bytes_ts_1.bytesToBigInt)(r); | ||
| const sBigInt = (0, bytes_ts_1.bytesToBigInt)(s); | ||
| if (rBigInt === constants_ts_1.BIGINT_0 || | ||
| rBigInt >= constants_ts_1.SECP256K1_ORDER || | ||
| sBigInt === constants_ts_1.BIGINT_0 || | ||
| sBigInt >= constants_ts_1.SECP256K1_ORDER) { | ||
| return false; | ||
| } | ||
| if (homesteadOrLater && sBigInt >= constants_js_1.SECP256K1_ORDER_DIV_2) { | ||
| if (homesteadOrLater && sBigInt >= constants_ts_1.SECP256K1_ORDER_DIV_2) { | ||
| return false; | ||
@@ -164,7 +184,7 @@ } | ||
| const hashPersonalMessage = function (message) { | ||
| (0, helpers_js_1.assertIsBytes)(message); | ||
| const prefix = (0, bytes_js_1.utf8ToBytes)(`\u0019Ethereum Signed Message:\n${message.length}`); | ||
| return (0, keccak_js_1.keccak256)((0, bytes_js_1.concatBytes)(prefix, message)); | ||
| (0, helpers_ts_1.assertIsBytes)(message); | ||
| const prefix = (0, bytes_ts_1.utf8ToBytes)(`\u0019Ethereum Signed Message:\n${message.length}`); | ||
| return (0, keccak_js_1.keccak256)((0, bytes_ts_1.concatBytes)(prefix, message)); | ||
| }; | ||
| exports.hashPersonalMessage = hashPersonalMessage; | ||
| //# sourceMappingURL=signature.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/tasks.ts"],"names":[],"mappings":";;;AAKA,MAAa,uBAAuB;IAQlC;;;;;OAKG;IACH,YAAY,WAAmB;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAA;QACxB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;IACjB,CAAC;IAED;;;;;;;;OAQG;IACH,cAAc,CAAC,QAAgB,EAAE,EAAY;QAC3C,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE;YAC3C,IAAI,CAAC,eAAe,EAAE,CAAA;YACtB,EAAE,CAAC,GAAG,EAAE;gBACN,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;oBAClD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;oBAC/B,IAAI,CAAC,cAAc,CAAC,IAAK,CAAC,QAAQ,EAAE,IAAK,CAAC,EAAE,CAAC,CAAA;iBAC9C;YACH,CAAC,CAAC,CAAA;SACH;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;SAClC;IACH,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,eAAe,KAAK,CAAC,CAAA;IACnC,CAAC;CACF;AArDD,0DAqDC"} | ||
| {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/tasks.ts"],"names":[],"mappings":";;;AAKA,MAAa,uBAAuB;IAQlC;;;;;OAKG;IACH,YAAY,WAAmB;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAA;QACxB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;IACjB,CAAC;IAED;;;;;;;;OAQG;IACH,cAAc,CAAC,QAAgB,EAAE,EAAY;QAC3C,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC,eAAe,EAAE,CAAA;YACtB,EAAE,CAAC,GAAG,EAAE;gBACN,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;oBAClD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;oBAC/B,IAAI,CAAC,cAAc,CAAC,IAAK,CAAC,QAAQ,EAAE,IAAK,CAAC,EAAE,CAAC,CAAA;gBAC/C,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,eAAe,KAAK,CAAC,CAAA;IACnC,CAAC;CACF;AArDD,0DAqDC"} |
+9
-11
@@ -1,3 +0,3 @@ | ||
| import type { Address } from './address.js'; | ||
| import type { ToBytesInputTypes } from './bytes.js'; | ||
| import type { Address } from './address.ts'; | ||
| import type { ToBytesInputTypes } from './bytes.ts'; | ||
| export type BigIntLike = bigint | PrefixedHexString | number | Uint8Array; | ||
@@ -16,11 +16,9 @@ export type BytesLike = Uint8Array | number[] | number | bigint | TransformableToBytes | PrefixedHexString; | ||
| export declare function isNestedUint8Array(value: unknown): value is NestedUint8Array; | ||
| /** | ||
| * Type output options | ||
| */ | ||
| export declare enum TypeOutput { | ||
| Number = 0, | ||
| BigInt = 1, | ||
| Uint8Array = 2, | ||
| PrefixedHexString = 3 | ||
| } | ||
| export type TypeOutput = (typeof TypeOutput)[keyof typeof TypeOutput]; | ||
| export declare const TypeOutput: { | ||
| readonly Number: 0; | ||
| readonly BigInt: 1; | ||
| readonly Uint8Array: 2; | ||
| readonly PrefixedHexString: 3; | ||
| }; | ||
| export type TypeOutputReturnType = { | ||
@@ -27,0 +25,0 @@ [TypeOutput.Number]: number; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAKnD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,iBAAiB,GAAG,MAAM,GAAG,UAAU,CAAA;AAKzE,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,MAAM,EAAE,GACR,MAAM,GACN,MAAM,GACN,oBAAoB,GACpB,iBAAiB,CAAA;AAKrB,MAAM,MAAM,aAAa,GAAG,GAAG,MAAM,EAAE,CAAA;AAKvC,MAAM,MAAM,iBAAiB,GAAG,KAAK,MAAM,EAAE,CAAA;AAE7C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,iBAAiB,CAAA;AAElE,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,IAAI,UAAU,CAAA;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,GAAG,gBAAgB,CAAC,CAAA;AAEnE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAc5E;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,MAAM,IAAA;IACN,MAAM,IAAA;IACN,UAAU,IAAA;IACV,iBAAiB,IAAA;CAClB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAC3B,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAC3B,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,UAAU,CAAA;IACnC,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CAClD,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,GAAG,IAAI,CAAA;AAC9E,wBAAgB,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,SAAS,CAAA;AACxF,wBAAgB,MAAM,CAAC,CAAC,SAAS,UAAU,EACzC,KAAK,EAAE,iBAAiB,EACxB,UAAU,EAAE,CAAC,GACZ,oBAAoB,CAAC,CAAC,CAAC,CAAA"} | ||
| {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAKnD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,iBAAiB,GAAG,MAAM,GAAG,UAAU,CAAA;AAKzE,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,MAAM,EAAE,GACR,MAAM,GACN,MAAM,GACN,oBAAoB,GACpB,iBAAiB,CAAA;AAKrB,MAAM,MAAM,aAAa,GAAG,GAAG,MAAM,EAAE,CAAA;AAKvC,MAAM,MAAM,iBAAiB,GAAG,KAAK,MAAM,EAAE,CAAA;AAE7C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,iBAAiB,CAAA;AAElE,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,IAAI,UAAU,CAAA;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,GAAG,gBAAgB,CAAC,CAAA;AAEnE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAc5E;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAA;AAErE,eAAO,MAAM,UAAU;;;;;CAKb,CAAA;AAEV,MAAM,MAAM,oBAAoB,GAAG;IACjC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAC3B,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAC3B,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,UAAU,CAAA;IACnC,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CAClD,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,GAAG,IAAI,CAAA;AAC9E,wBAAgB,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,SAAS,CAAA;AACxF,wBAAgB,MAAM,CAAC,CAAC,SAAS,UAAU,EACzC,KAAK,EAAE,iBAAiB,EACxB,UAAU,EAAE,CAAC,GACZ,oBAAoB,CAAC,CAAC,CAAC,CAAA"} |
+25
-28
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.toType = exports.TypeOutput = exports.isNestedUint8Array = void 0; | ||
| const bytes_js_1 = require("./bytes.js"); | ||
| const internal_js_1 = require("./internal.js"); | ||
| exports.TypeOutput = void 0; | ||
| exports.isNestedUint8Array = isNestedUint8Array; | ||
| exports.toType = toType; | ||
| const bytes_ts_1 = require("./bytes.js"); | ||
| const errors_ts_1 = require("./errors.js"); | ||
| const internal_ts_1 = require("./internal.js"); | ||
| function isNestedUint8Array(value) { | ||
@@ -22,13 +25,8 @@ if (!Array.isArray(value)) { | ||
| } | ||
| exports.isNestedUint8Array = isNestedUint8Array; | ||
| /** | ||
| * Type output options | ||
| */ | ||
| var TypeOutput; | ||
| (function (TypeOutput) { | ||
| TypeOutput[TypeOutput["Number"] = 0] = "Number"; | ||
| TypeOutput[TypeOutput["BigInt"] = 1] = "BigInt"; | ||
| TypeOutput[TypeOutput["Uint8Array"] = 2] = "Uint8Array"; | ||
| TypeOutput[TypeOutput["PrefixedHexString"] = 3] = "PrefixedHexString"; | ||
| })(TypeOutput = exports.TypeOutput || (exports.TypeOutput = {})); | ||
| exports.TypeOutput = { | ||
| Number: 0, | ||
| BigInt: 1, | ||
| Uint8Array: 2, | ||
| PrefixedHexString: 3, | ||
| }; | ||
| function toType(input, outputType) { | ||
@@ -41,28 +39,27 @@ if (input === null) { | ||
| } | ||
| if (typeof input === 'string' && !(0, internal_js_1.isHexString)(input)) { | ||
| throw new Error(`A string must be provided with a 0x-prefix, given: ${input}`); | ||
| if (typeof input === 'string' && !(0, internal_ts_1.isHexString)(input)) { | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)(`A string must be provided with a 0x-prefix, given: ${input}`); | ||
| } | ||
| else if (typeof input === 'number' && !Number.isSafeInteger(input)) { | ||
| throw new Error('The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)'); | ||
| } | ||
| const output = (0, bytes_js_1.toBytes)(input); | ||
| const output = (0, bytes_ts_1.toBytes)(input); | ||
| switch (outputType) { | ||
| case TypeOutput.Uint8Array: | ||
| case exports.TypeOutput.Uint8Array: | ||
| return output; | ||
| case TypeOutput.BigInt: | ||
| return (0, bytes_js_1.bytesToBigInt)(output); | ||
| case TypeOutput.Number: { | ||
| const bigInt = (0, bytes_js_1.bytesToBigInt)(output); | ||
| case exports.TypeOutput.BigInt: | ||
| return (0, bytes_ts_1.bytesToBigInt)(output); | ||
| case exports.TypeOutput.Number: { | ||
| const bigInt = (0, bytes_ts_1.bytesToBigInt)(output); | ||
| if (bigInt > BigInt(Number.MAX_SAFE_INTEGER)) { | ||
| throw new Error('The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)'); | ||
| } | ||
| return Number(bigInt); | ||
| } | ||
| case TypeOutput.PrefixedHexString: | ||
| return (0, bytes_js_1.bytesToHex)(output); | ||
| case exports.TypeOutput.PrefixedHexString: | ||
| return (0, bytes_ts_1.bytesToHex)(output); | ||
| default: | ||
| throw new Error('unknown outputType'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('unknown outputType'); | ||
| } | ||
| } | ||
| exports.toType = toType; | ||
| //# sourceMappingURL=types.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAAA,yCAA+D;AAC/D,+CAA2C;AA0C3C,SAAgB,kBAAkB,CAAC,KAAc;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACzB,OAAO,KAAK,CAAA;KACb;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBAC7B,OAAO,KAAK,CAAA;aACb;SACF;aAAM,IAAI,CAAC,CAAC,IAAI,YAAY,UAAU,CAAC,EAAE;YACxC,OAAO,KAAK,CAAA;SACb;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAdD,gDAcC;AAED;;GAEG;AACH,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,+CAAM,CAAA;IACN,+CAAM,CAAA;IACN,uDAAU,CAAA;IACV,qEAAiB,CAAA;AACnB,CAAC,EALW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAKrB;AAqBD,SAAgB,MAAM,CACpB,KAAwB,EACxB,UAAa;IAEb,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,IAAI,CAAA;KACZ;IACD,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO,SAAS,CAAA;KACjB;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAA,yBAAW,EAAC,KAAK,CAAC,EAAE;QACpD,MAAM,IAAI,KAAK,CAAC,sDAAsD,KAAK,EAAE,CAAC,CAAA;KAC/E;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;QACpE,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAA;KACF;IAED,MAAM,MAAM,GAAG,IAAA,kBAAO,EAAC,KAAK,CAAC,CAAA;IAE7B,QAAQ,UAAU,EAAE;QAClB,KAAK,UAAU,CAAC,UAAU;YACxB,OAAO,MAAiC,CAAA;QAC1C,KAAK,UAAU,CAAC,MAAM;YACpB,OAAO,IAAA,wBAAa,EAAC,MAAM,CAA4B,CAAA;QACzD,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,CAAA;YACpC,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;gBAC5C,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAA;aACF;YACD,OAAO,MAAM,CAAC,MAAM,CAA4B,CAAA;SACjD;QACD,KAAK,UAAU,CAAC,iBAAiB;YAC/B,OAAO,IAAA,qBAAU,EAAC,MAAM,CAA4B,CAAA;QACtD;YACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;KACxC;AACH,CAAC;AAxCD,wBAwCC"} | ||
| {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AA4CA,gDAcC;AA8BD,wBAwCC;AAhID,yCAA+D;AAC/D,2CAAwD;AACxD,+CAA2C;AA0C3C,SAAgB,kBAAkB,CAAC,KAAc;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,YAAY,UAAU,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAIY,QAAA,UAAU,GAAG;IACxB,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,UAAU,EAAE,CAAC;IACb,iBAAiB,EAAE,CAAC;CACZ,CAAA;AAqBV,SAAgB,MAAM,CACpB,KAAwB,EACxB,UAAa;IAEb,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAA,yBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,IAAA,sCAA0B,EAAC,sDAAsD,KAAK,EAAE,CAAC,CAAA;IACjG,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACrE,MAAM,IAAA,sCAA0B,EAC9B,6FAA6F,CAC9F,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,kBAAO,EAAC,KAAK,CAAC,CAAA;IAE7B,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,kBAAU,CAAC,UAAU;YACxB,OAAO,MAAiC,CAAA;QAC1C,KAAK,kBAAU,CAAC,MAAM;YACpB,OAAO,IAAA,wBAAa,EAAC,MAAM,CAA4B,CAAA;QACzD,KAAK,kBAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,CAAA;YACpC,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAA,sCAA0B,EAC9B,8FAA8F,CAC/F,CAAA;YACH,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAA4B,CAAA;QAClD,CAAC;QACD,KAAK,kBAAU,CAAC,iBAAiB;YAC/B,OAAO,IAAA,qBAAU,EAAC,MAAM,CAA4B,CAAA;QACtD;YACE,MAAM,IAAA,sCAA0B,EAAC,oBAAoB,CAAC,CAAA;IAC1D,CAAC;AACH,CAAC"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../src/units.ts"],"names":[],"mappings":"AAEA,kCAAkC;AAClC,eAAO,MAAM,WAAW,QAAkB,CAAA;AAC1C,eAAO,MAAM,YAAY,QAAmB,CAAA;AAE5C,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAWR;AAED,qBAAa,KAAK;IAChB,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASnD;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAK7C;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;CAI7C"} | ||
| {"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../src/units.ts"],"names":[],"mappings":"AAGA,kCAAkC;AAClC,eAAO,MAAM,WAAW,QAAkB,CAAA;AAC1C,eAAO,MAAM,YAAY,QAAmB,CAAA;AAE5C,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAWR;AAED,qBAAa,KAAK;IAChB,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASnD;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAK7C;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;CAI7C"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.Units = exports.formatBigDecimal = exports.ETHER_TO_WEI = exports.GWEI_TO_WEI = void 0; | ||
| const constants_js_1 = require("./constants.js"); | ||
| exports.Units = exports.ETHER_TO_WEI = exports.GWEI_TO_WEI = void 0; | ||
| exports.formatBigDecimal = formatBigDecimal; | ||
| const constants_ts_1 = require("./constants.js"); | ||
| const errors_ts_1 = require("./errors.js"); | ||
| /** Conversion constants to wei */ | ||
@@ -9,4 +11,4 @@ exports.GWEI_TO_WEI = BigInt(10 ** 9); // Multiplier to convert from Gwei to Wei | ||
| function formatBigDecimal(numerator, denominator, maxDecimalFactor) { | ||
| if (denominator === constants_js_1.BIGINT_0) { | ||
| denominator = constants_js_1.BIGINT_1; | ||
| if (denominator === constants_ts_1.BIGINT_0) { | ||
| denominator = constants_ts_1.BIGINT_1; | ||
| } | ||
@@ -19,10 +21,9 @@ const full = numerator / denominator; | ||
| } | ||
| exports.formatBigDecimal = formatBigDecimal; | ||
| class Units { | ||
| static validateInput(amount) { | ||
| if (typeof amount === 'number' && !Number.isInteger(amount)) { | ||
| throw new Error('Input must be an integer number'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Input must be an integer number'); | ||
| } | ||
| if (BigInt(amount) < 0) { | ||
| throw new Error('Input must be a positive number'); | ||
| throw (0, errors_ts_1.EthereumJSErrorWithoutCode)('Input must be a positive number'); | ||
| } | ||
@@ -29,0 +30,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"units.js","sourceRoot":"","sources":["../../src/units.ts"],"names":[],"mappings":";;;AAAA,iDAAmD;AAEnD,kCAAkC;AACrB,QAAA,WAAW,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA,CAAC,yCAAyC;AACvE,QAAA,YAAY,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA,CAAC,0CAA0C;AAEvF,SAAgB,gBAAgB,CAC9B,SAAiB,EACjB,WAAmB,EACnB,gBAAwB;IAExB,IAAI,WAAW,KAAK,uBAAQ,EAAE;QAC5B,WAAW,GAAG,uBAAQ,CAAA;KACvB;IAED,MAAM,IAAI,GAAG,SAAS,GAAG,WAAW,CAAA;IACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI,GAAG,WAAW,CAAC,GAAG,gBAAgB,CAAC,GAAG,WAAW,CAAA;IAEpF,wGAAwG;IACxG,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAA;IACtF,OAAO,GAAG,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,QAAQ,EAAE,CAAA;AAC7D,CAAC;AAfD,4CAeC;AAED,MAAa,KAAK;IAChB,MAAM,CAAC,aAAa,CAAC,MAAuB;QAC1C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YAC3D,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;SACnD;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;SACnD;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAuB;QAClC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,oBAAY,CAAA;IACtC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,MAAuB;QACjC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,mBAAW,CAAA;IACrC,CAAC;CACF;AA/BD,sBA+BC"} | ||
| {"version":3,"file":"units.js","sourceRoot":"","sources":["../../src/units.ts"],"names":[],"mappings":";;;AAOA,4CAeC;AAtBD,iDAAmD;AACnD,2CAAwD;AAExD,kCAAkC;AACrB,QAAA,WAAW,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA,CAAC,yCAAyC;AACvE,QAAA,YAAY,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA,CAAC,0CAA0C;AAEvF,SAAgB,gBAAgB,CAC9B,SAAiB,EACjB,WAAmB,EACnB,gBAAwB;IAExB,IAAI,WAAW,KAAK,uBAAQ,EAAE,CAAC;QAC7B,WAAW,GAAG,uBAAQ,CAAA;IACxB,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,GAAG,WAAW,CAAA;IACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI,GAAG,WAAW,CAAC,GAAG,gBAAgB,CAAC,GAAG,WAAW,CAAA;IAEpF,wGAAwG;IACxG,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAA;IACtF,OAAO,GAAG,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,QAAQ,EAAE,CAAA;AAC7D,CAAC;AAED,MAAa,KAAK;IAChB,MAAM,CAAC,aAAa,CAAC,MAAuB;QAC1C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAA,sCAA0B,EAAC,iCAAiC,CAAC,CAAA;QACrE,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAA,sCAA0B,EAAC,iCAAiC,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAuB;QAClC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,oBAAY,CAAA;IACtC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,MAAuB;QACjC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,mBAAW,CAAA;IACrC,CAAC;CACF;AA/BD,sBA+BC"} |
+16
-15
@@ -1,4 +0,4 @@ | ||
| import type { Account } from './account.js'; | ||
| import type { Address } from './address.js'; | ||
| import type { PrefixedHexString } from './types.js'; | ||
| import type { Account } from './account.ts'; | ||
| import type { Address } from './address.ts'; | ||
| import type { PrefixedHexString } from './types.ts'; | ||
| /** | ||
@@ -36,3 +36,3 @@ * Verkle related constants and helper functions | ||
| * @dev Assumes that the verkle node width = 256 | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from verkle-cryptography-wasm. | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from Verkle cryptography | ||
| * @param {Address} address The address to generate the tree key for. | ||
@@ -45,3 +45,3 @@ * @param treeIndex The index of the tree to generate the key for. Defaults to 0. | ||
| * Verifies that the executionWitness is valid for the given prestateRoot. | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from verkle-cryptography-wasm. | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from Verkle cryptography | ||
| * @param {VerkleExecutionWitness} executionWitness The verkle execution witness. | ||
@@ -91,6 +91,7 @@ * @returns {boolean} Whether or not the executionWitness belongs to the prestateRoot. | ||
| } | ||
| export declare enum VerkleLeafType { | ||
| BasicData = 0, | ||
| CodeHash = 1 | ||
| } | ||
| export type VerkleLeafType = (typeof VerkleLeafType)[keyof typeof VerkleLeafType]; | ||
| export declare const VerkleLeafType: { | ||
| readonly BasicData: 0; | ||
| readonly CodeHash: 1; | ||
| }; | ||
| export type VerkleLeafBasicData = { | ||
@@ -110,4 +111,4 @@ version: number; | ||
| export declare const VERKLE_BALANCE_BYTES_LENGTH = 16; | ||
| export declare const VERKLE_BASIC_DATA_LEAF_KEY: Uint8Array; | ||
| export declare const VERKLE_CODE_HASH_LEAF_KEY: Uint8Array; | ||
| export declare const VERKLE_BASIC_DATA_LEAF_KEY: Uint8Array<ArrayBufferLike>; | ||
| export declare const VERKLE_CODE_HASH_LEAF_KEY: Uint8Array<ArrayBufferLike>; | ||
| export declare const VERKLE_CODE_CHUNK_SIZE = 31; | ||
@@ -125,3 +126,3 @@ export declare const VERKLE_HEADER_STORAGE_OFFSET = 64; | ||
| */ | ||
| export declare const getVerkleKey: (stem: Uint8Array, leaf: VerkleLeafType | Uint8Array) => Uint8Array; | ||
| export declare const getVerkleKey: (stem: Uint8Array, leaf: VerkleLeafType | Uint8Array) => Uint8Array<ArrayBufferLike>; | ||
| /** | ||
@@ -154,4 +155,4 @@ * Calculates the position of the storage key in the Verkle tree, determining | ||
| */ | ||
| export declare const getVerkleTreeKeyForCodeChunk: (address: Address, chunkId: number, verkleCrypto: VerkleCrypto) => Promise<Uint8Array>; | ||
| export declare const chunkifyCode: (code: Uint8Array) => Uint8Array[]; | ||
| export declare const getVerkleTreeKeyForCodeChunk: (address: Address, chunkId: number, verkleCrypto: VerkleCrypto) => Promise<Uint8Array<ArrayBufferLike>>; | ||
| export declare const chunkifyCode: (code: Uint8Array) => Uint8Array<ArrayBufferLike>[]; | ||
| /** | ||
@@ -164,3 +165,3 @@ * Asynchronously calculates the Verkle tree key for the specified storage slot. | ||
| */ | ||
| export declare const getVerkleTreeKeyForStorageSlot: (address: Address, storageKey: bigint, verkleCrypto: VerkleCrypto) => Promise<Uint8Array>; | ||
| export declare const getVerkleTreeKeyForStorageSlot: (address: Address, storageKey: bigint, verkleCrypto: VerkleCrypto) => Promise<Uint8Array<ArrayBufferLike>>; | ||
| /** | ||
@@ -167,0 +168,0 @@ * This function extracts and decodes account header elements (version, nonce, code size, and balance) |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"verkle.d.ts","sourceRoot":"","sources":["../../src/verkle.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"verkle.d.ts","sourceRoot":"","sources":["../../src/verkle.ts"],"names":[],"mappings":"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"} |
+71
-77
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.generateCodeStems = exports.generateChunkSuffixes = exports.encodeVerkleLeafBasicData = exports.decodeVerkleLeafBasicData = exports.getVerkleTreeKeyForStorageSlot = exports.chunkifyCode = exports.getVerkleTreeKeyForCodeChunk = exports.getVerkleTreeIndicesForCodeChunk = exports.getVerkleTreeIndicesForStorageSlot = exports.getVerkleKey = exports.VERKLE_MAIN_STORAGE_OFFSET = exports.VERKLE_NODE_WIDTH = exports.VERKLE_CODE_OFFSET = exports.VERKLE_HEADER_STORAGE_OFFSET = exports.VERKLE_CODE_CHUNK_SIZE = exports.VERKLE_CODE_HASH_LEAF_KEY = exports.VERKLE_BASIC_DATA_LEAF_KEY = exports.VERKLE_BALANCE_BYTES_LENGTH = exports.VERKLE_NONCE_BYTES_LENGTH = exports.VERKLE_CODE_SIZE_BYTES_LENGTH = exports.VERKLE_VERSION_BYTES_LENGTH = exports.VERKLE_BALANCE_OFFSET = exports.VERKLE_NONCE_OFFSET = exports.VERKLE_CODE_SIZE_OFFSET = exports.VERKLE_VERSION_OFFSET = exports.VerkleLeafType = exports.verifyVerkleProof = exports.getVerkleStem = void 0; | ||
| const bytes_js_1 = require("./bytes.js"); | ||
| exports.generateCodeStems = exports.generateChunkSuffixes = exports.getVerkleTreeKeyForStorageSlot = exports.chunkifyCode = exports.getVerkleTreeKeyForCodeChunk = exports.getVerkleKey = exports.VERKLE_MAIN_STORAGE_OFFSET = exports.VERKLE_NODE_WIDTH = exports.VERKLE_CODE_OFFSET = exports.VERKLE_HEADER_STORAGE_OFFSET = exports.VERKLE_CODE_CHUNK_SIZE = exports.VERKLE_CODE_HASH_LEAF_KEY = exports.VERKLE_BASIC_DATA_LEAF_KEY = exports.VERKLE_BALANCE_BYTES_LENGTH = exports.VERKLE_NONCE_BYTES_LENGTH = exports.VERKLE_CODE_SIZE_BYTES_LENGTH = exports.VERKLE_VERSION_BYTES_LENGTH = exports.VERKLE_BALANCE_OFFSET = exports.VERKLE_NONCE_OFFSET = exports.VERKLE_CODE_SIZE_OFFSET = exports.VERKLE_VERSION_OFFSET = exports.VerkleLeafType = void 0; | ||
| exports.getVerkleStem = getVerkleStem; | ||
| exports.verifyVerkleProof = verifyVerkleProof; | ||
| exports.getVerkleTreeIndicesForStorageSlot = getVerkleTreeIndicesForStorageSlot; | ||
| exports.getVerkleTreeIndicesForCodeChunk = getVerkleTreeIndicesForCodeChunk; | ||
| exports.decodeVerkleLeafBasicData = decodeVerkleLeafBasicData; | ||
| exports.encodeVerkleLeafBasicData = encodeVerkleLeafBasicData; | ||
| const bytes_ts_1 = require("./bytes.js"); | ||
| /** | ||
| * @dev Returns the 31-bytes verkle tree stem for a given address and tree index. | ||
| * @dev Assumes that the verkle node width = 256 | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from verkle-cryptography-wasm. | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from Verkle cryptography | ||
| * @param {Address} address The address to generate the tree key for. | ||
@@ -14,9 +20,9 @@ * @param treeIndex The index of the tree to generate the key for. Defaults to 0. | ||
| function getVerkleStem(verkleCrypto, address, treeIndex = 0) { | ||
| const address32 = (0, bytes_js_1.setLengthLeft)(address.toBytes(), 32); | ||
| const address32 = (0, bytes_ts_1.setLengthLeft)(address.toBytes(), 32); | ||
| let treeIndexBytes; | ||
| if (typeof treeIndex === 'number') { | ||
| treeIndexBytes = (0, bytes_js_1.setLengthRight)((0, bytes_js_1.int32ToBytes)(Number(treeIndex), true), 32); | ||
| treeIndexBytes = (0, bytes_ts_1.setLengthRight)((0, bytes_ts_1.int32ToBytes)(Number(treeIndex), true), 32); | ||
| } | ||
| else { | ||
| treeIndexBytes = (0, bytes_js_1.setLengthRight)((0, bytes_js_1.bigIntToBytes)(BigInt(treeIndex), true).slice(0, 32), 32); | ||
| treeIndexBytes = (0, bytes_ts_1.setLengthRight)((0, bytes_ts_1.bigIntToBytes)(BigInt(treeIndex), true).slice(0, 32), 32); | ||
| } | ||
@@ -26,6 +32,5 @@ const treeStem = verkleCrypto.getTreeKey(address32, treeIndexBytes, 0).slice(0, 31); | ||
| } | ||
| exports.getVerkleStem = getVerkleStem; | ||
| /** | ||
| * Verifies that the executionWitness is valid for the given prestateRoot. | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from verkle-cryptography-wasm. | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from Verkle cryptography | ||
| * @param {VerkleExecutionWitness} executionWitness The verkle execution witness. | ||
@@ -38,8 +43,6 @@ * @returns {boolean} Whether or not the executionWitness belongs to the prestateRoot. | ||
| } | ||
| exports.verifyVerkleProof = verifyVerkleProof; | ||
| var VerkleLeafType; | ||
| (function (VerkleLeafType) { | ||
| VerkleLeafType[VerkleLeafType["BasicData"] = 0] = "BasicData"; | ||
| VerkleLeafType[VerkleLeafType["CodeHash"] = 1] = "CodeHash"; | ||
| })(VerkleLeafType = exports.VerkleLeafType || (exports.VerkleLeafType = {})); | ||
| exports.VerkleLeafType = { | ||
| BasicData: 0, | ||
| CodeHash: 1, | ||
| }; | ||
| exports.VERKLE_VERSION_OFFSET = 0; | ||
@@ -53,4 +56,4 @@ exports.VERKLE_CODE_SIZE_OFFSET = 5; | ||
| exports.VERKLE_BALANCE_BYTES_LENGTH = 16; | ||
| exports.VERKLE_BASIC_DATA_LEAF_KEY = (0, bytes_js_1.intToBytes)(VerkleLeafType.BasicData); | ||
| exports.VERKLE_CODE_HASH_LEAF_KEY = (0, bytes_js_1.intToBytes)(VerkleLeafType.CodeHash); | ||
| exports.VERKLE_BASIC_DATA_LEAF_KEY = (0, bytes_ts_1.intToBytes)(exports.VerkleLeafType.BasicData); | ||
| exports.VERKLE_CODE_HASH_LEAF_KEY = (0, bytes_ts_1.intToBytes)(exports.VerkleLeafType.CodeHash); | ||
| exports.VERKLE_CODE_CHUNK_SIZE = 31; | ||
@@ -70,8 +73,8 @@ exports.VERKLE_HEADER_STORAGE_OFFSET = 64; | ||
| switch (leaf) { | ||
| case VerkleLeafType.BasicData: | ||
| return (0, bytes_js_1.concatBytes)(stem, exports.VERKLE_BASIC_DATA_LEAF_KEY); | ||
| case VerkleLeafType.CodeHash: | ||
| return (0, bytes_js_1.concatBytes)(stem, exports.VERKLE_CODE_HASH_LEAF_KEY); | ||
| case exports.VerkleLeafType.BasicData: | ||
| return (0, bytes_ts_1.concatBytes)(stem, exports.VERKLE_BASIC_DATA_LEAF_KEY); | ||
| case exports.VerkleLeafType.CodeHash: | ||
| return (0, bytes_ts_1.concatBytes)(stem, exports.VERKLE_CODE_HASH_LEAF_KEY); | ||
| default: | ||
| return (0, bytes_js_1.concatBytes)(stem, leaf); | ||
| return (0, bytes_ts_1.concatBytes)(stem, leaf); | ||
| } | ||
@@ -98,3 +101,2 @@ }; | ||
| } | ||
| exports.getVerkleTreeIndicesForStorageSlot = getVerkleTreeIndicesForStorageSlot; | ||
| /** | ||
@@ -111,3 +113,2 @@ * Calculates the position of the code chunks in the Verkle tree, determining | ||
| } | ||
| exports.getVerkleTreeIndicesForCodeChunk = getVerkleTreeIndicesForCodeChunk; | ||
| /** | ||
@@ -122,39 +123,37 @@ * Asynchronously calculates the Verkle tree key for the specified code chunk ID. | ||
| const { treeIndex, subIndex } = getVerkleTreeIndicesForCodeChunk(chunkId); | ||
| return (0, bytes_js_1.concatBytes)(getVerkleStem(verkleCrypto, address, treeIndex), (0, bytes_js_1.toBytes)(subIndex)); | ||
| return (0, bytes_ts_1.concatBytes)(getVerkleStem(verkleCrypto, address, treeIndex), (0, bytes_ts_1.toBytes)(subIndex)); | ||
| }; | ||
| exports.getVerkleTreeKeyForCodeChunk = getVerkleTreeKeyForCodeChunk; | ||
| // This code was written by robots based on the reference implementation in EIP-6800 | ||
| const chunkifyCode = (code) => { | ||
| if (code.length === 0) | ||
| return []; | ||
| // Pad code to multiple of VERKLE_CODE_CHUNK_SIZE bytes | ||
| if (code.length % exports.VERKLE_CODE_CHUNK_SIZE !== 0) { | ||
| const paddingLength = exports.VERKLE_CODE_CHUNK_SIZE - (code.length % exports.VERKLE_CODE_CHUNK_SIZE); | ||
| code = (0, bytes_js_1.setLengthRight)(code, code.length + paddingLength); | ||
| } | ||
| // Put first chunk (leading byte is always 0 since we have no leading PUSHDATA bytes) | ||
| const chunks = [(0, bytes_js_1.concatBytes)(new Uint8Array(1), code.subarray(0, 31))]; | ||
| for (let i = 1; i < Math.floor(code.length / 31); i++) { | ||
| const slice = code.slice((i - 1) * 31, i * 31); | ||
| let x = 31; | ||
| while (x >= 0) { | ||
| // Look for last push instruction in code chunk | ||
| if (slice[x] > 0x5f && slice[x] < 0x80) | ||
| break; | ||
| x--; | ||
| const PUSH1 = 0x60; // Assuming PUSH1 is defined as 0x60 | ||
| const PUSH32 = 0x7f; // Assuming PUSH32 is defined as 0x7f | ||
| const PUSH_OFFSET = 0x5f; // Assuming PUSH_OFFSET is defined as 0x5f | ||
| // Calculate padding length | ||
| const paddingLength = (31 - (code.length % 31)) % 31; | ||
| const paddedCode = new Uint8Array(code.length + paddingLength); | ||
| paddedCode.set(code); | ||
| // Pre-allocate the bytesToExecData array | ||
| const bytesToExecData = new Uint8Array(paddedCode.length + 32); | ||
| let pos = 0; | ||
| while (pos < paddedCode.length) { | ||
| let pushdataBytes = 0; | ||
| if (PUSH1 <= paddedCode[pos] && paddedCode[pos] <= PUSH32) { | ||
| pushdataBytes = paddedCode[pos] - PUSH_OFFSET; | ||
| } | ||
| if (x >= 0 && slice[x] - 0x5f > 31 - x) { | ||
| // x >= 0 indicates PUSHn in this chunk | ||
| // n > 31 - x indicates that PUSHDATA spills over to next chunk | ||
| // PUSHDATA overflow = n - 31 - x + 1(i.e. number of elements PUSHed | ||
| // - size of code chunk (31) - position of PUSHn in the previous | ||
| // code chunk + 1 (since x is zero-indexed)) | ||
| const pushDataOverflow = slice[x] - 0x5f - 31 - x + 1; | ||
| // Put next chunk prepended with number of overflow PUSHDATA bytes | ||
| chunks.push((0, bytes_js_1.concatBytes)(Uint8Array.from([pushDataOverflow]), code.slice(i * 31, (i + 1) * 31))); | ||
| pos += 1; | ||
| for (let x = 0; x < pushdataBytes; x++) { | ||
| bytesToExecData[pos + x] = pushdataBytes - x; | ||
| } | ||
| else { | ||
| // Put next chunk prepended with 0 (i.e. no overflow PUSHDATA bytes from previous chunk) | ||
| chunks.push((0, bytes_js_1.concatBytes)(new Uint8Array(1), code.slice(i * 31, (i + 1) * 31))); | ||
| } | ||
| pos += pushdataBytes; | ||
| } | ||
| // Pre-allocate the chunks array | ||
| const numChunks = Math.ceil(paddedCode.length / 31); | ||
| const chunks = new Array(numChunks); | ||
| for (let i = 0, pos = 0; i < numChunks; i++, pos += 31) { | ||
| const chunk = new Uint8Array(32); | ||
| chunk[0] = Math.min(bytesToExecData[pos], 31); | ||
| chunk.set(paddedCode.subarray(pos, pos + 31), 1); | ||
| chunks[i] = chunk; | ||
| } | ||
| return chunks; | ||
@@ -172,3 +171,3 @@ }; | ||
| const { treeIndex, subIndex } = getVerkleTreeIndicesForStorageSlot(storageKey); | ||
| return (0, bytes_js_1.concatBytes)(getVerkleStem(verkleCrypto, address, treeIndex), (0, bytes_js_1.toBytes)(subIndex)); | ||
| return (0, bytes_ts_1.concatBytes)(getVerkleStem(verkleCrypto, address, treeIndex), (0, bytes_ts_1.toBytes)(subIndex)); | ||
| }; | ||
@@ -190,9 +189,8 @@ exports.getVerkleTreeKeyForStorageSlot = getVerkleTreeKeyForStorageSlot; | ||
| const balanceBytes = encodedBasicData.slice(exports.VERKLE_BALANCE_OFFSET, exports.VERKLE_BALANCE_OFFSET + exports.VERKLE_BALANCE_BYTES_LENGTH); | ||
| const version = (0, bytes_js_1.bytesToInt32)(versionBytes); | ||
| const nonce = (0, bytes_js_1.bytesToBigInt)(nonceBytes); | ||
| const codeSize = (0, bytes_js_1.bytesToInt32)(codeSizeBytes); | ||
| const balance = (0, bytes_js_1.bytesToBigInt)(balanceBytes); | ||
| const version = (0, bytes_ts_1.bytesToInt32)(versionBytes); | ||
| const nonce = (0, bytes_ts_1.bytesToBigInt)(nonceBytes); | ||
| const codeSize = (0, bytes_ts_1.bytesToInt32)(codeSizeBytes); | ||
| const balance = (0, bytes_ts_1.bytesToBigInt)(balanceBytes); | ||
| return { version, nonce, codeSize, balance }; | ||
| } | ||
| exports.decodeVerkleLeafBasicData = decodeVerkleLeafBasicData; | ||
| /** | ||
@@ -209,11 +207,10 @@ * This function takes a `VerkleLeafBasicData` object and encodes its properties | ||
| function encodeVerkleLeafBasicData(account) { | ||
| const encodedVersion = (0, bytes_js_1.setLengthLeft)((0, bytes_js_1.int32ToBytes)(account.version), exports.VERKLE_VERSION_BYTES_LENGTH); | ||
| const encodedVersion = (0, bytes_ts_1.setLengthLeft)((0, bytes_ts_1.int32ToBytes)(account.version), exports.VERKLE_VERSION_BYTES_LENGTH); | ||
| // Per EIP-6800, bytes 1-4 are reserved for future use | ||
| const reservedBytes = new Uint8Array([0, 0, 0, 0]); | ||
| const encodedNonce = (0, bytes_js_1.setLengthLeft)((0, bytes_js_1.bigIntToBytes)(account.nonce), exports.VERKLE_NONCE_BYTES_LENGTH); | ||
| const encodedCodeSize = (0, bytes_js_1.setLengthLeft)((0, bytes_js_1.int32ToBytes)(account.codeSize), exports.VERKLE_CODE_SIZE_BYTES_LENGTH); | ||
| const encodedBalance = (0, bytes_js_1.setLengthLeft)((0, bytes_js_1.bigIntToBytes)(account.balance), exports.VERKLE_BALANCE_BYTES_LENGTH); | ||
| return (0, bytes_js_1.concatBytes)(encodedVersion, reservedBytes, encodedCodeSize, encodedNonce, encodedBalance); | ||
| const encodedNonce = (0, bytes_ts_1.setLengthLeft)((0, bytes_ts_1.bigIntToBytes)(account.nonce), exports.VERKLE_NONCE_BYTES_LENGTH); | ||
| const encodedCodeSize = (0, bytes_ts_1.setLengthLeft)((0, bytes_ts_1.int32ToBytes)(account.codeSize), exports.VERKLE_CODE_SIZE_BYTES_LENGTH); | ||
| const encodedBalance = (0, bytes_ts_1.setLengthLeft)((0, bytes_ts_1.bigIntToBytes)(account.balance), exports.VERKLE_BALANCE_BYTES_LENGTH); | ||
| return (0, bytes_ts_1.concatBytes)(encodedVersion, reservedBytes, encodedCodeSize, encodedNonce, encodedBalance); | ||
| } | ||
| exports.encodeVerkleLeafBasicData = encodeVerkleLeafBasicData; | ||
| /** | ||
@@ -228,13 +225,10 @@ * Helper method to generate the suffixes for code chunks for putting code | ||
| const chunkSuffixes = new Array(numChunks); | ||
| const firstChunksSet = numChunks > exports.VERKLE_CODE_OFFSET ? exports.VERKLE_CODE_OFFSET : numChunks; | ||
| for (let x = 0; x < firstChunksSet; x++) { | ||
| // Fill up to first 128 suffixes | ||
| chunkSuffixes[x] = x + exports.VERKLE_CODE_OFFSET; | ||
| let currentSuffix = exports.VERKLE_CODE_OFFSET; | ||
| for (let x = 0; x < numChunks; x++) { | ||
| chunkSuffixes[x] = currentSuffix; | ||
| currentSuffix++; | ||
| // Reset suffix to 0 if exceeds VERKLE_NODE_WIDTH | ||
| if (currentSuffix >= exports.VERKLE_NODE_WIDTH) | ||
| currentSuffix = 0; | ||
| } | ||
| if (numChunks > exports.VERKLE_CODE_OFFSET) { | ||
| for (let x = exports.VERKLE_CODE_OFFSET; x < numChunks; x++) { | ||
| // Fill subsequent chunk suffixes up to 256 and then start over since a single node | ||
| chunkSuffixes[x] = x - Math.floor(x / exports.VERKLE_NODE_WIDTH) * exports.VERKLE_NODE_WIDTH; | ||
| } | ||
| } | ||
| return chunkSuffixes; | ||
@@ -258,3 +252,3 @@ }; | ||
| // chunk in each leaf node and can then know that the chunks in between have tree keys in monotonically increasing order | ||
| const numStems = Math.ceil(numChunks / exports.VERKLE_NODE_WIDTH); | ||
| const numStems = numChunks > exports.VERKLE_CODE_OFFSET ? Math.ceil(numChunks / exports.VERKLE_NODE_WIDTH) + 1 : 1; | ||
| const chunkStems = new Array(numStems); | ||
@@ -261,0 +255,0 @@ // Compute the stem for the initial set of code chunks |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"verkle.js","sourceRoot":"","sources":["../../src/verkle.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"verkle.js","sourceRoot":"","sources":["../../src/verkle.ts"],"names":[],"mappings":"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"} |
@@ -1,3 +0,3 @@ | ||
| import { Address } from './address.js'; | ||
| import type { AddressLike, BigIntLike, PrefixedHexString } from './types.js'; | ||
| import { Address } from './address.ts'; | ||
| import type { AddressLike, BigIntLike, PrefixedHexString } from './types.ts'; | ||
| /** | ||
@@ -37,5 +37,2 @@ * Flexible input data type for EIP-4895 withdrawal data with amount in Gwei to | ||
| readonly address: Address; | ||
| /** | ||
| * withdrawal amount in Gwei to match the CL representation and eventually ssz withdrawalsRoot | ||
| */ | ||
| readonly amount: bigint; | ||
@@ -47,7 +44,3 @@ /** | ||
| */ | ||
| constructor(index: bigint, validatorIndex: bigint, address: Address, | ||
| /** | ||
| * withdrawal amount in Gwei to match the CL representation and eventually ssz withdrawalsRoot | ||
| */ | ||
| amount: bigint); | ||
| constructor(index: bigint, validatorIndex: bigint, address: Address, amount: bigint); | ||
| raw(): WithdrawalBytes; | ||
@@ -57,3 +50,3 @@ toValue(): { | ||
| validatorIndex: bigint; | ||
| address: Uint8Array; | ||
| address: Uint8Array<ArrayBufferLike>; | ||
| amount: bigint; | ||
@@ -60,0 +53,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"withdrawal.d.ts","sourceRoot":"","sources":["../../src/withdrawal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAKtC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE5E;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,UAAU,CAAA;IACjB,cAAc,EAAE,UAAU,CAAA;IAC1B,OAAO,EAAE,WAAW,CAAA;IACpB,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,iBAAiB,CAAA;IACxB,cAAc,EAAE,iBAAiB,CAAA;IACjC,OAAO,EAAE,iBAAiB,CAAA;IAC1B,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;AAC9E;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,UAAU,GAAG,cAAc,GAAG,eAAe,CAmB/F;AACD;;GAEG;AACH,qBAAa,UAAU;aAOH,KAAK,EAAE,MAAM;aACb,cAAc,EAAE,MAAM;aACtB,OAAO,EAAE,OAAO;IAChC;;OAEG;aACa,MAAM,EAAE,MAAM;IAZhC;;;;OAIG;gBAEe,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,OAAO;IAChC;;OAEG;IACa,MAAM,EAAE,MAAM;IAGhC,GAAG;IAIH,OAAO;;;;;;IASP,MAAM;;;;;;CAQP;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,cAAc,cAa9D;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,eAAe,EAAE,eAAe,cAM9E"} | ||
| {"version":3,"file":"withdrawal.d.ts","sourceRoot":"","sources":["../../src/withdrawal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAKtC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE5E;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,UAAU,CAAA;IACjB,cAAc,EAAE,UAAU,CAAA;IAC1B,OAAO,EAAE,WAAW,CAAA;IACpB,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,iBAAiB,CAAA;IACxB,cAAc,EAAE,iBAAiB,CAAA;IACjC,OAAO,EAAE,iBAAiB,CAAA;IAC1B,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;AAC9E;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,UAAU,GAAG,cAAc,GAAG,eAAe,CAmB/F;AACD;;GAEG;AACH,qBAAa,UAAU;IACrB,SAAgB,KAAK,EAAE,MAAM,CAAA;IAC7B,SAAgB,cAAc,EAAE,MAAM,CAAA;IACtC,SAAgB,OAAO,EAAE,OAAO,CAAA;IAChC,SAAgB,MAAM,EAAE,MAAM,CAAA;IAE9B;;;;OAIG;gBACS,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAOnF,GAAG;IAIH,OAAO;;;;;;IASP,MAAM;;;;;;CAQP;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,cAAc,cAa9D;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,eAAe,EAAE,eAAe,cAM9E"} |
+24
-28
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.createWithdrawalFromBytesArray = exports.createWithdrawal = exports.Withdrawal = exports.withdrawalToBytesArray = void 0; | ||
| const address_js_1 = require("./address.js"); | ||
| const bytes_js_1 = require("./bytes.js"); | ||
| const constants_js_1 = require("./constants.js"); | ||
| const types_js_1 = require("./types.js"); | ||
| exports.Withdrawal = void 0; | ||
| exports.withdrawalToBytesArray = withdrawalToBytesArray; | ||
| exports.createWithdrawal = createWithdrawal; | ||
| exports.createWithdrawalFromBytesArray = createWithdrawalFromBytesArray; | ||
| const address_ts_1 = require("./address.js"); | ||
| const bytes_ts_1 = require("./bytes.js"); | ||
| const constants_ts_1 = require("./constants.js"); | ||
| const types_ts_1 = require("./types.js"); | ||
| /** | ||
@@ -15,15 +18,14 @@ * Convert a withdrawal to a byte array | ||
| const { index, validatorIndex, address, amount } = withdrawal; | ||
| const indexBytes = (0, types_js_1.toType)(index, types_js_1.TypeOutput.BigInt) === constants_js_1.BIGINT_0 | ||
| const indexBytes = (0, types_ts_1.toType)(index, types_ts_1.TypeOutput.BigInt) === constants_ts_1.BIGINT_0 | ||
| ? new Uint8Array() | ||
| : (0, types_js_1.toType)(index, types_js_1.TypeOutput.Uint8Array); | ||
| const validatorIndexBytes = (0, types_js_1.toType)(validatorIndex, types_js_1.TypeOutput.BigInt) === constants_js_1.BIGINT_0 | ||
| : (0, types_ts_1.toType)(index, types_ts_1.TypeOutput.Uint8Array); | ||
| const validatorIndexBytes = (0, types_ts_1.toType)(validatorIndex, types_ts_1.TypeOutput.BigInt) === constants_ts_1.BIGINT_0 | ||
| ? new Uint8Array() | ||
| : (0, types_js_1.toType)(validatorIndex, types_js_1.TypeOutput.Uint8Array); | ||
| const addressBytes = address instanceof address_js_1.Address ? address.bytes : (0, types_js_1.toType)(address, types_js_1.TypeOutput.Uint8Array); | ||
| const amountBytes = (0, types_js_1.toType)(amount, types_js_1.TypeOutput.BigInt) === constants_js_1.BIGINT_0 | ||
| : (0, types_ts_1.toType)(validatorIndex, types_ts_1.TypeOutput.Uint8Array); | ||
| const addressBytes = address instanceof address_ts_1.Address ? address.bytes : (0, types_ts_1.toType)(address, types_ts_1.TypeOutput.Uint8Array); | ||
| const amountBytes = (0, types_ts_1.toType)(amount, types_ts_1.TypeOutput.BigInt) === constants_ts_1.BIGINT_0 | ||
| ? new Uint8Array() | ||
| : (0, types_js_1.toType)(amount, types_js_1.TypeOutput.Uint8Array); | ||
| : (0, types_ts_1.toType)(amount, types_ts_1.TypeOutput.Uint8Array); | ||
| return [indexBytes, validatorIndexBytes, addressBytes, amountBytes]; | ||
| } | ||
| exports.withdrawalToBytesArray = withdrawalToBytesArray; | ||
| /** | ||
@@ -38,7 +40,3 @@ * Representation of EIP-4895 withdrawal data | ||
| */ | ||
| constructor(index, validatorIndex, address, | ||
| /** | ||
| * withdrawal amount in Gwei to match the CL representation and eventually ssz withdrawalsRoot | ||
| */ | ||
| amount) { | ||
| constructor(index, validatorIndex, address, amount) { | ||
| this.index = index; | ||
@@ -62,6 +60,6 @@ this.validatorIndex = validatorIndex; | ||
| return { | ||
| index: (0, bytes_js_1.bigIntToHex)(this.index), | ||
| validatorIndex: (0, bytes_js_1.bigIntToHex)(this.validatorIndex), | ||
| address: (0, bytes_js_1.bytesToHex)(this.address.bytes), | ||
| amount: (0, bytes_js_1.bigIntToHex)(this.amount), | ||
| index: (0, bytes_ts_1.bigIntToHex)(this.index), | ||
| validatorIndex: (0, bytes_ts_1.bigIntToHex)(this.validatorIndex), | ||
| address: (0, bytes_ts_1.bytesToHex)(this.address.bytes), | ||
| amount: (0, bytes_ts_1.bigIntToHex)(this.amount), | ||
| }; | ||
@@ -79,9 +77,8 @@ } | ||
| const { index: indexData, validatorIndex: validatorIndexData, address: addressData, amount: amountData, } = withdrawalData; | ||
| const index = (0, types_js_1.toType)(indexData, types_js_1.TypeOutput.BigInt); | ||
| const validatorIndex = (0, types_js_1.toType)(validatorIndexData, types_js_1.TypeOutput.BigInt); | ||
| const address = addressData instanceof address_js_1.Address ? addressData : new address_js_1.Address((0, bytes_js_1.toBytes)(addressData)); | ||
| const amount = (0, types_js_1.toType)(amountData, types_js_1.TypeOutput.BigInt); | ||
| const index = (0, types_ts_1.toType)(indexData, types_ts_1.TypeOutput.BigInt); | ||
| const validatorIndex = (0, types_ts_1.toType)(validatorIndexData, types_ts_1.TypeOutput.BigInt); | ||
| const address = addressData instanceof address_ts_1.Address ? addressData : new address_ts_1.Address((0, bytes_ts_1.toBytes)(addressData)); | ||
| const amount = (0, types_ts_1.toType)(amountData, types_ts_1.TypeOutput.BigInt); | ||
| return new Withdrawal(index, validatorIndex, address, amount); | ||
| } | ||
| exports.createWithdrawal = createWithdrawal; | ||
| /** | ||
@@ -100,3 +97,2 @@ * Creates a validator withdrawal request to be submitted to the consensus layer from | ||
| } | ||
| exports.createWithdrawalFromBytesArray = createWithdrawalFromBytesArray; | ||
| //# sourceMappingURL=withdrawal.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"withdrawal.js","sourceRoot":"","sources":["../../src/withdrawal.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"withdrawal.js","sourceRoot":"","sources":["../../src/withdrawal.ts"],"names":[],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| import type { BigIntLike, BytesLike, PrefixedHexString } from './types.js'; | ||
| import type { BigIntLike, BytesLike, PrefixedHexString } from './types.ts'; | ||
| export interface AccountData { | ||
@@ -81,3 +81,3 @@ nonce?: BigIntLike; | ||
| */ | ||
| export declare const isValidAddress: (hexAddress: string) => hexAddress is `0x${string}`; | ||
| export declare const isValidAddress: (hexAddress: string) => hexAddress is PrefixedHexString; | ||
| /** | ||
@@ -156,4 +156,4 @@ * Returns a checksummed address. | ||
| export declare const isZeroAddress: (hexAddress: string) => boolean; | ||
| export declare function accountBodyFromSlim(body: AccountBodyBytes): Uint8Array[]; | ||
| export declare function accountBodyToSlim(body: AccountBodyBytes): Uint8Array[]; | ||
| export declare function accountBodyFromSlim(body: AccountBodyBytes): Uint8Array<ArrayBufferLike>[]; | ||
| export declare function accountBodyToSlim(body: AccountBodyBytes): Uint8Array<ArrayBuffer>[]; | ||
| /** | ||
@@ -164,3 +164,3 @@ * Converts a slim account (per snap protocol spec) to the RLP encoded version of the account | ||
| */ | ||
| export declare function accountBodyToRLP(body: AccountBodyBytes, couldBeSlim?: boolean): Uint8Array; | ||
| export declare function accountBodyToRLP(body: AccountBodyBytes, couldBeSlim?: boolean): Uint8Array<ArrayBufferLike>; | ||
| //# sourceMappingURL=account.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/account.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/account.ts"],"names":[],"mappings":"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"} |
+31
-30
| import { RLP } from '@ethereumjs/rlp'; | ||
| import { keccak256 } from 'ethereum-cryptography/keccak.js'; | ||
| import { secp256k1 } from 'ethereum-cryptography/secp256k1.js'; | ||
| import { bigIntToUnpaddedBytes, bytesToBigInt, bytesToHex, bytesToInt, concatBytes, equalsBytes, hexToBytes, intToUnpaddedBytes, toBytes, utf8ToBytes, } from './bytes.js'; | ||
| import { BIGINT_0, KECCAK256_NULL, KECCAK256_RLP } from './constants.js'; | ||
| import { assertIsBytes, assertIsHexString, assertIsString } from './helpers.js'; | ||
| import { stripHexPrefix } from './internal.js'; | ||
| import { bigIntToUnpaddedBytes, bytesToBigInt, bytesToHex, bytesToInt, concatBytes, equalsBytes, hexToBytes, intToUnpaddedBytes, toBytes, utf8ToBytes, } from "./bytes.js"; | ||
| import { BIGINT_0, KECCAK256_NULL, KECCAK256_RLP } from "./constants.js"; | ||
| import { EthereumJSErrorWithoutCode } from "./errors.js"; | ||
| import { assertIsBytes, assertIsHexString, assertIsString } from "./helpers.js"; | ||
| import { stripHexPrefix } from "./internal.js"; | ||
| /** | ||
@@ -111,15 +112,15 @@ * Account class to load and maintain the basic account objects. | ||
| if (this._nonce !== null && this._nonce < BIGINT_0) { | ||
| throw new Error('nonce must be greater than zero'); | ||
| throw EthereumJSErrorWithoutCode('nonce must be greater than zero'); | ||
| } | ||
| if (this._balance !== null && this._balance < BIGINT_0) { | ||
| throw new Error('balance must be greater than zero'); | ||
| throw EthereumJSErrorWithoutCode('balance must be greater than zero'); | ||
| } | ||
| if (this._storageRoot !== null && this._storageRoot.length !== 32) { | ||
| throw new Error('storageRoot must have a length of 32'); | ||
| throw EthereumJSErrorWithoutCode('storageRoot must have a length of 32'); | ||
| } | ||
| if (this._codeHash !== null && this._codeHash.length !== 32) { | ||
| throw new Error('codeHash must have a length of 32'); | ||
| throw EthereumJSErrorWithoutCode('codeHash must have a length of 32'); | ||
| } | ||
| if (this._codeSize !== null && this._codeSize < BIGINT_0) { | ||
| throw new Error('codeSize must be greater than zero'); | ||
| throw EthereumJSErrorWithoutCode('codeSize must be greater than zero'); | ||
| } | ||
@@ -240,3 +241,3 @@ } | ||
| if (!Array.isArray(values)) { | ||
| throw new Error('Invalid serialized account input. Must be array'); | ||
| throw EthereumJSErrorWithoutCode('Invalid serialized account input. Must be array'); | ||
| } | ||
@@ -248,7 +249,7 @@ return createAccountFromBytesArray(values); | ||
| if (!Array.isArray(values)) { | ||
| throw new Error('Invalid serialized account input. Must be array'); | ||
| throw EthereumJSErrorWithoutCode('Invalid serialized account input. Must be array'); | ||
| } | ||
| let nonce = null; | ||
| if (!Array.isArray(values[0])) { | ||
| throw new Error('Invalid partial nonce encoding. Must be array'); | ||
| throw EthereumJSErrorWithoutCode('Invalid partial nonce encoding. Must be array'); | ||
| } | ||
@@ -258,3 +259,3 @@ else { | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for nonce`); | ||
| throw EthereumJSErrorWithoutCode(`Invalid isNullIndicator=${isNotNullIndicator} for nonce`); | ||
| } | ||
@@ -267,3 +268,3 @@ if (isNotNullIndicator === 1) { | ||
| if (!Array.isArray(values[1])) { | ||
| throw new Error('Invalid partial balance encoding. Must be array'); | ||
| throw EthereumJSErrorWithoutCode('Invalid partial balance encoding. Must be array'); | ||
| } | ||
@@ -273,3 +274,3 @@ else { | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for balance`); | ||
| throw EthereumJSErrorWithoutCode(`Invalid isNullIndicator=${isNotNullIndicator} for balance`); | ||
| } | ||
@@ -282,3 +283,3 @@ if (isNotNullIndicator === 1) { | ||
| if (!Array.isArray(values[2])) { | ||
| throw new Error('Invalid partial storageRoot encoding. Must be array'); | ||
| throw EthereumJSErrorWithoutCode('Invalid partial storageRoot encoding. Must be array'); | ||
| } | ||
@@ -288,3 +289,3 @@ else { | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for storageRoot`); | ||
| throw EthereumJSErrorWithoutCode(`Invalid isNullIndicator=${isNotNullIndicator} for storageRoot`); | ||
| } | ||
@@ -297,3 +298,3 @@ if (isNotNullIndicator === 1) { | ||
| if (!Array.isArray(values[3])) { | ||
| throw new Error('Invalid partial codeHash encoding. Must be array'); | ||
| throw EthereumJSErrorWithoutCode('Invalid partial codeHash encoding. Must be array'); | ||
| } | ||
@@ -303,3 +304,3 @@ else { | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for codeHash`); | ||
| throw EthereumJSErrorWithoutCode(`Invalid isNullIndicator=${isNotNullIndicator} for codeHash`); | ||
| } | ||
@@ -312,3 +313,3 @@ if (isNotNullIndicator === 1) { | ||
| if (!Array.isArray(values[4])) { | ||
| throw new Error('Invalid partial codeSize encoding. Must be array'); | ||
| throw EthereumJSErrorWithoutCode('Invalid partial codeSize encoding. Must be array'); | ||
| } | ||
@@ -318,3 +319,3 @@ else { | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for codeSize`); | ||
| throw EthereumJSErrorWithoutCode(`Invalid isNullIndicator=${isNotNullIndicator} for codeSize`); | ||
| } | ||
@@ -327,3 +328,3 @@ if (isNotNullIndicator === 1) { | ||
| if (!Array.isArray(values[5])) { | ||
| throw new Error('Invalid partial version encoding. Must be array'); | ||
| throw EthereumJSErrorWithoutCode('Invalid partial version encoding. Must be array'); | ||
| } | ||
@@ -333,3 +334,3 @@ else { | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for version`); | ||
| throw EthereumJSErrorWithoutCode(`Invalid isNullIndicator=${isNotNullIndicator} for version`); | ||
| } | ||
@@ -349,3 +350,3 @@ if (isNotNullIndicator === 1) { | ||
| } | ||
| catch (e) { | ||
| catch { | ||
| return false; | ||
@@ -423,6 +424,6 @@ } | ||
| if (from.length !== 20) { | ||
| throw new Error('Expected from to be of length 20'); | ||
| throw EthereumJSErrorWithoutCode('Expected from to be of length 20'); | ||
| } | ||
| if (salt.length !== 32) { | ||
| throw new Error('Expected salt to be of length 32'); | ||
| throw EthereumJSErrorWithoutCode('Expected salt to be of length 32'); | ||
| } | ||
@@ -453,3 +454,3 @@ const address = keccak256(concatBytes(hexToBytes('0xff'), from, salt, keccak256(initCode))); | ||
| } | ||
| catch (e) { | ||
| catch { | ||
| return false; | ||
@@ -465,3 +466,3 @@ } | ||
| } | ||
| catch (e) { | ||
| catch { | ||
| return false; | ||
@@ -482,3 +483,3 @@ } | ||
| if (pubKey.length !== 64) { | ||
| throw new Error('Expected pubKey to be of length 64'); | ||
| throw EthereumJSErrorWithoutCode('Expected pubKey to be of length 64'); | ||
| } | ||
@@ -528,3 +529,3 @@ // Only take the lower 160bits of the hash | ||
| } | ||
| catch (e) { | ||
| catch { | ||
| return false; | ||
@@ -531,0 +532,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAA;AAE9D,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,OAAO,EACP,WAAW,GACZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAsB9C;;;;;;;;;GASG;AACH,MAAM,OAAO,OAAO;IASlB,IAAI,OAAO;QACT,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC1B,OAAO,IAAI,CAAC,QAAQ,CAAA;SACrB;aAAM;YACL,MAAM,KAAK,CAAC,WAAW,IAAI,CAAC,QAAQ,aAAa,CAAC,CAAA;SACnD;IACH,CAAC;IACD,IAAI,OAAO,CAAC,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YACxB,OAAO,IAAI,CAAC,MAAM,CAAA;SACnB;aAAM;YACL,MAAM,KAAK,CAAC,SAAS,IAAI,CAAC,MAAM,aAAa,CAAC,CAAA;SAC/C;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAc;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,IAAI,OAAO;QACT,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC1B,OAAO,IAAI,CAAC,QAAQ,CAAA;SACrB;aAAM;YACL,MAAM,KAAK,CAAC,WAAW,IAAI,CAAC,QAAQ,aAAa,CAAC,CAAA;SACnD;IACH,CAAC;IACD,IAAI,OAAO,CAAC,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,OAAO,IAAI,CAAC,YAAY,CAAA;SACzB;aAAM;YACL,MAAM,KAAK,CAAC,eAAe,IAAI,CAAC,YAAY,aAAa,CAAC,CAAA;SAC3D;IACH,CAAC;IACD,IAAI,WAAW,CAAC,YAAwB;QACtC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAC3B,OAAO,IAAI,CAAC,SAAS,CAAA;SACtB;aAAM;YACL,MAAM,KAAK,CAAC,YAAY,IAAI,CAAC,SAAS,aAAa,CAAC,CAAA;SACrD;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,SAAqB;QAChC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAC3B,OAAO,IAAI,CAAC,SAAS,CAAA;SACtB;aAAM;YACL,MAAM,KAAK,CAAC,YAAY,IAAI,CAAC,SAAS,aAAa,CAAC,CAAA;SACrD;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,SAAiB;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED;;;;OAIG;IACH,YACE,QAAuB,QAAQ,EAC/B,UAAyB,QAAQ,EACjC,cAAiC,aAAa,EAC9C,WAA8B,cAAc,EAC5C,WAA0B,CAAC,EAC3B,UAAyB,CAAC;QArF5B,WAAM,GAAkB,IAAI,CAAA;QAC5B,aAAQ,GAAkB,IAAI,CAAA;QAC9B,iBAAY,GAAsB,IAAI,CAAA;QACtC,cAAS,GAAsB,IAAI,CAAA;QACnC,mDAAmD;QACnD,cAAS,GAAkB,IAAI,CAAA;QAC/B,aAAQ,GAAkB,IAAI,CAAA;QAiF5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QAEzB,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YAChE,QAAQ,GAAG,CAAC,CAAA;SACb;QACD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QAEvB,IAAI,CAAC,SAAS,EAAE,CAAA;IAClB,CAAC;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE;YAClD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;SACnD;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,EAAE;YACtD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;SACrD;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,EAAE,EAAE;YACjE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;SACxD;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE;YAC3D,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;SACrD;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,GAAG,QAAQ,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;SACtD;IACH,CAAC;IAED;;OAEG;IACH,GAAG;QACD,OAAO;YACL,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;YACjC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC;YACnC,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,QAAQ;SACd,CAAA;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,wBAAwB;QACtB,MAAM,WAAW,GAAG,EAAE,CAAA;QACtB,MAAM,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;QACzC,MAAM,UAAU,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;QAExC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YACxB,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;SACnE;aAAM;YACL,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;SAChC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC1B,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;SACrE;aAAM;YACL,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;SAChC;QAED,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;SAClD;aAAM;YACL,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;SAChC;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAC3B,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;SAC/C;aAAM;YACL,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;SAChC;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAC3B,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;SACnE;aAAM;YACL,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;SAChC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC1B,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;SAClE;aAAM;YACL,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;SAChC;QAED,OAAO,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YACtD,MAAM,KAAK,CAAC,sDAAsD,CAAC,CAAA;SACpE;QACD,OAAO,CACL,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YACzE,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,CAClD,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,gDAAgD;QAChD,IACE,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC;YACrD,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC;YACjD,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,EACxE;YACA,OAAO,KAAK,CAAA;SACb;QAED,OAAO,CACL,IAAI,CAAC,OAAO,KAAK,QAAQ;YACzB,IAAI,CAAC,KAAK,KAAK,QAAQ;YACvB,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAC3C,CAAA;IACH,CAAC;CACF;AAED,uBAAuB;AAEvB,MAAM,UAAU,aAAa,CAAC,WAAwB;IACpD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAA;IAC7D,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE;QACnF,MAAM,KAAK,CAAC,iDAAiD,CAAC,CAAA;KAC/D;IAED,OAAO,IAAI,OAAO,CAChB,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAC/D,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACnE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,EAC5D,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CACvD,CAAA;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAoB;IAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAA;IAEtD,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;AACzF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,kBAAsC;IACzE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAA;IAEvF,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,IAAI;QAChB,WAAW,KAAK,IAAI;QACpB,QAAQ,KAAK,IAAI;QACjB,QAAQ,KAAK,IAAI;QACjB,OAAO,KAAK,IAAI,EAChB;QACA,MAAM,KAAK,CAAC,yBAAyB,CAAC,CAAA;KACvC;IAED,OAAO,IAAI,OAAO,CAChB,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAC7E,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EACrF,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EACtF,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAC1E,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EACtF,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CACnF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAAsB;IACzD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAiB,CAAA;IAErD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;KACnE;IAED,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,UAAsB;IAChE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAmB,CAAA;IAEvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;KACnE;IAED,IAAI,KAAK,GAAG,IAAI,CAAA;IAChB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;KACjE;SAAM;QACL,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,IAAI,kBAAkB,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,2BAA2B,kBAAkB,YAAY,CAAC,CAAA;SAC3E;QACD,IAAI,kBAAkB,KAAK,CAAC,EAAE;YAC5B,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SACpC;KACF;IAED,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;KACnE;SAAM;QACL,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,IAAI,kBAAkB,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,2BAA2B,kBAAkB,cAAc,CAAC,CAAA;SAC7E;QACD,IAAI,kBAAkB,KAAK,CAAC,EAAE;YAC5B,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SACtC;KACF;IAED,IAAI,WAAW,GAAG,IAAI,CAAA;IACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;KACvE;SAAM;QACL,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,IAAI,kBAAkB,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,2BAA2B,kBAAkB,kBAAkB,CAAC,CAAA;SACjF;QACD,IAAI,kBAAkB,KAAK,CAAC,EAAE;YAC5B,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SAC3B;KACF;IAED,IAAI,QAAQ,GAAG,IAAI,CAAA;IACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;KACpE;SAAM;QACL,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,IAAI,kBAAkB,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,2BAA2B,kBAAkB,eAAe,CAAC,CAAA;SAC9E;QACD,IAAI,kBAAkB,KAAK,CAAC,EAAE;YAC5B,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SACxB;KACF;IAED,IAAI,QAAQ,GAAG,IAAI,CAAA;IACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;KACpE;SAAM;QACL,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,IAAI,kBAAkB,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,2BAA2B,kBAAkB,eAAe,CAAC,CAAA;SAC9E;QACD,IAAI,kBAAkB,KAAK,CAAC,EAAE;YAC5B,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SACpC;KACF;IAED,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;KACnE;SAAM;QACL,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,IAAI,kBAAkB,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,2BAA2B,kBAAkB,cAAc,CAAC,CAAA;SAC7E;QACD,IAAI,kBAAkB,KAAK,CAAC,EAAE;YAC5B,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SACnC;KACF;IAED,OAAO,oBAAoB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;AAC3F,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,UAAkB;IACxD,IAAI;QACF,cAAc,CAAC,UAAU,CAAC,CAAA;KAC3B;IAAC,OAAO,CAAM,EAAE;QACf,OAAO,KAAK,CAAA;KACb;IAED,OAAO,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAC/B,UAAkB,EAClB,cAA2B;IAE3B,iBAAiB,CAAC,UAAU,CAAC,CAAA;IAC7B,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAA;IAExD,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,cAAc,KAAK,SAAS,EAAE;QAChC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAA;QACtD,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAA;KACnC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,CAAA;IAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClD,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE;YAC9B,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;SAChC;aAAM;YACL,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;SAClB;KACF;IAED,OAAO,KAAK,GAAG,EAAE,CAAA;AACnB,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UACpC,UAAkB,EAClB,cAA2B;IAE3B,OAAO,cAAc,CAAC,UAAU,CAAC,IAAI,iBAAiB,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,UAAU,CAAA;AACnG,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,IAAgB,EAAE,KAAiB;IAC1E,aAAa,CAAC,IAAI,CAAC,CAAA;IACnB,aAAa,CAAC,KAAK,CAAC,CAAA;IAEpB,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE;QACrC,0DAA0D;QAC1D,uDAAuD;QACvD,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;KACxE;IAED,0CAA0C;IAC1C,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;AAC3D,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAC9B,IAAgB,EAChB,IAAgB,EAChB,QAAoB;IAEpB,aAAa,CAAC,IAAI,CAAC,CAAA;IACnB,aAAa,CAAC,IAAI,CAAC,CAAA;IACnB,aAAa,CAAC,QAAQ,CAAC,CAAA;IAEvB,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;KACpD;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;KACpD;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAE3F,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;AAC9B,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,UAAsB;IAC5D,OAAO,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;AACtD,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,SAAqB,EAAE,WAAoB,KAAK;IACrF,aAAa,CAAC,SAAS,CAAC,CAAA;IACxB,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE;QAC3B,gCAAgC;QAChC,iDAAiD;QACjD,IAAI;YACF,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;YAC/E,OAAO,IAAI,CAAA;SACZ;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,KAAK,CAAA;SACb;KACF;IAED,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,KAAK,CAAA;KACb;IAED,IAAI;QACF,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAA;KACZ;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,KAAK,CAAA;KACb;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,MAAkB,EAAE,WAAoB,KAAK;IACjF,aAAa,CAAC,MAAM,CAAC,CAAA;IACrB,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE;QACpC,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KAC9E;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;KACtD;IACD,0CAA0C;IAC1C,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;AACxC,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAA;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,UAAsB;IAC7D,aAAa,CAAC,UAAU,CAAC,CAAA;IACzB,6CAA6C;IAC7C,OAAO,SAAS,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACxF,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,UAAsB;IAC9D,OAAO,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAA;AACrD,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,SAAqB;IACzD,aAAa,CAAC,SAAS,CAAC,CAAA;IACxB,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE;QAC3B,SAAS,GAAG,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KACpF;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,UAAU,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;AACvC,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,UAAkB;IACvD,IAAI;QACF,cAAc,CAAC,UAAU,CAAC,CAAA;KAC3B;IAAC,OAAO,CAAM,EAAE;QACf,OAAO,KAAK,CAAA;KACb;IAED,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,OAAO,QAAQ,KAAK,UAAU,CAAA;AAChC,CAAC,CAAA;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAsB;IACxD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAA;IACpD,OAAO;QACL,KAAK;QACL,OAAO;QACP,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW;QACtD,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ;KAClD,CAAA;AACH,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;AACvC,MAAM,UAAU,iBAAiB,CAAC,IAAsB;IACtD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAA;IACpD,OAAO;QACL,KAAK;QACL,OAAO;QACP,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW;QACrE,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ;KACjE,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAsB,EAAE,WAAW,GAAG,IAAI;IACzE,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAClE,OAAO,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;AAChC,CAAC"} | ||
| {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/account.ts"],"names":[],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| import type { PrefixedHexString } from './types.js'; | ||
| import type { PrefixedHexString } from './types.ts'; | ||
| /** | ||
@@ -3,0 +3,0 @@ * Handling and generating Ethereum addresses |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD;;GAEG;AACH,qBAAa,OAAO;IAClB,SAAgB,KAAK,EAAE,UAAU,CAAA;gBAErB,KAAK,EAAE,UAAU;IAO7B;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAIjC;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;;OAGG;IACH,2BAA2B,IAAI,OAAO;IAOtC;;OAEG;IACH,QAAQ,IAAI,iBAAiB;IAI7B;;OAEG;IACH,OAAO,IAAI,UAAU;CAGtB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAM9D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAK5D;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAMtE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAM3E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAK3E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,UAAU,GACnB,OAAO,CAQT"} | ||
| {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD;;GAEG;AACH,qBAAa,OAAO;IAClB,SAAgB,KAAK,EAAE,UAAU,CAAA;gBAErB,KAAK,EAAE,UAAU;IAO7B;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAIjC;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;;OAGG;IACH,2BAA2B,IAAI,OAAO;IAOtC;;OAEG;IACH,QAAQ,IAAI,iBAAiB;IAI7B;;OAEG;IACH,OAAO,IAAI,UAAU;CAGtB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAM9D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAK5D;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAMtE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAM3E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAK3E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,UAAU,GACnB,OAAO,CAQT"} |
+12
-11
@@ -1,4 +0,5 @@ | ||
| import { generateAddress, generateAddress2, isValidAddress, privateToAddress, pubToAddress, } from './account.js'; | ||
| import { bigIntToBytes, bytesToBigInt, bytesToHex, equalsBytes, hexToBytes, setLengthLeft, } from './bytes.js'; | ||
| import { BIGINT_0 } from './constants.js'; | ||
| import { generateAddress, generateAddress2, isValidAddress, privateToAddress, pubToAddress, } from "./account.js"; | ||
| import { bigIntToBytes, bytesToBigInt, bytesToHex, equalsBytes, hexToBytes, setLengthLeft, } from "./bytes.js"; | ||
| import { BIGINT_0 } from "./constants.js"; | ||
| import { EthereumJSErrorWithoutCode } from "./errors.js"; | ||
| /** | ||
@@ -10,3 +11,3 @@ * Handling and generating Ethereum addresses | ||
| if (bytes.length !== 20) { | ||
| throw new Error('Invalid address length'); | ||
| throw EthereumJSErrorWithoutCode('Invalid address length'); | ||
| } | ||
@@ -63,3 +64,3 @@ this.bytes = bytes; | ||
| if (bytes.length > 20) { | ||
| throw new Error(`Invalid address, too long: ${bytes.length}`); | ||
| throw EthereumJSErrorWithoutCode(`Invalid address, too long: ${bytes.length}`); | ||
| } | ||
@@ -74,3 +75,3 @@ return new Address(setLengthLeft(bytes, 20)); | ||
| if (!isValidAddress(str)) { | ||
| throw new Error(`Invalid address input=${str}`); | ||
| throw EthereumJSErrorWithoutCode(`Invalid address input=${str}`); | ||
| } | ||
@@ -85,3 +86,3 @@ return new Address(hexToBytes(str)); | ||
| if (!(pubKey instanceof Uint8Array)) { | ||
| throw new Error('Public key should be Uint8Array'); | ||
| throw EthereumJSErrorWithoutCode('Public key should be Uint8Array'); | ||
| } | ||
@@ -97,3 +98,3 @@ const bytes = pubToAddress(pubKey); | ||
| if (!(privateKey instanceof Uint8Array)) { | ||
| throw new Error('Private key should be Uint8Array'); | ||
| throw EthereumJSErrorWithoutCode('Private key should be Uint8Array'); | ||
| } | ||
@@ -110,3 +111,3 @@ const bytes = privateToAddress(privateKey); | ||
| if (typeof nonce !== 'bigint') { | ||
| throw new Error('Expected nonce to be a bigint'); | ||
| throw EthereumJSErrorWithoutCode('Expected nonce to be a bigint'); | ||
| } | ||
@@ -123,6 +124,6 @@ return new Address(generateAddress(from.bytes, bigIntToBytes(nonce))); | ||
| if (!(salt instanceof Uint8Array)) { | ||
| throw new Error('Expected salt to be a Uint8Array'); | ||
| throw EthereumJSErrorWithoutCode('Expected salt to be a Uint8Array'); | ||
| } | ||
| if (!(initCode instanceof Uint8Array)) { | ||
| throw new Error('Expected initCode to be a Uint8Array'); | ||
| throw EthereumJSErrorWithoutCode('Expected initCode to be a Uint8Array'); | ||
| } | ||
@@ -129,0 +130,0 @@ return new Address(generateAddress2(from.bytes, salt, initCode)); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"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"} |
@@ -1,3 +0,3 @@ | ||
| import type { KZG } from './kzg.js'; | ||
| import type { PrefixedHexString } from './types.js'; | ||
| import type { KZG } from './kzg.ts'; | ||
| import type { PrefixedHexString } from './types.ts'; | ||
| export declare const getBlobs: (input: string) => `0x${string}`[]; | ||
@@ -4,0 +4,0 @@ export declare const blobsToCommitments: (kzg: KZG, blobs: PrefixedHexString[]) => `0x${string}`[]; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"blobs.d.ts","sourceRoot":"","sources":["../../src/blobs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AA8BnD,eAAO,MAAM,QAAQ,UAAW,MAAM,oBAsBrC,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAS,GAAG,SAAS,iBAAiB,EAAE,oBAMtE,CAAA;AAED,eAAO,MAAM,aAAa,QACnB,GAAG,SACD,iBAAiB,EAAE,eACb,iBAAiB,EAAE,oBAOjC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,eACnB,iBAAiB,yBACN,MAAM,kBAM9B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,gBAAiB,iBAAiB,EAAE,oBAM5E,CAAA"} | ||
| {"version":3,"file":"blobs.d.ts","sourceRoot":"","sources":["../../src/blobs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AA8BnD,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,oBAsBrC,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,KAAK,GAAG,EAAE,OAAO,iBAAiB,EAAE,oBAMtE,CAAA;AAED,eAAO,MAAM,aAAa,GACxB,KAAK,GAAG,EACR,OAAO,iBAAiB,EAAE,EAC1B,aAAa,iBAAiB,EAAE,oBAOjC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAC/B,YAAY,iBAAiB,EAC7B,uBAAuB,MAAM,kBAM9B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,GAAI,aAAa,iBAAiB,EAAE,oBAM5E,CAAA"} |
| import { sha256 } from 'ethereum-cryptography/sha256.js'; | ||
| import { bytesToHex, hexToBytes, utf8ToBytes } from './bytes.js'; | ||
| import { bytesToHex, hexToBytes, utf8ToBytes } from "./bytes.js"; | ||
| /** | ||
@@ -4,0 +4,0 @@ * These utilities for constructing blobs are borrowed from https://github.com/Inphi/eip4844-interop.git |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"blobs.js","sourceRoot":"","sources":["../../src/blobs.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"blobs.js","sourceRoot":"","sources":["../../src/blobs.ts"],"names":[],"mappings":"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"} |
+34
-5
| import { bytesToHex as _bytesToUnprefixedHex } from 'ethereum-cryptography/utils.js'; | ||
| import type { PrefixedHexString, TransformableToBytes } from './types.js'; | ||
| import type { PrefixedHexString, TransformableToBytes } from './types.ts'; | ||
| /** | ||
@@ -13,4 +13,4 @@ * @deprecated | ||
| */ | ||
| export declare const hexToBytes: (hex: string) => Uint8Array; | ||
| export declare const unprefixedHexToBytes: (hex: string) => Uint8Array; | ||
| export declare const hexToBytes: (hex: string) => Uint8Array<ArrayBufferLike>; | ||
| export declare const unprefixedHexToBytes: (hex: string) => Uint8Array<ArrayBufferLike>; | ||
| export declare const bytesToHex: (bytes: Uint8Array) => PrefixedHexString; | ||
@@ -226,5 +226,17 @@ /** | ||
| /** | ||
| * Converts a Uint8Array of bytes into an array of bits. | ||
| * @param {Uint8Array} bytes - The input byte array. | ||
| * @param {number} bitLength - The number of bits to extract from the input bytes. | ||
| * @returns {number[]} An array of bits (each 0 or 1) corresponding to the input bytes. | ||
| */ | ||
| export declare function bytesToBits(bytes: Uint8Array, bitLength?: number): number[]; | ||
| /** | ||
| * Converts an array of bits into a Uint8Array. | ||
| * The input bits are grouped into sets of 8, with the first bit in each group being the most significant. | ||
| * @param {number[]} bits - The input array of bits (each should be 0 or 1). Its length should be a multiple of 8. | ||
| * @returns {Uint8Array} A Uint8Array constructed from the input bits. | ||
| */ | ||
| export declare function bitsToBytes(bits: number[]): Uint8Array; | ||
| /** | ||
| * Compares two byte arrays and returns the count of consecutively matching items from the start. | ||
| * | ||
| * @function | ||
| * @param {Uint8Array} bytes1 - The first Uint8Array to compare. | ||
@@ -235,2 +247,19 @@ * @param {Uint8Array} bytes2 - The second Uint8Array to compare. | ||
| export declare function matchingBytesLength(bytes1: Uint8Array, bytes2: Uint8Array): number; | ||
| /** | ||
| * Compares two arrays of bits (0 or 1) and returns the count of consecutively matching bits from the start. | ||
| * @param {number[]} bits1 - The first array of bits, in bytes or bits. | ||
| * @param {number[]} bits2 - The second array of bits, in bytes or bits. | ||
| * @returns {number} The count of consecutively matching bits from the start. | ||
| */ | ||
| export declare function matchingBitsLength(bits1: number[], bits2: number[]): number; | ||
| /** | ||
| * Checks whether two arrays of bits are equal. | ||
| * | ||
| * Two arrays are considered equal if they have the same length and each corresponding element is identical. | ||
| * | ||
| * @param {number[]} bits1 - The first bits array. | ||
| * @param {number[]} bits2 - The second bits array. | ||
| * @returns {boolean} True if the arrays are equal; otherwise, false. | ||
| */ | ||
| export declare function equalsBits(bits1: number[], bits2: number[]): boolean; | ||
| //# sourceMappingURL=bytes.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../src/bytes.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../src/bytes.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,IAAI,qBAAqB,EAEpC,MAAM,gCAAgC,CAAA;AAMvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAIzE;;GAEG;AACH,eAAO,MAAM,oBAAoB,8BAAwB,CAAA;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,gCAGrC,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,KAAK,MAAM,gCAG/C,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,UAAU,KAAG,iBAI9C,CAAA;AAQD;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,UAAU,EAAE,sBAAoB,KAAG,MAgBvE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,UAAU,KAAG,MAI9C,CAAA;AAED,4CAA4C;AAE5C;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,MAAM,KAAG,iBAKpC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,GAAG,MAAM,KAAG,UAGtC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,EAAE,sBAAoB,KAAG,UAIjE,CAAA;AAwBD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,KAAK,UAAU,EAAE,QAAQ,MAAM,KAAG,UAG/D,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,UAAU,EAAE,QAAQ,MAAM,KAAG,UAGhE,CAAA;AAkBD;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,GAAG,UAAU,KAAG,UAG1C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,GAAG,MAAM,EAAE,KAAG,MAAM,EAG9C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,iBAAiB,KAAG,iBAG/C,CAAA;AAED,MAAM,MAAM,iBAAiB,GACzB,iBAAiB,GACjB,MAAM,GACN,MAAM,GACN,UAAU,GACV,MAAM,EAAE,GACR,oBAAoB,GACpB,IAAI,GACJ,SAAS,CAAA;AAEb;;;;;;GAMG;AAEH,eAAO,MAAM,OAAO,GAAI,GAAG,iBAAiB,KAAG,UAqC9C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,UAAU,KAAG,MAE5C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,UAExC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,iBAM1C,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,GAAI,OAAO,UAAU,GAAG,MAAM,EAAE,YAAW,MAAW,KAAG,MAO1E,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,GAAI,QAAQ;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;CAAE,SAQxF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,iBAEzC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,MAAM,EAAE,WAA2C,CAAA;AAEtF;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,MAAM,EAAE,WAA2C,CAAA;AAEtF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,KAAG,UAErD,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,OAAO,MAAM,EAAE,SAAQ,OAAc,KAAG,UAQ5E,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,UAElD,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,UAAU,EAAE,QAAQ,UAAU,KAAG,MAIrE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,UAE5C,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,QAAQ,UAAU,EAAE,KAAG,UAUrD,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,GAAE,OAAe,GAAG,MAAM,CAMrF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,GAAE,OAAe,GAAG,MAAM,CAMxF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,OAAe,GAAG,UAAU,CAKrF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,OAAe,GAAG,UAAU,CAKxF;AAED,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAEtF,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAU3E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAWtD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAalF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAW3E;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAUpE"} |
+81
-15
| import { getRandomBytesSync } from 'ethereum-cryptography/random.js'; | ||
| // eslint-disable-next-line no-restricted-imports | ||
| import { bytesToHex as _bytesToUnprefixedHex, hexToBytes as nobleH2B, } from 'ethereum-cryptography/utils.js'; | ||
| import { assertIsArray, assertIsBytes, assertIsHexString } from './helpers.js'; | ||
| import { isHexString, padToEven, stripHexPrefix } from './internal.js'; | ||
| import { EthereumJSErrorWithoutCode } from "./errors.js"; | ||
| import { assertIsArray, assertIsBytes, assertIsHexString } from "./helpers.js"; | ||
| import { isHexString, padToEven, stripHexPrefix } from "./internal.js"; | ||
| const BIGINT_0 = BigInt(0); | ||
@@ -19,3 +19,3 @@ /** | ||
| if (!hex.startsWith('0x')) | ||
| throw new Error('input string must be 0x prefixed'); | ||
| throw EthereumJSErrorWithoutCode('input string must be 0x prefixed'); | ||
| return nobleH2B(padToEven(stripHexPrefix(hex))); | ||
@@ -25,3 +25,3 @@ }; | ||
| if (hex.startsWith('0x')) | ||
| throw new Error('input string cannot be 0x prefixed'); | ||
| throw EthereumJSErrorWithoutCode('input string cannot be 0x prefixed'); | ||
| return nobleH2B(padToEven(hex)); | ||
@@ -71,3 +71,3 @@ }; | ||
| if (!Number.isSafeInteger(res)) | ||
| throw new Error('Number exceeds 53 bits'); | ||
| throw EthereumJSErrorWithoutCode('Number exceeds 53 bits'); | ||
| return res; | ||
@@ -83,3 +83,3 @@ }; | ||
| if (!Number.isSafeInteger(i) || i < 0) { | ||
| throw new Error(`Received an invalid integer type: ${i}`); | ||
| throw EthereumJSErrorWithoutCode(`Received an invalid integer type: ${i}`); | ||
| } | ||
@@ -103,3 +103,2 @@ return ('0x' + i.toString(16)); | ||
| export const bigIntToBytes = (num, littleEndian = false) => { | ||
| // eslint-disable-next-line @typescript-eslint/no-use-before-define | ||
| const bytes = toBytes(`0x${padToEven(num.toString(16))}`); | ||
@@ -208,3 +207,3 @@ return littleEndian ? bytes.reverse() : bytes; | ||
| if (!isHexString(v)) { | ||
| throw new Error(`Cannot convert string to Uint8Array. toBytes only supports 0x-prefixed hex strings and this string was given: ${v}`); | ||
| throw EthereumJSErrorWithoutCode(`Cannot convert string to Uint8Array. toBytes only supports 0x-prefixed hex strings and this string was given: ${v}`); | ||
| } | ||
@@ -218,3 +217,3 @@ return hexToBytes(v); | ||
| if (v < BIGINT_0) { | ||
| throw new Error(`Cannot convert negative bigint to Uint8Array. Given: ${v}`); | ||
| throw EthereumJSErrorWithoutCode(`Cannot convert negative bigint to Uint8Array. Given: ${v}`); | ||
| } | ||
@@ -230,3 +229,3 @@ let n = v.toString(16); | ||
| } | ||
| throw new Error('invalid type'); | ||
| throw EthereumJSErrorWithoutCode('invalid type'); | ||
| }; | ||
@@ -295,3 +294,3 @@ /** | ||
| if (v !== undefined && v.length > 0 && v[0] === 0) { | ||
| throw new Error(`${k} cannot have leading zeroes, received: ${bytesToHex(v)}`); | ||
| throw EthereumJSErrorWithoutCode(`${k} cannot have leading zeroes, received: ${bytesToHex(v)}`); | ||
| } | ||
@@ -437,3 +436,2 @@ } | ||
| } | ||
| // eslint-disable-next-line no-restricted-imports | ||
| export { bytesToUtf8, equalsBytes, utf8ToBytes } from 'ethereum-cryptography/utils.js'; | ||
@@ -444,5 +442,34 @@ export function hexToBigInt(input) { | ||
| /** | ||
| * Converts a Uint8Array of bytes into an array of bits. | ||
| * @param {Uint8Array} bytes - The input byte array. | ||
| * @param {number} bitLength - The number of bits to extract from the input bytes. | ||
| * @returns {number[]} An array of bits (each 0 or 1) corresponding to the input bytes. | ||
| */ | ||
| export function bytesToBits(bytes, bitLength) { | ||
| const bits = []; | ||
| for (let i = 0; i < (bitLength ?? bytes.length * 8); i++) { | ||
| const byteIndex = Math.floor(i / 8); | ||
| const bitIndex = 7 - (i % 8); | ||
| bits.push((bytes[byteIndex] >> bitIndex) & 1); | ||
| } | ||
| return bits; | ||
| } | ||
| /** | ||
| * Converts an array of bits into a Uint8Array. | ||
| * The input bits are grouped into sets of 8, with the first bit in each group being the most significant. | ||
| * @param {number[]} bits - The input array of bits (each should be 0 or 1). Its length should be a multiple of 8. | ||
| * @returns {Uint8Array} A Uint8Array constructed from the input bits. | ||
| */ | ||
| export function bitsToBytes(bits) { | ||
| const numBytes = Math.ceil(bits.length / 8); // Ensure partial byte storage | ||
| const byteData = new Uint8Array(numBytes); | ||
| for (let i = 0; i < bits.length; i++) { | ||
| const byteIndex = Math.floor(i / 8); | ||
| const bitIndex = 7 - (i % 8); | ||
| byteData[byteIndex] |= bits[i] << bitIndex; | ||
| } | ||
| return byteData; | ||
| } | ||
| /** | ||
| * Compares two byte arrays and returns the count of consecutively matching items from the start. | ||
| * | ||
| * @function | ||
| * @param {Uint8Array} bytes1 - The first Uint8Array to compare. | ||
@@ -466,2 +493,41 @@ * @param {Uint8Array} bytes2 - The second Uint8Array to compare. | ||
| } | ||
| /** | ||
| * Compares two arrays of bits (0 or 1) and returns the count of consecutively matching bits from the start. | ||
| * @param {number[]} bits1 - The first array of bits, in bytes or bits. | ||
| * @param {number[]} bits2 - The second array of bits, in bytes or bits. | ||
| * @returns {number} The count of consecutively matching bits from the start. | ||
| */ | ||
| export function matchingBitsLength(bits1, bits2) { | ||
| let count = 0; | ||
| const minLength = Math.min(bits1.length, bits2.length); | ||
| for (let i = 0; i < minLength; i++) { | ||
| if (bits1[i] === bits2[i]) { | ||
| count++; | ||
| } | ||
| else { | ||
| return count; | ||
| } | ||
| } | ||
| return count; | ||
| } | ||
| /** | ||
| * Checks whether two arrays of bits are equal. | ||
| * | ||
| * Two arrays are considered equal if they have the same length and each corresponding element is identical. | ||
| * | ||
| * @param {number[]} bits1 - The first bits array. | ||
| * @param {number[]} bits2 - The second bits array. | ||
| * @returns {boolean} True if the arrays are equal; otherwise, false. | ||
| */ | ||
| export function equalsBits(bits1, bits2) { | ||
| if (bits1.length !== bits2.length) { | ||
| return false; | ||
| } | ||
| for (let i = 0; i < bits1.length; i++) { | ||
| if (bits1[i] !== bits2[i]) { | ||
| return false; | ||
| } | ||
| } | ||
| return true; | ||
| } | ||
| //# sourceMappingURL=bytes.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/bytes.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/bytes.ts"],"names":[],"mappings":"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"} |
@@ -28,3 +28,3 @@ /** | ||
| */ | ||
| export declare const KECCAK256_NULL: Uint8Array; | ||
| export declare const KECCAK256_NULL: Uint8Array<ArrayBufferLike>; | ||
| /** | ||
@@ -37,3 +37,3 @@ * Keccak-256 of an RLP of an empty array | ||
| */ | ||
| export declare const KECCAK256_RLP_ARRAY: Uint8Array; | ||
| export declare const KECCAK256_RLP_ARRAY: Uint8Array<ArrayBufferLike>; | ||
| /** | ||
@@ -46,7 +46,8 @@ * Keccak-256 hash of the RLP of null | ||
| */ | ||
| export declare const KECCAK256_RLP: Uint8Array; | ||
| export declare const KECCAK256_RLP: Uint8Array<ArrayBufferLike>; | ||
| export declare const SHA256_NULL: Uint8Array<ArrayBufferLike>; | ||
| /** | ||
| * RLP encoded empty string | ||
| */ | ||
| export declare const RLP_EMPTY_STRING: Uint8Array; | ||
| export declare const RLP_EMPTY_STRING: Uint8Array<ArrayBuffer>; | ||
| export declare const MAX_WITHDRAWALS_PER_PAYLOAD = 16; | ||
@@ -53,0 +54,0 @@ export declare const RIPEMD160_ADDRESS_STRING = "0000000000000000000000000000000000000003"; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,UAAU,QAA+B,CAAA;AAEtD;;GAEG;AACH,eAAO,MAAM,WAAW,QAEvB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAE9B,CAAA;AAED,eAAO,MAAM,eAAe,QAAoB,CAAA;AAChD,eAAO,MAAM,qBAAqB,QAAgC,CAAA;AAElE;;GAEG;AACH,eAAO,MAAM,UAAU,QAEtB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,uEAAuE,CAAA;AAEpG;;GAEG;AACH,eAAO,MAAM,cAAc,YAA+B,CAAA;AAE1D;;GAEG;AACH,eAAO,MAAM,qBAAqB,uEACoC,CAAA;AAEtE;;GAEG;AACH,eAAO,MAAM,mBAAmB,YAAoC,CAAA;AAEpE;;GAEG;AACH,eAAO,MAAM,eAAe,uEAAuE,CAAA;AAEnG;;GAEG;AACH,eAAO,MAAM,aAAa,YAA8B,CAAA;AAExD;;GAEG;AACH,eAAO,MAAM,gBAAgB,YAA0B,CAAA;AAEvD,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAE7C,eAAO,MAAM,wBAAwB,6CAA6C,CAAA;AAElF;;GAEG;AAEH,eAAO,MAAM,WAAW,QAAa,CAAA;AAErC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AAEjC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,SAAS,QAAa,CAAA;AAEnC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,UAAU,QAAc,CAAA;AAErC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,aAAa,QAAwC,CAAA;AAClE,eAAO,MAAM,cAAc,QAA4D,CAAA;AACvF,eAAO,MAAM,cAAc,QACmD,CAAA;AAC9E,eAAO,MAAM,cAAc,QAAyB,CAAA"} | ||
| {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,UAAU,QAA+B,CAAA;AAEtD;;GAEG;AACH,eAAO,MAAM,WAAW,QAEvB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAE9B,CAAA;AAED,eAAO,MAAM,eAAe,QAAoB,CAAA;AAChD,eAAO,MAAM,qBAAqB,QAAgC,CAAA;AAElE;;GAEG;AACH,eAAO,MAAM,UAAU,QAEtB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,uEAAuE,CAAA;AAEpG;;GAEG;AACH,eAAO,MAAM,cAAc,6BAA+B,CAAA;AAE1D;;GAEG;AACH,eAAO,MAAM,qBAAqB,uEACoC,CAAA;AAEtE;;GAEG;AACH,eAAO,MAAM,mBAAmB,6BAAoC,CAAA;AAEpE;;GAEG;AACH,eAAO,MAAM,eAAe,uEAAuE,CAAA;AAEnG;;GAEG;AACH,eAAO,MAAM,aAAa,6BAA8B,CAAA;AAExD,eAAO,MAAM,WAAW,6BAA2B,CAAA;AAEnD;;GAEG;AACH,eAAO,MAAM,gBAAgB,yBAA0B,CAAA;AAEvD,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAE7C,eAAO,MAAM,wBAAwB,6CAA6C,CAAA;AAElF;;GAEG;AAEH,eAAO,MAAM,WAAW,QAAa,CAAA;AAErC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAY,CAAA;AAEjC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,SAAS,QAAa,CAAA;AAEnC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,UAAU,QAAc,CAAA;AAErC,eAAO,MAAM,SAAS,QAAa,CAAA;AACnC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,UAAU,QAAc,CAAA;AACrC,eAAO,MAAM,aAAa,QAAwC,CAAA;AAClE,eAAO,MAAM,cAAc,QAA4D,CAAA;AACvF,eAAO,MAAM,cAAc,QACmD,CAAA;AAC9E,eAAO,MAAM,cAAc,QAAyB,CAAA"} |
| import { secp256k1 } from 'ethereum-cryptography/secp256k1.js'; | ||
| import { hexToBytes } from './bytes.js'; | ||
| import { sha256 } from 'ethereum-cryptography/sha256.js'; | ||
| import { hexToBytes } from "./bytes.js"; | ||
| /** | ||
@@ -47,2 +48,3 @@ * 2^64-1 | ||
| export const KECCAK256_RLP = hexToBytes(KECCAK256_RLP_S); | ||
| export const SHA256_NULL = sha256(new Uint8Array()); | ||
| /** | ||
@@ -49,0 +51,0 @@ * RLP encoded empty string |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"} |
+12
-10
@@ -5,12 +5,14 @@ export type DBObject = { | ||
| export type BatchDBOp<TKey extends Uint8Array | string | number = Uint8Array, TValue extends Uint8Array | string | DBObject = Uint8Array> = PutBatch<TKey, TValue> | DelBatch<TKey>; | ||
| export declare enum KeyEncoding { | ||
| String = "string", | ||
| Bytes = "view", | ||
| Number = "number" | ||
| } | ||
| export declare enum ValueEncoding { | ||
| String = "string", | ||
| Bytes = "view", | ||
| JSON = "json" | ||
| } | ||
| export type KeyEncoding = (typeof KeyEncoding)[keyof typeof KeyEncoding]; | ||
| export declare const KeyEncoding: { | ||
| readonly String: "string"; | ||
| readonly Bytes: "view"; | ||
| readonly Number: "number"; | ||
| }; | ||
| export type ValueEncoding = (typeof ValueEncoding)[keyof typeof ValueEncoding]; | ||
| export declare const ValueEncoding: { | ||
| readonly String: "string"; | ||
| readonly Bytes: "view"; | ||
| readonly JSON: "json"; | ||
| }; | ||
| export type EncodingOpts = { | ||
@@ -17,0 +19,0 @@ keyEncoding?: KeyEncoding; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAA;CAC1C,CAAA;AACD,MAAM,MAAM,SAAS,CACnB,IAAI,SAAS,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,EACtD,MAAM,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;AAE3C,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,KAAK,SAAS;IACd,MAAM,WAAW;CAClB;AAED,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,KAAK,SAAS;IACd,IAAI,SAAS;CACd;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B,CAAA;AACD,MAAM,WAAW,QAAQ,CACvB,IAAI,SAAS,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,EACtD,MAAM,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU;IAE1D,IAAI,EAAE,KAAK,CAAA;IACX,GAAG,EAAE,IAAI,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB;AAED,MAAM,WAAW,QAAQ,CAAC,IAAI,SAAS,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU;IAC9E,IAAI,EAAE,KAAK,CAAA;IACX,GAAG,EAAE,IAAI,CAAA;IACT,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB;AAED,MAAM,WAAW,EAAE,CACjB,IAAI,SAAS,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,EACtD,MAAM,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU;IAE1D;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAEhE;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/D;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAElD;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAExD;;;OAGG;IACH,WAAW,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAE/B;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAEtB"} | ||
| {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAA;CAC1C,CAAA;AACD,MAAM,MAAM,SAAS,CACnB,IAAI,SAAS,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,EACtD,MAAM,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;AAE3C,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAA;AAExE,eAAO,MAAM,WAAW;;;;CAId,CAAA;AAEV,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAA;AAE9E,eAAO,MAAM,aAAa;;;;CAIhB,CAAA;AAEV,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B,CAAA;AACD,MAAM,WAAW,QAAQ,CACvB,IAAI,SAAS,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,EACtD,MAAM,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU;IAE1D,IAAI,EAAE,KAAK,CAAA;IACX,GAAG,EAAE,IAAI,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB;AAED,MAAM,WAAW,QAAQ,CAAC,IAAI,SAAS,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU;IAC9E,IAAI,EAAE,KAAK,CAAA;IACX,GAAG,EAAE,IAAI,CAAA;IACT,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB;AAED,MAAM,WAAW,EAAE,CACjB,IAAI,SAAS,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,EACtD,MAAM,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU;IAE1D;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAEhE;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/D;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAElD;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAExD;;;OAGG;IACH,WAAW,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAE/B;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAEtB"} |
+10
-12
@@ -1,13 +0,11 @@ | ||
| export var KeyEncoding; | ||
| (function (KeyEncoding) { | ||
| KeyEncoding["String"] = "string"; | ||
| KeyEncoding["Bytes"] = "view"; | ||
| KeyEncoding["Number"] = "number"; | ||
| })(KeyEncoding = KeyEncoding || (KeyEncoding = {})); | ||
| export var ValueEncoding; | ||
| (function (ValueEncoding) { | ||
| ValueEncoding["String"] = "string"; | ||
| ValueEncoding["Bytes"] = "view"; | ||
| ValueEncoding["JSON"] = "json"; | ||
| })(ValueEncoding = ValueEncoding || (ValueEncoding = {})); | ||
| export const KeyEncoding = { | ||
| String: 'string', | ||
| Bytes: 'view', | ||
| Number: 'number', | ||
| }; | ||
| export const ValueEncoding = { | ||
| String: 'string', | ||
| Bytes: 'view', | ||
| JSON: 'json', | ||
| }; | ||
| //# sourceMappingURL=db.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"AAQA,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,6BAAc,CAAA;IACd,gCAAiB,CAAA;AACnB,CAAC,EAJW,WAAW,GAAX,WAAW,KAAX,WAAW,QAItB;AAED,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,+BAAc,CAAA;IACd,8BAAa,CAAA;AACf,CAAC,EAJW,aAAa,GAAb,aAAa,KAAb,aAAa,QAIxB"} | ||
| {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,QAAQ;CACR,CAAA;AAIV,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,MAAM;CACJ,CAAA"} |
@@ -1,2 +0,2 @@ | ||
| import type { PrefixedHexString } from './types.js'; | ||
| import type { PrefixedHexString } from './types.ts'; | ||
| export type StoragePair = [key: PrefixedHexString, value: PrefixedHexString]; | ||
@@ -3,0 +3,0 @@ export type AccountState = [ |
@@ -1,3 +0,3 @@ | ||
| import { addHexPrefix, bigIntToHex } from './bytes.js'; | ||
| import { isHexString } from './internal.js'; | ||
| import { addHexPrefix, bigIntToHex } from "./bytes.js"; | ||
| import { isHexString } from "./internal.js"; | ||
| /** | ||
@@ -4,0 +4,0 @@ * Parses the geth genesis state into Blockchain {@link GenesisState} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"genesis.js","sourceRoot":"","sources":["../../src/genesis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAyC3C;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAS;IAC7C,MAAM,KAAK,GAAiB,EAAE,CAAA;IAC9B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC7C,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC3D,+CAA+C;QAC/C,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;QAC3D,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;QACvE,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC1D,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACrE,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC7D,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;KACzD;IACD,OAAO,KAAK,CAAA;AACd,CAAC"} | ||
| {"version":3,"file":"genesis.js","sourceRoot":"","sources":["../../src/genesis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAyC3C;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAS;IAC7C,MAAM,KAAK,GAAiB,EAAE,CAAA;IAC9B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC3D,+CAA+C;QAC/C,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;QAC3D,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;QACvE,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC1D,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACrE,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC7D,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,iBAAiB,UAAoB,MAAM,KAAG,IAK1D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,UAAoB,UAAU,KAAG,IAK1D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,UAAoB,MAAM,EAAE,KAAG,IAKxD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,UAAoB,MAAM,KAAG,IAKvD,CAAA"} | ||
| {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAa,OAAO,MAAM,KAAG,IAK1D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAa,OAAO,UAAU,KAAG,IAK1D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAa,OAAO,MAAM,EAAE,KAAG,IAKxD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAa,OAAO,MAAM,KAAG,IAKvD,CAAA"} |
@@ -1,2 +0,3 @@ | ||
| import { isHexString } from './internal.js'; | ||
| import { EthereumJSErrorWithoutCode } from "./errors.js"; | ||
| import { isHexString } from "./internal.js"; | ||
| /** | ||
@@ -9,3 +10,3 @@ * Throws if a string is not hex prefixed | ||
| const msg = `This method only supports 0x-prefixed hex strings but input was: ${input}`; | ||
| throw new Error(msg); | ||
| throw EthereumJSErrorWithoutCode(msg); | ||
| } | ||
@@ -20,3 +21,3 @@ }; | ||
| const msg = `This method only supports Uint8Array but input was: ${input}`; | ||
| throw new Error(msg); | ||
| throw EthereumJSErrorWithoutCode(msg); | ||
| } | ||
@@ -31,3 +32,3 @@ }; | ||
| const msg = `This method only supports number arrays but input was: ${input}`; | ||
| throw new Error(msg); | ||
| throw EthereumJSErrorWithoutCode(msg); | ||
| } | ||
@@ -42,5 +43,5 @@ }; | ||
| const msg = `This method only supports strings but input was: ${input}`; | ||
| throw new Error(msg); | ||
| throw EthereumJSErrorWithoutCode(msg); | ||
| } | ||
| }; | ||
| //# sourceMappingURL=helpers.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,KAAa;IACtD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;QACvB,MAAM,GAAG,GAAG,oEAAoE,KAAK,EAAE,CAAA;QACvF,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;KACrB;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,KAAiB;IACtD,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE;QAClC,MAAM,GAAG,GAAG,uDAAuD,KAAK,EAAE,CAAA;QAC1E,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;KACrB;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,KAAe;IACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACzB,MAAM,GAAG,GAAG,0DAA0D,KAAK,EAAE,CAAA;QAC7E,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;KACrB;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,KAAa;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,GAAG,GAAG,oDAAoD,KAAK,EAAE,CAAA;QACvE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;KACrB;AACH,CAAC,CAAA"} | ||
| {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,KAAa;IACtD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,oEAAoE,KAAK,EAAE,CAAA;QACvF,MAAM,0BAA0B,CAAC,GAAG,CAAC,CAAA;IACvC,CAAC;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,KAAiB;IACtD,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,uDAAuD,KAAK,EAAE,CAAA;QAC1E,MAAM,0BAA0B,CAAC,GAAG,CAAC,CAAA;IACvC,CAAC;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,KAAe;IACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,0DAA0D,KAAK,EAAE,CAAA;QAC7E,MAAM,0BAA0B,CAAC,GAAG,CAAC,CAAA;IACvC,CAAC;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,KAAa;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,oDAAoD,KAAK,EAAE,CAAA;QACvE,MAAM,0BAA0B,CAAC,GAAG,CAAC,CAAA;IACvC,CAAC;AACH,CAAC,CAAA"} |
+24
-20
| /** | ||
| * Constants | ||
| */ | ||
| export * from './constants.js'; | ||
| export * from './constants.ts'; | ||
| /** | ||
| * Errors | ||
| */ | ||
| export * from './errors.ts'; | ||
| /** | ||
| * Units helpers | ||
| */ | ||
| export * from './units.js'; | ||
| export * from './units.ts'; | ||
| /** | ||
| * Account class and helper functions | ||
| */ | ||
| export * from './account.js'; | ||
| export * from './account.ts'; | ||
| /** | ||
| * Address type | ||
| */ | ||
| export * from './address.js'; | ||
| export * from './address.ts'; | ||
| /** | ||
| * DB type | ||
| */ | ||
| export * from './db.js'; | ||
| export * from './db.ts'; | ||
| /** | ||
| * Withdrawal type | ||
| */ | ||
| export * from './withdrawal.js'; | ||
| export * from './withdrawal.ts'; | ||
| /** | ||
| * ECDSA signature | ||
| */ | ||
| export * from './signature.js'; | ||
| export * from './signature.ts'; | ||
| /** | ||
| * Utilities for manipulating bytes, Uint8Arrays, etc. | ||
| */ | ||
| export * from './bytes.js'; | ||
| export * from './bytes.ts'; | ||
| /** | ||
| * Helpful TypeScript types | ||
| */ | ||
| export * from './types.js'; | ||
| export * from './types.ts'; | ||
| /** | ||
| * Export ethjs-util methods | ||
| */ | ||
| export * from './asyncEventEmitter.js'; | ||
| export * from './blobs.js'; | ||
| export * from './genesis.js'; | ||
| export { arrayContainsArray, fromAscii, fromUtf8, getBinarySize, getKeys, isHexString, padToEven, stripHexPrefix, toAscii, } from './internal.js'; | ||
| export * from './kzg.js'; | ||
| export * from './lock.js'; | ||
| export * from './mapDB.js'; | ||
| export * from './provider.js'; | ||
| export * from './request.js'; | ||
| export * from './tasks.js'; | ||
| export * from './verkle.js'; | ||
| export * from './binaryTree.ts'; | ||
| export * from './blobs.ts'; | ||
| export * from './genesis.ts'; | ||
| export { arrayContainsArray, fromAscii, fromUtf8, getBinarySize, getKeys, isHexString, padToEven, stripHexPrefix, toAscii, } from './internal.ts'; | ||
| export * from './kzg.ts'; | ||
| export * from './lock.ts'; | ||
| export * from './mapDB.ts'; | ||
| export * from './provider.ts'; | ||
| export * from './request.ts'; | ||
| export * from './tasks.ts'; | ||
| export * from './verkle.ts'; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,gBAAgB,CAAA;AAE9B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,cAAc,CAAA;AAE5B;;GAEG;AACH,cAAc,cAAc,CAAA;AAE5B;;GAEG;AACH,cAAc,SAAS,CAAA;AAEvB;;GAEG;AACH,cAAc,iBAAiB,CAAA;AAE/B;;GAEG;AACH,cAAc,gBAAgB,CAAA;AAE9B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,OAAO,EACP,WAAW,EACX,SAAS,EACT,cAAc,EACd,OAAO,GACR,MAAM,eAAe,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,gBAAgB,CAAA;AAE9B;;GAEG;AACH,cAAc,aAAa,CAAA;AAE3B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,cAAc,CAAA;AAE5B;;GAEG;AACH,cAAc,cAAc,CAAA;AAE5B;;GAEG;AACH,cAAc,SAAS,CAAA;AAEvB;;GAEG;AACH,cAAc,iBAAiB,CAAA;AAE/B;;GAEG;AACH,cAAc,gBAAgB,CAAA;AAE9B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,OAAO,EACP,WAAW,EACX,SAAS,EACT,cAAc,EACd,OAAO,GACR,MAAM,eAAe,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA"} |
+24
-20
| /** | ||
| * Constants | ||
| */ | ||
| export * from './constants.js'; | ||
| export * from "./constants.js"; | ||
| /** | ||
| * Errors | ||
| */ | ||
| export * from "./errors.js"; | ||
| /** | ||
| * Units helpers | ||
| */ | ||
| export * from './units.js'; | ||
| export * from "./units.js"; | ||
| /** | ||
| * Account class and helper functions | ||
| */ | ||
| export * from './account.js'; | ||
| export * from "./account.js"; | ||
| /** | ||
| * Address type | ||
| */ | ||
| export * from './address.js'; | ||
| export * from "./address.js"; | ||
| /** | ||
| * DB type | ||
| */ | ||
| export * from './db.js'; | ||
| export * from "./db.js"; | ||
| /** | ||
| * Withdrawal type | ||
| */ | ||
| export * from './withdrawal.js'; | ||
| export * from "./withdrawal.js"; | ||
| /** | ||
| * ECDSA signature | ||
| */ | ||
| export * from './signature.js'; | ||
| export * from "./signature.js"; | ||
| /** | ||
| * Utilities for manipulating bytes, Uint8Arrays, etc. | ||
| */ | ||
| export * from './bytes.js'; | ||
| export * from "./bytes.js"; | ||
| /** | ||
| * Helpful TypeScript types | ||
| */ | ||
| export * from './types.js'; | ||
| export * from "./types.js"; | ||
| /** | ||
| * Export ethjs-util methods | ||
| */ | ||
| export * from './asyncEventEmitter.js'; | ||
| export * from './blobs.js'; | ||
| export * from './genesis.js'; | ||
| export { arrayContainsArray, fromAscii, fromUtf8, getBinarySize, getKeys, isHexString, padToEven, stripHexPrefix, toAscii, } from './internal.js'; | ||
| export * from './kzg.js'; | ||
| export * from './lock.js'; | ||
| export * from './mapDB.js'; | ||
| export * from './provider.js'; | ||
| export * from './request.js'; | ||
| export * from './tasks.js'; | ||
| export * from './verkle.js'; | ||
| export * from "./binaryTree.js"; | ||
| export * from "./blobs.js"; | ||
| export * from "./genesis.js"; | ||
| export { arrayContainsArray, fromAscii, fromUtf8, getBinarySize, getKeys, isHexString, padToEven, stripHexPrefix, toAscii, } from "./internal.js"; | ||
| export * from "./kzg.js"; | ||
| export * from "./lock.js"; | ||
| export * from "./mapDB.js"; | ||
| export * from "./provider.js"; | ||
| export * from "./request.js"; | ||
| export * from "./tasks.js"; | ||
| export * from "./verkle.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,gBAAgB,CAAA;AAE9B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,cAAc,CAAA;AAE5B;;GAEG;AACH,cAAc,cAAc,CAAA;AAE5B;;GAEG;AACH,cAAc,SAAS,CAAA;AAEvB;;GAEG;AACH,cAAc,iBAAiB,CAAA;AAE/B;;GAEG;AACH,cAAc,gBAAgB,CAAA;AAE9B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,OAAO,EACP,WAAW,EACX,SAAS,EACT,cAAc,EACd,OAAO,GACR,MAAM,eAAe,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,gBAAgB,CAAA;AAE9B;;GAEG;AACH,cAAc,aAAa,CAAA;AAE3B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,cAAc,CAAA;AAE5B;;GAEG;AACH,cAAc,cAAc,CAAA;AAE5B;;GAEG;AACH,cAAc,SAAS,CAAA;AAEvB;;GAEG;AACH,cAAc,iBAAiB,CAAA;AAE/B;;GAEG;AACH,cAAc,gBAAgB,CAAA;AAE9B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,YAAY,CAAA;AAE1B;;GAEG;AACH,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,OAAO,EACP,WAAW,EACX,SAAS,EACT,cAAc,EACd,OAAO,GACR,MAAM,eAAe,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA"} |
@@ -1,2 +0,2 @@ | ||
| import type { PrefixedHexString } from './types.js'; | ||
| import type { PrefixedHexString } from './types.ts'; | ||
| /** | ||
@@ -3,0 +3,0 @@ * Returns a boolean on whether or not the the input starts with '0x' and matches the optional length |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,IAAI,iBAAiB,CAMtF;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,MAK5C,CAAA;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAU/C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,UAMxC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,OAAO,EAAE,EACjB,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAaT;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAa3C;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,UAI3C;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,UAS5C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,YAuB1F"} | ||
| {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,IAAI,iBAAiB,CAMtF;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAO5C,CAAA;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAY/C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,UAQxC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,OAAO,EAAE,EACjB,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAaT;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAa3C;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,UAI3C;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,UAS5C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,YA2B1F"} |
+10
-9
@@ -24,3 +24,4 @@ /* | ||
| */ | ||
| import { bytesToUnprefixedHex, utf8ToBytes } from './bytes.js'; | ||
| import { bytesToUnprefixedHex, utf8ToBytes } from "./bytes.js"; | ||
| import { EthereumJSErrorWithoutCode } from "./errors.js"; | ||
| /** | ||
@@ -46,3 +47,3 @@ * Returns a boolean on whether or not the the input starts with '0x' and matches the optional length | ||
| if (typeof str !== 'string') | ||
| throw new Error(`[stripHexPrefix] input must be type 'string', received ${typeof str}`); | ||
| throw EthereumJSErrorWithoutCode(`[stripHexPrefix] input must be type 'string', received ${typeof str}`); | ||
| return isHexString(str) ? str.slice(2) : str; | ||
@@ -58,3 +59,3 @@ }; | ||
| if (typeof a !== 'string') { | ||
| throw new Error(`[padToEven] value must be type 'string', received ${typeof a}`); | ||
| throw EthereumJSErrorWithoutCode(`[padToEven] value must be type 'string', received ${typeof a}`); | ||
| } | ||
@@ -72,3 +73,3 @@ if (a.length % 2) | ||
| if (typeof str !== 'string') { | ||
| throw new Error(`[getBinarySize] method requires input type 'string', received ${typeof str}`); | ||
| throw EthereumJSErrorWithoutCode(`[getBinarySize] method requires input type 'string', received ${typeof str}`); | ||
| } | ||
@@ -87,6 +88,6 @@ return utf8ToBytes(str).byteLength; | ||
| if (Array.isArray(superset) !== true) { | ||
| throw new Error(`[arrayContainsArray] method requires input 'superset' to be an array, got type '${typeof superset}'`); | ||
| throw EthereumJSErrorWithoutCode(`[arrayContainsArray] method requires input 'superset' to be an array, got type '${typeof superset}'`); | ||
| } | ||
| if (Array.isArray(subset) !== true) { | ||
| throw new Error(`[arrayContainsArray] method requires input 'subset' to be an array, got type '${typeof subset}'`); | ||
| throw EthereumJSErrorWithoutCode(`[arrayContainsArray] method requires input 'subset' to be an array, got type '${typeof subset}'`); | ||
| } | ||
@@ -154,6 +155,6 @@ return subset[some === true ? 'some' : 'every']((value) => superset.indexOf(value) >= 0); | ||
| if (!Array.isArray(params)) { | ||
| throw new Error(`[getKeys] method expects input 'params' to be an array, got ${typeof params}`); | ||
| throw EthereumJSErrorWithoutCode(`[getKeys] method expects input 'params' to be an array, got ${typeof params}`); | ||
| } | ||
| if (typeof key !== 'string') { | ||
| throw new Error(`[getKeys] method expects input 'key' to be type 'string', got ${typeof params}`); | ||
| throw EthereumJSErrorWithoutCode(`[getKeys] method expects input 'key' to be type 'string', got ${typeof params}`); | ||
| } | ||
@@ -167,3 +168,3 @@ const result = []; | ||
| else if (typeof value !== 'string') { | ||
| throw new Error(`invalid abi - expected type 'string', received ${typeof value}`); | ||
| throw EthereumJSErrorWithoutCode(`invalid abi - expected type 'string', received ${typeof value}`); | ||
| } | ||
@@ -170,0 +171,0 @@ result.push(value); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/lock.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,MAAM,OAAO,IAAI;IAAjB;QACU,YAAO,GAAW,CAAC,CAAA;QACnB,yBAAoB,GAAgC,EAAE,CAAA;IAsChE,CAAC;IApCC;;;OAGG;IACI,KAAK,CAAC,OAAO;QAClB,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;YACjB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;SAC7B;QAED,6FAA6F;QAC7F,sDAAsD;QACtD,OAAO,IAAI,OAAO,CAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACrF,CAAC;IAED;;;OAGG;IACI,OAAO;QACZ,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;QAEjB,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5D,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;SAChF;aAAM,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;YACrE,qFAAqF;YACrF,yEAAyE;YACzE,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;YAEjB,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAA;YACtD,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,IAAI,CAAC,CAAA;aACnB;SACF;IACH,CAAC;CACF"} | ||
| {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/lock.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,MAAM,OAAO,IAAI;IAAjB;QACU,YAAO,GAAW,CAAC,CAAA;QACnB,yBAAoB,GAAgC,EAAE,CAAA;IAsChE,CAAC;IApCC;;;OAGG;IACI,KAAK,CAAC,OAAO;QAClB,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;YACjB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC;QAED,6FAA6F;QAC7F,sDAAsD;QACtD,OAAO,IAAI,OAAO,CAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACrF,CAAC;IAED;;;OAGG;IACI,OAAO;QACZ,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;QAEjB,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;QACjF,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,qFAAqF;YACrF,yEAAyE;YACzE,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;YAEjB,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAA;YACtD,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,IAAI,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;IACH,CAAC;CACF"} |
@@ -1,2 +0,2 @@ | ||
| import type { BatchDBOp, DB, DBObject } from './db.js'; | ||
| import type { BatchDBOp, DB, DBObject } from './db.ts'; | ||
| export declare class MapDB<TKey extends Uint8Array | string | number, TValue extends Uint8Array | string | DBObject> implements DB<TKey, TValue> { | ||
@@ -3,0 +3,0 @@ _database: Map<TKey, TValue>; |
@@ -1,2 +0,2 @@ | ||
| import { bytesToUnprefixedHex } from './bytes.js'; | ||
| import { bytesToUnprefixedHex } from "./bytes.js"; | ||
| export class MapDB { | ||
@@ -3,0 +3,0 @@ constructor(database) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"mapDB.js","sourceRoot":"","sources":["../../src/mapDB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAIjD,MAAM,OAAO,KAAK;IAOhB,YAAY,QAA4B;QACtC,IAAI,CAAC,SAAS,GAAG,QAAQ,IAAI,IAAI,GAAG,EAAgB,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAS;QACjB,MAAM,KAAK,GAAG,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QACpF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAa,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAS,EAAE,GAAW;QAC9B,MAAM,KAAK,GAAG,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QACpF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAa,EAAE,GAAG,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAS;QACjB,MAAM,KAAK,GAAG,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QACpF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAa,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAkC;QAC5C,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE;YACxB,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE;gBACrB,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;aACvB;YAED,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE;gBACrB,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;aACjC;SACF;IACH,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,OAAO,IAAI,KAAK,CAAe,IAAI,CAAC,SAAS,CAAC,CAAA;IAChD,CAAC;IAED,IAAI;QACF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF"} | ||
| {"version":3,"file":"mapDB.js","sourceRoot":"","sources":["../../src/mapDB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAIjD,MAAM,OAAO,KAAK;IAOhB,YAAY,QAA4B;QACtC,IAAI,CAAC,SAAS,GAAG,QAAQ,IAAI,IAAI,GAAG,EAAgB,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAS;QACjB,MAAM,KAAK,GAAG,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QACpF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAa,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAS,EAAE,GAAW;QAC9B,MAAM,KAAK,GAAG,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QACpF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAa,EAAE,GAAG,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAS;QACjB,MAAM,KAAK,GAAG,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QACpF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAa,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAkC;QAC5C,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACzB,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;YAED,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,OAAO,IAAI,KAAK,CAAe,IAAI,CAAC,SAAS,CAAC,CAAA;IAChD,CAAC;IAED,IAAI;QACF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,MAAM,CAAC,EAAE,CAAA;CACjD,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,QAAe,MAAM,UAAU,SAAS,iBAiCrE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,aAAc,MAAM,GAAG,cAAc,WAQ5D,CAAA;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM;QACpB,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;CACF"} | ||
| {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAEA,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,MAAM,CAAC,EAAE,CAAA;CACjD,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,GAAU,KAAK,MAAM,EAAE,QAAQ,SAAS,iBAiCrE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,GAAG,cAAc,WAQ5D,CAAA;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM;QACpB,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;CACF"} |
@@ -0,1 +1,2 @@ | ||
| import { EthereumJSErrorWithoutCode } from "./errors.js"; | ||
| /** | ||
@@ -34,3 +35,3 @@ * Makes a simple RPC call to a remote Ethereum JSON-RPC provider and passes through the response. | ||
| if (!res.ok) { | ||
| throw new Error(`JSONRPCError: ${JSON.stringify({ | ||
| throw EthereumJSErrorWithoutCode(`JSONRPCError: ${JSON.stringify({ | ||
| method: params.method, | ||
@@ -60,5 +61,5 @@ status: res.status, | ||
| else { | ||
| throw new Error('Must provide valid provider URL or Web3Provider'); | ||
| throw EthereumJSErrorWithoutCode('Must provide valid provider URL or Web3Provider'); | ||
| } | ||
| }; | ||
| //# sourceMappingURL=provider.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,GAAW,EAAE,MAAiB,EAAE,EAAE;IACxE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,KAAK;QACd,EAAE,EAAE,CAAC;KACN,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;QACX,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,CAAC,SAAS,CAC7B;YACE,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBACnC,OAAO,iEAAiE,CAAA;YAC1E,CAAC,CAAC;SACH,EACD,IAAI,EACJ,CAAC,CACF,EAAE,CACJ,CAAA;KACF;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAC7B,uCAAuC;IACvC,OAAO,IAAI,CAAC,MAAM,CAAA;AACpB,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAiC,EAAE,EAAE;IAC/D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,OAAO,QAAQ,CAAA;KAChB;SAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE;QAChF,OAAO,QAAQ,CAAC,cAAc,EAAE,CAAC,GAAG,CAAA;KACrC;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;KACnE;AACH,CAAC,CAAA"} | ||
| {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAOxD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,GAAW,EAAE,MAAiB,EAAE,EAAE;IACxE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,KAAK;QACd,EAAE,EAAE,CAAC;KACN,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,0BAA0B,CAC9B,iBAAiB,IAAI,CAAC,SAAS,CAC7B;YACE,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBACnC,OAAO,iEAAiE,CAAA;YAC1E,CAAC,CAAC;SACH,EACD,IAAI,EACJ,CAAC,CACF,EAAE,CACJ,CAAA;IACH,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAC7B,uCAAuC;IACvC,OAAO,IAAI,CAAC,MAAM,CAAA;AACpB,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAiC,EAAE,EAAE;IAC/D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAA;IACjB,CAAC;SAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACjF,OAAO,QAAQ,CAAC,cAAc,EAAE,CAAC,GAAG,CAAA;IACtC,CAAC;SAAM,CAAC;QACN,MAAM,0BAA0B,CAAC,iDAAiD,CAAC,CAAA;IACrF,CAAC;AACH,CAAC,CAAA"} |
+14
-96
@@ -1,102 +0,20 @@ | ||
| import type { PrefixedHexString } from './types.js'; | ||
| import type { PrefixedHexString } from './types.ts'; | ||
| export type RequestBytes = Uint8Array; | ||
| export declare enum CLRequestType { | ||
| Deposit = 0, | ||
| Withdrawal = 1, | ||
| Consolidation = 2 | ||
| } | ||
| export type DepositRequestV1 = { | ||
| pubkey: PrefixedHexString; | ||
| withdrawalCredentials: PrefixedHexString; | ||
| amount: PrefixedHexString; | ||
| signature: PrefixedHexString; | ||
| index: PrefixedHexString; | ||
| export type CLRequestType = (typeof CLRequestType)[keyof typeof CLRequestType]; | ||
| export declare const CLRequestType: { | ||
| readonly Deposit: 0; | ||
| readonly Withdrawal: 1; | ||
| readonly Consolidation: 2; | ||
| }; | ||
| export type WithdrawalRequestV1 = { | ||
| sourceAddress: PrefixedHexString; | ||
| validatorPubkey: PrefixedHexString; | ||
| amount: PrefixedHexString; | ||
| }; | ||
| export type ConsolidationRequestV1 = { | ||
| sourceAddress: PrefixedHexString; | ||
| sourcePubkey: PrefixedHexString; | ||
| targetPubkey: PrefixedHexString; | ||
| }; | ||
| export interface RequestJSON { | ||
| [CLRequestType.Deposit]: DepositRequestV1; | ||
| [CLRequestType.Withdrawal]: WithdrawalRequestV1; | ||
| [CLRequestType.Consolidation]: ConsolidationRequestV1; | ||
| type: PrefixedHexString; | ||
| data: PrefixedHexString; | ||
| } | ||
| export type DepositRequestData = { | ||
| pubkey: Uint8Array; | ||
| withdrawalCredentials: Uint8Array; | ||
| amount: bigint; | ||
| signature: Uint8Array; | ||
| index: bigint; | ||
| }; | ||
| export type WithdrawalRequestData = { | ||
| sourceAddress: Uint8Array; | ||
| validatorPubkey: Uint8Array; | ||
| amount: bigint; | ||
| }; | ||
| export type ConsolidationRequestData = { | ||
| sourceAddress: Uint8Array; | ||
| sourcePubkey: Uint8Array; | ||
| targetPubkey: Uint8Array; | ||
| }; | ||
| export interface RequestData { | ||
| [CLRequestType.Deposit]: DepositRequestData; | ||
| [CLRequestType.Withdrawal]: WithdrawalRequestData; | ||
| [CLRequestType.Consolidation]: ConsolidationRequestData; | ||
| export declare class CLRequest<T extends CLRequestType> { | ||
| readonly bytes: Uint8Array; | ||
| get type(): T; | ||
| get data(): Uint8Array<ArrayBufferLike>; | ||
| constructor(requestType: T, requestData: Uint8Array); | ||
| } | ||
| export type TypedRequestData = RequestData[CLRequestType]; | ||
| export interface CLRequestInterface<T extends CLRequestType = CLRequestType> { | ||
| readonly type: T; | ||
| serialize(): Uint8Array; | ||
| toJSON(): RequestJSON[T]; | ||
| } | ||
| export declare abstract class CLRequest<T extends CLRequestType> implements CLRequestInterface<T> { | ||
| readonly type: T; | ||
| abstract serialize(): Uint8Array; | ||
| abstract toJSON(): RequestJSON[T]; | ||
| constructor(type: T); | ||
| } | ||
| export declare class DepositRequest extends CLRequest<CLRequestType.Deposit> { | ||
| readonly pubkey: Uint8Array; | ||
| readonly withdrawalCredentials: Uint8Array; | ||
| readonly amount: bigint; | ||
| readonly signature: Uint8Array; | ||
| readonly index: bigint; | ||
| constructor(pubkey: Uint8Array, withdrawalCredentials: Uint8Array, amount: bigint, signature: Uint8Array, index: bigint); | ||
| serialize(): Uint8Array; | ||
| toJSON(): DepositRequestV1; | ||
| } | ||
| export declare class WithdrawalRequest extends CLRequest<CLRequestType.Withdrawal> { | ||
| readonly sourceAddress: Uint8Array; | ||
| readonly validatorPubkey: Uint8Array; | ||
| readonly amount: bigint; | ||
| constructor(sourceAddress: Uint8Array, validatorPubkey: Uint8Array, amount: bigint); | ||
| serialize(): Uint8Array; | ||
| toJSON(): WithdrawalRequestV1; | ||
| } | ||
| export declare class ConsolidationRequest extends CLRequest<CLRequestType.Consolidation> { | ||
| readonly sourceAddress: Uint8Array; | ||
| readonly sourcePubkey: Uint8Array; | ||
| readonly targetPubkey: Uint8Array; | ||
| constructor(sourceAddress: Uint8Array, sourcePubkey: Uint8Array, targetPubkey: Uint8Array); | ||
| serialize(): Uint8Array; | ||
| toJSON(): ConsolidationRequestV1; | ||
| } | ||
| export declare function createDepositRequest(depositData: DepositRequestData): DepositRequest; | ||
| export declare function createDepositRequestFromJSON(jsonData: DepositRequestV1): DepositRequest; | ||
| export declare function createDepositRequestFromRLP(bytes: Uint8Array): DepositRequest; | ||
| export declare function createWithdrawalRequest(withdrawalData: WithdrawalRequestData): WithdrawalRequest; | ||
| export declare function createWithdrawalRequestFromJSON(jsonData: WithdrawalRequestV1): WithdrawalRequest; | ||
| export declare function createWithdrawalRequestFromRLP(bytes: Uint8Array): WithdrawalRequest; | ||
| export declare function createConsolidationRequest(consolidationData: ConsolidationRequestData): ConsolidationRequest; | ||
| export declare function createConsolidationRequestFromJSON(jsonData: ConsolidationRequestV1): ConsolidationRequest; | ||
| export declare function createConsolidationRequestFromRLP(bytes: Uint8Array): ConsolidationRequest; | ||
| export declare class CLRequestFactory { | ||
| static fromSerializedRequest(bytes: Uint8Array): CLRequest<CLRequestType>; | ||
| } | ||
| export declare function createCLRequest(bytes: Uint8Array): CLRequest<CLRequestType>; | ||
| //# sourceMappingURL=request.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,MAAM,MAAM,YAAY,GAAG,UAAU,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAA;AAE9E,eAAO,MAAM,aAAa;;;;CAIhB,CAAA;AAEV,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,iBAAiB,CAAA;IACvB,IAAI,EAAE,iBAAiB,CAAA;CACxB;AAED,qBAAa,SAAS,CAAC,CAAC,SAAS,aAAa;IAE5C,SAAgB,KAAK,EAAE,UAAU,CAAA;IAEjC,IAAI,IAAI,IACkB,CAAC,CAC1B;IAED,IAAI,IAAI,gCAEP;gBAEW,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU;CAGpD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,CAW3E"} |
+22
-153
@@ -1,161 +0,30 @@ | ||
| import { RLP } from '@ethereumjs/rlp'; | ||
| import { concatBytes } from 'ethereum-cryptography/utils'; | ||
| import { bigIntToBytes, bigIntToHex, bytesToBigInt, bytesToHex, hexToBigInt, hexToBytes, } from './bytes.js'; | ||
| import { BIGINT_0 } from './constants.js'; | ||
| export var CLRequestType; | ||
| (function (CLRequestType) { | ||
| CLRequestType[CLRequestType["Deposit"] = 0] = "Deposit"; | ||
| CLRequestType[CLRequestType["Withdrawal"] = 1] = "Withdrawal"; | ||
| CLRequestType[CLRequestType["Consolidation"] = 2] = "Consolidation"; | ||
| })(CLRequestType = CLRequestType || (CLRequestType = {})); | ||
| import { concatBytes } from "./bytes.js"; | ||
| export const CLRequestType = { | ||
| Deposit: 0, | ||
| Withdrawal: 1, | ||
| Consolidation: 2, | ||
| }; | ||
| export class CLRequest { | ||
| constructor(type) { | ||
| this.type = type; | ||
| get type() { | ||
| return this.bytes[0]; | ||
| } | ||
| } | ||
| export class DepositRequest extends CLRequest { | ||
| constructor(pubkey, withdrawalCredentials, amount, signature, index) { | ||
| super(CLRequestType.Deposit); | ||
| this.pubkey = pubkey; | ||
| this.withdrawalCredentials = withdrawalCredentials; | ||
| this.amount = amount; | ||
| this.signature = signature; | ||
| this.index = index; | ||
| get data() { | ||
| return this.bytes.subarray(1); | ||
| } | ||
| serialize() { | ||
| const indexBytes = this.index === BIGINT_0 ? new Uint8Array() : bigIntToBytes(this.index); | ||
| const amountBytes = this.amount === BIGINT_0 ? new Uint8Array() : bigIntToBytes(this.amount); | ||
| return concatBytes(Uint8Array.from([this.type]), RLP.encode([ | ||
| this.pubkey, | ||
| this.withdrawalCredentials, | ||
| amountBytes, | ||
| this.signature, | ||
| indexBytes, | ||
| ])); | ||
| constructor(requestType, requestData) { | ||
| this.bytes = concatBytes(new Uint8Array([requestType]), requestData); | ||
| } | ||
| toJSON() { | ||
| return { | ||
| pubkey: bytesToHex(this.pubkey), | ||
| withdrawalCredentials: bytesToHex(this.withdrawalCredentials), | ||
| amount: bigIntToHex(this.amount), | ||
| signature: bytesToHex(this.signature), | ||
| index: bigIntToHex(this.index), | ||
| }; | ||
| } | ||
| } | ||
| export class WithdrawalRequest extends CLRequest { | ||
| constructor(sourceAddress, validatorPubkey, amount) { | ||
| super(CLRequestType.Withdrawal); | ||
| this.sourceAddress = sourceAddress; | ||
| this.validatorPubkey = validatorPubkey; | ||
| this.amount = amount; | ||
| export function createCLRequest(bytes) { | ||
| switch (bytes[0]) { | ||
| case CLRequestType.Deposit: | ||
| return new CLRequest(CLRequestType.Deposit, bytes.subarray(1)); | ||
| case CLRequestType.Withdrawal: | ||
| return new CLRequest(CLRequestType.Withdrawal, bytes.subarray(1)); | ||
| case CLRequestType.Consolidation: | ||
| return new CLRequest(CLRequestType.Consolidation, bytes.subarray(1)); | ||
| default: | ||
| throw Error(`Invalid request type=${bytes[0]}`); | ||
| } | ||
| serialize() { | ||
| const amountBytes = this.amount === BIGINT_0 ? new Uint8Array() : bigIntToBytes(this.amount); | ||
| return concatBytes(Uint8Array.from([this.type]), RLP.encode([this.sourceAddress, this.validatorPubkey, amountBytes])); | ||
| } | ||
| toJSON() { | ||
| return { | ||
| sourceAddress: bytesToHex(this.sourceAddress), | ||
| validatorPubkey: bytesToHex(this.validatorPubkey), | ||
| amount: bigIntToHex(this.amount), | ||
| }; | ||
| } | ||
| } | ||
| export class ConsolidationRequest extends CLRequest { | ||
| constructor(sourceAddress, sourcePubkey, targetPubkey) { | ||
| super(CLRequestType.Consolidation); | ||
| this.sourceAddress = sourceAddress; | ||
| this.sourcePubkey = sourcePubkey; | ||
| this.targetPubkey = targetPubkey; | ||
| } | ||
| serialize() { | ||
| return concatBytes(Uint8Array.from([this.type]), RLP.encode([this.sourceAddress, this.sourcePubkey, this.targetPubkey])); | ||
| } | ||
| toJSON() { | ||
| return { | ||
| sourceAddress: bytesToHex(this.sourceAddress), | ||
| sourcePubkey: bytesToHex(this.sourcePubkey), | ||
| targetPubkey: bytesToHex(this.targetPubkey), | ||
| }; | ||
| } | ||
| } | ||
| export function createDepositRequest(depositData) { | ||
| const { pubkey, withdrawalCredentials, amount, signature, index } = depositData; | ||
| return new DepositRequest(pubkey, withdrawalCredentials, amount, signature, index); | ||
| } | ||
| export function createDepositRequestFromJSON(jsonData) { | ||
| const { pubkey, withdrawalCredentials, amount, signature, index } = jsonData; | ||
| return createDepositRequest({ | ||
| pubkey: hexToBytes(pubkey), | ||
| withdrawalCredentials: hexToBytes(withdrawalCredentials), | ||
| amount: hexToBigInt(amount), | ||
| signature: hexToBytes(signature), | ||
| index: hexToBigInt(index), | ||
| }); | ||
| } | ||
| export function createDepositRequestFromRLP(bytes) { | ||
| const [pubkey, withdrawalCredentials, amount, signature, index] = RLP.decode(bytes); | ||
| return createDepositRequest({ | ||
| pubkey, | ||
| withdrawalCredentials, | ||
| amount: bytesToBigInt(amount), | ||
| signature, | ||
| index: bytesToBigInt(index), | ||
| }); | ||
| } | ||
| export function createWithdrawalRequest(withdrawalData) { | ||
| const { sourceAddress, validatorPubkey, amount } = withdrawalData; | ||
| return new WithdrawalRequest(sourceAddress, validatorPubkey, amount); | ||
| } | ||
| export function createWithdrawalRequestFromJSON(jsonData) { | ||
| const { sourceAddress, validatorPubkey, amount } = jsonData; | ||
| return createWithdrawalRequest({ | ||
| sourceAddress: hexToBytes(sourceAddress), | ||
| validatorPubkey: hexToBytes(validatorPubkey), | ||
| amount: hexToBigInt(amount), | ||
| }); | ||
| } | ||
| export function createWithdrawalRequestFromRLP(bytes) { | ||
| const [sourceAddress, validatorPubkey, amount] = RLP.decode(bytes); | ||
| return createWithdrawalRequest({ | ||
| sourceAddress, | ||
| validatorPubkey, | ||
| amount: bytesToBigInt(amount), | ||
| }); | ||
| } | ||
| export function createConsolidationRequest(consolidationData) { | ||
| const { sourceAddress, sourcePubkey, targetPubkey } = consolidationData; | ||
| return new ConsolidationRequest(sourceAddress, sourcePubkey, targetPubkey); | ||
| } | ||
| export function createConsolidationRequestFromJSON(jsonData) { | ||
| const { sourceAddress, sourcePubkey, targetPubkey } = jsonData; | ||
| return createConsolidationRequest({ | ||
| sourceAddress: hexToBytes(sourceAddress), | ||
| sourcePubkey: hexToBytes(sourcePubkey), | ||
| targetPubkey: hexToBytes(targetPubkey), | ||
| }); | ||
| } | ||
| export function createConsolidationRequestFromRLP(bytes) { | ||
| const [sourceAddress, sourcePubkey, targetPubkey] = RLP.decode(bytes); | ||
| return createConsolidationRequest({ | ||
| sourceAddress, | ||
| sourcePubkey, | ||
| targetPubkey, | ||
| }); | ||
| } | ||
| export class CLRequestFactory { | ||
| static fromSerializedRequest(bytes) { | ||
| switch (bytes[0]) { | ||
| case CLRequestType.Deposit: | ||
| return createDepositRequestFromRLP(bytes.subarray(1)); | ||
| case CLRequestType.Withdrawal: | ||
| return createWithdrawalRequestFromRLP(bytes.subarray(1)); | ||
| case CLRequestType.Consolidation: | ||
| return createConsolidationRequestFromRLP(bytes.subarray(1)); | ||
| default: | ||
| throw Error(`Invalid request type=${bytes[0]}`); | ||
| } | ||
| } | ||
| } | ||
| //# sourceMappingURL=request.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAQxC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,CAAC;IACb,aAAa,EAAE,CAAC;CACR,CAAA;AAOV,MAAM,OAAO,SAAS;IAIpB,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAM,CAAA;IAC3B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC/B,CAAC;IAED,YAAY,WAAc,EAAE,WAAuB;QACjD,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;IACtE,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAAC,KAAiB;IAC/C,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjB,KAAK,aAAa,CAAC,OAAO;YACxB,OAAO,IAAI,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAChE,KAAK,aAAa,CAAC,UAAU;YAC3B,OAAO,IAAI,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACnE,KAAK,aAAa,CAAC,aAAa;YAC9B,OAAO,IAAI,SAAS,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACtE;YACE,MAAM,KAAK,CAAC,wBAAwB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACnD,CAAC;AACH,CAAC"} |
@@ -1,2 +0,2 @@ | ||
| import type { PrefixedHexString } from './types.js'; | ||
| import type { PrefixedHexString } from './types.ts'; | ||
| export interface ECDSASignature { | ||
@@ -7,9 +7,27 @@ v: bigint; | ||
| } | ||
| export interface ECSignOpts { | ||
| chainId?: bigint; | ||
| extraEntropy?: Uint8Array | boolean; | ||
| } | ||
| /** | ||
| * Returns the ECDSA signature of a message hash. | ||
| * | ||
| * If `chainId` is provided assume an EIP-155-style signature and calculate the `v` value | ||
| * If {@link ECSignOpts.chainId} is provided assume an EIP-155-style signature and calculate the `v` value | ||
| * accordingly, otherwise return a "static" `v` just derived from the `recovery` bit | ||
| * | ||
| * {@link ECSignOpts.extraEntropy} defaults to `false`. If set to `true`, this will create a "hedged signature" | ||
| * which is non-deterministic and provides additional protections against private key extraction attack vectors, | ||
| * as described in https://github.com/ethereumjs/ethereumjs-monorepo/issues/3801. It will yield a | ||
| * different, random signature each time `ecsign` is called on the same `msgHash` and `privateKey`. | ||
| * In particular: each time a transaction is signed, this will thus yield a different, random | ||
| * transaction hash. | ||
| * Additionally, a `Uint8Array` can be passed to `extraEntropy` to provide custom entropy, which | ||
| * will then still create a | ||
| * To use this feature, pass `true` or a `Uint8Array` to `extraEntropy`. | ||
| * For more information, see: https://github.com/ethereumjs/ethereumjs-monorepo/issues/3801 | ||
| */ | ||
| export declare function ecsign(msgHash: Uint8Array, privateKey: Uint8Array, chainId?: bigint): ECDSASignature; | ||
| export declare function ecsign(msgHash: Uint8Array, privateKey: Uint8Array, ecSignOpts?: { | ||
| chainId?: bigint; | ||
| extraEntropy?: Uint8Array | boolean; | ||
| }): ECDSASignature; | ||
| export declare function calculateSigRecovery(v: bigint, chainId?: bigint): bigint; | ||
@@ -16,0 +34,0 @@ /** |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,UAAU,CAAA;IACb,CAAC,EAAE,UAAU,CAAA;CACd;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CACpB,OAAO,EAAE,UAAU,EACnB,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,cAAc,CAYhB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAOxE;AAMD;;;;GAIG;AACH,eAAO,MAAM,SAAS,YACX,UAAU,KAChB,MAAM,KACN,UAAU,KACV,UAAU,YACH,MAAM,KACf,UAUF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,MAChB,MAAM,KACN,UAAU,KACV,UAAU,YACH,MAAM,KACf,MASF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,MACpB,MAAM,KACN,UAAU,KACV,UAAU,YACH,MAAM,KACf,MAYF,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,QAAkB,iBAAiB,KAAG,cA8B5D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,MACxB,MAAM,KACN,UAAU,KACV,UAAU,qBACK,OAAO,YACf,MAAM,KACf,OA0BF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,YAAsB,UAAU,KAAG,UAIlE,CAAA"} | ||
| {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,UAAU,CAAA;IACb,CAAC,EAAE,UAAU,CAAA;CACd;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,UAAU,GAAG,OAAO,CAAA;CACpC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CACpB,OAAO,EAAE,UAAU,EACnB,UAAU,EAAE,UAAU,EACtB,UAAU,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,UAAU,GAAG,OAAO,CAAA;CAA4B,GAC9F,cAAc,CAuBhB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAOxE;AAMD;;;;GAIG;AACH,eAAO,MAAM,SAAS,GACpB,SAAS,UAAU,EACnB,GAAG,MAAM,EACT,GAAG,UAAU,EACb,GAAG,UAAU,EACb,UAAU,MAAM,KACf,UAUF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GACnB,GAAG,MAAM,EACT,GAAG,UAAU,EACb,GAAG,UAAU,EACb,UAAU,MAAM,KACf,MASF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,GACvB,GAAG,MAAM,EACT,GAAG,UAAU,EACb,GAAG,UAAU,EACb,UAAU,MAAM,KACf,MAYF,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GAAa,KAAK,iBAAiB,KAAG,cA8B5D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,GAAG,MAAM,EACT,GAAG,UAAU,EACb,GAAG,UAAU,EACb,mBAAkB,OAAc,EAChC,UAAU,MAAM,KACf,OA0BF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAa,SAAS,UAAU,KAAG,UAIlE,CAAA"} |
+30
-10
| import { keccak256 } from 'ethereum-cryptography/keccak.js'; | ||
| import { secp256k1 } from 'ethereum-cryptography/secp256k1.js'; | ||
| import { bytesToBigInt, bytesToHex, bytesToInt, concatBytes, setLengthLeft, toBytes, utf8ToBytes, } from './bytes.js'; | ||
| import { BIGINT_0, BIGINT_1, BIGINT_2, BIGINT_27, SECP256K1_ORDER, SECP256K1_ORDER_DIV_2, } from './constants.js'; | ||
| import { assertIsBytes } from './helpers.js'; | ||
| import { bytesToBigInt, bytesToHex, bytesToInt, concatBytes, setLengthLeft, toBytes, utf8ToBytes, } from "./bytes.js"; | ||
| import { BIGINT_0, BIGINT_1, BIGINT_2, BIGINT_27, SECP256K1_ORDER, SECP256K1_ORDER_DIV_2, } from "./constants.js"; | ||
| import { EthereumJSErrorWithoutCode } from "./errors.js"; | ||
| import { assertIsBytes } from "./helpers.js"; | ||
| /** | ||
| * Returns the ECDSA signature of a message hash. | ||
| * | ||
| * If `chainId` is provided assume an EIP-155-style signature and calculate the `v` value | ||
| * If {@link ECSignOpts.chainId} is provided assume an EIP-155-style signature and calculate the `v` value | ||
| * accordingly, otherwise return a "static" `v` just derived from the `recovery` bit | ||
| * | ||
| * {@link ECSignOpts.extraEntropy} defaults to `false`. If set to `true`, this will create a "hedged signature" | ||
| * which is non-deterministic and provides additional protections against private key extraction attack vectors, | ||
| * as described in https://github.com/ethereumjs/ethereumjs-monorepo/issues/3801. It will yield a | ||
| * different, random signature each time `ecsign` is called on the same `msgHash` and `privateKey`. | ||
| * In particular: each time a transaction is signed, this will thus yield a different, random | ||
| * transaction hash. | ||
| * Additionally, a `Uint8Array` can be passed to `extraEntropy` to provide custom entropy, which | ||
| * will then still create a | ||
| * To use this feature, pass `true` or a `Uint8Array` to `extraEntropy`. | ||
| * For more information, see: https://github.com/ethereumjs/ethereumjs-monorepo/issues/3801 | ||
| */ | ||
| export function ecsign(msgHash, privateKey, chainId) { | ||
| const sig = secp256k1.sign(msgHash, privateKey); | ||
| export function ecsign(msgHash, privateKey, ecSignOpts = { extraEntropy: false }) { | ||
| const { chainId, extraEntropy } = ecSignOpts; | ||
| const sig = secp256k1.sign(msgHash, privateKey, { extraEntropy: extraEntropy ?? false }); | ||
| const buf = sig.toCompactRawBytes(); | ||
| const r = buf.slice(0, 32); | ||
| const s = buf.slice(32, 64); | ||
| if ([2, 3].includes(sig.recovery)) { | ||
| // From the yellow paper: | ||
| /* The recovery identifier is a 1 byte value specifying the parity and finiteness of the coordinates | ||
| of the curve point for which r is the x-value; this value is in the range of [0, 3], | ||
| however we declare the upper two possibilities, representing infinite values, invalid. */ | ||
| throw EthereumJSErrorWithoutCode(`Invalid recovery value: values 2/3 are invalid, received: ${sig.recovery}`); | ||
| } | ||
| const v = chainId === undefined | ||
@@ -42,3 +62,3 @@ ? BigInt(sig.recovery + 27) | ||
| if (!isValidSigRecovery(recovery)) { | ||
| throw new Error('Invalid signature v value'); | ||
| throw EthereumJSErrorWithoutCode('Invalid signature v value'); | ||
| } | ||
@@ -57,3 +77,3 @@ const sig = secp256k1.Signature.fromCompact(signature).addRecoveryBit(Number(recovery)); | ||
| if (!isValidSigRecovery(recovery)) { | ||
| throw new Error('Invalid signature v value'); | ||
| throw EthereumJSErrorWithoutCode('Invalid signature v value'); | ||
| } | ||
@@ -71,3 +91,3 @@ // geth (and the RPC eth_sign method) uses the 65 byte format used by Bitcoin | ||
| if (!isValidSigRecovery(recovery)) { | ||
| throw new Error('Invalid signature v value'); | ||
| throw EthereumJSErrorWithoutCode('Invalid signature v value'); | ||
| } | ||
@@ -106,3 +126,3 @@ const ss = Uint8Array.from([...s]); | ||
| else { | ||
| throw new Error('Invalid signature length'); | ||
| throw EthereumJSErrorWithoutCode('Invalid signature length'); | ||
| } | ||
@@ -109,0 +129,0 @@ // support both versions of `eth_sign` responses |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/tasks.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,uBAAuB;IAQlC;;;;;OAKG;IACH,YAAY,WAAmB;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAA;QACxB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;IACjB,CAAC;IAED;;;;;;;;OAQG;IACH,cAAc,CAAC,QAAgB,EAAE,EAAY;QAC3C,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE;YAC3C,IAAI,CAAC,eAAe,EAAE,CAAA;YACtB,EAAE,CAAC,GAAG,EAAE;gBACN,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;oBAClD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;oBAC/B,IAAI,CAAC,cAAc,CAAC,IAAK,CAAC,QAAQ,EAAE,IAAK,CAAC,EAAE,CAAC,CAAA;iBAC9C;YACH,CAAC,CAAC,CAAA;SACH;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;SAClC;IACH,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,eAAe,KAAK,CAAC,CAAA;IACnC,CAAC;CACF"} | ||
| {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/tasks.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,uBAAuB;IAQlC;;;;;OAKG;IACH,YAAY,WAAmB;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAA;QACxB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;IACjB,CAAC;IAED;;;;;;;;OAQG;IACH,cAAc,CAAC,QAAgB,EAAE,EAAY;QAC3C,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC,eAAe,EAAE,CAAA;YACtB,EAAE,CAAC,GAAG,EAAE;gBACN,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;oBAClD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;oBAC/B,IAAI,CAAC,cAAc,CAAC,IAAK,CAAC,QAAQ,EAAE,IAAK,CAAC,EAAE,CAAC,CAAA;gBAC/C,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,eAAe,KAAK,CAAC,CAAA;IACnC,CAAC;CACF"} |
+9
-11
@@ -1,3 +0,3 @@ | ||
| import type { Address } from './address.js'; | ||
| import type { ToBytesInputTypes } from './bytes.js'; | ||
| import type { Address } from './address.ts'; | ||
| import type { ToBytesInputTypes } from './bytes.ts'; | ||
| export type BigIntLike = bigint | PrefixedHexString | number | Uint8Array; | ||
@@ -16,11 +16,9 @@ export type BytesLike = Uint8Array | number[] | number | bigint | TransformableToBytes | PrefixedHexString; | ||
| export declare function isNestedUint8Array(value: unknown): value is NestedUint8Array; | ||
| /** | ||
| * Type output options | ||
| */ | ||
| export declare enum TypeOutput { | ||
| Number = 0, | ||
| BigInt = 1, | ||
| Uint8Array = 2, | ||
| PrefixedHexString = 3 | ||
| } | ||
| export type TypeOutput = (typeof TypeOutput)[keyof typeof TypeOutput]; | ||
| export declare const TypeOutput: { | ||
| readonly Number: 0; | ||
| readonly BigInt: 1; | ||
| readonly Uint8Array: 2; | ||
| readonly PrefixedHexString: 3; | ||
| }; | ||
| export type TypeOutputReturnType = { | ||
@@ -27,0 +25,0 @@ [TypeOutput.Number]: number; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAKnD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,iBAAiB,GAAG,MAAM,GAAG,UAAU,CAAA;AAKzE,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,MAAM,EAAE,GACR,MAAM,GACN,MAAM,GACN,oBAAoB,GACpB,iBAAiB,CAAA;AAKrB,MAAM,MAAM,aAAa,GAAG,GAAG,MAAM,EAAE,CAAA;AAKvC,MAAM,MAAM,iBAAiB,GAAG,KAAK,MAAM,EAAE,CAAA;AAE7C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,iBAAiB,CAAA;AAElE,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,IAAI,UAAU,CAAA;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,GAAG,gBAAgB,CAAC,CAAA;AAEnE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAc5E;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,MAAM,IAAA;IACN,MAAM,IAAA;IACN,UAAU,IAAA;IACV,iBAAiB,IAAA;CAClB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAC3B,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAC3B,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,UAAU,CAAA;IACnC,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CAClD,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,GAAG,IAAI,CAAA;AAC9E,wBAAgB,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,SAAS,CAAA;AACxF,wBAAgB,MAAM,CAAC,CAAC,SAAS,UAAU,EACzC,KAAK,EAAE,iBAAiB,EACxB,UAAU,EAAE,CAAC,GACZ,oBAAoB,CAAC,CAAC,CAAC,CAAA"} | ||
| {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAKnD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,iBAAiB,GAAG,MAAM,GAAG,UAAU,CAAA;AAKzE,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,MAAM,EAAE,GACR,MAAM,GACN,MAAM,GACN,oBAAoB,GACpB,iBAAiB,CAAA;AAKrB,MAAM,MAAM,aAAa,GAAG,GAAG,MAAM,EAAE,CAAA;AAKvC,MAAM,MAAM,iBAAiB,GAAG,KAAK,MAAM,EAAE,CAAA;AAE7C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,iBAAiB,CAAA;AAElE,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,IAAI,UAAU,CAAA;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,GAAG,gBAAgB,CAAC,CAAA;AAEnE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAc5E;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAA;AAErE,eAAO,MAAM,UAAU;;;;;CAKb,CAAA;AAEV,MAAM,MAAM,oBAAoB,GAAG;IACjC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAC3B,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAC3B,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,UAAU,CAAA;IACnC,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CAClD,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,GAAG,IAAI,CAAA;AAC9E,wBAAgB,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,SAAS,CAAA;AACxF,wBAAgB,MAAM,CAAC,CAAC,SAAS,UAAU,EACzC,KAAK,EAAE,iBAAiB,EACxB,UAAU,EAAE,CAAC,GACZ,oBAAoB,CAAC,CAAC,CAAC,CAAA"} |
+13
-16
@@ -1,3 +0,4 @@ | ||
| import { bytesToBigInt, bytesToHex, toBytes } from './bytes.js'; | ||
| import { isHexString } from './internal.js'; | ||
| import { bytesToBigInt, bytesToHex, toBytes } from "./bytes.js"; | ||
| import { EthereumJSErrorWithoutCode } from "./errors.js"; | ||
| import { isHexString } from "./internal.js"; | ||
| export function isNestedUint8Array(value) { | ||
@@ -19,12 +20,8 @@ if (!Array.isArray(value)) { | ||
| } | ||
| /** | ||
| * Type output options | ||
| */ | ||
| export var TypeOutput; | ||
| (function (TypeOutput) { | ||
| TypeOutput[TypeOutput["Number"] = 0] = "Number"; | ||
| TypeOutput[TypeOutput["BigInt"] = 1] = "BigInt"; | ||
| TypeOutput[TypeOutput["Uint8Array"] = 2] = "Uint8Array"; | ||
| TypeOutput[TypeOutput["PrefixedHexString"] = 3] = "PrefixedHexString"; | ||
| })(TypeOutput = TypeOutput || (TypeOutput = {})); | ||
| export const TypeOutput = { | ||
| Number: 0, | ||
| BigInt: 1, | ||
| Uint8Array: 2, | ||
| PrefixedHexString: 3, | ||
| }; | ||
| export function toType(input, outputType) { | ||
@@ -38,6 +35,6 @@ if (input === null) { | ||
| if (typeof input === 'string' && !isHexString(input)) { | ||
| throw new Error(`A string must be provided with a 0x-prefix, given: ${input}`); | ||
| throw EthereumJSErrorWithoutCode(`A string must be provided with a 0x-prefix, given: ${input}`); | ||
| } | ||
| else if (typeof input === 'number' && !Number.isSafeInteger(input)) { | ||
| throw new Error('The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)'); | ||
| throw EthereumJSErrorWithoutCode('The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)'); | ||
| } | ||
@@ -53,3 +50,3 @@ const output = toBytes(input); | ||
| if (bigInt > BigInt(Number.MAX_SAFE_INTEGER)) { | ||
| throw new Error('The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)'); | ||
| throw EthereumJSErrorWithoutCode('The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)'); | ||
| } | ||
@@ -61,5 +58,5 @@ return Number(bigInt); | ||
| default: | ||
| throw new Error('unknown outputType'); | ||
| throw EthereumJSErrorWithoutCode('unknown outputType'); | ||
| } | ||
| } | ||
| //# sourceMappingURL=types.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AA0C3C,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACzB,OAAO,KAAK,CAAA;KACb;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBAC7B,OAAO,KAAK,CAAA;aACb;SACF;aAAM,IAAI,CAAC,CAAC,IAAI,YAAY,UAAU,CAAC,EAAE;YACxC,OAAO,KAAK,CAAA;SACb;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,+CAAM,CAAA;IACN,+CAAM,CAAA;IACN,uDAAU,CAAA;IACV,qEAAiB,CAAA;AACnB,CAAC,EALW,UAAU,GAAV,UAAU,KAAV,UAAU,QAKrB;AAqBD,MAAM,UAAU,MAAM,CACpB,KAAwB,EACxB,UAAa;IAEb,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,IAAI,CAAA;KACZ;IACD,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO,SAAS,CAAA;KACjB;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;QACpD,MAAM,IAAI,KAAK,CAAC,sDAAsD,KAAK,EAAE,CAAC,CAAA;KAC/E;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;QACpE,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAA;KACF;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IAE7B,QAAQ,UAAU,EAAE;QAClB,KAAK,UAAU,CAAC,UAAU;YACxB,OAAO,MAAiC,CAAA;QAC1C,KAAK,UAAU,CAAC,MAAM;YACpB,OAAO,aAAa,CAAC,MAAM,CAA4B,CAAA;QACzD,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;YACpC,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;gBAC5C,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAA;aACF;YACD,OAAO,MAAM,CAAC,MAAM,CAA4B,CAAA;SACjD;QACD,KAAK,UAAU,CAAC,iBAAiB;YAC/B,OAAO,UAAU,CAAC,MAAM,CAA4B,CAAA;QACtD;YACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;KACxC;AACH,CAAC"} | ||
| {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AA0C3C,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,YAAY,UAAU,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAID,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,UAAU,EAAE,CAAC;IACb,iBAAiB,EAAE,CAAC;CACZ,CAAA;AAqBV,MAAM,UAAU,MAAM,CACpB,KAAwB,EACxB,UAAa;IAEb,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,0BAA0B,CAAC,sDAAsD,KAAK,EAAE,CAAC,CAAA;IACjG,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACrE,MAAM,0BAA0B,CAC9B,6FAA6F,CAC9F,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IAE7B,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,UAAU,CAAC,UAAU;YACxB,OAAO,MAAiC,CAAA;QAC1C,KAAK,UAAU,CAAC,MAAM;YACpB,OAAO,aAAa,CAAC,MAAM,CAA4B,CAAA;QACzD,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;YACpC,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC7C,MAAM,0BAA0B,CAC9B,8FAA8F,CAC/F,CAAA;YACH,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAA4B,CAAA;QAClD,CAAC;QACD,KAAK,UAAU,CAAC,iBAAiB;YAC/B,OAAO,UAAU,CAAC,MAAM,CAA4B,CAAA;QACtD;YACE,MAAM,0BAA0B,CAAC,oBAAoB,CAAC,CAAA;IAC1D,CAAC;AACH,CAAC"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../src/units.ts"],"names":[],"mappings":"AAEA,kCAAkC;AAClC,eAAO,MAAM,WAAW,QAAkB,CAAA;AAC1C,eAAO,MAAM,YAAY,QAAmB,CAAA;AAE5C,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAWR;AAED,qBAAa,KAAK;IAChB,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASnD;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAK7C;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;CAI7C"} | ||
| {"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../src/units.ts"],"names":[],"mappings":"AAGA,kCAAkC;AAClC,eAAO,MAAM,WAAW,QAAkB,CAAA;AAC1C,eAAO,MAAM,YAAY,QAAmB,CAAA;AAE5C,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAWR;AAED,qBAAa,KAAK;IAChB,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASnD;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAK7C;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;CAI7C"} |
@@ -1,2 +0,3 @@ | ||
| import { BIGINT_0, BIGINT_1 } from './constants.js'; | ||
| import { BIGINT_0, BIGINT_1 } from "./constants.js"; | ||
| import { EthereumJSErrorWithoutCode } from "./errors.js"; | ||
| /** Conversion constants to wei */ | ||
@@ -18,6 +19,6 @@ export const GWEI_TO_WEI = BigInt(10 ** 9); // Multiplier to convert from Gwei to Wei | ||
| if (typeof amount === 'number' && !Number.isInteger(amount)) { | ||
| throw new Error('Input must be an integer number'); | ||
| throw EthereumJSErrorWithoutCode('Input must be an integer number'); | ||
| } | ||
| if (BigInt(amount) < 0) { | ||
| throw new Error('Input must be a positive number'); | ||
| throw EthereumJSErrorWithoutCode('Input must be a positive number'); | ||
| } | ||
@@ -24,0 +25,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"units.js","sourceRoot":"","sources":["../../src/units.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEnD,kCAAkC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA,CAAC,yCAAyC;AACpF,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA,CAAC,0CAA0C;AAEvF,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,WAAmB,EACnB,gBAAwB;IAExB,IAAI,WAAW,KAAK,QAAQ,EAAE;QAC5B,WAAW,GAAG,QAAQ,CAAA;KACvB;IAED,MAAM,IAAI,GAAG,SAAS,GAAG,WAAW,CAAA;IACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI,GAAG,WAAW,CAAC,GAAG,gBAAgB,CAAC,GAAG,WAAW,CAAA;IAEpF,wGAAwG;IACxG,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAA;IACtF,OAAO,GAAG,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,QAAQ,EAAE,CAAA;AAC7D,CAAC;AAED,MAAM,OAAO,KAAK;IAChB,MAAM,CAAC,aAAa,CAAC,MAAuB;QAC1C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YAC3D,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;SACnD;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;SACnD;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAuB;QAClC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,CAAA;IACtC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,MAAuB;QACjC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAA;IACrC,CAAC;CACF"} | ||
| {"version":3,"file":"units.js","sourceRoot":"","sources":["../../src/units.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAExD,kCAAkC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA,CAAC,yCAAyC;AACpF,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA,CAAC,0CAA0C;AAEvF,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,WAAmB,EACnB,gBAAwB;IAExB,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC7B,WAAW,GAAG,QAAQ,CAAA;IACxB,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,GAAG,WAAW,CAAA;IACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI,GAAG,WAAW,CAAC,GAAG,gBAAgB,CAAC,GAAG,WAAW,CAAA;IAEpF,wGAAwG;IACxG,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAA;IACtF,OAAO,GAAG,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,QAAQ,EAAE,CAAA;AAC7D,CAAC;AAED,MAAM,OAAO,KAAK;IAChB,MAAM,CAAC,aAAa,CAAC,MAAuB;QAC1C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,MAAM,0BAA0B,CAAC,iCAAiC,CAAC,CAAA;QACrE,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,0BAA0B,CAAC,iCAAiC,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAuB;QAClC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,CAAA;IACtC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,MAAuB;QACjC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAA;IACrC,CAAC;CACF"} |
+16
-15
@@ -1,4 +0,4 @@ | ||
| import type { Account } from './account.js'; | ||
| import type { Address } from './address.js'; | ||
| import type { PrefixedHexString } from './types.js'; | ||
| import type { Account } from './account.ts'; | ||
| import type { Address } from './address.ts'; | ||
| import type { PrefixedHexString } from './types.ts'; | ||
| /** | ||
@@ -36,3 +36,3 @@ * Verkle related constants and helper functions | ||
| * @dev Assumes that the verkle node width = 256 | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from verkle-cryptography-wasm. | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from Verkle cryptography | ||
| * @param {Address} address The address to generate the tree key for. | ||
@@ -45,3 +45,3 @@ * @param treeIndex The index of the tree to generate the key for. Defaults to 0. | ||
| * Verifies that the executionWitness is valid for the given prestateRoot. | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from verkle-cryptography-wasm. | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from Verkle cryptography | ||
| * @param {VerkleExecutionWitness} executionWitness The verkle execution witness. | ||
@@ -91,6 +91,7 @@ * @returns {boolean} Whether or not the executionWitness belongs to the prestateRoot. | ||
| } | ||
| export declare enum VerkleLeafType { | ||
| BasicData = 0, | ||
| CodeHash = 1 | ||
| } | ||
| export type VerkleLeafType = (typeof VerkleLeafType)[keyof typeof VerkleLeafType]; | ||
| export declare const VerkleLeafType: { | ||
| readonly BasicData: 0; | ||
| readonly CodeHash: 1; | ||
| }; | ||
| export type VerkleLeafBasicData = { | ||
@@ -110,4 +111,4 @@ version: number; | ||
| export declare const VERKLE_BALANCE_BYTES_LENGTH = 16; | ||
| export declare const VERKLE_BASIC_DATA_LEAF_KEY: Uint8Array; | ||
| export declare const VERKLE_CODE_HASH_LEAF_KEY: Uint8Array; | ||
| export declare const VERKLE_BASIC_DATA_LEAF_KEY: Uint8Array<ArrayBufferLike>; | ||
| export declare const VERKLE_CODE_HASH_LEAF_KEY: Uint8Array<ArrayBufferLike>; | ||
| export declare const VERKLE_CODE_CHUNK_SIZE = 31; | ||
@@ -125,3 +126,3 @@ export declare const VERKLE_HEADER_STORAGE_OFFSET = 64; | ||
| */ | ||
| export declare const getVerkleKey: (stem: Uint8Array, leaf: VerkleLeafType | Uint8Array) => Uint8Array; | ||
| export declare const getVerkleKey: (stem: Uint8Array, leaf: VerkleLeafType | Uint8Array) => Uint8Array<ArrayBufferLike>; | ||
| /** | ||
@@ -154,4 +155,4 @@ * Calculates the position of the storage key in the Verkle tree, determining | ||
| */ | ||
| export declare const getVerkleTreeKeyForCodeChunk: (address: Address, chunkId: number, verkleCrypto: VerkleCrypto) => Promise<Uint8Array>; | ||
| export declare const chunkifyCode: (code: Uint8Array) => Uint8Array[]; | ||
| export declare const getVerkleTreeKeyForCodeChunk: (address: Address, chunkId: number, verkleCrypto: VerkleCrypto) => Promise<Uint8Array<ArrayBufferLike>>; | ||
| export declare const chunkifyCode: (code: Uint8Array) => Uint8Array<ArrayBufferLike>[]; | ||
| /** | ||
@@ -164,3 +165,3 @@ * Asynchronously calculates the Verkle tree key for the specified storage slot. | ||
| */ | ||
| export declare const getVerkleTreeKeyForStorageSlot: (address: Address, storageKey: bigint, verkleCrypto: VerkleCrypto) => Promise<Uint8Array>; | ||
| export declare const getVerkleTreeKeyForStorageSlot: (address: Address, storageKey: bigint, verkleCrypto: VerkleCrypto) => Promise<Uint8Array<ArrayBufferLike>>; | ||
| /** | ||
@@ -167,0 +168,0 @@ * This function extracts and decodes account header elements (version, nonce, code size, and balance) |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"verkle.d.ts","sourceRoot":"","sources":["../../src/verkle.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"verkle.d.ts","sourceRoot":"","sources":["../../src/verkle.ts"],"names":[],"mappings":"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"} |
+43
-49
@@ -1,6 +0,6 @@ | ||
| import { bigIntToBytes, bytesToBigInt, bytesToInt32, concatBytes, int32ToBytes, intToBytes, setLengthLeft, setLengthRight, toBytes, } from './bytes.js'; | ||
| import { bigIntToBytes, bytesToBigInt, bytesToInt32, concatBytes, int32ToBytes, intToBytes, setLengthLeft, setLengthRight, toBytes, } from "./bytes.js"; | ||
| /** | ||
| * @dev Returns the 31-bytes verkle tree stem for a given address and tree index. | ||
| * @dev Assumes that the verkle node width = 256 | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from verkle-cryptography-wasm. | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from Verkle cryptography | ||
| * @param {Address} address The address to generate the tree key for. | ||
@@ -24,3 +24,3 @@ * @param treeIndex The index of the tree to generate the key for. Defaults to 0. | ||
| * Verifies that the executionWitness is valid for the given prestateRoot. | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from verkle-cryptography-wasm. | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from Verkle cryptography | ||
| * @param {VerkleExecutionWitness} executionWitness The verkle execution witness. | ||
@@ -33,7 +33,6 @@ * @returns {boolean} Whether or not the executionWitness belongs to the prestateRoot. | ||
| } | ||
| export var VerkleLeafType; | ||
| (function (VerkleLeafType) { | ||
| VerkleLeafType[VerkleLeafType["BasicData"] = 0] = "BasicData"; | ||
| VerkleLeafType[VerkleLeafType["CodeHash"] = 1] = "CodeHash"; | ||
| })(VerkleLeafType = VerkleLeafType || (VerkleLeafType = {})); | ||
| export const VerkleLeafType = { | ||
| BasicData: 0, | ||
| CodeHash: 1, | ||
| }; | ||
| export const VERKLE_VERSION_OFFSET = 0; | ||
@@ -111,36 +110,34 @@ export const VERKLE_CODE_SIZE_OFFSET = 5; | ||
| }; | ||
| // This code was written by robots based on the reference implementation in EIP-6800 | ||
| export const chunkifyCode = (code) => { | ||
| if (code.length === 0) | ||
| return []; | ||
| // Pad code to multiple of VERKLE_CODE_CHUNK_SIZE bytes | ||
| if (code.length % VERKLE_CODE_CHUNK_SIZE !== 0) { | ||
| const paddingLength = VERKLE_CODE_CHUNK_SIZE - (code.length % VERKLE_CODE_CHUNK_SIZE); | ||
| code = setLengthRight(code, code.length + paddingLength); | ||
| } | ||
| // Put first chunk (leading byte is always 0 since we have no leading PUSHDATA bytes) | ||
| const chunks = [concatBytes(new Uint8Array(1), code.subarray(0, 31))]; | ||
| for (let i = 1; i < Math.floor(code.length / 31); i++) { | ||
| const slice = code.slice((i - 1) * 31, i * 31); | ||
| let x = 31; | ||
| while (x >= 0) { | ||
| // Look for last push instruction in code chunk | ||
| if (slice[x] > 0x5f && slice[x] < 0x80) | ||
| break; | ||
| x--; | ||
| const PUSH1 = 0x60; // Assuming PUSH1 is defined as 0x60 | ||
| const PUSH32 = 0x7f; // Assuming PUSH32 is defined as 0x7f | ||
| const PUSH_OFFSET = 0x5f; // Assuming PUSH_OFFSET is defined as 0x5f | ||
| // Calculate padding length | ||
| const paddingLength = (31 - (code.length % 31)) % 31; | ||
| const paddedCode = new Uint8Array(code.length + paddingLength); | ||
| paddedCode.set(code); | ||
| // Pre-allocate the bytesToExecData array | ||
| const bytesToExecData = new Uint8Array(paddedCode.length + 32); | ||
| let pos = 0; | ||
| while (pos < paddedCode.length) { | ||
| let pushdataBytes = 0; | ||
| if (PUSH1 <= paddedCode[pos] && paddedCode[pos] <= PUSH32) { | ||
| pushdataBytes = paddedCode[pos] - PUSH_OFFSET; | ||
| } | ||
| if (x >= 0 && slice[x] - 0x5f > 31 - x) { | ||
| // x >= 0 indicates PUSHn in this chunk | ||
| // n > 31 - x indicates that PUSHDATA spills over to next chunk | ||
| // PUSHDATA overflow = n - 31 - x + 1(i.e. number of elements PUSHed | ||
| // - size of code chunk (31) - position of PUSHn in the previous | ||
| // code chunk + 1 (since x is zero-indexed)) | ||
| const pushDataOverflow = slice[x] - 0x5f - 31 - x + 1; | ||
| // Put next chunk prepended with number of overflow PUSHDATA bytes | ||
| chunks.push(concatBytes(Uint8Array.from([pushDataOverflow]), code.slice(i * 31, (i + 1) * 31))); | ||
| pos += 1; | ||
| for (let x = 0; x < pushdataBytes; x++) { | ||
| bytesToExecData[pos + x] = pushdataBytes - x; | ||
| } | ||
| else { | ||
| // Put next chunk prepended with 0 (i.e. no overflow PUSHDATA bytes from previous chunk) | ||
| chunks.push(concatBytes(new Uint8Array(1), code.slice(i * 31, (i + 1) * 31))); | ||
| } | ||
| pos += pushdataBytes; | ||
| } | ||
| // Pre-allocate the chunks array | ||
| const numChunks = Math.ceil(paddedCode.length / 31); | ||
| const chunks = new Array(numChunks); | ||
| for (let i = 0, pos = 0; i < numChunks; i++, pos += 31) { | ||
| const chunk = new Uint8Array(32); | ||
| chunk[0] = Math.min(bytesToExecData[pos], 31); | ||
| chunk.set(paddedCode.subarray(pos, pos + 31), 1); | ||
| chunks[i] = chunk; | ||
| } | ||
| return chunks; | ||
@@ -207,13 +204,10 @@ }; | ||
| const chunkSuffixes = new Array(numChunks); | ||
| const firstChunksSet = numChunks > VERKLE_CODE_OFFSET ? VERKLE_CODE_OFFSET : numChunks; | ||
| for (let x = 0; x < firstChunksSet; x++) { | ||
| // Fill up to first 128 suffixes | ||
| chunkSuffixes[x] = x + VERKLE_CODE_OFFSET; | ||
| let currentSuffix = VERKLE_CODE_OFFSET; | ||
| for (let x = 0; x < numChunks; x++) { | ||
| chunkSuffixes[x] = currentSuffix; | ||
| currentSuffix++; | ||
| // Reset suffix to 0 if exceeds VERKLE_NODE_WIDTH | ||
| if (currentSuffix >= VERKLE_NODE_WIDTH) | ||
| currentSuffix = 0; | ||
| } | ||
| if (numChunks > VERKLE_CODE_OFFSET) { | ||
| for (let x = VERKLE_CODE_OFFSET; x < numChunks; x++) { | ||
| // Fill subsequent chunk suffixes up to 256 and then start over since a single node | ||
| chunkSuffixes[x] = x - Math.floor(x / VERKLE_NODE_WIDTH) * VERKLE_NODE_WIDTH; | ||
| } | ||
| } | ||
| return chunkSuffixes; | ||
@@ -236,3 +230,3 @@ }; | ||
| // chunk in each leaf node and can then know that the chunks in between have tree keys in monotonically increasing order | ||
| const numStems = Math.ceil(numChunks / VERKLE_NODE_WIDTH); | ||
| const numStems = numChunks > VERKLE_CODE_OFFSET ? Math.ceil(numChunks / VERKLE_NODE_WIDTH) + 1 : 1; | ||
| const chunkStems = new Array(numStems); | ||
@@ -239,0 +233,0 @@ // Compute the stem for the initial set of code chunks |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"verkle.js","sourceRoot":"","sources":["../../src/verkle.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"verkle.js","sourceRoot":"","sources":["../../src/verkle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,aAAa,EACb,cAAc,EACd,OAAO,GACR,MAAM,YAAY,CAAA;AAyCnB;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAC3B,YAA0B,EAC1B,OAAgB,EAChB,YAA6B,CAAC;IAE9B,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;IAEtD,IAAI,cAA0B,CAAA;IAC9B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,cAAc,GAAG,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IAC5E,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IAC1F,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAEnF,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAA0B,EAC1B,gBAAwC;IAExC,MAAM,EAAE,eAAe,EAAE,GAAG,sBAAsB,EAAE,GAAG,gBAAgB,CAAA;IACvE,OAAO,YAAY,CAAC,8BAA8B,CAChD,eAAe,EACf,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CACvC,CAAA;AACH,CAAC;AAiDD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC;CACH,CAAA;AASV,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAA;AACtC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACxC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAA;AACpC,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAA;AAEvC,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAA;AAC5C,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAA;AAC9C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAA;AAC1C,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAA;AAE7C,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;AAC9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;AAE5E,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAA;AACxC,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAA;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;AACpC,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAA;AAEvF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAE,IAAiC,EAAE,EAAE;IAClF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,cAAc,CAAC,SAAS;YAC3B,OAAO,WAAW,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAA;QACtD,KAAK,cAAc,CAAC,QAAQ;YAC1B,OAAO,WAAW,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAA;QACrD;YACE,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAClC,CAAC;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,kCAAkC,CAAC,UAAkB;IAInE,IAAI,QAAgB,CAAA;IACpB,IAAI,UAAU,GAAG,kBAAkB,GAAG,4BAA4B,EAAE,CAAC;QACnE,QAAQ,GAAG,MAAM,CAAC,4BAA4B,CAAC,GAAG,UAAU,CAAA;IAC9D,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,0BAA0B,GAAG,UAAU,CAAA;IACpD,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAE7D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAA;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC,CAAC,OAAe;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,kBAAkB,GAAG,OAAO,CAAC,GAAG,iBAAiB,CAAC,CAAA;IAChF,MAAM,QAAQ,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,GAAG,iBAAiB,CAAA;IACnE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAA;AAChC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAC/C,OAAgB,EAChB,OAAe,EACf,YAA0B,EAC1B,EAAE;IACF,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,gCAAgC,CAAC,OAAO,CAAC,CAAA;IACzE,OAAO,WAAW,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;AACxF,CAAC,CAAA;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAE,EAAE;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAA,CAAC,oCAAoC;IACvD,MAAM,MAAM,GAAG,IAAI,CAAA,CAAC,qCAAqC;IACzD,MAAM,WAAW,GAAG,IAAI,CAAA,CAAC,0CAA0C;IAEnE,2BAA2B;IAC3B,MAAM,aAAa,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;IACpD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,CAAA;IAC9D,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAEpB,yCAAyC;IACzC,MAAM,eAAe,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IAE9D,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,OAAO,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,aAAa,GAAG,CAAC,CAAA;QACrB,IAAI,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;YAC1D,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,WAAW,CAAA;QAC/C,CAAC;QACD,GAAG,IAAI,CAAC,CAAA;QACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,eAAe,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,aAAa,GAAG,CAAC,CAAA;QAC9C,CAAC;QACD,GAAG,IAAI,aAAa,CAAA;IACtB,CAAC;IAED,gCAAgC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IACnD,MAAM,MAAM,GAAG,IAAI,KAAK,CAAa,SAAS,CAAC,CAAA;IAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;QAChC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;QAC7C,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAChD,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;IACnB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,EACjD,OAAgB,EAChB,UAAkB,EAClB,YAA0B,EAC1B,EAAE;IACF,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,kCAAkC,CAAC,UAAU,CAAC,CAAA;IAE9E,OAAO,WAAW,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;AACxF,CAAC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,gBAA4B;IACpE,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAA;IAC3E,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CACvC,mBAAmB,EACnB,mBAAmB,GAAG,yBAAyB,CAChD,CAAA;IACD,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAC1C,uBAAuB,EACvB,uBAAuB,GAAG,6BAA6B,CACxD,CAAA;IACD,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CACzC,qBAAqB,EACrB,qBAAqB,GAAG,2BAA2B,CACpD,CAAA;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;IAC1C,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;IACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;IAE3C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;AAC9C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,cAAc,GAAG,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,2BAA2B,CAAC,CAAA;IAChG,sDAAsD;IACtD,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClD,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,yBAAyB,CAAC,CAAA;IAC3F,MAAM,eAAe,GAAG,aAAa,CACnC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAC9B,6BAA6B,CAC9B,CAAA;IACD,MAAM,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,2BAA2B,CAAC,CAAA;IACjG,OAAO,WAAW,CAAC,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;AAClG,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACzD,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAC9B,MAAM,aAAa,GAAa,IAAI,KAAK,CAAS,SAAS,CAAC,CAAA;IAC5D,IAAI,aAAa,GAAG,kBAAkB,CAAA;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAA;QAChC,aAAa,EAAE,CAAA;QACf,iDAAiD;QACjD,IAAI,aAAa,IAAI,iBAAiB;YAAE,aAAa,GAAG,CAAC,CAAA;IAC3D,CAAC;IAED,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,SAAiB,EACjB,OAAgB,EAChB,YAA0B,EACH,EAAE;IACzB,oGAAoG;IACpG,uHAAuH;IACvH,yHAAyH;IACzH,wHAAwH;IACxH,uEAAuE;IACvE,4HAA4H;IAC5H,wHAAwH;IACxH,MAAM,QAAQ,GAAG,SAAS,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAClG,MAAM,UAAU,GAAG,IAAI,KAAK,CAAa,QAAQ,CAAC,CAAA;IAClD,sDAAsD;IACtD,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,4BAA4B,CAAC,OAAO,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAE3F,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,4BAA4B;QAC5B,MAAM,aAAa,GAAG,MAAM,4BAA4B,CACtD,OAAO,EACP,kBAAkB,GAAG,OAAO,GAAG,iBAAiB,EAChD,YAAY,CACb,CAAA;QACD,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"} |
@@ -1,3 +0,3 @@ | ||
| import { Address } from './address.js'; | ||
| import type { AddressLike, BigIntLike, PrefixedHexString } from './types.js'; | ||
| import { Address } from './address.ts'; | ||
| import type { AddressLike, BigIntLike, PrefixedHexString } from './types.ts'; | ||
| /** | ||
@@ -37,5 +37,2 @@ * Flexible input data type for EIP-4895 withdrawal data with amount in Gwei to | ||
| readonly address: Address; | ||
| /** | ||
| * withdrawal amount in Gwei to match the CL representation and eventually ssz withdrawalsRoot | ||
| */ | ||
| readonly amount: bigint; | ||
@@ -47,7 +44,3 @@ /** | ||
| */ | ||
| constructor(index: bigint, validatorIndex: bigint, address: Address, | ||
| /** | ||
| * withdrawal amount in Gwei to match the CL representation and eventually ssz withdrawalsRoot | ||
| */ | ||
| amount: bigint); | ||
| constructor(index: bigint, validatorIndex: bigint, address: Address, amount: bigint); | ||
| raw(): WithdrawalBytes; | ||
@@ -57,3 +50,3 @@ toValue(): { | ||
| validatorIndex: bigint; | ||
| address: Uint8Array; | ||
| address: Uint8Array<ArrayBufferLike>; | ||
| amount: bigint; | ||
@@ -60,0 +53,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"withdrawal.d.ts","sourceRoot":"","sources":["../../src/withdrawal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAKtC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE5E;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,UAAU,CAAA;IACjB,cAAc,EAAE,UAAU,CAAA;IAC1B,OAAO,EAAE,WAAW,CAAA;IACpB,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,iBAAiB,CAAA;IACxB,cAAc,EAAE,iBAAiB,CAAA;IACjC,OAAO,EAAE,iBAAiB,CAAA;IAC1B,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;AAC9E;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,UAAU,GAAG,cAAc,GAAG,eAAe,CAmB/F;AACD;;GAEG;AACH,qBAAa,UAAU;aAOH,KAAK,EAAE,MAAM;aACb,cAAc,EAAE,MAAM;aACtB,OAAO,EAAE,OAAO;IAChC;;OAEG;aACa,MAAM,EAAE,MAAM;IAZhC;;;;OAIG;gBAEe,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,OAAO;IAChC;;OAEG;IACa,MAAM,EAAE,MAAM;IAGhC,GAAG;IAIH,OAAO;;;;;;IASP,MAAM;;;;;;CAQP;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,cAAc,cAa9D;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,eAAe,EAAE,eAAe,cAM9E"} | ||
| {"version":3,"file":"withdrawal.d.ts","sourceRoot":"","sources":["../../src/withdrawal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAKtC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE5E;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,UAAU,CAAA;IACjB,cAAc,EAAE,UAAU,CAAA;IAC1B,OAAO,EAAE,WAAW,CAAA;IACpB,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,iBAAiB,CAAA;IACxB,cAAc,EAAE,iBAAiB,CAAA;IACjC,OAAO,EAAE,iBAAiB,CAAA;IAC1B,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;AAC9E;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,UAAU,GAAG,cAAc,GAAG,eAAe,CAmB/F;AACD;;GAEG;AACH,qBAAa,UAAU;IACrB,SAAgB,KAAK,EAAE,MAAM,CAAA;IAC7B,SAAgB,cAAc,EAAE,MAAM,CAAA;IACtC,SAAgB,OAAO,EAAE,OAAO,CAAA;IAChC,SAAgB,MAAM,EAAE,MAAM,CAAA;IAE9B;;;;OAIG;gBACS,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAOnF,GAAG;IAIH,OAAO;;;;;;IASP,MAAM;;;;;;CAQP;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,cAAc,cAa9D;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,eAAe,EAAE,eAAe,cAM9E"} |
@@ -1,5 +0,5 @@ | ||
| import { Address } from './address.js'; | ||
| import { bigIntToHex, bytesToHex, toBytes } from './bytes.js'; | ||
| import { BIGINT_0 } from './constants.js'; | ||
| import { TypeOutput, toType } from './types.js'; | ||
| import { Address } from "./address.js"; | ||
| import { bigIntToHex, bytesToHex, toBytes } from "./bytes.js"; | ||
| import { BIGINT_0 } from "./constants.js"; | ||
| import { TypeOutput, toType } from "./types.js"; | ||
| /** | ||
@@ -33,7 +33,3 @@ * Convert a withdrawal to a byte array | ||
| */ | ||
| constructor(index, validatorIndex, address, | ||
| /** | ||
| * withdrawal amount in Gwei to match the CL representation and eventually ssz withdrawalsRoot | ||
| */ | ||
| amount) { | ||
| constructor(index, validatorIndex, address, amount) { | ||
| this.index = index; | ||
@@ -40,0 +36,0 @@ this.validatorIndex = validatorIndex; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"withdrawal.js","sourceRoot":"","sources":["../../src/withdrawal.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"withdrawal.js","sourceRoot":"","sources":["../../src/withdrawal.ts"],"names":[],"mappings":"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"} |
+12
-18
| { | ||
| "name": "@ethereumjs/util", | ||
| "version": "10.0.0-alpha.1", | ||
| "version": "10.0.0-rc.1", | ||
| "description": "A collection of utility functions for Ethereum", | ||
| "keywords": [ | ||
| "ethereum", | ||
| "utilities", | ||
| "utils" | ||
| ], | ||
| "keywords": ["ethereum", "utilities", "utils"], | ||
| "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/util#readme", | ||
@@ -74,16 +70,15 @@ "bugs": { | ||
| }, | ||
| "files": [ | ||
| "dist", | ||
| "src" | ||
| ], | ||
| "files": ["dist", "src"], | ||
| "scripts": { | ||
| "biome": "npx @biomejs/biome check", | ||
| "biome:fix": "npx @biomejs/biome check --write", | ||
| "build": "../../config/cli/ts-build.sh", | ||
| "clean": "../../config/cli/clean-package.sh", | ||
| "coverage": "DEBUG=ethjs npx vitest run --coverage.enabled --coverage.reporter=lcov", | ||
| "coverage": "DEBUG=ethjs npx vitest run -c ../../config/vitest.config.coverage.mts", | ||
| "coverage:istanbul": "DEBUG=ethjs npx vitest run -c ../../config/vitest.config.coverage.istanbul.mts", | ||
| "docs:build": "npx typedoc --options typedoc.cjs", | ||
| "examples": "tsx ../../scripts/examples-runner.ts -- util", | ||
| "examples:build": "npx embedme README.md", | ||
| "lint": "../../config/cli/lint.sh", | ||
| "lint:diff": "../../config/cli/lint-diff.sh", | ||
| "lint:fix": "../../config/cli/lint-fix.sh", | ||
| "lint": "npm run biome && eslint --config ./eslint.config.mjs .", | ||
| "lint:fix": "npm run biome:fix && eslint --fix --config ./eslint.config.mjs .", | ||
| "prepublishOnly": "../../config/cli/prepublish.sh", | ||
@@ -96,4 +91,4 @@ "test": "npm run test:node && npm run test:browser", | ||
| "dependencies": { | ||
| "@ethereumjs/rlp": "^6.0.0-alpha.1", | ||
| "ethereum-cryptography": "^3.0.0" | ||
| "@ethereumjs/rlp": "^10.0.0-rc.1", | ||
| "ethereum-cryptography": "^3.1.0" | ||
| }, | ||
@@ -103,4 +98,3 @@ "devDependencies": { | ||
| "kzg-wasm": "^0.5.0", | ||
| "micro-eth-signer": "^0.11.0", | ||
| "verkle-cryptography-wasm": "^0.4.8" | ||
| "micro-eth-signer": "^0.14.0" | ||
| }, | ||
@@ -107,0 +101,0 @@ "engines": { |
+4
-4
@@ -89,7 +89,7 @@ # @ethereumjs/util | ||
| const commitment = new Uint8Array([1, 2, 3]) | ||
| const commitment = bytesToHex(new Uint8Array([1, 2, 3])) | ||
| const blobCommitmentVersion = 0x01 | ||
| const versionedHash = computeVersionedHash(commitment, blobCommitmentVersion) | ||
| console.log(`Versioned hash ${bytesToHex(versionedHash)} computed`) | ||
| console.log(`Versioned hash ${versionedHash} computed`) | ||
| ``` | ||
@@ -197,3 +197,3 @@ | ||
| '0xdf67dea9181141d6255ac05c7ada5a590fb30a375023f16c31223f067319e300': | ||
| '0x0000000000000000000000000000000000000000000000000000000000000000', | ||
| '0x0100000001000000000000000000000001000000000000000000000000000000', | ||
| '0xdf67dea9181141d6255ac05c7ada5a590fb30a375023f16c31223f067319e301': | ||
@@ -214,3 +214,3 @@ '0x923672e5275a0104000000000000000000000000000000000000000000000000', | ||
| console.log(basicData) // { version: 0, nonce: 0n, codeSize: 0, balance: 0n } | ||
| console.log(basicData) // { version: 1, nonce: 1n, codeSize: 0, balance: 1n } | ||
| ``` | ||
@@ -217,0 +217,0 @@ |
+34
-31
@@ -16,8 +16,9 @@ import { RLP } from '@ethereumjs/rlp' | ||
| utf8ToBytes, | ||
| } from './bytes.js' | ||
| import { BIGINT_0, KECCAK256_NULL, KECCAK256_RLP } from './constants.js' | ||
| import { assertIsBytes, assertIsHexString, assertIsString } from './helpers.js' | ||
| import { stripHexPrefix } from './internal.js' | ||
| } from './bytes.ts' | ||
| import { BIGINT_0, KECCAK256_NULL, KECCAK256_RLP } from './constants.ts' | ||
| import { EthereumJSErrorWithoutCode } from './errors.ts' | ||
| import { assertIsBytes, assertIsHexString, assertIsString } from './helpers.ts' | ||
| import { stripHexPrefix } from './internal.ts' | ||
| import type { BigIntLike, BytesLike, PrefixedHexString } from './types.js' | ||
| import type { BigIntLike, BytesLike, PrefixedHexString } from './types.ts' | ||
@@ -156,15 +157,15 @@ export interface AccountData { | ||
| if (this._nonce !== null && this._nonce < BIGINT_0) { | ||
| throw new Error('nonce must be greater than zero') | ||
| throw EthereumJSErrorWithoutCode('nonce must be greater than zero') | ||
| } | ||
| if (this._balance !== null && this._balance < BIGINT_0) { | ||
| throw new Error('balance must be greater than zero') | ||
| throw EthereumJSErrorWithoutCode('balance must be greater than zero') | ||
| } | ||
| if (this._storageRoot !== null && this._storageRoot.length !== 32) { | ||
| throw new Error('storageRoot must have a length of 32') | ||
| throw EthereumJSErrorWithoutCode('storageRoot must have a length of 32') | ||
| } | ||
| if (this._codeHash !== null && this._codeHash.length !== 32) { | ||
| throw new Error('codeHash must have a length of 32') | ||
| throw EthereumJSErrorWithoutCode('codeHash must have a length of 32') | ||
| } | ||
| if (this._codeSize !== null && this._codeSize < BIGINT_0) { | ||
| throw new Error('codeSize must be greater than zero') | ||
| throw EthereumJSErrorWithoutCode('codeSize must be greater than zero') | ||
| } | ||
@@ -322,3 +323,3 @@ } | ||
| if (!Array.isArray(values)) { | ||
| throw new Error('Invalid serialized account input. Must be array') | ||
| throw EthereumJSErrorWithoutCode('Invalid serialized account input. Must be array') | ||
| } | ||
@@ -333,3 +334,3 @@ | ||
| if (!Array.isArray(values)) { | ||
| throw new Error('Invalid serialized account input. Must be array') | ||
| throw EthereumJSErrorWithoutCode('Invalid serialized account input. Must be array') | ||
| } | ||
@@ -339,7 +340,7 @@ | ||
| if (!Array.isArray(values[0])) { | ||
| throw new Error('Invalid partial nonce encoding. Must be array') | ||
| throw EthereumJSErrorWithoutCode('Invalid partial nonce encoding. Must be array') | ||
| } else { | ||
| const isNotNullIndicator = bytesToInt(values[0][0]) | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for nonce`) | ||
| throw EthereumJSErrorWithoutCode(`Invalid isNullIndicator=${isNotNullIndicator} for nonce`) | ||
| } | ||
@@ -353,7 +354,7 @@ if (isNotNullIndicator === 1) { | ||
| if (!Array.isArray(values[1])) { | ||
| throw new Error('Invalid partial balance encoding. Must be array') | ||
| throw EthereumJSErrorWithoutCode('Invalid partial balance encoding. Must be array') | ||
| } else { | ||
| const isNotNullIndicator = bytesToInt(values[1][0]) | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for balance`) | ||
| throw EthereumJSErrorWithoutCode(`Invalid isNullIndicator=${isNotNullIndicator} for balance`) | ||
| } | ||
@@ -367,7 +368,9 @@ if (isNotNullIndicator === 1) { | ||
| if (!Array.isArray(values[2])) { | ||
| throw new Error('Invalid partial storageRoot encoding. Must be array') | ||
| throw EthereumJSErrorWithoutCode('Invalid partial storageRoot encoding. Must be array') | ||
| } else { | ||
| const isNotNullIndicator = bytesToInt(values[2][0]) | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for storageRoot`) | ||
| throw EthereumJSErrorWithoutCode( | ||
| `Invalid isNullIndicator=${isNotNullIndicator} for storageRoot`, | ||
| ) | ||
| } | ||
@@ -381,7 +384,7 @@ if (isNotNullIndicator === 1) { | ||
| if (!Array.isArray(values[3])) { | ||
| throw new Error('Invalid partial codeHash encoding. Must be array') | ||
| throw EthereumJSErrorWithoutCode('Invalid partial codeHash encoding. Must be array') | ||
| } else { | ||
| const isNotNullIndicator = bytesToInt(values[3][0]) | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for codeHash`) | ||
| throw EthereumJSErrorWithoutCode(`Invalid isNullIndicator=${isNotNullIndicator} for codeHash`) | ||
| } | ||
@@ -395,7 +398,7 @@ if (isNotNullIndicator === 1) { | ||
| if (!Array.isArray(values[4])) { | ||
| throw new Error('Invalid partial codeSize encoding. Must be array') | ||
| throw EthereumJSErrorWithoutCode('Invalid partial codeSize encoding. Must be array') | ||
| } else { | ||
| const isNotNullIndicator = bytesToInt(values[4][0]) | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for codeSize`) | ||
| throw EthereumJSErrorWithoutCode(`Invalid isNullIndicator=${isNotNullIndicator} for codeSize`) | ||
| } | ||
@@ -409,7 +412,7 @@ if (isNotNullIndicator === 1) { | ||
| if (!Array.isArray(values[5])) { | ||
| throw new Error('Invalid partial version encoding. Must be array') | ||
| throw EthereumJSErrorWithoutCode('Invalid partial version encoding. Must be array') | ||
| } else { | ||
| const isNotNullIndicator = bytesToInt(values[5][0]) | ||
| if (isNotNullIndicator !== 0 && isNotNullIndicator !== 1) { | ||
| throw new Error(`Invalid isNullIndicator=${isNotNullIndicator} for version`) | ||
| throw EthereumJSErrorWithoutCode(`Invalid isNullIndicator=${isNotNullIndicator} for version`) | ||
| } | ||
@@ -430,3 +433,3 @@ if (isNotNullIndicator === 1) { | ||
| assertIsString(hexAddress) | ||
| } catch (e: any) { | ||
| } catch { | ||
| return false | ||
@@ -525,6 +528,6 @@ } | ||
| if (from.length !== 20) { | ||
| throw new Error('Expected from to be of length 20') | ||
| throw EthereumJSErrorWithoutCode('Expected from to be of length 20') | ||
| } | ||
| if (salt.length !== 32) { | ||
| throw new Error('Expected salt to be of length 32') | ||
| throw EthereumJSErrorWithoutCode('Expected salt to be of length 32') | ||
| } | ||
@@ -558,3 +561,3 @@ | ||
| return true | ||
| } catch (e) { | ||
| } catch { | ||
| return false | ||
@@ -571,3 +574,3 @@ } | ||
| return true | ||
| } catch (e) { | ||
| } catch { | ||
| return false | ||
@@ -589,3 +592,3 @@ } | ||
| if (pubKey.length !== 64) { | ||
| throw new Error('Expected pubKey to be of length 64') | ||
| throw EthereumJSErrorWithoutCode('Expected pubKey to be of length 64') | ||
| } | ||
@@ -639,3 +642,3 @@ // Only take the lower 160bits of the hash | ||
| assertIsString(hexAddress) | ||
| } catch (e: any) { | ||
| } catch { | ||
| return false | ||
@@ -642,0 +645,0 @@ } |
+13
-12
@@ -7,3 +7,3 @@ import { | ||
| pubToAddress, | ||
| } from './account.js' | ||
| } from './account.ts' | ||
| import { | ||
@@ -16,6 +16,7 @@ bigIntToBytes, | ||
| setLengthLeft, | ||
| } from './bytes.js' | ||
| import { BIGINT_0 } from './constants.js' | ||
| } from './bytes.ts' | ||
| import { BIGINT_0 } from './constants.ts' | ||
| import { EthereumJSErrorWithoutCode } from './errors.ts' | ||
| import type { PrefixedHexString } from './types.js' | ||
| import type { PrefixedHexString } from './types.ts' | ||
@@ -30,3 +31,3 @@ /** | ||
| if (bytes.length !== 20) { | ||
| throw new Error('Invalid address length') | ||
| throw EthereumJSErrorWithoutCode('Invalid address length') | ||
| } | ||
@@ -90,3 +91,3 @@ this.bytes = bytes | ||
| if (bytes.length > 20) { | ||
| throw new Error(`Invalid address, too long: ${bytes.length}`) | ||
| throw EthereumJSErrorWithoutCode(`Invalid address, too long: ${bytes.length}`) | ||
| } | ||
@@ -102,3 +103,3 @@ return new Address(setLengthLeft(bytes, 20)) | ||
| if (!isValidAddress(str)) { | ||
| throw new Error(`Invalid address input=${str}`) | ||
| throw EthereumJSErrorWithoutCode(`Invalid address input=${str}`) | ||
| } | ||
@@ -114,3 +115,3 @@ return new Address(hexToBytes(str)) | ||
| if (!(pubKey instanceof Uint8Array)) { | ||
| throw new Error('Public key should be Uint8Array') | ||
| throw EthereumJSErrorWithoutCode('Public key should be Uint8Array') | ||
| } | ||
@@ -127,3 +128,3 @@ const bytes = pubToAddress(pubKey) | ||
| if (!(privateKey instanceof Uint8Array)) { | ||
| throw new Error('Private key should be Uint8Array') | ||
| throw EthereumJSErrorWithoutCode('Private key should be Uint8Array') | ||
| } | ||
@@ -141,3 +142,3 @@ const bytes = privateToAddress(privateKey) | ||
| if (typeof nonce !== 'bigint') { | ||
| throw new Error('Expected nonce to be a bigint') | ||
| throw EthereumJSErrorWithoutCode('Expected nonce to be a bigint') | ||
| } | ||
@@ -159,8 +160,8 @@ return new Address(generateAddress(from.bytes, bigIntToBytes(nonce))) | ||
| if (!(salt instanceof Uint8Array)) { | ||
| throw new Error('Expected salt to be a Uint8Array') | ||
| throw EthereumJSErrorWithoutCode('Expected salt to be a Uint8Array') | ||
| } | ||
| if (!(initCode instanceof Uint8Array)) { | ||
| throw new Error('Expected initCode to be a Uint8Array') | ||
| throw EthereumJSErrorWithoutCode('Expected initCode to be a Uint8Array') | ||
| } | ||
| return new Address(generateAddress2(from.bytes, salt, initCode)) | ||
| } |
+3
-3
| import { sha256 } from 'ethereum-cryptography/sha256.js' | ||
| import { bytesToHex, hexToBytes, utf8ToBytes } from './bytes.js' | ||
| import { bytesToHex, hexToBytes, utf8ToBytes } from './bytes.ts' | ||
| import type { KZG } from './kzg.js' | ||
| import type { PrefixedHexString } from './types.js' | ||
| import type { KZG } from './kzg.ts' | ||
| import type { PrefixedHexString } from './types.ts' | ||
@@ -8,0 +8,0 @@ /** |
+92
-16
| import { getRandomBytesSync } from 'ethereum-cryptography/random.js' | ||
| // eslint-disable-next-line no-restricted-imports | ||
| import { | ||
@@ -8,6 +8,7 @@ bytesToHex as _bytesToUnprefixedHex, | ||
| import { assertIsArray, assertIsBytes, assertIsHexString } from './helpers.js' | ||
| import { isHexString, padToEven, stripHexPrefix } from './internal.js' | ||
| import { EthereumJSErrorWithoutCode } from './errors.ts' | ||
| import { assertIsArray, assertIsBytes, assertIsHexString } from './helpers.ts' | ||
| import { isHexString, padToEven, stripHexPrefix } from './internal.ts' | ||
| import type { PrefixedHexString, TransformableToBytes } from './types.js' | ||
| import type { PrefixedHexString, TransformableToBytes } from './types.ts' | ||
@@ -28,3 +29,3 @@ const BIGINT_0 = BigInt(0) | ||
| export const hexToBytes = (hex: string) => { | ||
| if (!hex.startsWith('0x')) throw new Error('input string must be 0x prefixed') | ||
| if (!hex.startsWith('0x')) throw EthereumJSErrorWithoutCode('input string must be 0x prefixed') | ||
| return nobleH2B(padToEven(stripHexPrefix(hex))) | ||
@@ -34,3 +35,3 @@ } | ||
| export const unprefixedHexToBytes = (hex: string) => { | ||
| if (hex.startsWith('0x')) throw new Error('input string cannot be 0x prefixed') | ||
| if (hex.startsWith('0x')) throw EthereumJSErrorWithoutCode('input string cannot be 0x prefixed') | ||
| return nobleH2B(padToEven(hex)) | ||
@@ -82,3 +83,3 @@ } | ||
| const res = Number(bytesToBigInt(bytes)) | ||
| if (!Number.isSafeInteger(res)) throw new Error('Number exceeds 53 bits') | ||
| if (!Number.isSafeInteger(res)) throw EthereumJSErrorWithoutCode('Number exceeds 53 bits') | ||
| return res | ||
@@ -96,3 +97,3 @@ } | ||
| if (!Number.isSafeInteger(i) || i < 0) { | ||
| throw new Error(`Received an invalid integer type: ${i}`) | ||
| throw EthereumJSErrorWithoutCode(`Received an invalid integer type: ${i}`) | ||
| } | ||
@@ -118,3 +119,2 @@ return ('0x' + i.toString(16)) as PrefixedHexString | ||
| export const bigIntToBytes = (num: bigint, littleEndian = false): Uint8Array => { | ||
| // eslint-disable-next-line @typescript-eslint/no-use-before-define | ||
| const bytes = toBytes(`0x${padToEven(num.toString(16))}`) | ||
@@ -246,3 +246,3 @@ | ||
| if (!isHexString(v)) { | ||
| throw new Error( | ||
| throw EthereumJSErrorWithoutCode( | ||
| `Cannot convert string to Uint8Array. toBytes only supports 0x-prefixed hex strings and this string was given: ${v}`, | ||
@@ -260,3 +260,3 @@ ) | ||
| if (v < BIGINT_0) { | ||
| throw new Error(`Cannot convert negative bigint to Uint8Array. Given: ${v}`) | ||
| throw EthereumJSErrorWithoutCode(`Cannot convert negative bigint to Uint8Array. Given: ${v}`) | ||
| } | ||
@@ -273,3 +273,3 @@ let n = v.toString(16) | ||
| throw new Error('invalid type') | ||
| throw EthereumJSErrorWithoutCode('invalid type') | ||
| } | ||
@@ -344,3 +344,5 @@ | ||
| if (v !== undefined && v.length > 0 && v[0] === 0) { | ||
| throw new Error(`${k} cannot have leading zeroes, received: ${bytesToHex(v)}`) | ||
| throw EthereumJSErrorWithoutCode( | ||
| `${k} cannot have leading zeroes, received: ${bytesToHex(v)}`, | ||
| ) | ||
| } | ||
@@ -500,3 +502,2 @@ } | ||
| // eslint-disable-next-line no-restricted-imports | ||
| export { bytesToUtf8, equalsBytes, utf8ToBytes } from 'ethereum-cryptography/utils.js' | ||
@@ -509,5 +510,40 @@ | ||
| /** | ||
| * Converts a Uint8Array of bytes into an array of bits. | ||
| * @param {Uint8Array} bytes - The input byte array. | ||
| * @param {number} bitLength - The number of bits to extract from the input bytes. | ||
| * @returns {number[]} An array of bits (each 0 or 1) corresponding to the input bytes. | ||
| */ | ||
| export function bytesToBits(bytes: Uint8Array, bitLength?: number): number[] { | ||
| const bits: number[] = [] | ||
| for (let i = 0; i < (bitLength ?? bytes.length * 8); i++) { | ||
| const byteIndex = Math.floor(i / 8) | ||
| const bitIndex = 7 - (i % 8) | ||
| bits.push((bytes[byteIndex] >> bitIndex) & 1) | ||
| } | ||
| return bits | ||
| } | ||
| /** | ||
| * Converts an array of bits into a Uint8Array. | ||
| * The input bits are grouped into sets of 8, with the first bit in each group being the most significant. | ||
| * @param {number[]} bits - The input array of bits (each should be 0 or 1). Its length should be a multiple of 8. | ||
| * @returns {Uint8Array} A Uint8Array constructed from the input bits. | ||
| */ | ||
| export function bitsToBytes(bits: number[]): Uint8Array { | ||
| const numBytes = Math.ceil(bits.length / 8) // Ensure partial byte storage | ||
| const byteData = new Uint8Array(numBytes) | ||
| for (let i = 0; i < bits.length; i++) { | ||
| const byteIndex = Math.floor(i / 8) | ||
| const bitIndex = 7 - (i % 8) | ||
| byteData[byteIndex] |= bits[i] << bitIndex | ||
| } | ||
| return byteData | ||
| } | ||
| /** | ||
| * Compares two byte arrays and returns the count of consecutively matching items from the start. | ||
| * | ||
| * @function | ||
| * @param {Uint8Array} bytes1 - The first Uint8Array to compare. | ||
@@ -531,1 +567,41 @@ * @param {Uint8Array} bytes2 - The second Uint8Array to compare. | ||
| } | ||
| /** | ||
| * Compares two arrays of bits (0 or 1) and returns the count of consecutively matching bits from the start. | ||
| * @param {number[]} bits1 - The first array of bits, in bytes or bits. | ||
| * @param {number[]} bits2 - The second array of bits, in bytes or bits. | ||
| * @returns {number} The count of consecutively matching bits from the start. | ||
| */ | ||
| export function matchingBitsLength(bits1: number[], bits2: number[]): number { | ||
| let count = 0 | ||
| const minLength = Math.min(bits1.length, bits2.length) | ||
| for (let i = 0; i < minLength; i++) { | ||
| if (bits1[i] === bits2[i]) { | ||
| count++ | ||
| } else { | ||
| return count | ||
| } | ||
| } | ||
| return count | ||
| } | ||
| /** | ||
| * Checks whether two arrays of bits are equal. | ||
| * | ||
| * Two arrays are considered equal if they have the same length and each corresponding element is identical. | ||
| * | ||
| * @param {number[]} bits1 - The first bits array. | ||
| * @param {number[]} bits2 - The second bits array. | ||
| * @returns {boolean} True if the arrays are equal; otherwise, false. | ||
| */ | ||
| export function equalsBits(bits1: number[], bits2: number[]): boolean { | ||
| if (bits1.length !== bits2.length) { | ||
| return false | ||
| } | ||
| for (let i = 0; i < bits1.length; i++) { | ||
| if (bits1[i] !== bits2[i]) { | ||
| return false | ||
| } | ||
| } | ||
| return true | ||
| } |
+4
-1
| import { secp256k1 } from 'ethereum-cryptography/secp256k1.js' | ||
| import { sha256 } from 'ethereum-cryptography/sha256.js' | ||
| import { hexToBytes } from './bytes.js' | ||
| import { hexToBytes } from './bytes.ts' | ||
@@ -67,2 +68,4 @@ /** | ||
| export const SHA256_NULL = sha256(new Uint8Array()) | ||
| /** | ||
@@ -69,0 +72,0 @@ * RLP encoded empty string |
+14
-10
@@ -9,14 +9,18 @@ export type DBObject = { | ||
| export enum KeyEncoding { | ||
| String = 'string', | ||
| Bytes = 'view', | ||
| Number = 'number', | ||
| } | ||
| export type KeyEncoding = (typeof KeyEncoding)[keyof typeof KeyEncoding] | ||
| export enum ValueEncoding { | ||
| String = 'string', | ||
| Bytes = 'view', | ||
| JSON = 'json', | ||
| } | ||
| export const KeyEncoding = { | ||
| String: 'string', | ||
| Bytes: 'view', | ||
| Number: 'number', | ||
| } as const | ||
| export type ValueEncoding = (typeof ValueEncoding)[keyof typeof ValueEncoding] | ||
| export const ValueEncoding = { | ||
| String: 'string', | ||
| Bytes: 'view', | ||
| JSON: 'json', | ||
| } as const | ||
| export type EncodingOpts = { | ||
@@ -23,0 +27,0 @@ keyEncoding?: KeyEncoding |
+3
-3
@@ -1,5 +0,5 @@ | ||
| import { addHexPrefix, bigIntToHex } from './bytes.js' | ||
| import { isHexString } from './internal.js' | ||
| import { addHexPrefix, bigIntToHex } from './bytes.ts' | ||
| import { isHexString } from './internal.ts' | ||
| import type { PrefixedHexString } from './types.js' | ||
| import type { PrefixedHexString } from './types.ts' | ||
@@ -6,0 +6,0 @@ export type StoragePair = [key: PrefixedHexString, value: PrefixedHexString] |
+6
-5
@@ -1,2 +0,3 @@ | ||
| import { isHexString } from './internal.js' | ||
| import { EthereumJSErrorWithoutCode } from './errors.ts' | ||
| import { isHexString } from './internal.ts' | ||
@@ -10,3 +11,3 @@ /** | ||
| const msg = `This method only supports 0x-prefixed hex strings but input was: ${input}` | ||
| throw new Error(msg) | ||
| throw EthereumJSErrorWithoutCode(msg) | ||
| } | ||
@@ -22,3 +23,3 @@ } | ||
| const msg = `This method only supports Uint8Array but input was: ${input}` | ||
| throw new Error(msg) | ||
| throw EthereumJSErrorWithoutCode(msg) | ||
| } | ||
@@ -34,3 +35,3 @@ } | ||
| const msg = `This method only supports number arrays but input was: ${input}` | ||
| throw new Error(msg) | ||
| throw EthereumJSErrorWithoutCode(msg) | ||
| } | ||
@@ -46,4 +47,4 @@ } | ||
| const msg = `This method only supports strings but input was: ${input}` | ||
| throw new Error(msg) | ||
| throw EthereumJSErrorWithoutCode(msg) | ||
| } | ||
| } |
+25
-20
| /** | ||
| * Constants | ||
| */ | ||
| export * from './constants.js' | ||
| export * from './constants.ts' | ||
| /** | ||
| * Errors | ||
| */ | ||
| export * from './errors.ts' | ||
| /** | ||
| * Units helpers | ||
| */ | ||
| export * from './units.js' | ||
| export * from './units.ts' | ||
@@ -14,3 +19,3 @@ /** | ||
| */ | ||
| export * from './account.js' | ||
| export * from './account.ts' | ||
@@ -20,3 +25,3 @@ /** | ||
| */ | ||
| export * from './address.js' | ||
| export * from './address.ts' | ||
@@ -26,3 +31,3 @@ /** | ||
| */ | ||
| export * from './db.js' | ||
| export * from './db.ts' | ||
@@ -32,3 +37,3 @@ /** | ||
| */ | ||
| export * from './withdrawal.js' | ||
| export * from './withdrawal.ts' | ||
@@ -38,3 +43,3 @@ /** | ||
| */ | ||
| export * from './signature.js' | ||
| export * from './signature.ts' | ||
@@ -44,3 +49,3 @@ /** | ||
| */ | ||
| export * from './bytes.js' | ||
| export * from './bytes.ts' | ||
@@ -50,3 +55,3 @@ /** | ||
| */ | ||
| export * from './types.js' | ||
| export * from './types.ts' | ||
@@ -56,5 +61,5 @@ /** | ||
| */ | ||
| export * from './asyncEventEmitter.js' | ||
| export * from './blobs.js' | ||
| export * from './genesis.js' | ||
| export * from './binaryTree.ts' | ||
| export * from './blobs.ts' | ||
| export * from './genesis.ts' | ||
| export { | ||
@@ -70,9 +75,9 @@ arrayContainsArray, | ||
| toAscii, | ||
| } from './internal.js' | ||
| export * from './kzg.js' | ||
| export * from './lock.js' | ||
| export * from './mapDB.js' | ||
| export * from './provider.js' | ||
| export * from './request.js' | ||
| export * from './tasks.js' | ||
| export * from './verkle.js' | ||
| } from './internal.ts' | ||
| export * from './kzg.ts' | ||
| export * from './lock.ts' | ||
| export * from './mapDB.ts' | ||
| export * from './provider.ts' | ||
| export * from './request.ts' | ||
| export * from './tasks.ts' | ||
| export * from './verkle.ts' |
+21
-10
@@ -25,5 +25,6 @@ /* | ||
| import { bytesToUnprefixedHex, utf8ToBytes } from './bytes.js' | ||
| import { bytesToUnprefixedHex, utf8ToBytes } from './bytes.ts' | ||
| import { EthereumJSErrorWithoutCode } from './errors.ts' | ||
| import type { PrefixedHexString } from './types.js' | ||
| import type { PrefixedHexString } from './types.ts' | ||
@@ -51,3 +52,5 @@ /** | ||
| if (typeof str !== 'string') | ||
| throw new Error(`[stripHexPrefix] input must be type 'string', received ${typeof str}`) | ||
| throw EthereumJSErrorWithoutCode( | ||
| `[stripHexPrefix] input must be type 'string', received ${typeof str}`, | ||
| ) | ||
@@ -66,3 +69,5 @@ return isHexString(str) ? str.slice(2) : str | ||
| if (typeof a !== 'string') { | ||
| throw new Error(`[padToEven] value must be type 'string', received ${typeof a}`) | ||
| throw EthereumJSErrorWithoutCode( | ||
| `[padToEven] value must be type 'string', received ${typeof a}`, | ||
| ) | ||
| } | ||
@@ -82,3 +87,5 @@ | ||
| if (typeof str !== 'string') { | ||
| throw new Error(`[getBinarySize] method requires input type 'string', received ${typeof str}`) | ||
| throw EthereumJSErrorWithoutCode( | ||
| `[getBinarySize] method requires input type 'string', received ${typeof str}`, | ||
| ) | ||
| } | ||
@@ -103,3 +110,3 @@ | ||
| if (Array.isArray(superset) !== true) { | ||
| throw new Error( | ||
| throw EthereumJSErrorWithoutCode( | ||
| `[arrayContainsArray] method requires input 'superset' to be an array, got type '${typeof superset}'`, | ||
@@ -109,3 +116,3 @@ ) | ||
| if (Array.isArray(subset) !== true) { | ||
| throw new Error( | ||
| throw EthereumJSErrorWithoutCode( | ||
| `[arrayContainsArray] method requires input 'subset' to be an array, got type '${typeof subset}'`, | ||
@@ -184,6 +191,8 @@ ) | ||
| if (!Array.isArray(params)) { | ||
| throw new Error(`[getKeys] method expects input 'params' to be an array, got ${typeof params}`) | ||
| throw EthereumJSErrorWithoutCode( | ||
| `[getKeys] method expects input 'params' to be an array, got ${typeof params}`, | ||
| ) | ||
| } | ||
| if (typeof key !== 'string') { | ||
| throw new Error( | ||
| throw EthereumJSErrorWithoutCode( | ||
| `[getKeys] method expects input 'key' to be type 'string', got ${typeof params}`, | ||
@@ -200,3 +209,5 @@ ) | ||
| } else if (typeof value !== 'string') { | ||
| throw new Error(`invalid abi - expected type 'string', received ${typeof value}`) | ||
| throw EthereumJSErrorWithoutCode( | ||
| `invalid abi - expected type 'string', received ${typeof value}`, | ||
| ) | ||
| } | ||
@@ -203,0 +214,0 @@ result.push(value) |
+2
-2
@@ -1,4 +0,4 @@ | ||
| import { bytesToUnprefixedHex } from './bytes.js' | ||
| import { bytesToUnprefixedHex } from './bytes.ts' | ||
| import type { BatchDBOp, DB, DBObject } from './db.js' | ||
| import type { BatchDBOp, DB, DBObject } from './db.ts' | ||
@@ -5,0 +5,0 @@ export class MapDB< |
+4
-2
@@ -0,1 +1,3 @@ | ||
| import { EthereumJSErrorWithoutCode } from './errors.ts' | ||
| type rpcParams = { | ||
@@ -40,3 +42,3 @@ method: string | ||
| if (!res.ok) { | ||
| throw new Error( | ||
| throw EthereumJSErrorWithoutCode( | ||
| `JSONRPCError: ${JSON.stringify( | ||
@@ -71,3 +73,3 @@ { | ||
| } else { | ||
| throw new Error('Must provide valid provider URL or Web3Provider') | ||
| throw EthereumJSErrorWithoutCode('Must provide valid provider URL or Web3Provider') | ||
| } | ||
@@ -74,0 +76,0 @@ } |
+29
-269
@@ -1,288 +0,48 @@ | ||
| import { RLP } from '@ethereumjs/rlp' | ||
| import { concatBytes } from 'ethereum-cryptography/utils' | ||
| import { concatBytes } from './bytes.ts' | ||
| import { | ||
| bigIntToBytes, | ||
| bigIntToHex, | ||
| bytesToBigInt, | ||
| bytesToHex, | ||
| hexToBigInt, | ||
| hexToBytes, | ||
| } from './bytes.js' | ||
| import { BIGINT_0 } from './constants.js' | ||
| import type { PrefixedHexString } from './types.ts' | ||
| import type { PrefixedHexString } from './types.js' | ||
| export type RequestBytes = Uint8Array | ||
| export enum CLRequestType { | ||
| Deposit = 0x00, | ||
| Withdrawal = 0x01, | ||
| Consolidation = 0x02, | ||
| } | ||
| export type CLRequestType = (typeof CLRequestType)[keyof typeof CLRequestType] | ||
| export type DepositRequestV1 = { | ||
| pubkey: PrefixedHexString // DATA 48 bytes | ||
| withdrawalCredentials: PrefixedHexString // DATA 32 bytes | ||
| amount: PrefixedHexString // QUANTITY 8 bytes in gwei | ||
| signature: PrefixedHexString // DATA 96 bytes | ||
| index: PrefixedHexString // QUANTITY 8 bytes | ||
| } | ||
| export const CLRequestType = { | ||
| Deposit: 0, | ||
| Withdrawal: 1, | ||
| Consolidation: 2, | ||
| } as const | ||
| export type WithdrawalRequestV1 = { | ||
| sourceAddress: PrefixedHexString // DATA 20 bytes | ||
| validatorPubkey: PrefixedHexString // DATA 48 bytes | ||
| amount: PrefixedHexString // QUANTITY 8 bytes in gwei | ||
| } | ||
| export type ConsolidationRequestV1 = { | ||
| sourceAddress: PrefixedHexString // DATA 20 bytes | ||
| sourcePubkey: PrefixedHexString // DATA 48 bytes | ||
| targetPubkey: PrefixedHexString // DATA 48 bytes | ||
| } | ||
| export interface RequestJSON { | ||
| [CLRequestType.Deposit]: DepositRequestV1 | ||
| [CLRequestType.Withdrawal]: WithdrawalRequestV1 | ||
| [CLRequestType.Consolidation]: ConsolidationRequestV1 | ||
| type: PrefixedHexString | ||
| data: PrefixedHexString | ||
| } | ||
| export type DepositRequestData = { | ||
| pubkey: Uint8Array | ||
| withdrawalCredentials: Uint8Array | ||
| amount: bigint | ||
| signature: Uint8Array | ||
| index: bigint | ||
| } | ||
| export class CLRequest<T extends CLRequestType> { | ||
| // for easy use | ||
| public readonly bytes: Uint8Array | ||
| export type WithdrawalRequestData = { | ||
| sourceAddress: Uint8Array | ||
| validatorPubkey: Uint8Array | ||
| amount: bigint | ||
| } | ||
| export type ConsolidationRequestData = { | ||
| sourceAddress: Uint8Array | ||
| sourcePubkey: Uint8Array | ||
| targetPubkey: Uint8Array | ||
| } | ||
| export interface RequestData { | ||
| [CLRequestType.Deposit]: DepositRequestData | ||
| [CLRequestType.Withdrawal]: WithdrawalRequestData | ||
| [CLRequestType.Consolidation]: ConsolidationRequestData | ||
| } | ||
| export type TypedRequestData = RequestData[CLRequestType] | ||
| export interface CLRequestInterface<T extends CLRequestType = CLRequestType> { | ||
| readonly type: T | ||
| serialize(): Uint8Array | ||
| toJSON(): RequestJSON[T] | ||
| } | ||
| export abstract class CLRequest<T extends CLRequestType> implements CLRequestInterface<T> { | ||
| readonly type: T | ||
| abstract serialize(): Uint8Array | ||
| abstract toJSON(): RequestJSON[T] | ||
| constructor(type: T) { | ||
| this.type = type | ||
| get type() { | ||
| return this.bytes[0] as T | ||
| } | ||
| } | ||
| export class DepositRequest extends CLRequest<CLRequestType.Deposit> { | ||
| constructor( | ||
| public readonly pubkey: Uint8Array, | ||
| public readonly withdrawalCredentials: Uint8Array, | ||
| public readonly amount: bigint, | ||
| public readonly signature: Uint8Array, | ||
| public readonly index: bigint, | ||
| ) { | ||
| super(CLRequestType.Deposit) | ||
| get data() { | ||
| return this.bytes.subarray(1) | ||
| } | ||
| serialize() { | ||
| const indexBytes = this.index === BIGINT_0 ? new Uint8Array() : bigIntToBytes(this.index) | ||
| const amountBytes = this.amount === BIGINT_0 ? new Uint8Array() : bigIntToBytes(this.amount) | ||
| return concatBytes( | ||
| Uint8Array.from([this.type]), | ||
| RLP.encode([ | ||
| this.pubkey, | ||
| this.withdrawalCredentials, | ||
| amountBytes, | ||
| this.signature, | ||
| indexBytes, | ||
| ]), | ||
| ) | ||
| constructor(requestType: T, requestData: Uint8Array) { | ||
| this.bytes = concatBytes(new Uint8Array([requestType]), requestData) | ||
| } | ||
| toJSON(): DepositRequestV1 { | ||
| return { | ||
| pubkey: bytesToHex(this.pubkey), | ||
| withdrawalCredentials: bytesToHex(this.withdrawalCredentials), | ||
| amount: bigIntToHex(this.amount), | ||
| signature: bytesToHex(this.signature), | ||
| index: bigIntToHex(this.index), | ||
| } | ||
| } | ||
| } | ||
| export class WithdrawalRequest extends CLRequest<CLRequestType.Withdrawal> { | ||
| constructor( | ||
| public readonly sourceAddress: Uint8Array, | ||
| public readonly validatorPubkey: Uint8Array, | ||
| public readonly amount: bigint, | ||
| ) { | ||
| super(CLRequestType.Withdrawal) | ||
| export function createCLRequest(bytes: Uint8Array): CLRequest<CLRequestType> { | ||
| switch (bytes[0]) { | ||
| case CLRequestType.Deposit: | ||
| return new CLRequest(CLRequestType.Deposit, bytes.subarray(1)) | ||
| case CLRequestType.Withdrawal: | ||
| return new CLRequest(CLRequestType.Withdrawal, bytes.subarray(1)) | ||
| case CLRequestType.Consolidation: | ||
| return new CLRequest(CLRequestType.Consolidation, bytes.subarray(1)) | ||
| default: | ||
| throw Error(`Invalid request type=${bytes[0]}`) | ||
| } | ||
| serialize() { | ||
| const amountBytes = this.amount === BIGINT_0 ? new Uint8Array() : bigIntToBytes(this.amount) | ||
| return concatBytes( | ||
| Uint8Array.from([this.type]), | ||
| RLP.encode([this.sourceAddress, this.validatorPubkey, amountBytes]), | ||
| ) | ||
| } | ||
| toJSON(): WithdrawalRequestV1 { | ||
| return { | ||
| sourceAddress: bytesToHex(this.sourceAddress), | ||
| validatorPubkey: bytesToHex(this.validatorPubkey), | ||
| amount: bigIntToHex(this.amount), | ||
| } | ||
| } | ||
| } | ||
| export class ConsolidationRequest extends CLRequest<CLRequestType.Consolidation> { | ||
| constructor( | ||
| public readonly sourceAddress: Uint8Array, | ||
| public readonly sourcePubkey: Uint8Array, | ||
| public readonly targetPubkey: Uint8Array, | ||
| ) { | ||
| super(CLRequestType.Consolidation) | ||
| } | ||
| serialize() { | ||
| return concatBytes( | ||
| Uint8Array.from([this.type]), | ||
| RLP.encode([this.sourceAddress, this.sourcePubkey, this.targetPubkey]), | ||
| ) | ||
| } | ||
| toJSON(): ConsolidationRequestV1 { | ||
| return { | ||
| sourceAddress: bytesToHex(this.sourceAddress), | ||
| sourcePubkey: bytesToHex(this.sourcePubkey), | ||
| targetPubkey: bytesToHex(this.targetPubkey), | ||
| } | ||
| } | ||
| } | ||
| export function createDepositRequest(depositData: DepositRequestData): DepositRequest { | ||
| const { pubkey, withdrawalCredentials, amount, signature, index } = depositData | ||
| return new DepositRequest(pubkey, withdrawalCredentials, amount, signature, index) | ||
| } | ||
| export function createDepositRequestFromJSON(jsonData: DepositRequestV1): DepositRequest { | ||
| const { pubkey, withdrawalCredentials, amount, signature, index } = jsonData | ||
| return createDepositRequest({ | ||
| pubkey: hexToBytes(pubkey), | ||
| withdrawalCredentials: hexToBytes(withdrawalCredentials), | ||
| amount: hexToBigInt(amount), | ||
| signature: hexToBytes(signature), | ||
| index: hexToBigInt(index), | ||
| }) | ||
| } | ||
| export function createDepositRequestFromRLP(bytes: Uint8Array): DepositRequest { | ||
| const [pubkey, withdrawalCredentials, amount, signature, index] = RLP.decode(bytes) as [ | ||
| Uint8Array, | ||
| Uint8Array, | ||
| Uint8Array, | ||
| Uint8Array, | ||
| Uint8Array, | ||
| ] | ||
| return createDepositRequest({ | ||
| pubkey, | ||
| withdrawalCredentials, | ||
| amount: bytesToBigInt(amount), | ||
| signature, | ||
| index: bytesToBigInt(index), | ||
| }) | ||
| } | ||
| export function createWithdrawalRequest(withdrawalData: WithdrawalRequestData): WithdrawalRequest { | ||
| const { sourceAddress, validatorPubkey, amount } = withdrawalData | ||
| return new WithdrawalRequest(sourceAddress, validatorPubkey, amount) | ||
| } | ||
| export function createWithdrawalRequestFromJSON(jsonData: WithdrawalRequestV1): WithdrawalRequest { | ||
| const { sourceAddress, validatorPubkey, amount } = jsonData | ||
| return createWithdrawalRequest({ | ||
| sourceAddress: hexToBytes(sourceAddress), | ||
| validatorPubkey: hexToBytes(validatorPubkey), | ||
| amount: hexToBigInt(amount), | ||
| }) | ||
| } | ||
| export function createWithdrawalRequestFromRLP(bytes: Uint8Array): WithdrawalRequest { | ||
| const [sourceAddress, validatorPubkey, amount] = RLP.decode(bytes) as [ | ||
| Uint8Array, | ||
| Uint8Array, | ||
| Uint8Array, | ||
| ] | ||
| return createWithdrawalRequest({ | ||
| sourceAddress, | ||
| validatorPubkey, | ||
| amount: bytesToBigInt(amount), | ||
| }) | ||
| } | ||
| export function createConsolidationRequest( | ||
| consolidationData: ConsolidationRequestData, | ||
| ): ConsolidationRequest { | ||
| const { sourceAddress, sourcePubkey, targetPubkey } = consolidationData | ||
| return new ConsolidationRequest(sourceAddress, sourcePubkey, targetPubkey) | ||
| } | ||
| export function createConsolidationRequestFromJSON( | ||
| jsonData: ConsolidationRequestV1, | ||
| ): ConsolidationRequest { | ||
| const { sourceAddress, sourcePubkey, targetPubkey } = jsonData | ||
| return createConsolidationRequest({ | ||
| sourceAddress: hexToBytes(sourceAddress), | ||
| sourcePubkey: hexToBytes(sourcePubkey), | ||
| targetPubkey: hexToBytes(targetPubkey), | ||
| }) | ||
| } | ||
| export function createConsolidationRequestFromRLP(bytes: Uint8Array): ConsolidationRequest { | ||
| const [sourceAddress, sourcePubkey, targetPubkey] = RLP.decode(bytes) as [ | ||
| Uint8Array, | ||
| Uint8Array, | ||
| Uint8Array, | ||
| ] | ||
| return createConsolidationRequest({ | ||
| sourceAddress, | ||
| sourcePubkey, | ||
| targetPubkey, | ||
| }) | ||
| } | ||
| export class CLRequestFactory { | ||
| public static fromSerializedRequest(bytes: Uint8Array): CLRequest<CLRequestType> { | ||
| switch (bytes[0]) { | ||
| case CLRequestType.Deposit: | ||
| return createDepositRequestFromRLP(bytes.subarray(1)) | ||
| case CLRequestType.Withdrawal: | ||
| return createWithdrawalRequestFromRLP(bytes.subarray(1)) | ||
| case CLRequestType.Consolidation: | ||
| return createConsolidationRequestFromRLP(bytes.subarray(1)) | ||
| default: | ||
| throw Error(`Invalid request type=${bytes[0]}`) | ||
| } | ||
| } | ||
| } |
+39
-11
@@ -12,3 +12,3 @@ import { keccak256 } from 'ethereum-cryptography/keccak.js' | ||
| utf8ToBytes, | ||
| } from './bytes.js' | ||
| } from './bytes.ts' | ||
| import { | ||
@@ -21,6 +21,7 @@ BIGINT_0, | ||
| SECP256K1_ORDER_DIV_2, | ||
| } from './constants.js' | ||
| import { assertIsBytes } from './helpers.js' | ||
| } from './constants.ts' | ||
| import { EthereumJSErrorWithoutCode } from './errors.ts' | ||
| import { assertIsBytes } from './helpers.ts' | ||
| import type { PrefixedHexString } from './types.js' | ||
| import type { PrefixedHexString } from './types.ts' | ||
@@ -33,7 +34,23 @@ export interface ECDSASignature { | ||
| export interface ECSignOpts { | ||
| chainId?: bigint | ||
| extraEntropy?: Uint8Array | boolean | ||
| } | ||
| /** | ||
| * Returns the ECDSA signature of a message hash. | ||
| * | ||
| * If `chainId` is provided assume an EIP-155-style signature and calculate the `v` value | ||
| * If {@link ECSignOpts.chainId} is provided assume an EIP-155-style signature and calculate the `v` value | ||
| * accordingly, otherwise return a "static" `v` just derived from the `recovery` bit | ||
| * | ||
| * {@link ECSignOpts.extraEntropy} defaults to `false`. If set to `true`, this will create a "hedged signature" | ||
| * which is non-deterministic and provides additional protections against private key extraction attack vectors, | ||
| * as described in https://github.com/ethereumjs/ethereumjs-monorepo/issues/3801. It will yield a | ||
| * different, random signature each time `ecsign` is called on the same `msgHash` and `privateKey`. | ||
| * In particular: each time a transaction is signed, this will thus yield a different, random | ||
| * transaction hash. | ||
| * Additionally, a `Uint8Array` can be passed to `extraEntropy` to provide custom entropy, which | ||
| * will then still create a | ||
| * To use this feature, pass `true` or a `Uint8Array` to `extraEntropy`. | ||
| * For more information, see: https://github.com/ethereumjs/ethereumjs-monorepo/issues/3801 | ||
| */ | ||
@@ -43,5 +60,6 @@ export function ecsign( | ||
| privateKey: Uint8Array, | ||
| chainId?: bigint, | ||
| ecSignOpts: { chainId?: bigint; extraEntropy?: Uint8Array | boolean } = { extraEntropy: false }, | ||
| ): ECDSASignature { | ||
| const sig = secp256k1.sign(msgHash, privateKey) | ||
| const { chainId, extraEntropy } = ecSignOpts | ||
| const sig = secp256k1.sign(msgHash, privateKey, { extraEntropy: extraEntropy ?? false }) | ||
| const buf = sig.toCompactRawBytes() | ||
@@ -51,2 +69,12 @@ const r = buf.slice(0, 32) | ||
| if ([2, 3].includes(sig.recovery)) { | ||
| // From the yellow paper: | ||
| /* The recovery identifier is a 1 byte value specifying the parity and finiteness of the coordinates | ||
| of the curve point for which r is the x-value; this value is in the range of [0, 3], | ||
| however we declare the upper two possibilities, representing infinite values, invalid. */ | ||
| throw EthereumJSErrorWithoutCode( | ||
| `Invalid recovery value: values 2/3 are invalid, received: ${sig.recovery}`, | ||
| ) | ||
| } | ||
| const v = | ||
@@ -88,3 +116,3 @@ chainId === undefined | ||
| if (!isValidSigRecovery(recovery)) { | ||
| throw new Error('Invalid signature v value') | ||
| throw EthereumJSErrorWithoutCode('Invalid signature v value') | ||
| } | ||
@@ -110,3 +138,3 @@ | ||
| if (!isValidSigRecovery(recovery)) { | ||
| throw new Error('Invalid signature v value') | ||
| throw EthereumJSErrorWithoutCode('Invalid signature v value') | ||
| } | ||
@@ -132,3 +160,3 @@ | ||
| if (!isValidSigRecovery(recovery)) { | ||
| throw new Error('Invalid signature v value') | ||
| throw EthereumJSErrorWithoutCode('Invalid signature v value') | ||
| } | ||
@@ -169,3 +197,3 @@ | ||
| } else { | ||
| throw new Error('Invalid signature length') | ||
| throw EthereumJSErrorWithoutCode('Invalid signature length') | ||
| } | ||
@@ -172,0 +200,0 @@ |
+17
-17
@@ -1,6 +0,7 @@ | ||
| import { bytesToBigInt, bytesToHex, toBytes } from './bytes.js' | ||
| import { isHexString } from './internal.js' | ||
| import { bytesToBigInt, bytesToHex, toBytes } from './bytes.ts' | ||
| import { EthereumJSErrorWithoutCode } from './errors.ts' | ||
| import { isHexString } from './internal.ts' | ||
| import type { Address } from './address.js' | ||
| import type { ToBytesInputTypes } from './bytes.js' | ||
| import type { Address } from './address.ts' | ||
| import type { ToBytesInputTypes } from './bytes.ts' | ||
@@ -60,12 +61,11 @@ /* | ||
| /** | ||
| * Type output options | ||
| */ | ||
| export enum TypeOutput { | ||
| Number, | ||
| BigInt, | ||
| Uint8Array, | ||
| PrefixedHexString, | ||
| } | ||
| export type TypeOutput = (typeof TypeOutput)[keyof typeof TypeOutput] | ||
| export const TypeOutput = { | ||
| Number: 0, | ||
| BigInt: 1, | ||
| Uint8Array: 2, | ||
| PrefixedHexString: 3, | ||
| } as const | ||
| export type TypeOutputReturnType = { | ||
@@ -102,5 +102,5 @@ [TypeOutput.Number]: number | ||
| if (typeof input === 'string' && !isHexString(input)) { | ||
| throw new Error(`A string must be provided with a 0x-prefix, given: ${input}`) | ||
| throw EthereumJSErrorWithoutCode(`A string must be provided with a 0x-prefix, given: ${input}`) | ||
| } else if (typeof input === 'number' && !Number.isSafeInteger(input)) { | ||
| throw new Error( | ||
| throw EthereumJSErrorWithoutCode( | ||
| 'The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)', | ||
@@ -120,3 +120,3 @@ ) | ||
| if (bigInt > BigInt(Number.MAX_SAFE_INTEGER)) { | ||
| throw new Error( | ||
| throw EthereumJSErrorWithoutCode( | ||
| 'The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)', | ||
@@ -130,4 +130,4 @@ ) | ||
| default: | ||
| throw new Error('unknown outputType') | ||
| throw EthereumJSErrorWithoutCode('unknown outputType') | ||
| } | ||
| } |
+4
-3
@@ -1,2 +0,3 @@ | ||
| import { BIGINT_0, BIGINT_1 } from './constants.js' | ||
| import { BIGINT_0, BIGINT_1 } from './constants.ts' | ||
| import { EthereumJSErrorWithoutCode } from './errors.ts' | ||
@@ -27,6 +28,6 @@ /** Conversion constants to wei */ | ||
| if (typeof amount === 'number' && !Number.isInteger(amount)) { | ||
| throw new Error('Input must be an integer number') | ||
| throw EthereumJSErrorWithoutCode('Input must be an integer number') | ||
| } | ||
| if (BigInt(amount) < 0) { | ||
| throw new Error('Input must be a positive number') | ||
| throw EthereumJSErrorWithoutCode('Input must be a positive number') | ||
| } | ||
@@ -33,0 +34,0 @@ } |
+53
-50
@@ -11,7 +11,7 @@ import { | ||
| toBytes, | ||
| } from './bytes.js' | ||
| } from './bytes.ts' | ||
| import type { Account } from './account.js' | ||
| import type { Address } from './address.js' | ||
| import type { PrefixedHexString } from './types.js' | ||
| import type { Account } from './account.ts' | ||
| import type { Address } from './address.ts' | ||
| import type { PrefixedHexString } from './types.ts' | ||
@@ -56,3 +56,3 @@ /** | ||
| * @dev Assumes that the verkle node width = 256 | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from verkle-cryptography-wasm. | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from Verkle cryptography | ||
| * @param {Address} address The address to generate the tree key for. | ||
@@ -83,3 +83,3 @@ * @param treeIndex The index of the tree to generate the key for. Defaults to 0. | ||
| * Verifies that the executionWitness is valid for the given prestateRoot. | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from verkle-cryptography-wasm. | ||
| * @param {VerkleCrypto} verkleCrypto The {@link VerkleCrypto} foreign function interface object from Verkle cryptography | ||
| * @param {VerkleExecutionWitness} executionWitness The verkle execution witness. | ||
@@ -144,7 +144,9 @@ * @returns {boolean} Whether or not the executionWitness belongs to the prestateRoot. | ||
| export enum VerkleLeafType { | ||
| BasicData = 0, | ||
| CodeHash = 1, | ||
| } | ||
| export type VerkleLeafType = (typeof VerkleLeafType)[keyof typeof VerkleLeafType] | ||
| export const VerkleLeafType = { | ||
| BasicData: 0, | ||
| CodeHash: 1, | ||
| } as const | ||
| export type VerkleLeafBasicData = { | ||
@@ -245,35 +247,40 @@ version: number | ||
| // This code was written by robots based on the reference implementation in EIP-6800 | ||
| export const chunkifyCode = (code: Uint8Array) => { | ||
| if (code.length === 0) return [] | ||
| // Pad code to multiple of VERKLE_CODE_CHUNK_SIZE bytes | ||
| if (code.length % VERKLE_CODE_CHUNK_SIZE !== 0) { | ||
| const paddingLength = VERKLE_CODE_CHUNK_SIZE - (code.length % VERKLE_CODE_CHUNK_SIZE) | ||
| code = setLengthRight(code, code.length + paddingLength) | ||
| } | ||
| // Put first chunk (leading byte is always 0 since we have no leading PUSHDATA bytes) | ||
| const chunks = [concatBytes(new Uint8Array(1), code.subarray(0, 31))] | ||
| for (let i = 1; i < Math.floor(code.length / 31); i++) { | ||
| const slice = code.slice((i - 1) * 31, i * 31) | ||
| let x = 31 | ||
| while (x >= 0) { | ||
| // Look for last push instruction in code chunk | ||
| if (slice[x] > 0x5f && slice[x] < 0x80) break | ||
| x-- | ||
| const PUSH1 = 0x60 // Assuming PUSH1 is defined as 0x60 | ||
| const PUSH32 = 0x7f // Assuming PUSH32 is defined as 0x7f | ||
| const PUSH_OFFSET = 0x5f // Assuming PUSH_OFFSET is defined as 0x5f | ||
| // Calculate padding length | ||
| const paddingLength = (31 - (code.length % 31)) % 31 | ||
| const paddedCode = new Uint8Array(code.length + paddingLength) | ||
| paddedCode.set(code) | ||
| // Pre-allocate the bytesToExecData array | ||
| const bytesToExecData = new Uint8Array(paddedCode.length + 32) | ||
| let pos = 0 | ||
| while (pos < paddedCode.length) { | ||
| let pushdataBytes = 0 | ||
| if (PUSH1 <= paddedCode[pos] && paddedCode[pos] <= PUSH32) { | ||
| pushdataBytes = paddedCode[pos] - PUSH_OFFSET | ||
| } | ||
| if (x >= 0 && slice[x] - 0x5f > 31 - x) { | ||
| // x >= 0 indicates PUSHn in this chunk | ||
| // n > 31 - x indicates that PUSHDATA spills over to next chunk | ||
| // PUSHDATA overflow = n - 31 - x + 1(i.e. number of elements PUSHed | ||
| // - size of code chunk (31) - position of PUSHn in the previous | ||
| // code chunk + 1 (since x is zero-indexed)) | ||
| const pushDataOverflow = slice[x] - 0x5f - 31 - x + 1 | ||
| // Put next chunk prepended with number of overflow PUSHDATA bytes | ||
| chunks.push( | ||
| concatBytes(Uint8Array.from([pushDataOverflow]), code.slice(i * 31, (i + 1) * 31)), | ||
| ) | ||
| } else { | ||
| // Put next chunk prepended with 0 (i.e. no overflow PUSHDATA bytes from previous chunk) | ||
| chunks.push(concatBytes(new Uint8Array(1), code.slice(i * 31, (i + 1) * 31))) | ||
| pos += 1 | ||
| for (let x = 0; x < pushdataBytes; x++) { | ||
| bytesToExecData[pos + x] = pushdataBytes - x | ||
| } | ||
| pos += pushdataBytes | ||
| } | ||
| // Pre-allocate the chunks array | ||
| const numChunks = Math.ceil(paddedCode.length / 31) | ||
| const chunks = new Array<Uint8Array>(numChunks) | ||
| for (let i = 0, pos = 0; i < numChunks; i++, pos += 31) { | ||
| const chunk = new Uint8Array(32) | ||
| chunk[0] = Math.min(bytesToExecData[pos], 31) | ||
| chunk.set(paddedCode.subarray(pos, pos + 31), 1) | ||
| chunks[i] = chunk | ||
| } | ||
| return chunks | ||
@@ -362,13 +369,9 @@ } | ||
| const chunkSuffixes: number[] = new Array<number>(numChunks) | ||
| const firstChunksSet = numChunks > VERKLE_CODE_OFFSET ? VERKLE_CODE_OFFSET : numChunks | ||
| for (let x = 0; x < firstChunksSet; x++) { | ||
| // Fill up to first 128 suffixes | ||
| chunkSuffixes[x] = x + VERKLE_CODE_OFFSET | ||
| let currentSuffix = VERKLE_CODE_OFFSET | ||
| for (let x = 0; x < numChunks; x++) { | ||
| chunkSuffixes[x] = currentSuffix | ||
| currentSuffix++ | ||
| // Reset suffix to 0 if exceeds VERKLE_NODE_WIDTH | ||
| if (currentSuffix >= VERKLE_NODE_WIDTH) currentSuffix = 0 | ||
| } | ||
| if (numChunks > VERKLE_CODE_OFFSET) { | ||
| for (let x = VERKLE_CODE_OFFSET; x < numChunks; x++) { | ||
| // Fill subsequent chunk suffixes up to 256 and then start over since a single node | ||
| chunkSuffixes[x] = x - Math.floor(x / VERKLE_NODE_WIDTH) * VERKLE_NODE_WIDTH | ||
| } | ||
| } | ||
@@ -397,3 +400,3 @@ return chunkSuffixes | ||
| // chunk in each leaf node and can then know that the chunks in between have tree keys in monotonically increasing order | ||
| const numStems = Math.ceil(numChunks / VERKLE_NODE_WIDTH) | ||
| const numStems = numChunks > VERKLE_CODE_OFFSET ? Math.ceil(numChunks / VERKLE_NODE_WIDTH) + 1 : 1 | ||
| const chunkStems = new Array<Uint8Array>(numStems) | ||
@@ -400,0 +403,0 @@ // Compute the stem for the initial set of code chunks |
+16
-14
@@ -1,7 +0,7 @@ | ||
| import { Address } from './address.js' | ||
| import { bigIntToHex, bytesToHex, toBytes } from './bytes.js' | ||
| import { BIGINT_0 } from './constants.js' | ||
| import { TypeOutput, toType } from './types.js' | ||
| import { Address } from './address.ts' | ||
| import { bigIntToHex, bytesToHex, toBytes } from './bytes.ts' | ||
| import { BIGINT_0 } from './constants.ts' | ||
| import { TypeOutput, toType } from './types.ts' | ||
| import type { AddressLike, BigIntLike, PrefixedHexString } from './types.js' | ||
| import type { AddressLike, BigIntLike, PrefixedHexString } from './types.ts' | ||
@@ -60,2 +60,7 @@ /** | ||
| export class Withdrawal { | ||
| public readonly index: bigint | ||
| public readonly validatorIndex: bigint | ||
| public readonly address: Address | ||
| public readonly amount: bigint | ||
| /** | ||
@@ -66,11 +71,8 @@ * This constructor assigns and validates the values. | ||
| */ | ||
| constructor( | ||
| public readonly index: bigint, | ||
| public readonly validatorIndex: bigint, | ||
| public readonly address: Address, | ||
| /** | ||
| * withdrawal amount in Gwei to match the CL representation and eventually ssz withdrawalsRoot | ||
| */ | ||
| public readonly amount: bigint, | ||
| ) {} | ||
| constructor(index: bigint, validatorIndex: bigint, address: Address, amount: bigint) { | ||
| this.index = index | ||
| this.validatorIndex = validatorIndex | ||
| this.address = address | ||
| this.amount = amount | ||
| } | ||
@@ -77,0 +79,0 @@ raw() { |
| /** | ||
| * Ported to Typescript from original implementation below: | ||
| * https://github.com/ahultgren/async-eventemitter -- MIT licensed | ||
| * | ||
| * Type Definitions based on work by: patarapolw <https://github.com/patarapolw> -- MIT licensed | ||
| * that was contributed to Definitely Typed below: | ||
| * https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/async-eventemitter | ||
| */ | ||
| /// <reference types="node" /> | ||
| import { EventEmitter } from 'events'; | ||
| type AsyncListener<T, R> = ((data: T, callback?: (result?: R) => void) => Promise<R>) | ((data: T, callback?: (result?: R) => void) => void); | ||
| export interface EventMap { | ||
| [event: string]: AsyncListener<any, any>; | ||
| } | ||
| export declare class AsyncEventEmitter<T extends EventMap> extends EventEmitter { | ||
| emit<E extends keyof T>(event: E & string, ...args: Parameters<T[E]>): boolean; | ||
| once<E extends keyof T>(event: E & string, listener: T[E]): this; | ||
| first<E extends keyof T>(event: E & string, listener: T[E]): this; | ||
| before<E extends keyof T>(event: E & string, target: T[E], listener: T[E]): this; | ||
| after<E extends keyof T>(event: E & string, target: T[E], listener: T[E]): this; | ||
| private beforeOrAfter; | ||
| on<E extends keyof T>(event: E & string, listener: T[E]): this; | ||
| addListener<E extends keyof T>(event: E & string, listener: T[E]): this; | ||
| prependListener<E extends keyof T>(event: E & string, listener: T[E]): this; | ||
| prependOnceListener<E extends keyof T>(event: E & string, listener: T[E]): this; | ||
| removeAllListeners(event?: keyof T & string): this; | ||
| removeListener<E extends keyof T>(event: E & string, listener: T[E]): this; | ||
| eventNames(): Array<keyof T & string>; | ||
| listeners<E extends keyof T>(event: E & string): Array<T[E]>; | ||
| listenerCount(event: keyof T & string): number; | ||
| getMaxListeners(): number; | ||
| setMaxListeners(maxListeners: number): this; | ||
| } | ||
| export {}; | ||
| //# sourceMappingURL=asyncEventEmitter.d.ts.map |
| {"version":3,"file":"asyncEventEmitter.d.ts","sourceRoot":"","sources":["../../src/asyncEventEmitter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,IACnB,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAC1D,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC,CAAA;AACxD,MAAM,WAAW,QAAQ;IACvB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CACzC;AAiCD,qBAAa,iBAAiB,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,YAAY;IACrE,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IA6BpE,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IA0BhE,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAkBjE,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAIhF,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAI/E,OAAO,CAAC,aAAa;IAsCrB,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAI9D,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAIvE,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAI3E,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAI/E,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI;IAIlD,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAI1E,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAIrC,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAI5D,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM;IAI9C,eAAe,IAAI,MAAM;IAIzB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;CAG5C"} |
| "use strict"; | ||
| /** | ||
| * Ported to Typescript from original implementation below: | ||
| * https://github.com/ahultgren/async-eventemitter -- MIT licensed | ||
| * | ||
| * Type Definitions based on work by: patarapolw <https://github.com/patarapolw> -- MIT licensed | ||
| * that was contributed to Definitely Typed below: | ||
| * https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/async-eventemitter | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.AsyncEventEmitter = void 0; | ||
| const events_1 = require("events"); | ||
| async function runInSeries(context, tasks, data) { | ||
| let error; | ||
| for await (const task of tasks) { | ||
| try { | ||
| if (task.length < 2) { | ||
| //sync | ||
| task.call(context, data); | ||
| } | ||
| else { | ||
| await new Promise((resolve, reject) => { | ||
| task.call(context, data, (error) => { | ||
| if (error) { | ||
| reject(error); | ||
| } | ||
| else { | ||
| resolve(); | ||
| } | ||
| }); | ||
| }); | ||
| } | ||
| } | ||
| catch (e) { | ||
| error = e; | ||
| } | ||
| } | ||
| if (error) { | ||
| throw error; | ||
| } | ||
| } | ||
| class AsyncEventEmitter extends events_1.EventEmitter { | ||
| emit(event, ...args) { | ||
| let [data, callback] = args; | ||
| const self = this; | ||
| let listeners = self._events[event] ?? []; | ||
| // Optional data argument | ||
| if (callback === undefined && typeof data === 'function') { | ||
| callback = data; | ||
| data = undefined; | ||
| } | ||
| // Special treatment of internal newListener and removeListener events | ||
| if (event === 'newListener' || event === 'removeListener') { | ||
| data = { | ||
| event: data, | ||
| fn: callback, | ||
| }; | ||
| callback = undefined; | ||
| } | ||
| // A single listener is just a function not an array... | ||
| listeners = Array.isArray(listeners) ? listeners : [listeners]; | ||
| runInSeries(self, listeners.slice(), data).then(callback).catch(callback); | ||
| return self.listenerCount(event) > 0; | ||
| } | ||
| once(event, listener) { | ||
| const self = this; | ||
| let g; | ||
| if (typeof listener !== 'function') { | ||
| throw new TypeError('listener must be a function'); | ||
| } | ||
| // Hack to support set arity | ||
| if (listener.length >= 2) { | ||
| g = function (e, next) { | ||
| self.removeListener(event, g); | ||
| void listener(e, next); | ||
| }; | ||
| } | ||
| else { | ||
| g = function (e) { | ||
| self.removeListener(event, g); | ||
| void listener(e, g); | ||
| }; | ||
| } | ||
| self.on(event, g); | ||
| return self; | ||
| } | ||
| first(event, listener) { | ||
| let listeners = this._events[event] ?? []; | ||
| // Contract | ||
| if (typeof listener !== 'function') { | ||
| throw new TypeError('listener must be a function'); | ||
| } | ||
| // Listeners are not always an array | ||
| if (!Array.isArray(listeners)) { | ||
| ; | ||
| this._events[event] = listeners = [listeners]; | ||
| } | ||
| listeners.unshift(listener); | ||
| return this; | ||
| } | ||
| before(event, target, listener) { | ||
| return this.beforeOrAfter(event, target, listener); | ||
| } | ||
| after(event, target, listener) { | ||
| return this.beforeOrAfter(event, target, listener, 'after'); | ||
| } | ||
| beforeOrAfter(event, target, listener, beforeOrAfter) { | ||
| let listeners = this._events[event] ?? []; | ||
| let i; | ||
| let index; | ||
| const add = beforeOrAfter === 'after' ? 1 : 0; | ||
| // Contract | ||
| if (typeof listener !== 'function') { | ||
| throw new TypeError('listener must be a function'); | ||
| } | ||
| if (typeof target !== 'function') { | ||
| throw new TypeError('target must be a function'); | ||
| } | ||
| // Listeners are not always an array | ||
| if (!Array.isArray(listeners)) { | ||
| ; | ||
| this._events[event] = listeners = [listeners]; | ||
| } | ||
| index = listeners.length; | ||
| for (i = listeners.length; i--;) { | ||
| if (listeners[i] === target) { | ||
| index = i + add; | ||
| break; | ||
| } | ||
| } | ||
| listeners.splice(index, 0, listener); | ||
| return this; | ||
| } | ||
| on(event, listener) { | ||
| return super.on(event, listener); | ||
| } | ||
| addListener(event, listener) { | ||
| return super.addListener(event, listener); | ||
| } | ||
| prependListener(event, listener) { | ||
| return super.prependListener(event, listener); | ||
| } | ||
| prependOnceListener(event, listener) { | ||
| return super.prependOnceListener(event, listener); | ||
| } | ||
| removeAllListeners(event) { | ||
| return super.removeAllListeners(event); | ||
| } | ||
| removeListener(event, listener) { | ||
| return super.removeListener(event, listener); | ||
| } | ||
| eventNames() { | ||
| return super.eventNames(); | ||
| } | ||
| listeners(event) { | ||
| return super.listeners(event); | ||
| } | ||
| listenerCount(event) { | ||
| return super.listenerCount(event); | ||
| } | ||
| getMaxListeners() { | ||
| return super.getMaxListeners(); | ||
| } | ||
| setMaxListeners(maxListeners) { | ||
| return super.setMaxListeners(maxListeners); | ||
| } | ||
| } | ||
| exports.AsyncEventEmitter = AsyncEventEmitter; | ||
| //# sourceMappingURL=asyncEventEmitter.js.map |
| {"version":3,"file":"asyncEventEmitter.js","sourceRoot":"","sources":["../../src/asyncEventEmitter.ts"],"names":[],"mappings":"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"} |
| /** | ||
| * Ported to Typescript from original implementation below: | ||
| * https://github.com/ahultgren/async-eventemitter -- MIT licensed | ||
| * | ||
| * Type Definitions based on work by: patarapolw <https://github.com/patarapolw> -- MIT licensed | ||
| * that was contributed to Definitely Typed below: | ||
| * https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/async-eventemitter | ||
| */ | ||
| /// <reference types="node" resolution-mode="require"/> | ||
| import { EventEmitter } from 'events'; | ||
| type AsyncListener<T, R> = ((data: T, callback?: (result?: R) => void) => Promise<R>) | ((data: T, callback?: (result?: R) => void) => void); | ||
| export interface EventMap { | ||
| [event: string]: AsyncListener<any, any>; | ||
| } | ||
| export declare class AsyncEventEmitter<T extends EventMap> extends EventEmitter { | ||
| emit<E extends keyof T>(event: E & string, ...args: Parameters<T[E]>): boolean; | ||
| once<E extends keyof T>(event: E & string, listener: T[E]): this; | ||
| first<E extends keyof T>(event: E & string, listener: T[E]): this; | ||
| before<E extends keyof T>(event: E & string, target: T[E], listener: T[E]): this; | ||
| after<E extends keyof T>(event: E & string, target: T[E], listener: T[E]): this; | ||
| private beforeOrAfter; | ||
| on<E extends keyof T>(event: E & string, listener: T[E]): this; | ||
| addListener<E extends keyof T>(event: E & string, listener: T[E]): this; | ||
| prependListener<E extends keyof T>(event: E & string, listener: T[E]): this; | ||
| prependOnceListener<E extends keyof T>(event: E & string, listener: T[E]): this; | ||
| removeAllListeners(event?: keyof T & string): this; | ||
| removeListener<E extends keyof T>(event: E & string, listener: T[E]): this; | ||
| eventNames(): Array<keyof T & string>; | ||
| listeners<E extends keyof T>(event: E & string): Array<T[E]>; | ||
| listenerCount(event: keyof T & string): number; | ||
| getMaxListeners(): number; | ||
| setMaxListeners(maxListeners: number): this; | ||
| } | ||
| export {}; | ||
| //# sourceMappingURL=asyncEventEmitter.d.ts.map |
| {"version":3,"file":"asyncEventEmitter.d.ts","sourceRoot":"","sources":["../../src/asyncEventEmitter.ts"],"names":[],"mappings":"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"} |
| /** | ||
| * Ported to Typescript from original implementation below: | ||
| * https://github.com/ahultgren/async-eventemitter -- MIT licensed | ||
| * | ||
| * Type Definitions based on work by: patarapolw <https://github.com/patarapolw> -- MIT licensed | ||
| * that was contributed to Definitely Typed below: | ||
| * https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/async-eventemitter | ||
| */ | ||
| import { EventEmitter } from 'events'; | ||
| async function runInSeries(context, tasks, data) { | ||
| let error; | ||
| for await (const task of tasks) { | ||
| try { | ||
| if (task.length < 2) { | ||
| //sync | ||
| task.call(context, data); | ||
| } | ||
| else { | ||
| await new Promise((resolve, reject) => { | ||
| task.call(context, data, (error) => { | ||
| if (error) { | ||
| reject(error); | ||
| } | ||
| else { | ||
| resolve(); | ||
| } | ||
| }); | ||
| }); | ||
| } | ||
| } | ||
| catch (e) { | ||
| error = e; | ||
| } | ||
| } | ||
| if (error) { | ||
| throw error; | ||
| } | ||
| } | ||
| export class AsyncEventEmitter extends EventEmitter { | ||
| emit(event, ...args) { | ||
| let [data, callback] = args; | ||
| const self = this; | ||
| let listeners = self._events[event] ?? []; | ||
| // Optional data argument | ||
| if (callback === undefined && typeof data === 'function') { | ||
| callback = data; | ||
| data = undefined; | ||
| } | ||
| // Special treatment of internal newListener and removeListener events | ||
| if (event === 'newListener' || event === 'removeListener') { | ||
| data = { | ||
| event: data, | ||
| fn: callback, | ||
| }; | ||
| callback = undefined; | ||
| } | ||
| // A single listener is just a function not an array... | ||
| listeners = Array.isArray(listeners) ? listeners : [listeners]; | ||
| runInSeries(self, listeners.slice(), data).then(callback).catch(callback); | ||
| return self.listenerCount(event) > 0; | ||
| } | ||
| once(event, listener) { | ||
| const self = this; | ||
| let g; | ||
| if (typeof listener !== 'function') { | ||
| throw new TypeError('listener must be a function'); | ||
| } | ||
| // Hack to support set arity | ||
| if (listener.length >= 2) { | ||
| g = function (e, next) { | ||
| self.removeListener(event, g); | ||
| void listener(e, next); | ||
| }; | ||
| } | ||
| else { | ||
| g = function (e) { | ||
| self.removeListener(event, g); | ||
| void listener(e, g); | ||
| }; | ||
| } | ||
| self.on(event, g); | ||
| return self; | ||
| } | ||
| first(event, listener) { | ||
| let listeners = this._events[event] ?? []; | ||
| // Contract | ||
| if (typeof listener !== 'function') { | ||
| throw new TypeError('listener must be a function'); | ||
| } | ||
| // Listeners are not always an array | ||
| if (!Array.isArray(listeners)) { | ||
| ; | ||
| this._events[event] = listeners = [listeners]; | ||
| } | ||
| listeners.unshift(listener); | ||
| return this; | ||
| } | ||
| before(event, target, listener) { | ||
| return this.beforeOrAfter(event, target, listener); | ||
| } | ||
| after(event, target, listener) { | ||
| return this.beforeOrAfter(event, target, listener, 'after'); | ||
| } | ||
| beforeOrAfter(event, target, listener, beforeOrAfter) { | ||
| let listeners = this._events[event] ?? []; | ||
| let i; | ||
| let index; | ||
| const add = beforeOrAfter === 'after' ? 1 : 0; | ||
| // Contract | ||
| if (typeof listener !== 'function') { | ||
| throw new TypeError('listener must be a function'); | ||
| } | ||
| if (typeof target !== 'function') { | ||
| throw new TypeError('target must be a function'); | ||
| } | ||
| // Listeners are not always an array | ||
| if (!Array.isArray(listeners)) { | ||
| ; | ||
| this._events[event] = listeners = [listeners]; | ||
| } | ||
| index = listeners.length; | ||
| for (i = listeners.length; i--;) { | ||
| if (listeners[i] === target) { | ||
| index = i + add; | ||
| break; | ||
| } | ||
| } | ||
| listeners.splice(index, 0, listener); | ||
| return this; | ||
| } | ||
| on(event, listener) { | ||
| return super.on(event, listener); | ||
| } | ||
| addListener(event, listener) { | ||
| return super.addListener(event, listener); | ||
| } | ||
| prependListener(event, listener) { | ||
| return super.prependListener(event, listener); | ||
| } | ||
| prependOnceListener(event, listener) { | ||
| return super.prependOnceListener(event, listener); | ||
| } | ||
| removeAllListeners(event) { | ||
| return super.removeAllListeners(event); | ||
| } | ||
| removeListener(event, listener) { | ||
| return super.removeListener(event, listener); | ||
| } | ||
| eventNames() { | ||
| return super.eventNames(); | ||
| } | ||
| listeners(event) { | ||
| return super.listeners(event); | ||
| } | ||
| listenerCount(event) { | ||
| return super.listenerCount(event); | ||
| } | ||
| getMaxListeners() { | ||
| return super.getMaxListeners(); | ||
| } | ||
| setMaxListeners(maxListeners) { | ||
| return super.setMaxListeners(maxListeners); | ||
| } | ||
| } | ||
| //# sourceMappingURL=asyncEventEmitter.js.map |
| {"version":3,"file":"asyncEventEmitter.js","sourceRoot":"","sources":["../../src/asyncEventEmitter.ts"],"names":[],"mappings":"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"} |
| /** | ||
| * Ported to Typescript from original implementation below: | ||
| * https://github.com/ahultgren/async-eventemitter -- MIT licensed | ||
| * | ||
| * Type Definitions based on work by: patarapolw <https://github.com/patarapolw> -- MIT licensed | ||
| * that was contributed to Definitely Typed below: | ||
| * https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/async-eventemitter | ||
| */ | ||
| import { EventEmitter } from 'events' | ||
| type AsyncListener<T, R> = | ||
| | ((data: T, callback?: (result?: R) => void) => Promise<R>) | ||
| | ((data: T, callback?: (result?: R) => void) => void) | ||
| export interface EventMap { | ||
| [event: string]: AsyncListener<any, any> | ||
| } | ||
| async function runInSeries( | ||
| context: any, | ||
| tasks: Array<(data: unknown, callback?: (error?: Error) => void) => void>, | ||
| data: unknown, | ||
| ): Promise<void> { | ||
| let error: Error | undefined | ||
| for await (const task of tasks) { | ||
| try { | ||
| if (task.length < 2) { | ||
| //sync | ||
| task.call(context, data) | ||
| } else { | ||
| await new Promise<void>((resolve, reject) => { | ||
| task.call(context, data, (error) => { | ||
| if (error) { | ||
| reject(error) | ||
| } else { | ||
| resolve() | ||
| } | ||
| }) | ||
| }) | ||
| } | ||
| } catch (e: unknown) { | ||
| error = e as Error | ||
| } | ||
| } | ||
| if (error) { | ||
| throw error | ||
| } | ||
| } | ||
| export class AsyncEventEmitter<T extends EventMap> extends EventEmitter { | ||
| emit<E extends keyof T>(event: E & string, ...args: Parameters<T[E]>) { | ||
| let [data, callback] = args | ||
| const self = this | ||
| let listeners = (self as any)._events[event] ?? [] | ||
| // Optional data argument | ||
| if (callback === undefined && typeof data === 'function') { | ||
| callback = data | ||
| data = undefined | ||
| } | ||
| // Special treatment of internal newListener and removeListener events | ||
| if (event === 'newListener' || event === 'removeListener') { | ||
| data = { | ||
| event: data, | ||
| fn: callback, | ||
| } | ||
| callback = undefined | ||
| } | ||
| // A single listener is just a function not an array... | ||
| listeners = Array.isArray(listeners) ? listeners : [listeners] | ||
| runInSeries(self, listeners.slice(), data).then(callback).catch(callback) | ||
| return self.listenerCount(event) > 0 | ||
| } | ||
| once<E extends keyof T>(event: E & string, listener: T[E]): this { | ||
| const self = this | ||
| let g: (...args: any[]) => void | ||
| if (typeof listener !== 'function') { | ||
| throw new TypeError('listener must be a function') | ||
| } | ||
| // Hack to support set arity | ||
| if (listener.length >= 2) { | ||
| g = function (e: E, next: any) { | ||
| self.removeListener(event, g as T[E]) | ||
| void listener(e, next) | ||
| } | ||
| } else { | ||
| g = function (e: E) { | ||
| self.removeListener(event, g as T[E]) | ||
| void listener(e, g) | ||
| } | ||
| } | ||
| self.on(event, g as T[E]) | ||
| return self | ||
| } | ||
| first<E extends keyof T>(event: E & string, listener: T[E]): this { | ||
| let listeners = (this as any)._events[event] ?? [] | ||
| // Contract | ||
| if (typeof listener !== 'function') { | ||
| throw new TypeError('listener must be a function') | ||
| } | ||
| // Listeners are not always an array | ||
| if (!Array.isArray(listeners)) { | ||
| ;(this as any)._events[event] = listeners = [listeners] | ||
| } | ||
| listeners.unshift(listener) | ||
| return this | ||
| } | ||
| before<E extends keyof T>(event: E & string, target: T[E], listener: T[E]): this { | ||
| return this.beforeOrAfter(event, target, listener) | ||
| } | ||
| after<E extends keyof T>(event: E & string, target: T[E], listener: T[E]): this { | ||
| return this.beforeOrAfter(event, target, listener, 'after') | ||
| } | ||
| private beforeOrAfter<E extends keyof T>( | ||
| event: E & string, | ||
| target: T[E], | ||
| listener: T[E], | ||
| beforeOrAfter?: string, | ||
| ) { | ||
| let listeners = (this as any)._events[event] ?? [] | ||
| let i | ||
| let index | ||
| const add = beforeOrAfter === 'after' ? 1 : 0 | ||
| // Contract | ||
| if (typeof listener !== 'function') { | ||
| throw new TypeError('listener must be a function') | ||
| } | ||
| if (typeof target !== 'function') { | ||
| throw new TypeError('target must be a function') | ||
| } | ||
| // Listeners are not always an array | ||
| if (!Array.isArray(listeners)) { | ||
| ;(this as any)._events[event] = listeners = [listeners] | ||
| } | ||
| index = listeners.length | ||
| for (i = listeners.length; i--; ) { | ||
| if (listeners[i] === target) { | ||
| index = i + add | ||
| break | ||
| } | ||
| } | ||
| listeners.splice(index, 0, listener) | ||
| return this | ||
| } | ||
| on<E extends keyof T>(event: E & string, listener: T[E]): this { | ||
| return super.on(event, listener) | ||
| } | ||
| addListener<E extends keyof T>(event: E & string, listener: T[E]): this { | ||
| return super.addListener(event, listener) | ||
| } | ||
| prependListener<E extends keyof T>(event: E & string, listener: T[E]): this { | ||
| return super.prependListener(event, listener) | ||
| } | ||
| prependOnceListener<E extends keyof T>(event: E & string, listener: T[E]): this { | ||
| return super.prependOnceListener(event, listener) | ||
| } | ||
| removeAllListeners(event?: keyof T & string): this { | ||
| return super.removeAllListeners(event) | ||
| } | ||
| removeListener<E extends keyof T>(event: E & string, listener: T[E]): this { | ||
| return super.removeListener(event, listener) | ||
| } | ||
| eventNames(): Array<keyof T & string> { | ||
| return super.eventNames() as keyof T & string[] | ||
| } | ||
| listeners<E extends keyof T>(event: E & string): Array<T[E]> { | ||
| return super.listeners(event) as T[E][] | ||
| } | ||
| listenerCount(event: keyof T & string): number { | ||
| return super.listenerCount(event) | ||
| } | ||
| getMaxListeners(): number { | ||
| return super.getMaxListeners() | ||
| } | ||
| setMaxListeners(maxListeners: number): this { | ||
| return super.setMaxListeners(maxListeners) | ||
| } | ||
| } |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
814842
4.89%3
-25%214
4.39%11966
2.41%+ Added
- Removed
Updated
Updated