├── .editorconfig ├── .githooks ├── pre-commit └── pre-push ├── .github ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE │ ├── general.md │ ├── package--ethereumjs-binarytree.md │ ├── package--ethereumjs-block.md │ ├── package--ethereumjs-blockchain.md │ ├── package--ethereumjs-client.md │ ├── package--ethereumjs-common.md │ ├── package--ethereumjs-devp2p.md │ ├── package--ethereumjs-e2store.md │ ├── package--ethereumjs-ethash.md │ ├── package--ethereumjs-evm.md │ ├── package--ethereumjs-genesis.md │ ├── package--ethereumjs-mpt.md │ ├── package--ethereumjs-statemanager.md │ ├── package--ethereumjs-testdata.md │ ├── package--ethereumjs-tx.md │ ├── package--ethereumjs-util.md │ ├── package--ethereumjs-verkle.md │ ├── package--ethereumjs-vm.md │ ├── package--ethereumjs-wallet.md │ ├── package--monorepo.md │ └── package--rlp.md └── workflows │ ├── binarytree-build.yml │ ├── block-build.yml │ ├── blockchain-build.yml │ ├── browser.yml │ ├── build.yml │ ├── client-build.yml │ ├── common-build.yml │ ├── devp2p-build.yml │ ├── docker-image.yml │ ├── evm-build.yml │ ├── examples.yml │ ├── lint.yml │ ├── lockfile.yml │ ├── lockfile.yml.old │ ├── mpt-build.yml │ ├── noCompile.yml │ ├── node-versions.yml │ ├── rlp-ethash-genesis-wallet-build.yml │ ├── spellcheck.yml │ ├── statemanager-build.yml │ ├── tx-build.yml │ ├── typecheck.yml │ ├── util-build.yml │ ├── verkle-build.yml │ ├── vm-build.yml │ ├── vm-nightly-test.yml │ └── vm-pr.yml ├── .gitignore ├── .gitmodules ├── .nvmrc ├── .vscode └── settings.json ├── CODE_OF_CONDUCT.md ├── DEVELOPER.md ├── Dockerfile ├── FUNDING.json ├── README.md ├── biome.json ├── codecov.yml ├── config ├── .c8rc.json ├── cli │ ├── clean-package.sh │ ├── clean-root.sh │ ├── coverage.sh │ ├── lint-diff.sh │ ├── prepublish.sh │ ├── ts-build.sh │ └── ts-compile.sh ├── cspell-md.json ├── cspell-ts.json ├── eslint.config.mjs ├── tsconfig.json ├── tsconfig.lint.json ├── tsconfig.prod.cjs.json ├── tsconfig.prod.esm.json ├── typedoc.mjs ├── vitest.config.browser.mts ├── vitest.config.coverage.istanbul.mts ├── vitest.config.coverage.mts └── vitest.config.mts ├── docker └── docker-compose.yml ├── eslint.config.mjs ├── lint-staged.config.js ├── package-lock.json ├── package.json ├── packages ├── binarytree │ ├── .c8rc.json │ ├── .gitignore │ ├── .npmignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── docs │ │ ├── README.md │ │ ├── classes │ │ │ ├── BinaryTree.md │ │ │ ├── CheckpointDB.md │ │ │ └── InternalBinaryNode.md │ │ ├── functions │ │ │ ├── binaryTreeFromProof.md │ │ │ ├── createBinaryTree.md │ │ │ ├── decodeBinaryNode.md │ │ │ ├── decodeRawBinaryNode.md │ │ │ ├── isInternalBinaryNode.md │ │ │ ├── isRawBinaryNode.md │ │ │ ├── isStemBinaryNode.md │ │ │ └── verifyBinaryProof.md │ │ ├── interfaces │ │ │ ├── BinaryNodeOptions.md │ │ │ ├── BinaryTreeOpts.md │ │ │ ├── CheckpointDBOpts.md │ │ │ └── TypedBinaryNode.md │ │ ├── type-aliases │ │ │ ├── BinaryNode.md │ │ │ ├── BinaryNodeType.md │ │ │ ├── Checkpoint.md │ │ │ └── ChildBinaryNode.md │ │ └── variables │ │ │ ├── BinaryNodeType.md │ │ │ ├── NODE_WIDTH.md │ │ │ └── ROOT_DB_KEY.md │ ├── eslint.config.mjs │ ├── package.json │ ├── src │ │ ├── binaryTree.ts │ │ ├── constructors.ts │ │ ├── db │ │ │ ├── checkpoint.ts │ │ │ └── index.ts │ │ ├── index.ts │ │ ├── node │ │ │ ├── index.ts │ │ │ ├── internalNode.ts │ │ │ ├── stemNode.ts │ │ │ ├── types.ts │ │ │ └── util.ts │ │ ├── proof.ts │ │ ├── types.ts │ │ └── util.ts │ ├── test │ │ ├── binarytree.spec.ts │ │ ├── node │ │ │ ├── internalNode.spec.ts │ │ │ └── stemNode.spec.ts │ │ └── proof.spec.ts │ ├── tsconfig.benchmarks.json │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.cjs.json │ ├── tsconfig.prod.esm.json │ └── typedoc.mjs ├── block │ ├── .c8rc.json │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── docs │ │ ├── README.md │ │ ├── classes │ │ │ ├── Block.md │ │ │ └── BlockHeader.md │ │ ├── functions │ │ │ ├── cliqueEpochTransitionSigners.md │ │ │ ├── cliqueExtraSeal.md │ │ │ ├── cliqueExtraVanity.md │ │ │ ├── cliqueIsEpochTransition.md │ │ │ ├── cliqueSigHash.md │ │ │ ├── cliqueSigner.md │ │ │ ├── cliqueVerifySignature.md │ │ │ ├── createBlock.md │ │ │ ├── createBlockFromBeaconPayloadJSON.md │ │ │ ├── createBlockFromBytesArray.md │ │ │ ├── createBlockFromExecutionPayload.md │ │ │ ├── createBlockFromJSONRPCProvider.md │ │ │ ├── createBlockFromRLP.md │ │ │ ├── createBlockFromRPC.md │ │ │ ├── createBlockHeader.md │ │ │ ├── createBlockHeaderFromBytesArray.md │ │ │ ├── createBlockHeaderFromRLP.md │ │ │ ├── createBlockHeaderFromRPC.md │ │ │ ├── createEmptyBlock.md │ │ │ ├── createSealedCliqueBlock.md │ │ │ ├── createSealedCliqueBlockHeader.md │ │ │ ├── ethashCanonicalDifficulty.md │ │ │ └── executionPayloadFromBeaconPayload.md │ │ ├── interfaces │ │ │ ├── BlockData.md │ │ │ ├── BlockOptions.md │ │ │ ├── HeaderData.md │ │ │ ├── JSONBlock.md │ │ │ ├── JSONHeader.md │ │ │ └── JSONRPCBlock.md │ │ ├── type-aliases │ │ │ ├── BeaconPayloadJSON.md │ │ │ ├── BlockBodyBytes.md │ │ │ ├── BlockBytes.md │ │ │ ├── BlockHeaderBytes.md │ │ │ ├── ExecutionPayload.md │ │ │ ├── ExecutionWitnessBytes.md │ │ │ ├── TransactionsBytes.md │ │ │ ├── UncleHeadersBytes.md │ │ │ ├── WithdrawalV1.md │ │ │ └── WithdrawalsBytes.md │ │ └── variables │ │ │ ├── CLIQUE_EXTRA_SEAL.md │ │ │ ├── CLIQUE_EXTRA_VANITY.md │ │ │ └── paramsBlock.md │ ├── eslint.config.mjs │ ├── examples │ │ ├── 1559.ts │ │ ├── 4844.ts │ │ ├── browser.html │ │ ├── clique.ts │ │ ├── clrequests.ts │ │ ├── pos.ts │ │ ├── pow.ts │ │ ├── simple.ts │ │ └── withdrawals.ts │ ├── package.json │ ├── scripts │ │ └── wrap-ethereum-test.sh │ ├── src │ │ ├── block │ │ │ ├── block.ts │ │ │ ├── constructors.ts │ │ │ └── index.ts │ │ ├── consensus │ │ │ ├── clique.ts │ │ │ ├── ethash.ts │ │ │ └── index.ts │ │ ├── from-beacon-payload.ts │ │ ├── header │ │ │ ├── constructors.ts │ │ │ ├── header.ts │ │ │ └── index.ts │ │ ├── helpers.ts │ │ ├── index.ts │ │ ├── params.ts │ │ └── types.ts │ ├── test │ │ ├── block.spec.ts │ │ ├── clique.spec.ts │ │ ├── clrequests.spec.ts │ │ ├── difficulty.spec.ts │ │ ├── eip1559block.spec.ts │ │ ├── eip4788block.spec.ts │ │ ├── eip4844block.spec.ts │ │ ├── eip4895block.spec.ts │ │ ├── from-beacon-payload.spec.ts │ │ ├── from-rpc.spec.ts │ │ ├── header.spec.ts │ │ ├── mergeBlock.spec.ts │ │ └── testdata │ │ │ ├── DataTestNotEnoughGAS.ts │ │ │ ├── alchemy14151203.ts │ │ │ ├── bcBlockGasLimitTest.ts │ │ │ ├── eip1559baseFee.ts │ │ │ ├── genesisHashesTest.ts │ │ │ ├── infura-goerli-block-10536893.ts │ │ │ ├── infura15571241.ts │ │ │ ├── infura15571241withTransactions.ts │ │ │ ├── infura2000004withTransactions.ts │ │ │ ├── infura2000004withoutTransactions.ts │ │ │ ├── payload-kaustinen.ts │ │ │ ├── payload-slot-87335.ts │ │ │ ├── payload-slot-87475.ts │ │ │ ├── testdata-from-rpc-difficulty-as-integer.ts │ │ │ ├── testdata-from-rpc-goerli-london.ts │ │ │ ├── testdata-from-rpc-goerli.ts │ │ │ ├── testdata-from-rpc-with-uncles.ts │ │ │ ├── testdata-from-rpc-with-uncles_uncle-block-data.ts │ │ │ ├── testdata-from-rpc-with-withdrawals.ts │ │ │ ├── testdata-from-rpc.ts │ │ │ └── testnetVerkleKaustinen.ts │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.cjs.json │ ├── tsconfig.prod.esm.json │ └── typedoc.mjs ├── blockchain │ ├── .c8rc.json │ ├── .gitignore │ ├── CHANGELOG.md │ ├── README.md │ ├── docs │ │ ├── README.md │ │ ├── classes │ │ │ ├── Blockchain.md │ │ │ ├── CasperConsensus.md │ │ │ ├── CliqueConsensus.md │ │ │ └── EthashConsensus.md │ │ ├── functions │ │ │ ├── createBlockchain.md │ │ │ ├── createBlockchainFromBlocksData.md │ │ │ ├── genGenesisStateRoot.md │ │ │ └── getGenesisStateRoot.md │ │ ├── interfaces │ │ │ ├── BlockchainInterface.md │ │ │ ├── BlockchainOptions.md │ │ │ ├── Consensus.md │ │ │ ├── ConsensusOptions.md │ │ │ └── GenesisOptions.md │ │ └── type-aliases │ │ │ ├── BlockchainEvent.md │ │ │ ├── ConsensusDict.md │ │ │ └── OnBlock.md │ ├── eslint.config.mjs │ ├── examples │ │ ├── browser.html │ │ ├── clique.ts │ │ ├── gethGenesis.ts │ │ └── simple.ts │ ├── package.json │ ├── src │ │ ├── blockchain.ts │ │ ├── consensus │ │ │ ├── casper.ts │ │ │ ├── clique.ts │ │ │ ├── ethash.ts │ │ │ └── index.ts │ │ ├── constructors.ts │ │ ├── db │ │ │ ├── cache.ts │ │ │ ├── constants.ts │ │ │ ├── helpers.ts │ │ │ ├── manager.ts │ │ │ └── operation.ts │ │ ├── helpers.ts │ │ ├── index.ts │ │ └── types.ts │ ├── test │ │ ├── blockValidation.spec.ts │ │ ├── clique.spec.ts │ │ ├── customConsensus.spec.ts │ │ ├── index.spec.ts │ │ ├── iterator.spec.ts │ │ ├── reorg.spec.ts │ │ ├── util.ts │ │ └── utils.spec.ts │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.cjs.json │ ├── tsconfig.prod.esm.json │ ├── typedoc.mjs │ └── vitest.config.browser.mts ├── client │ ├── .c8rc.json │ ├── .gitignore │ ├── CHANGELOG.md │ ├── DESIGN.md │ ├── DEVELOPER.md │ ├── README.md │ ├── bin │ │ ├── cli.ts │ │ ├── repl.ts │ │ ├── startRPC.ts │ │ └── utils.ts │ ├── devnets │ │ └── kaustinen7 │ │ │ └── genesis.json │ ├── diagram │ │ ├── client.drawio │ │ ├── client.png │ │ └── client.svg │ ├── docs │ │ ├── README.md │ │ ├── classes │ │ │ ├── Config.md │ │ │ └── EthereumClient.md │ │ ├── interfaces │ │ │ └── ConfigOptions.md │ │ ├── type-aliases │ │ │ ├── DataDirectory.md │ │ │ └── SyncMode.md │ │ └── variables │ │ │ ├── DataDirectory.md │ │ │ └── SyncMode.md │ ├── eslint.config.mjs │ ├── examples │ │ ├── local-debugging.md │ │ └── private-geth-network.md │ ├── package.json │ ├── scripts │ │ ├── inlineClient.ts │ │ ├── postBuildFixes.sh │ │ └── ts-build.sh │ ├── src │ │ ├── @types │ │ │ └── qheap │ │ │ │ └── index.d.ts │ │ ├── blockchain │ │ │ ├── chain.ts │ │ │ └── index.ts │ │ ├── client.ts │ │ ├── config.ts │ │ ├── execution │ │ │ ├── execution.ts │ │ │ ├── index.ts │ │ │ ├── level.ts │ │ │ ├── preimage.ts │ │ │ ├── receipt.ts │ │ │ ├── txIndex.ts │ │ │ └── vmexecution.ts │ │ ├── ext │ │ │ ├── index.ts │ │ │ ├── jwt-simple.ts │ │ │ └── qheap.ts │ │ ├── index.ts │ │ ├── logging.ts │ │ ├── miner │ │ │ ├── index.ts │ │ │ ├── miner.ts │ │ │ └── pendingBlock.ts │ │ ├── net │ │ │ ├── peer │ │ │ │ ├── index.ts │ │ │ │ ├── peer.ts │ │ │ │ └── rlpxpeer.ts │ │ │ ├── peerpool.ts │ │ │ ├── protocol │ │ │ │ ├── boundprotocol.ts │ │ │ │ ├── ethprotocol.ts │ │ │ │ ├── index.ts │ │ │ │ ├── protocol.ts │ │ │ │ ├── rlpxsender.ts │ │ │ │ ├── sender.ts │ │ │ │ └── snapprotocol.ts │ │ │ └── server │ │ │ │ ├── index.ts │ │ │ │ ├── rlpxserver.ts │ │ │ │ └── server.ts │ │ ├── rpc │ │ │ ├── error-code.ts │ │ │ ├── helpers.ts │ │ │ ├── index.ts │ │ │ ├── modules │ │ │ │ ├── admin.ts │ │ │ │ ├── debug.ts │ │ │ │ ├── engine │ │ │ │ │ ├── CLConnectionManager.ts │ │ │ │ │ ├── engine.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── util │ │ │ │ │ │ ├── forkchoiceUpdated.ts │ │ │ │ │ │ ├── generic.ts │ │ │ │ │ │ ├── getPayload.ts │ │ │ │ │ │ ├── getPayloadBody.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── newPayload.ts │ │ │ │ │ └── validators.ts │ │ │ │ ├── eth.ts │ │ │ │ ├── index.ts │ │ │ │ ├── net.ts │ │ │ │ ├── txpool.ts │ │ │ │ └── web3.ts │ │ │ ├── types.ts │ │ │ └── validation.ts │ │ ├── service │ │ │ ├── fullethereumservice.ts │ │ │ ├── index.ts │ │ │ ├── service.ts │ │ │ ├── skeleton.ts │ │ │ └── txpool.ts │ │ ├── sync │ │ │ ├── beaconsync.ts │ │ │ ├── fetcher │ │ │ │ ├── accountfetcher.ts │ │ │ │ ├── blockfetcher.ts │ │ │ │ ├── blockfetcherbase.ts │ │ │ │ ├── bytecodefetcher.ts │ │ │ │ ├── fetcher.ts │ │ │ │ ├── index.ts │ │ │ │ ├── reverseblockfetcher.ts │ │ │ │ ├── storagefetcher.ts │ │ │ │ ├── trienodefetcher.ts │ │ │ │ └── types.ts │ │ │ ├── fullsync.ts │ │ │ ├── index.ts │ │ │ ├── snapsync.ts │ │ │ └── sync.ts │ │ ├── trustedSetups │ │ │ └── official.txt │ │ ├── types.ts │ │ └── util │ │ │ ├── debug.ts │ │ │ ├── inclineClient.ts │ │ │ ├── index.ts │ │ │ ├── metaDBManager.ts │ │ │ ├── metrics.ts │ │ │ ├── parse.ts │ │ │ ├── rpc.ts │ │ │ ├── vkt.ts │ │ │ └── wait.ts │ ├── test │ │ ├── blockchain │ │ │ └── chain.spec.ts │ │ ├── cli │ │ │ ├── cli.spec.ts │ │ │ └── utils.spec.ts │ │ ├── client.spec.ts │ │ ├── config.spec.ts │ │ ├── execution │ │ │ ├── txIndex.spec.ts │ │ │ └── vmexecution.spec.ts │ │ ├── ext │ │ │ ├── jwt-simple.spec.ts │ │ │ ├── test.crt │ │ │ └── test.pem │ │ ├── integration │ │ │ ├── beaconsync.spec.ts │ │ │ ├── client.spec.ts │ │ │ ├── fullethereumservice.spec.ts │ │ │ ├── fullsync.spec.ts │ │ │ ├── miner.spec.ts │ │ │ ├── mocks │ │ │ │ ├── mockchain.ts │ │ │ │ ├── mockpeer.ts │ │ │ │ ├── mocksender.ts │ │ │ │ ├── mockserver.ts │ │ │ │ └── network.ts │ │ │ ├── peerpool.spec.ts │ │ │ ├── pow.spec.ts │ │ │ └── util.ts │ │ ├── logging.spec.ts │ │ ├── miner │ │ │ ├── miner.spec.ts │ │ │ └── pendingBlock.spec.ts │ │ ├── net │ │ │ ├── peer │ │ │ │ ├── peer.spec.ts │ │ │ │ └── rlpxpeer.spec.ts │ │ │ ├── peerpool.spec.ts │ │ │ ├── protocol │ │ │ │ ├── boundprotocol.spec.ts │ │ │ │ ├── ethprotocol.spec.ts │ │ │ │ ├── protocol.spec.ts │ │ │ │ ├── rlpxsender.spec.ts │ │ │ │ ├── sender.spec.ts │ │ │ │ ├── snapprotocol.spec.ts │ │ │ │ ├── testdouble-timers.d.ts │ │ │ │ └── testdouble.d.ts │ │ │ └── server │ │ │ │ └── rlpxserver.spec.ts │ │ ├── rpc │ │ │ ├── admin │ │ │ │ ├── addPeer.spec.ts │ │ │ │ ├── nodeInfo.spec.ts │ │ │ │ └── peers.spec.ts │ │ │ ├── debug │ │ │ │ ├── getRawBlock.spec.ts │ │ │ │ ├── getRawHeader.spec.ts │ │ │ │ ├── getRawReceipts.spec.ts │ │ │ │ ├── getRawTransaction.spec.ts │ │ │ │ ├── setHead.spec.ts │ │ │ │ ├── storageRangeAt.spec.ts │ │ │ │ ├── traceCall.spec.ts │ │ │ │ ├── traceTransaction.spec.ts │ │ │ │ └── verbosity.spec.ts │ │ │ ├── engine │ │ │ │ ├── CLConnectionManager.spec.ts │ │ │ │ ├── exchangeCapabilities.spec.ts │ │ │ │ ├── forkchoiceUpdatedV1.spec.ts │ │ │ │ ├── getPayloadBodiesByHashV1.spec.ts │ │ │ │ ├── getPayloadBodiesByRangeV1.spec.ts │ │ │ │ ├── getPayloadV1.spec.ts │ │ │ │ ├── getPayloadV3.spec.ts │ │ │ │ ├── getPayloadV5.spec.ts │ │ │ │ ├── kaustinen6.spec.ts │ │ │ │ ├── newPayloadV1.spec.ts │ │ │ │ ├── newPayloadV2.spec.ts │ │ │ │ ├── newPayloadV3.spec.ts │ │ │ │ ├── newPayloadV3VersionedHashes.spec.ts │ │ │ │ ├── newPayloadV4.spec.ts │ │ │ │ ├── preimages.spec.ts │ │ │ │ └── withdrawals.spec.ts │ │ │ ├── eth │ │ │ │ ├── blobBaseFee.spec.ts │ │ │ │ ├── blockNumber.spec.ts │ │ │ │ ├── call.spec.ts │ │ │ │ ├── chainId.spec.ts │ │ │ │ ├── coinbase.spec.ts │ │ │ │ ├── estimateGas.spec.ts │ │ │ │ ├── gasPrice.spec.ts │ │ │ │ ├── getBalance.spec.ts │ │ │ │ ├── getBlockByHash.spec.ts │ │ │ │ ├── getBlockByNumber.spec.ts │ │ │ │ ├── getBlockReceipts.spec.ts │ │ │ │ ├── getBlockTransactionCountByHash.spec.ts │ │ │ │ ├── getBlockTransactionCountByNumber.spec.ts │ │ │ │ ├── getCode.spec.ts │ │ │ │ ├── getFeeHistory.spec.ts │ │ │ │ ├── getLogs.spec.ts │ │ │ │ ├── getProof.spec.ts │ │ │ │ ├── getStorageAt.spec.ts │ │ │ │ ├── getTransactionByBlockHashAndIndex.spec.ts │ │ │ │ ├── getTransactionByHash.spec.ts │ │ │ │ ├── getTransactionCount.spec.ts │ │ │ │ ├── getTransactionReceipt.spec.ts │ │ │ │ ├── getUncleCountByBlockNumber.spec.ts │ │ │ │ ├── maxPriorityFeePerGas.spec.ts │ │ │ │ ├── protocolVersion.spec.ts │ │ │ │ ├── sendRawTransaction.spec.ts │ │ │ │ └── syncing.spec.ts │ │ │ ├── helpers.ts │ │ │ ├── mockBlockchain.ts │ │ │ ├── net │ │ │ │ ├── listening.spec.ts │ │ │ │ ├── peerCount.spec.ts │ │ │ │ └── version.spec.ts │ │ │ ├── rpc.spec.ts │ │ │ ├── txpool │ │ │ │ └── content.spec.ts │ │ │ ├── validation.spec.ts │ │ │ ├── web3 │ │ │ │ ├── clientVersion.spec.ts │ │ │ │ └── sha3.spec.ts │ │ │ └── websocket.spec.ts │ │ ├── service │ │ │ └── fullethereumservice.spec.ts │ │ ├── sim │ │ │ ├── 4844-blobpost.md │ │ │ ├── 4844-blobpost.spec.ts │ │ │ ├── 4844-devnet.md │ │ │ ├── 4844-devnet.spec.ts │ │ │ ├── EOF.md │ │ │ ├── beaconsync.md │ │ │ ├── beaconsync.spec.ts │ │ │ ├── configs │ │ │ │ ├── eof.ts │ │ │ │ └── mainnet.ts │ │ │ ├── eof.spec.ts │ │ │ ├── mainnet.spec.ts │ │ │ ├── simutils.ts │ │ │ ├── single-run.sh │ │ │ ├── snapsync.md │ │ │ ├── snapsync.spec.ts │ │ │ └── txGenerator.ts │ │ ├── sync │ │ │ ├── beaconsync.spec.ts │ │ │ ├── fetcher │ │ │ │ ├── accountfetcher.spec.ts │ │ │ │ ├── blockfetcher.spec.ts │ │ │ │ ├── bytecodefetcher.spec.ts │ │ │ │ ├── fetcher.spec.ts │ │ │ │ ├── reverseblockfetcher.spec.ts │ │ │ │ ├── storagefetcher.spec.ts │ │ │ │ └── trienodefetcher.spec.ts │ │ │ ├── fullsync.spec.ts │ │ │ ├── skeleton.spec.ts │ │ │ ├── snapsync.spec.ts │ │ │ ├── sync.spec.ts │ │ │ └── txpool.spec.ts │ │ ├── testdata │ │ │ ├── blocks │ │ │ │ ├── beacon.ts │ │ │ │ ├── kaustinen2.ts │ │ │ │ └── kaustinen4.ts │ │ │ ├── bootnode.txt │ │ │ ├── common │ │ │ │ └── mergeTestnet.ts │ │ │ ├── geth-genesis │ │ │ │ ├── debug.ts │ │ │ │ ├── kaustinen2.ts │ │ │ │ ├── kaustinen6.ts │ │ │ │ ├── pow.ts │ │ │ │ └── rpctestnet.ts │ │ │ └── gethk5vecs │ │ │ │ ├── block0.rlp.hex │ │ │ │ ├── block1.rlp.hex │ │ │ │ ├── block2.rlp.hex │ │ │ │ └── statediffs.ts │ │ └── util │ │ │ ├── packageJSON.spec.ts │ │ │ ├── parse.spec.ts │ │ │ ├── rpc.spec.ts │ │ │ └── wasmCrypto.spec.ts │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.esm.json │ ├── typedoc.mjs │ ├── vitest.config.coverage.ts │ └── vitest.config.unit.ts ├── common │ ├── .c8rc.json │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── docs │ │ ├── README.md │ │ ├── classes │ │ │ └── Common.md │ │ ├── functions │ │ │ ├── createCommonFromGethGenesis.md │ │ │ ├── createCustomCommon.md │ │ │ ├── getPresetChainConfig.md │ │ │ ├── parseGethGenesis.md │ │ │ └── parseGethGenesisState.md │ │ ├── interfaces │ │ │ ├── BaseOpts.md │ │ │ ├── BinaryTreeAccessWitnessInterface.md │ │ │ ├── BootstrapNodeConfig.md │ │ │ ├── ChainConfig.md │ │ │ ├── ChainName.md │ │ │ ├── ChainsConfig.md │ │ │ ├── CommonEvent.md │ │ │ ├── CommonOpts.md │ │ │ ├── CreateCommonFromGethGenesisOpts.md │ │ │ ├── CustomCrypto.md │ │ │ ├── GenesisBlockConfig.md │ │ │ ├── GenesisState.md │ │ │ ├── GethConfigOpts.md │ │ │ ├── GethGenesis.md │ │ │ ├── GethGenesisAlloc.md │ │ │ ├── GethGenesisBlobSchedule.md │ │ │ ├── GethGenesisConfig.md │ │ │ ├── HardforkByOpts.md │ │ │ ├── HardforkTransitionConfig.md │ │ │ ├── StateManagerInterface.md │ │ │ ├── StorageDump.md │ │ │ ├── StorageRange.md │ │ │ └── VerkleAccessWitnessInterface.md │ │ ├── type-aliases │ │ │ ├── AccessEventFlags.md │ │ │ ├── AccountFields.md │ │ │ ├── AccountState.md │ │ │ ├── BinaryTreeAccessedState.md │ │ │ ├── BinaryTreeAccessedStateType.md │ │ │ ├── BinaryTreeAccessedStateWithAddress.md │ │ │ ├── CasperConfig.md │ │ │ ├── Chain.md │ │ │ ├── CliqueConfig.md │ │ │ ├── ConsensusAlgorithm.md │ │ │ ├── ConsensusType.md │ │ │ ├── EIPConfig.md │ │ │ ├── EIPsDict.md │ │ │ ├── EthashConfig.md │ │ │ ├── Hardfork.md │ │ │ ├── HardforkConfig.md │ │ │ ├── HardforksDict.md │ │ │ ├── ParamsConfig.md │ │ │ ├── ParamsDict.md │ │ │ ├── Proof.md │ │ │ ├── RawBinaryTreeAccessedState.md │ │ │ ├── RawVerkleAccessedState.md │ │ │ ├── StoragePair.md │ │ │ ├── StorageProof.md │ │ │ ├── VerkleAccessedState.md │ │ │ ├── VerkleAccessedStateType.md │ │ │ └── VerkleAccessedStateWithAddress.md │ │ └── variables │ │ │ ├── BinaryTreeAccessedStateType.md │ │ │ ├── Chain.md │ │ │ ├── ChainGenesis.md │ │ │ ├── ChainNameFromNumber.md │ │ │ ├── ConsensusAlgorithm.md │ │ │ ├── ConsensusType.md │ │ │ ├── Hardfork.md │ │ │ ├── Holesky.md │ │ │ ├── Hoodi.md │ │ │ ├── Kaustinen6.md │ │ │ ├── Mainnet.md │ │ │ ├── Sepolia.md │ │ │ └── VerkleAccessedStateType.md │ ├── eslint.config.mjs │ ├── examples │ │ ├── browser.html │ │ ├── common.ts │ │ ├── customChain.ts │ │ ├── customCrypto.ts │ │ ├── fromGeth.ts │ │ └── initKzg.ts │ ├── package.json │ ├── scripts │ │ └── update-bootnodes.js │ ├── src │ │ ├── chains.ts │ │ ├── common.ts │ │ ├── constructors.ts │ │ ├── crc.ts │ │ ├── eips.ts │ │ ├── enums.ts │ │ ├── gethGenesis.ts │ │ ├── hardforks.ts │ │ ├── index.ts │ │ ├── interfaces.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── test │ │ ├── benchmark │ │ │ └── common.bench.ts │ │ ├── chains.spec.ts │ │ ├── crc.spec.ts │ │ ├── customChains.spec.ts │ │ ├── customCrypto.spec.ts │ │ ├── data │ │ │ └── paramsTest.ts │ │ ├── eips.spec.ts │ │ ├── gethGenesis.spec.ts │ │ ├── hardforks.spec.ts │ │ ├── params.spec.ts │ │ └── timestamp.spec.ts │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.cjs.json │ ├── tsconfig.prod.esm.json │ └── typedoc.mjs ├── devp2p │ ├── .c8rc.json │ ├── .gitignore │ ├── CHANGELOG.md │ ├── README.md │ ├── diagram │ │ ├── devp2p.drawio │ │ ├── devp2p.png │ │ └── devp2p.svg │ ├── docs │ │ ├── README.md │ │ ├── classes │ │ │ ├── BanList.md │ │ │ ├── DNS.md │ │ │ ├── DPT.md │ │ │ ├── Deferred.md │ │ │ ├── ECIES.md │ │ │ ├── ENR.md │ │ │ ├── ETH.md │ │ │ ├── KBucket.md │ │ │ ├── MAC.md │ │ │ ├── Peer.md │ │ │ ├── RLPx.md │ │ │ ├── SNAP.md │ │ │ └── Server.md │ │ ├── functions │ │ │ ├── assertEq.md │ │ │ ├── createDeferred.md │ │ │ ├── decode.md │ │ │ ├── encode.md │ │ │ ├── formatLogData.md │ │ │ ├── formatLogId.md │ │ │ ├── genPrivateKey.md │ │ │ ├── id2pk.md │ │ │ ├── ipToBytes.md │ │ │ ├── ipToString.md │ │ │ ├── isV4Format.md │ │ │ ├── isV6Format.md │ │ │ ├── pk2id.md │ │ │ ├── unstrictDecode.md │ │ │ ├── xor.md │ │ │ └── zfill.md │ │ ├── interfaces │ │ │ ├── Capabilities.md │ │ │ ├── Contact.md │ │ │ ├── DPTEvent.md │ │ │ ├── DPTOptions.md │ │ │ ├── DPTServerOptions.md │ │ │ ├── EthStatusMsg.md │ │ │ ├── KBucketEvent.md │ │ │ ├── KBucketOptions.md │ │ │ ├── PeerEvent.md │ │ │ ├── PeerInfo.md │ │ │ ├── PeerOptions.md │ │ │ ├── ProtocolEvent.md │ │ │ ├── RLPxEvent.md │ │ │ ├── RLPxOptions.md │ │ │ └── ServerEvent.md │ │ ├── type-aliases │ │ │ ├── DISCONNECT_REASON.md │ │ │ ├── DNSOptions.md │ │ │ ├── EthMessageCodes.md │ │ │ ├── EthStatusOpts.md │ │ │ ├── PREFIXES.md │ │ │ ├── ProtocolType.md │ │ │ ├── SendMethod.md │ │ │ └── SnapMessageCodes.md │ │ └── variables │ │ │ ├── DISCONNECT_REASON.md │ │ │ ├── DisconnectReasonNames.md │ │ │ ├── EthMessageCodeNames.md │ │ │ ├── EthMessageCodes.md │ │ │ ├── PREFIXES.md │ │ │ ├── PrefixesNames.md │ │ │ ├── ProtocolType.md │ │ │ ├── SnapMessageCodeNames.md │ │ │ ├── SnapMessageCodes.md │ │ │ └── devp2pDebug.md │ ├── eslint.config.mjs │ ├── examples │ │ ├── dpt.ts │ │ ├── peer-communication.ts │ │ ├── rlpx.ts │ │ └── simple.ts │ ├── package.json │ ├── scripts │ │ └── singlePeerRun.cts │ ├── src │ │ ├── @types │ │ │ └── snappyjs │ │ │ │ ├── convert.d.ts │ │ │ │ └── index.d.ts │ │ ├── dns │ │ │ ├── dns.ts │ │ │ ├── enr.ts │ │ │ └── index.ts │ │ ├── dpt │ │ │ ├── ban-list.ts │ │ │ ├── dpt.ts │ │ │ ├── index.ts │ │ │ ├── kbucket.ts │ │ │ ├── message.ts │ │ │ └── server.ts │ │ ├── ext │ │ │ ├── index.ts │ │ │ └── kbucket.ts │ │ ├── index.ts │ │ ├── protocol │ │ │ ├── eth.ts │ │ │ ├── index.ts │ │ │ ├── protocol.ts │ │ │ └── snap.ts │ │ ├── rlpx │ │ │ ├── ecies.ts │ │ │ ├── index.ts │ │ │ ├── mac.ts │ │ │ ├── peer.ts │ │ │ └── rlpx.ts │ │ ├── types.ts │ │ └── util.ts │ ├── test │ │ ├── dns.spec.ts │ │ ├── dpt-message.spec.ts │ │ ├── dpt.spec.ts │ │ ├── enr.spec.ts │ │ ├── integration │ │ │ ├── dpt-simulator.spec.ts │ │ │ ├── eth-simulator.spec.ts │ │ │ ├── rlpx-simulator.spec.ts │ │ │ ├── snap-simulator.spec.ts │ │ │ └── util.ts │ │ ├── rlpx-ecies.spec.ts │ │ ├── rlpx-mac.spec.ts │ │ ├── rlpx.spec.ts │ │ └── testdata.ts │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.cjs.json │ ├── tsconfig.prod.esm.json │ └── typedoc.mjs ├── e2store │ ├── .c8rc.json │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── docs │ │ ├── README.md │ │ ├── functions │ │ │ ├── blockFromTuple.md │ │ │ ├── compressData.md │ │ │ ├── createBlockIndex.md │ │ │ ├── createBlockTuples.md │ │ │ ├── decompressData.md │ │ │ ├── decompressE2HSTuple.md │ │ │ ├── exportEpochAsEra1.md │ │ │ ├── formatE2HS.md │ │ │ ├── formatEntry.md │ │ │ ├── formatEra1.md │ │ │ ├── getBlock.md │ │ │ ├── getBlockIndex.md │ │ │ ├── getBlockReceipts.md │ │ │ ├── getBlockTuple.md │ │ │ ├── getBlocks.md │ │ │ ├── getBody.md │ │ │ ├── getEraIndexes.md │ │ │ ├── getHeader.md │ │ │ ├── getHeaderRecords.md │ │ │ ├── getTotalDifficulty.md │ │ │ ├── numberToHash.md │ │ │ ├── parseBlockTuple.md │ │ │ ├── parseEH2SBlockTuple.md │ │ │ ├── parseEntry.md │ │ │ ├── readAccumulatorRoot.md │ │ │ ├── readBeaconBlock.md │ │ │ ├── readBeaconState.md │ │ │ ├── readBinaryFile.md │ │ │ ├── readBlockIndex.md │ │ │ ├── readBlockTupleAtOffset.md │ │ │ ├── readBlockTuplesFromERA1.md │ │ │ ├── readBlocksFromEra.md │ │ │ ├── readE2HSTupleAtIndex.md │ │ │ ├── readE2HSTupleAtOffset.md │ │ │ ├── readERA1.md │ │ │ ├── readEntry.md │ │ │ ├── readOtherEntries.md │ │ │ ├── readSlotIndex.md │ │ │ ├── readTuplesFromE2HS.md │ │ │ └── validateERA1.md │ │ ├── type-aliases │ │ │ ├── DBKey.md │ │ │ ├── DBTarget.md │ │ │ ├── SlotIndex.md │ │ │ └── e2StoreEntry.md │ │ └── variables │ │ │ ├── CommonTypes.md │ │ │ ├── DBKey.md │ │ │ ├── DBTarget.md │ │ │ ├── E2HSTypes.md │ │ │ ├── EpochAccumulator.md │ │ │ ├── Era1Types.md │ │ │ ├── EraTypes.md │ │ │ ├── HeaderRecord.md │ │ │ ├── VERSION.md │ │ │ └── sszHeaderWithProof.md │ ├── eslint.config.mjs │ ├── examples │ │ ├── e2hs.ts │ │ ├── era.ts │ │ └── era1.ts │ ├── package.json │ ├── src │ │ ├── blockIndex.ts │ │ ├── e2hs │ │ │ ├── blockTuple.ts │ │ │ ├── e2hs.ts │ │ │ └── index.ts │ │ ├── e2store.ts │ │ ├── era │ │ │ ├── era.ts │ │ │ └── index.ts │ │ ├── era1 │ │ │ ├── blockTuple.ts │ │ │ ├── era1.ts │ │ │ └── index.ts │ │ ├── exportHistory.ts │ │ ├── index.ts │ │ ├── snappy-stream │ │ │ ├── checksum.ts │ │ │ ├── compress-stream.ts │ │ │ ├── index.ts │ │ │ └── uncompress-stream.ts │ │ ├── snappy.ts │ │ ├── types.ts │ │ └── types │ │ │ └── snappy-stream.d.ts │ ├── test │ │ ├── e2hs.spec.ts │ │ ├── era.spec.ts │ │ ├── era1.spec.ts │ │ ├── mainnet-00000-5ec1ffb8.era1 │ │ ├── mainnet-00000-a6860fef.e2hs │ │ ├── mainnet-00001-40cf2f3c.era │ │ └── snappy.spec.ts │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.cjs.json │ ├── tsconfig.prod.esm.json │ └── typedoc.mjs ├── ethash │ ├── .c8rc.json │ ├── .eslintrc.cjs │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── docs │ │ ├── README.md │ │ ├── classes │ │ │ ├── Ethash.md │ │ │ └── Miner.md │ │ └── type-aliases │ │ │ └── Solution.md │ ├── eslint.config.mjs │ ├── examples │ │ ├── example.ts │ │ ├── miner.ts │ │ ├── powBlock.ts │ │ └── rawExample.ts │ ├── package.json │ ├── src │ │ ├── index.ts │ │ └── util.ts │ ├── test │ │ ├── block.spec.ts │ │ ├── block_tests_data.ts │ │ ├── ethash.spec.ts │ │ ├── ethash_block_rlp_tests.ts │ │ ├── ethash_tests.ts │ │ └── miner.spec.ts │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.cjs.json │ ├── tsconfig.prod.esm.json │ ├── typedoc.mjs │ └── vite.config.ts ├── evm │ ├── .c8rc.json │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── debug.png │ ├── docs │ │ ├── README.md │ │ ├── classes │ │ │ ├── BinaryTreeAccessWitness.md │ │ │ ├── EOFContainer.md │ │ │ ├── EVMError.md │ │ │ ├── EVMMockBlockchain.md │ │ │ ├── EVMPerformanceLogger.md │ │ │ ├── MCLBLS.md │ │ │ ├── Message.md │ │ │ ├── NobleBLS.md │ │ │ ├── NobleBN254.md │ │ │ ├── RustBN254.md │ │ │ ├── Timer.md │ │ │ └── VerkleAccessWitness.md │ │ ├── functions │ │ │ ├── createEVM.md │ │ │ ├── decodeAccessedState.md │ │ │ ├── decodeBinaryAccessState.md │ │ │ ├── generateBinaryExecutionWitness.md │ │ │ ├── generateExecutionWitness.md │ │ │ ├── getActivePrecompiles.md │ │ │ ├── getOpcodesForHF.md │ │ │ └── validateEOF.md │ │ ├── interfaces │ │ │ ├── EVMInterface.md │ │ │ ├── EVMMockBlockchainInterface.md │ │ │ ├── EVMOpts.md │ │ │ ├── EVMResult.md │ │ │ ├── EVMRunCallOpts.md │ │ │ ├── EVMRunCodeOpts.md │ │ │ ├── ExecResult.md │ │ │ ├── InterpreterStep.md │ │ │ └── PrecompileInput.md │ │ ├── type-aliases │ │ │ ├── BinaryChunkAccessEvent.md │ │ │ ├── BinaryStemAccessEvent.md │ │ │ ├── BinaryStemMeta.md │ │ │ ├── ChunkAccessEvent.md │ │ │ ├── EVMBLSInterface.md │ │ │ ├── EVMBN254Interface.md │ │ │ ├── EVMPerformanceLogOutput.md │ │ │ ├── Log.md │ │ │ ├── StemAccessEvent.md │ │ │ └── StemMeta.md │ │ └── variables │ │ │ └── paramsEVM.md │ ├── eslint.config.mjs │ ├── examples │ │ ├── 4844.ts │ │ ├── browser.html │ │ ├── decode-opcodes.ts │ │ ├── eips.ts │ │ ├── eventListener.ts │ │ ├── precompile.ts │ │ ├── runCode.ts │ │ ├── simple.ts │ │ └── withBlockchain.ts │ ├── package.json │ ├── profiler.png │ ├── scripts │ │ ├── diffTester.sh │ │ ├── eofContainerValidator.ts │ │ ├── formatTest.js │ │ └── stackDeltaGenerator.ts │ ├── src │ │ ├── binaryTreeAccessWitness.ts │ │ ├── chunkCache.ts │ │ ├── constructors.ts │ │ ├── eof │ │ │ ├── constants.ts │ │ │ ├── container.ts │ │ │ ├── errors.ts │ │ │ ├── setup.ts │ │ │ ├── stackDelta.ts │ │ │ ├── util.ts │ │ │ └── verify.ts │ │ ├── errors.ts │ │ ├── evm.ts │ │ ├── index.ts │ │ ├── interpreter.ts │ │ ├── journal.ts │ │ ├── logger.ts │ │ ├── memory.ts │ │ ├── message.ts │ │ ├── opcodes │ │ │ ├── EIP1283.ts │ │ │ ├── EIP2200.ts │ │ │ ├── EIP2929.ts │ │ │ ├── codes.ts │ │ │ ├── functions.ts │ │ │ ├── gas.ts │ │ │ ├── index.ts │ │ │ └── util.ts │ │ ├── params.ts │ │ ├── precompiles │ │ │ ├── 01-ecrecover.ts │ │ │ ├── 02-sha256.ts │ │ │ ├── 03-ripemd160.ts │ │ │ ├── 04-identity.ts │ │ │ ├── 05-modexp.ts │ │ │ ├── 06-bn254-add.ts │ │ │ ├── 07-bn254-mul.ts │ │ │ ├── 08-bn254-pairing.ts │ │ │ ├── 09-blake2f.ts │ │ │ ├── 0a-kzg-point-evaluation.ts │ │ │ ├── 0b-bls12-g1add.ts │ │ │ ├── 0c-bls12-g1msm.ts │ │ │ ├── 0d-bls12-g2add.ts │ │ │ ├── 0e-bls12-g2msm.ts │ │ │ ├── 0f-bls12-pairing.ts │ │ │ ├── 10-bls12-map-fp-to-g1.ts │ │ │ ├── 11-bls12-map-fp2-to-g2.ts │ │ │ ├── bls12_381 │ │ │ │ ├── constants.ts │ │ │ │ ├── index.ts │ │ │ │ ├── mcl.ts │ │ │ │ ├── noble.ts │ │ │ │ └── util.ts │ │ │ ├── bn254 │ │ │ │ ├── index.ts │ │ │ │ ├── noble.ts │ │ │ │ └── rustbn.ts │ │ │ ├── index.ts │ │ │ ├── types.ts │ │ │ └── util.ts │ │ ├── stack.ts │ │ ├── stemCache.ts │ │ ├── transientStorage.ts │ │ ├── types.ts │ │ └── verkleAccessWitness.ts │ ├── test │ │ ├── asyncEvents.spec.ts │ │ ├── blobVersionedHashes.spec.ts │ │ ├── customCrypto.spec.ts │ │ ├── customOpcodes.spec.ts │ │ ├── customPrecompiles.spec.ts │ │ ├── eips │ │ │ ├── eip-3860.spec.ts │ │ │ ├── eip-5450.spec.ts │ │ │ ├── eip-5656.spec.ts │ │ │ ├── eof-header-validation.spec.ts │ │ │ ├── eof-runner.spec.ts │ │ │ └── eof-utils.ts │ │ ├── evm.spec.ts │ │ ├── memory.spec.ts │ │ ├── opcodes.spec.ts │ │ ├── precompiles │ │ │ ├── 01-ecrecover.spec.ts │ │ │ ├── 03-ripemd160.spec.ts │ │ │ ├── 05-modexp.spec.ts │ │ │ ├── 06-ecadd.spec.ts │ │ │ ├── 07-ecmul.spec.ts │ │ │ ├── 08-ecpairing.spec.ts │ │ │ ├── 09-blake2f.spec.ts │ │ │ ├── 0a-pointevaluation.spec.ts │ │ │ ├── bls │ │ │ │ ├── add_G1_bls.json │ │ │ │ ├── add_G2_bls.json │ │ │ │ ├── fail-add_G1_bls.json │ │ │ │ ├── fail-add_G2_bls.json │ │ │ │ ├── fail-map_fp2_to_G2_bls.json │ │ │ │ ├── fail-map_fp_to_G1_bls.json │ │ │ │ ├── fail-mul_G1_bls.json │ │ │ │ ├── fail-mul_G2_bls.json │ │ │ │ ├── fail-multiexp_G1_bls.json │ │ │ │ ├── fail-multiexp_G2_bls.json │ │ │ │ ├── fail-pairing_check_bls.json │ │ │ │ ├── map_fp2_to_G2_bls.json │ │ │ │ ├── map_fp_to_G1_bls.json │ │ │ │ ├── mul_G1_bls.json │ │ │ │ ├── mul_G2_bls.json │ │ │ │ ├── multiexp_G1_bls.json │ │ │ │ ├── multiexp_G2_bls.json │ │ │ │ └── pairing_check_bls.json │ │ │ ├── eip-2537-bls.spec.ts │ │ │ ├── hardfork.spec.ts │ │ │ └── modexp-testdata.ts │ │ ├── runCall.spec.ts │ │ ├── runCode.spec.ts │ │ ├── stack.spec.ts │ │ ├── transientStorage.spec.ts │ │ ├── utils.ts │ │ └── verkle.spec.ts │ ├── tsconfig.benchmarks.json │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.cjs.json │ ├── tsconfig.prod.esm.json │ ├── typedoc.mjs │ ├── utils │ │ └── diffTestOutput.py │ ├── vite.config.bundler.ts │ └── vitest.config.browser.mts ├── genesis │ ├── .c8rc.json │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── docs │ │ ├── README.md │ │ └── functions │ │ │ └── getGenesis.md │ ├── eslint.config.mjs │ ├── examples │ │ └── simple.ts │ ├── package.json │ ├── src │ │ ├── genesisStates │ │ │ ├── holesky.ts │ │ │ ├── hoodi.ts │ │ │ ├── mainnet.ts │ │ │ └── sepolia.ts │ │ └── index.ts │ ├── test │ │ ├── goerli.ts │ │ └── index.spec.ts │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.cjs.json │ ├── tsconfig.prod.esm.json │ └── typedoc.mjs ├── mpt │ ├── .c8rc.json │ ├── .gitignore │ ├── .gitmodules │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── UPGRADING.md │ ├── benchmarks │ │ ├── engines │ │ │ └── level.ts │ │ ├── index.ts │ │ ├── keys.ts │ │ └── suite.ts │ ├── docs │ │ ├── README.md │ │ ├── classes │ │ │ ├── BranchMPTNode.md │ │ │ ├── CheckpointDB.md │ │ │ ├── ExtensionMPTNode.md │ │ │ ├── LeafMPTNode.md │ │ │ ├── MerklePatriciaTrie.md │ │ │ └── WalkController.md │ │ ├── functions │ │ │ ├── byteTypeToNibbleType.md │ │ │ ├── bytesToNibbles.md │ │ │ ├── compactBytesToNibbles.md │ │ │ ├── createMPT.md │ │ │ ├── createMPTFromProof.md │ │ │ ├── createMerkleProof.md │ │ │ ├── decodeMPTNode.md │ │ │ ├── decodeRawMPTNode.md │ │ │ ├── genesisMPTStateRoot.md │ │ │ ├── hexToKeybytes.md │ │ │ ├── isRawMPTNode.md │ │ │ ├── mergeAndFormatKeyPaths.md │ │ │ ├── nibbleTypeToByteType.md │ │ │ ├── nibblesToBytes.md │ │ │ ├── nibblesToCompactBytes.md │ │ │ ├── pathToHexKey.md │ │ │ ├── updateMPTFromMerkleProof.md │ │ │ ├── verifyMPTWithMerkleProof.md │ │ │ ├── verifyMerkleProof.md │ │ │ └── verifyMerkleRangeProof.md │ │ ├── interfaces │ │ │ ├── CheckpointDBOpts.md │ │ │ ├── CommonInterface.md │ │ │ ├── MPTOpts.md │ │ │ ├── Path.md │ │ │ └── TrieShallowCopyOpts.md │ │ ├── type-aliases │ │ │ ├── BranchMPTNodeBranchValue.md │ │ │ ├── Checkpoint.md │ │ │ ├── FoundNodeFunction.md │ │ │ ├── HashKeysFunction.md │ │ │ ├── MPTNode.md │ │ │ ├── MPTOptsWithDefaults.md │ │ │ ├── Nibbles.md │ │ │ ├── NodeReferenceOrRawMPTNode.md │ │ │ ├── Proof.md │ │ │ ├── RawExtensionMPTNode.md │ │ │ └── RawLeafMPTNode.md │ │ └── variables │ │ │ └── ROOT_DB_KEY.md │ ├── eslint.config.mjs │ ├── examples │ │ ├── README.md │ │ ├── basicUsage.ts │ │ ├── browser.html │ │ ├── createFromProof.ts │ │ ├── customLevelDB.ts │ │ ├── getValueMap.ts │ │ ├── level.js │ │ ├── lmdb.js │ │ ├── logDemo.ts │ │ ├── merkle_patricia_trees │ │ │ ├── README.md │ │ │ ├── example1a.js │ │ │ ├── example1b.js │ │ │ ├── example1c.js │ │ │ ├── example1d.js │ │ │ ├── example2a.js │ │ │ ├── example2b.js │ │ │ ├── example2c.js │ │ │ ├── example2d.js │ │ │ ├── example3a.js │ │ │ ├── example3b.js │ │ │ ├── example4a.js │ │ │ ├── example4b.js │ │ │ └── infura_endpoint.js │ │ ├── proofs.ts │ │ ├── rootPersistence.ts │ │ └── trieWalking.ts │ ├── package.json │ ├── recipes │ │ ├── level.ts │ │ └── lmdb.ts │ ├── scripts │ │ ├── view.ts │ │ └── walkDemo.ts │ ├── src │ │ ├── constructors.ts │ │ ├── db │ │ │ ├── checkpointDB.ts │ │ │ └── index.ts │ │ ├── index.ts │ │ ├── mpt.ts │ │ ├── node │ │ │ ├── branch.ts │ │ │ ├── extension.ts │ │ │ ├── extensionOrLeafNodeBase.ts │ │ │ ├── index.ts │ │ │ ├── leaf.ts │ │ │ └── util.ts │ │ ├── proof │ │ │ ├── index.ts │ │ │ ├── proof.ts │ │ │ └── range.ts │ │ ├── types.ts │ │ └── util │ │ │ ├── asyncWalk.ts │ │ │ ├── encoding.ts │ │ │ ├── genesisState.ts │ │ │ ├── hex.ts │ │ │ ├── index.ts │ │ │ ├── nibbles.ts │ │ │ └── walkController.ts │ ├── test │ │ ├── db │ │ │ ├── checkpoint.spec.ts │ │ │ └── db.spec.ts │ │ ├── encoding.spec.ts │ │ ├── fixtures │ │ │ ├── hexEncodedSecureTrieTest.ts │ │ │ ├── trieAnyOrder.ts │ │ │ ├── trieAnyOrderSecureTrie.ts │ │ │ ├── trieTest.ts │ │ │ ├── trieTestNextPrev.ts │ │ │ └── trieTestSecureTrie.ts │ │ ├── index.spec.ts │ │ ├── official.spec.ts │ │ ├── proof.spec.ts │ │ ├── proof │ │ │ └── range.spec.ts │ │ ├── trie │ │ │ ├── checkpoint.spec.ts │ │ │ ├── checkpointing.spec.ts │ │ │ ├── findPath.spec.ts │ │ │ ├── prune.spec.ts │ │ │ ├── secure.spec.ts │ │ │ └── trie.spec.ts │ │ └── util │ │ │ ├── asyncWalk.spec.ts │ │ │ ├── encodingUtils.spec.ts │ │ │ ├── genesisState.spec.ts │ │ │ └── log.spec.ts │ ├── tsconfig.benchmarks.json │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.cjs.json │ ├── tsconfig.prod.esm.json │ ├── typedoc.mjs │ └── vitest.config.browser.mts ├── rlp │ ├── .c8rc.json │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── benchmarks │ │ └── index.ts │ ├── bin │ │ └── rlp.cjs │ ├── eslint.config.mjs │ ├── examples │ │ ├── browser.html │ │ └── simple.ts │ ├── package.json │ ├── src │ │ ├── errors.ts │ │ └── index.ts │ ├── test │ │ ├── cli.spec.ts │ │ ├── dataTypes.spec.ts │ │ ├── fixture │ │ │ ├── invalid.ts │ │ │ └── rlptest.ts │ │ ├── integration.spec.ts │ │ ├── invalid.spec.ts │ │ ├── official.spec.ts │ │ └── utils.ts │ ├── tsconfig.benchmarks.json │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.cjs.json │ ├── tsconfig.prod.esm.json │ └── vitest.config.browser.mts ├── statemanager │ ├── .c8rc.json │ ├── .gitignore │ ├── CHANGELOG.md │ ├── DEVELOPER.md │ ├── LICENSE │ ├── README.md │ ├── docs │ │ ├── README.md │ │ ├── classes │ │ │ ├── AccountCache.md │ │ │ ├── Caches.md │ │ │ ├── CodeCache.md │ │ │ ├── MerkleStateManager.md │ │ │ ├── OriginalStorageCache.md │ │ │ ├── RPCBlockChain.md │ │ │ ├── RPCStateManager.md │ │ │ ├── SimpleStateManager.md │ │ │ ├── StatefulBinaryTreeStateManager.md │ │ │ ├── StatefulVerkleStateManager.md │ │ │ ├── StatelessVerkleStateManager.md │ │ │ └── StorageCache.md │ │ ├── functions │ │ │ ├── addMerkleStateProofData.md │ │ │ ├── addMerkleStateStorageProof.md │ │ │ ├── fromMerkleStateProof.md │ │ │ ├── getMerkleStateProof.md │ │ │ ├── getRPCStateProof.md │ │ │ ├── getVerkleStateProof.md │ │ │ ├── verifyMerkleStateProof.md │ │ │ └── verifyVerkleStateProof.md │ │ ├── interfaces │ │ │ ├── BinaryTreeState.md │ │ │ ├── CacheOpts.md │ │ │ ├── CachesStateManagerOpts.md │ │ │ ├── EncodedBinaryTreeState.md │ │ │ ├── EncodedVerkleProof.md │ │ │ ├── MerkleStateManagerOpts.md │ │ │ ├── RPCStateManagerOpts.md │ │ │ ├── SimpleStateManagerOpts.md │ │ │ ├── StatefulBinaryTreeStateManagerOpts.md │ │ │ ├── StatefulVerkleStateManagerOpts.md │ │ │ ├── StatelessVerkleStateManagerOpts.md │ │ │ └── VerkleState.md │ │ ├── type-aliases │ │ │ ├── CacheType.md │ │ │ ├── Proof.md │ │ │ └── StorageProof.md │ │ └── variables │ │ │ ├── CODEHASH_PREFIX.md │ │ │ └── CacheType.md │ ├── eslint.config.mjs │ ├── examples │ │ ├── basicUsage.ts │ │ ├── browser.html │ │ ├── evm.ts │ │ ├── fromProofInstantiation.ts │ │ ├── rpcStateManager.ts │ │ └── simple.ts │ ├── package.json │ ├── src │ │ ├── cache │ │ │ ├── account.ts │ │ │ ├── cache.ts │ │ │ ├── caches.ts │ │ │ ├── code.ts │ │ │ ├── index.ts │ │ │ ├── originalStorageCache.ts │ │ │ ├── storage.ts │ │ │ └── types.ts │ │ ├── index.ts │ │ ├── merkleStateManager.ts │ │ ├── proof │ │ │ ├── index.ts │ │ │ ├── merkle.ts │ │ │ ├── rpc.ts │ │ │ └── verkle.ts │ │ ├── rpcStateManager.ts │ │ ├── simpleStateManager.ts │ │ ├── statefulBinaryTreeStateManager.ts │ │ ├── statefulVerkleStateManager.ts │ │ ├── statelessVerkleStateManager.ts │ │ ├── types.ts │ │ └── util.ts │ ├── test │ │ ├── cache │ │ │ ├── account.spec.ts │ │ │ ├── code.spec.ts │ │ │ └── storage.spec.ts │ │ ├── checkpointing.account.spec.ts │ │ ├── checkpointing.code.spec.ts │ │ ├── checkpointing.storage.spec.ts │ │ ├── proofStateManager.spec.ts │ │ ├── rpcStateManager.spec.ts │ │ ├── stateManager.account.spec.ts │ │ ├── stateManager.code.spec.ts │ │ ├── stateManager.spec.ts │ │ ├── stateManager.storage.spec.ts │ │ ├── statefulBinaryTreeStateManager.spec.ts │ │ ├── statefulVerkleStateManager.spec.ts │ │ ├── statelessVerkleStateManager.spec.ts │ │ ├── testdata │ │ │ ├── biggestContractEver.ts │ │ │ ├── providerData │ │ │ │ ├── accounts │ │ │ │ │ ├── 0x0000000000000000000000000000000000000000.ts │ │ │ │ │ ├── 0x1f9840a85d5af5bf1d1762f925bdaddc4201f984.ts │ │ │ │ │ ├── 0x580992b51e3925e23280efb93d3047c82f17e038.ts │ │ │ │ │ ├── 0x7b0f34615564cd976fea815d9691cc102f4058d6.ts │ │ │ │ │ ├── 0xbe862ad9abfe6f22bcb087716c7d89a26051f74c.ts │ │ │ │ │ ├── 0xcad621da75a66c7a8f4ff86d30a2bf981bfc8fdd.ts │ │ │ │ │ ├── 0xccafdd642118e5536024675e776d32413728dd07.ts │ │ │ │ │ └── 0xd8da6bf26964af9d7eed9e03e53415d37aa96045.ts │ │ │ │ ├── blocks │ │ │ │ │ ├── block0x7a11f.ts │ │ │ │ │ └── block0x7a120.ts │ │ │ │ ├── mockProvider.ts │ │ │ │ └── transactions │ │ │ │ │ └── 0xed1960aa7d0d7b567c946d94331dddb37a1c67f51f30bf51f256ea40db88cfb0.ts │ │ │ ├── ropsten_contractWithStorage.ts │ │ │ ├── ropsten_nonexistentAccount.ts │ │ │ └── ropsten_validAccount.ts │ │ ├── util.ts │ │ └── vmState.spec.ts │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.cjs.json │ ├── tsconfig.prod.esm.json │ ├── typedoc.mjs │ └── vitest.config.browser.mts ├── testdata │ ├── README.md │ ├── package.json │ ├── src │ │ ├── blocks │ │ │ ├── goerliBlocks.ts │ │ │ ├── index.ts │ │ │ ├── mainnetBlocks.ts │ │ │ ├── preLondonTestDataBlocks1RLP.ts │ │ │ ├── preLondonTestDataBlocks2RLP.ts │ │ │ └── verkleKaustinen6Block72.ts │ │ ├── chainConfigs │ │ │ ├── customChainConfig.ts │ │ │ ├── goerliChainConfig.ts │ │ │ ├── index.ts │ │ │ └── testnetMergeChainConfig.ts │ │ ├── gethGenesis │ │ │ ├── eip4844GethGenesis.ts │ │ │ ├── goerliGethGenesis.ts │ │ │ ├── index.ts │ │ │ ├── invalidSpuriousDragonGethGenesis.ts │ │ │ ├── kilnGethGenesis.ts │ │ │ ├── osakaGethGenesis.ts │ │ │ ├── postMergeGethGenesis.ts │ │ │ ├── pragueGethGenesis.ts │ │ │ ├── shanghaiTimeGethGenesis.ts │ │ │ ├── verkleKaustinenGethGenesis.ts │ │ │ └── withdrawalsGethGenesis.ts │ │ └── index.ts │ ├── tsconfig.json │ ├── tsconfig.prod.cjs.json │ └── tsconfig.prod.esm.json ├── tx │ ├── .c8rc.json │ ├── .gitignore │ ├── .npmignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── docs │ │ ├── README.md │ │ ├── classes │ │ │ ├── AccessList2930Tx.md │ │ │ ├── Blob4844Tx.md │ │ │ ├── EOACode7702Tx.md │ │ │ ├── FeeMarket1559Tx.md │ │ │ └── LegacyTx.md │ │ ├── functions │ │ │ ├── accessListBytesToJSON.md │ │ │ ├── accessListJSONToBytes.md │ │ │ ├── authorizationHashedMessageToSign.md │ │ │ ├── authorizationListBytesItemToJSON.md │ │ │ ├── authorizationListJSONItemToBytes.md │ │ │ ├── authorizationMessageToSign.md │ │ │ ├── blobTxNetworkWrapperToJSON.md │ │ │ ├── create1559FeeMarketTxFromBytesArray.md │ │ │ ├── createAccessList2930Tx.md │ │ │ ├── createAccessList2930TxFromBytesArray.md │ │ │ ├── createAccessList2930TxFromRLP.md │ │ │ ├── createBlob4844Tx.md │ │ │ ├── createBlob4844TxFromBytesArray.md │ │ │ ├── createBlob4844TxFromRLP.md │ │ │ ├── createBlob4844TxFromSerializedNetworkWrapper.md │ │ │ ├── createEOACode7702Tx.md │ │ │ ├── createEOACode7702TxFromBytesArray.md │ │ │ ├── createEOACode7702TxFromRLP.md │ │ │ ├── createFeeMarket1559Tx.md │ │ │ ├── createFeeMarket1559TxFromRLP.md │ │ │ ├── createLegacyTx.md │ │ │ ├── createLegacyTxFromBytesArray.md │ │ │ ├── createLegacyTxFromRLP.md │ │ │ ├── createMinimal4844TxFromNetworkWrapper.md │ │ │ ├── createTx.md │ │ │ ├── createTxFromBlockBodyData.md │ │ │ ├── createTxFromJSONRPCProvider.md │ │ │ ├── createTxFromRLP.md │ │ │ ├── createTxFromRPC.md │ │ │ ├── isAccessList.md │ │ │ ├── isAccessList2930Tx.md │ │ │ ├── isAccessList2930TxData.md │ │ │ ├── isAccessListBytes.md │ │ │ ├── isAuthorizationList.md │ │ │ ├── isAuthorizationListBytes.md │ │ │ ├── isBlob4844Tx.md │ │ │ ├── isBlob4844TxData.md │ │ │ ├── isEOACode7702Tx.md │ │ │ ├── isEOACode7702TxData.md │ │ │ ├── isFeeMarket1559Tx.md │ │ │ ├── isFeeMarket1559TxData.md │ │ │ ├── isLegacyTx.md │ │ │ ├── isLegacyTxData.md │ │ │ ├── normalizeTxParams.md │ │ │ ├── recoverAuthority.md │ │ │ └── signAuthorization.md │ │ ├── interfaces │ │ │ ├── AccessList2930TxData.md │ │ │ ├── BlobEIP4844TxData.md │ │ │ ├── EIP1559CompatibleTx.md │ │ │ ├── EIP2718CompatibleTx.md │ │ │ ├── EIP2930CompatibleTx.md │ │ │ ├── EIP4844CompatibleTx.md │ │ │ ├── EIP7702CompatibleTx.md │ │ │ ├── EOACode7702TxData.md │ │ │ ├── FeeMarketEIP1559TxData.md │ │ │ ├── JSONRPCTx.md │ │ │ ├── JSONTx.md │ │ │ ├── LegacyTxInterface.md │ │ │ ├── Transaction.md │ │ │ ├── TransactionCache.md │ │ │ ├── TransactionInterface.md │ │ │ ├── TxData.md │ │ │ ├── TxOptions.md │ │ │ └── TxValuesArray.md │ │ ├── type-aliases │ │ │ ├── AccessList.md │ │ │ ├── AccessListBytes.md │ │ │ ├── AccessListBytesItem.md │ │ │ ├── AccessListItem.md │ │ │ ├── AuthorizationList.md │ │ │ ├── AuthorizationListBytes.md │ │ │ ├── AuthorizationListBytesItem.md │ │ │ ├── AuthorizationListBytesItemUnsigned.md │ │ │ ├── AuthorizationListItem.md │ │ │ ├── AuthorizationListItemUnsigned.md │ │ │ ├── BlobEIP4844NetworkValuesArray.md │ │ │ ├── Capability.md │ │ │ ├── JSONBlobTxNetworkWrapper.md │ │ │ ├── LegacyTxData.md │ │ │ ├── TransactionType.md │ │ │ ├── TypedTransaction.md │ │ │ └── TypedTxData.md │ │ └── variables │ │ │ ├── Capability.md │ │ │ ├── TransactionType.md │ │ │ └── paramsTx.md │ ├── eslint.config.mjs │ ├── examples │ │ ├── EOACodeTx.ts │ │ ├── accessListTx.ts │ │ ├── blobTx.ts │ │ ├── browser.html │ │ ├── custom-chain-id-tx.ts │ │ ├── custom-chain-tx.ts │ │ ├── initKzg.ts │ │ ├── l2tx.ts │ │ ├── ledgerSigner.mts │ │ ├── legacyTx.ts │ │ ├── londonTx.ts │ │ ├── setEOATx.ts │ │ ├── transactions.ts │ │ └── txFactory.ts │ ├── package.json │ ├── src │ │ ├── 1559 │ │ │ ├── constructors.ts │ │ │ ├── index.ts │ │ │ └── tx.ts │ │ ├── 2930 │ │ │ ├── constructors.ts │ │ │ ├── index.ts │ │ │ └── tx.ts │ │ ├── 4844 │ │ │ ├── constructors.ts │ │ │ ├── index.ts │ │ │ └── tx.ts │ │ ├── 7702 │ │ │ ├── constructors.ts │ │ │ ├── index.ts │ │ │ └── tx.ts │ │ ├── capabilities │ │ │ ├── eip1559.ts │ │ │ ├── eip2718.ts │ │ │ ├── eip2930.ts │ │ │ ├── eip7702.ts │ │ │ └── legacy.ts │ │ ├── constants.ts │ │ ├── index.ts │ │ ├── legacy │ │ │ ├── constructors.ts │ │ │ ├── index.ts │ │ │ └── tx.ts │ │ ├── params.ts │ │ ├── transactionFactory.ts │ │ ├── types.ts │ │ └── util │ │ │ ├── access.ts │ │ │ ├── general.ts │ │ │ ├── index.ts │ │ │ └── internal.ts │ ├── test │ │ ├── base.spec.ts │ │ ├── eip1559.spec.ts │ │ ├── eip3860.spec.ts │ │ ├── eip4844.spec.ts │ │ ├── eip7594.spec.ts │ │ ├── eip7702.spec.ts │ │ ├── fromRpc.spec.ts │ │ ├── inputValue.spec.ts │ │ ├── legacy.spec.ts │ │ ├── t9n.spec.ts │ │ ├── testData │ │ │ ├── eip1559.ts │ │ │ ├── eip1559txs.ts │ │ │ ├── eip2930blockRLP.ts │ │ │ ├── eip2930txs.ts │ │ │ ├── optimismTx.ts │ │ │ ├── rpcTx.ts │ │ │ ├── serialized4844tx.ts │ │ │ ├── transactionTestEip155VitalikTests.ts │ │ │ ├── txs.ts │ │ │ └── v0tx.ts │ │ ├── testLoader.ts │ │ ├── transactionFactory.spec.ts │ │ ├── transactionRunner.spec.ts │ │ ├── typedTxsAndEIP2930.spec.ts │ │ ├── types.ts │ │ └── util.spec.ts │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.cjs.json │ ├── tsconfig.prod.esm.json │ ├── tx │ ├── typedoc.mjs │ └── vitest.config.browser.mts ├── util │ ├── .c8rc.json │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── docs │ │ ├── README.md │ │ ├── classes │ │ │ ├── Account.md │ │ │ ├── Address.md │ │ │ ├── CLRequest.md │ │ │ ├── EthereumJSError.md │ │ │ ├── Lock.md │ │ │ ├── MapDB.md │ │ │ ├── PrioritizedTaskExecutor.md │ │ │ ├── Units.md │ │ │ └── Withdrawal.md │ │ ├── functions │ │ │ ├── EthereumJSErrorWithoutCode.md │ │ │ ├── accountBodyFromSlim.md │ │ │ ├── accountBodyToRLP.md │ │ │ ├── accountBodyToSlim.md │ │ │ ├── addHexPrefix.md │ │ │ ├── arrayContainsArray.md │ │ │ ├── bigInt64ToBytes.md │ │ │ ├── bigIntMax.md │ │ │ ├── bigIntMin.md │ │ │ ├── bigIntToAddressBytes.md │ │ │ ├── bigIntToBytes.md │ │ │ ├── bigIntToHex.md │ │ │ ├── bigIntToUnpaddedBytes.md │ │ │ ├── bitsToBytes.md │ │ │ ├── blobsToCommitments.md │ │ │ ├── blobsToProofs.md │ │ │ ├── bytesToBigInt.md │ │ │ ├── bytesToBigInt64.md │ │ │ ├── bytesToBits.md │ │ │ ├── bytesToHex.md │ │ │ ├── bytesToInt.md │ │ │ ├── bytesToInt32.md │ │ │ ├── bytesToUtf8.md │ │ │ ├── calculateSigRecovery.md │ │ │ ├── chunkifyBinaryTreeCode.md │ │ │ ├── chunkifyCode.md │ │ │ ├── commitmentsToVersionedHashes.md │ │ │ ├── compareBytes.md │ │ │ ├── computeVersionedHash.md │ │ │ ├── concatBytes.md │ │ │ ├── createAccount.md │ │ │ ├── createAccountFromBytesArray.md │ │ │ ├── createAccountFromRLP.md │ │ │ ├── createAddressFromBigInt.md │ │ │ ├── createAddressFromPrivateKey.md │ │ │ ├── createAddressFromPublicKey.md │ │ │ ├── createAddressFromString.md │ │ │ ├── createCLRequest.md │ │ │ ├── createContractAddress.md │ │ │ ├── createContractAddress2.md │ │ │ ├── createPartialAccount.md │ │ │ ├── createPartialAccountFromRLP.md │ │ │ ├── createWithdrawal.md │ │ │ ├── createWithdrawalFromBytesArray.md │ │ │ ├── createZeroAddress.md │ │ │ ├── decodeBinaryTreeLeafBasicData.md │ │ │ ├── decodeVerkleLeafBasicData.md │ │ │ ├── ecrecover.md │ │ │ ├── encodeBinaryTreeLeafBasicData.md │ │ │ ├── encodeVerkleLeafBasicData.md │ │ │ ├── equalsBits.md │ │ │ ├── equalsBytes.md │ │ │ ├── fetchFromProvider.md │ │ │ ├── formatBigDecimal.md │ │ │ ├── fromAscii.md │ │ │ ├── fromRPCSig.md │ │ │ ├── fromSigned.md │ │ │ ├── fromUtf8.md │ │ │ ├── generateAddress.md │ │ │ ├── generateAddress2.md │ │ │ ├── generateBinaryTreeChunkSuffixes.md │ │ │ ├── generateBinaryTreeCodeStems.md │ │ │ ├── generateChunkSuffixes.md │ │ │ ├── generateCodeStems.md │ │ │ ├── getBinarySize.md │ │ │ ├── getBinaryTreeIndicesForCodeChunk.md │ │ │ ├── getBinaryTreeIndicesForStorageSlot.md │ │ │ ├── getBinaryTreeKey.md │ │ │ ├── getBinaryTreeKeyForCodeChunk.md │ │ │ ├── getBinaryTreeKeyForStorageSlot.md │ │ │ ├── getBinaryTreeStem.md │ │ │ ├── getBlobs.md │ │ │ ├── getKeys.md │ │ │ ├── getProvider.md │ │ │ ├── getVerkleKey.md │ │ │ ├── getVerkleStem.md │ │ │ ├── getVerkleTreeIndicesForCodeChunk.md │ │ │ ├── getVerkleTreeIndicesForStorageSlot.md │ │ │ ├── getVerkleTreeKeyForCodeChunk.md │ │ │ ├── getVerkleTreeKeyForStorageSlot.md │ │ │ ├── hashPersonalMessage.md │ │ │ ├── hexToBigInt.md │ │ │ ├── hexToBytes.md │ │ │ ├── importPublic.md │ │ │ ├── int32ToBytes.md │ │ │ ├── intToBytes.md │ │ │ ├── intToHex.md │ │ │ ├── intToUnpaddedBytes.md │ │ │ ├── isHexString.md │ │ │ ├── isNestedUint8Array.md │ │ │ ├── isValidAddress.md │ │ │ ├── isValidChecksumAddress.md │ │ │ ├── isValidPrivate.md │ │ │ ├── isValidPublic.md │ │ │ ├── isValidSignature.md │ │ │ ├── isZeroAddress.md │ │ │ ├── matchingBitsLength.md │ │ │ ├── matchingBytesLength.md │ │ │ ├── padToEven.md │ │ │ ├── privateToAddress.md │ │ │ ├── privateToPublic.md │ │ │ ├── pubToAddress.md │ │ │ ├── randomBytes.md │ │ │ ├── setLengthLeft.md │ │ │ ├── setLengthRight.md │ │ │ ├── short.md │ │ │ ├── stripHexPrefix.md │ │ │ ├── toAscii.md │ │ │ ├── toBytes.md │ │ │ ├── toChecksumAddress.md │ │ │ ├── toCompactSig.md │ │ │ ├── toRPCSig.md │ │ │ ├── toType.md │ │ │ ├── toUnsigned.md │ │ │ ├── unpadArray.md │ │ │ ├── unpadBytes.md │ │ │ ├── unpadHex.md │ │ │ ├── unprefixedHexToBytes.md │ │ │ ├── utf8ToBytes.md │ │ │ ├── validateNoLeadingZeroes.md │ │ │ ├── verifyVerkleProof.md │ │ │ ├── withdrawalToBytesArray.md │ │ │ └── zeroAddress.md │ │ ├── interfaces │ │ │ ├── AccountData.md │ │ │ ├── BinaryTreeExecutionWitness.md │ │ │ ├── BinaryTreeStateDiff.md │ │ │ ├── DB.md │ │ │ ├── DelBatch.md │ │ │ ├── EthersProvider.md │ │ │ ├── JSONRPCWithdrawal.md │ │ │ ├── KZG.md │ │ │ ├── PartialAccountData.md │ │ │ ├── ProverInput.md │ │ │ ├── PutBatch.md │ │ │ ├── RequestJSON.md │ │ │ ├── TransformableToBytes.md │ │ │ ├── VerifierInput.md │ │ │ ├── VerkleCrypto.md │ │ │ ├── VerkleExecutionWitness.md │ │ │ ├── VerkleProof.md │ │ │ └── VerkleStateDiff.md │ │ ├── type-aliases │ │ │ ├── AccountBodyBytes.md │ │ │ ├── AddressLike.md │ │ │ ├── BatchDBOp.md │ │ │ ├── BigIntLike.md │ │ │ ├── BinaryTreeLeafBasicData.md │ │ │ ├── BinaryTreeLeafType.md │ │ │ ├── BinaryTreeProof.md │ │ │ ├── BytesLike.md │ │ │ ├── CLRequestType.md │ │ │ ├── DBObject.md │ │ │ ├── EncodingOpts.md │ │ │ ├── EthereumJSErrorMetaData.md │ │ │ ├── EthereumJSErrorObject.md │ │ │ ├── KeyEncoding.md │ │ │ ├── NestedUint8Array.md │ │ │ ├── NumericString.md │ │ │ ├── PrefixedHexString.md │ │ │ ├── RequestBytes.md │ │ │ ├── ToBytesInputTypes.md │ │ │ ├── TypeOutput.md │ │ │ ├── TypeOutputReturnType.md │ │ │ ├── ValueEncoding.md │ │ │ ├── VerkleLeafBasicData.md │ │ │ ├── VerkleLeafType.md │ │ │ ├── WithdrawalBytes.md │ │ │ └── WithdrawalData.md │ │ └── variables │ │ │ ├── BIGINT_0.md │ │ │ ├── BIGINT_1.md │ │ │ ├── BIGINT_100.md │ │ │ ├── BIGINT_128.md │ │ │ ├── BIGINT_160.md │ │ │ ├── BIGINT_2.md │ │ │ ├── BIGINT_224.md │ │ │ ├── BIGINT_255.md │ │ │ ├── BIGINT_256.md │ │ │ ├── BIGINT_27.md │ │ │ ├── BIGINT_28.md │ │ │ ├── BIGINT_2EXP160.md │ │ │ ├── BIGINT_2EXP224.md │ │ │ ├── BIGINT_2EXP256.md │ │ │ ├── BIGINT_2EXP96.md │ │ │ ├── BIGINT_3.md │ │ │ ├── BIGINT_31.md │ │ │ ├── BIGINT_32.md │ │ │ ├── BIGINT_64.md │ │ │ ├── BIGINT_7.md │ │ │ ├── BIGINT_8.md │ │ │ ├── BIGINT_96.md │ │ │ ├── BIGINT_NEG1.md │ │ │ ├── BINARY_TREE_BALANCE_BYTES_LENGTH.md │ │ │ ├── BINARY_TREE_BALANCE_OFFSET.md │ │ │ ├── BINARY_TREE_BASIC_DATA_LEAF_KEY.md │ │ │ ├── BINARY_TREE_CODE_CHUNK_SIZE.md │ │ │ ├── BINARY_TREE_CODE_HASH_LEAF_KEY.md │ │ │ ├── BINARY_TREE_CODE_OFFSET.md │ │ │ ├── BINARY_TREE_CODE_SIZE_BYTES_LENGTH.md │ │ │ ├── BINARY_TREE_CODE_SIZE_OFFSET.md │ │ │ ├── BINARY_TREE_HEADER_STORAGE_OFFSET.md │ │ │ ├── BINARY_TREE_MAIN_STORAGE_OFFSET.md │ │ │ ├── BINARY_TREE_NODE_WIDTH.md │ │ │ ├── BINARY_TREE_NONCE_BYTES_LENGTH.md │ │ │ ├── BINARY_TREE_NONCE_OFFSET.md │ │ │ ├── BINARY_TREE_VERSION_BYTES_LENGTH.md │ │ │ ├── BINARY_TREE_VERSION_OFFSET.md │ │ │ ├── BinaryTreeLeafType.md │ │ │ ├── CLRequestType.md │ │ │ ├── DEFAULT_ERROR_CODE.md │ │ │ ├── ETHER_TO_WEI.md │ │ │ ├── GWEI_TO_WEI.md │ │ │ ├── KECCAK256_NULL.md │ │ │ ├── KECCAK256_NULL_S.md │ │ │ ├── KECCAK256_RLP.md │ │ │ ├── KECCAK256_RLP_ARRAY.md │ │ │ ├── KECCAK256_RLP_ARRAY_S.md │ │ │ ├── KECCAK256_RLP_S.md │ │ │ ├── KeyEncoding.md │ │ │ ├── MAX_INTEGER.md │ │ │ ├── MAX_INTEGER_BIGINT.md │ │ │ ├── MAX_UINT64.md │ │ │ ├── MAX_WITHDRAWALS_PER_PAYLOAD.md │ │ │ ├── RIPEMD160_ADDRESS_STRING.md │ │ │ ├── RLP_EMPTY_STRING.md │ │ │ ├── SECP256K1_ORDER.md │ │ │ ├── SECP256K1_ORDER_DIV_2.md │ │ │ ├── SHA256_NULL.md │ │ │ ├── TWO_POW256.md │ │ │ ├── TypeOutput.md │ │ │ ├── VERKLE_BALANCE_BYTES_LENGTH.md │ │ │ ├── VERKLE_BALANCE_OFFSET.md │ │ │ ├── VERKLE_BASIC_DATA_LEAF_KEY.md │ │ │ ├── VERKLE_CODE_CHUNK_SIZE.md │ │ │ ├── VERKLE_CODE_HASH_LEAF_KEY.md │ │ │ ├── VERKLE_CODE_OFFSET.md │ │ │ ├── VERKLE_CODE_SIZE_BYTES_LENGTH.md │ │ │ ├── VERKLE_CODE_SIZE_OFFSET.md │ │ │ ├── VERKLE_HEADER_STORAGE_OFFSET.md │ │ │ ├── VERKLE_MAIN_STORAGE_OFFSET.md │ │ │ ├── VERKLE_NODE_WIDTH.md │ │ │ ├── VERKLE_NONCE_BYTES_LENGTH.md │ │ │ ├── VERKLE_NONCE_OFFSET.md │ │ │ ├── VERKLE_VERSION_BYTES_LENGTH.md │ │ │ ├── VERKLE_VERSION_OFFSET.md │ │ │ ├── ValueEncoding.md │ │ │ ├── VerkleLeafType.md │ │ │ ├── bytesToUnprefixedHex.md │ │ │ └── publicToAddress.md │ ├── eslint.config.mjs │ ├── examples │ │ ├── account.ts │ │ ├── accountPartial.ts │ │ ├── address.ts │ │ ├── blobs.ts │ │ ├── browser.html │ │ ├── bytes.ts │ │ ├── constants.ts │ │ ├── signature.ts │ │ ├── verkle.ts │ │ └── withdrawal.ts │ ├── package.json │ ├── src │ │ ├── account.ts │ │ ├── address.ts │ │ ├── authorization.ts │ │ ├── binaryTree.ts │ │ ├── blobs.ts │ │ ├── bytes.ts │ │ ├── constants.ts │ │ ├── db.ts │ │ ├── errors.ts │ │ ├── helpers.ts │ │ ├── index.ts │ │ ├── internal.ts │ │ ├── kzg.ts │ │ ├── lock.ts │ │ ├── mapDB.ts │ │ ├── provider.ts │ │ ├── request.ts │ │ ├── signature.ts │ │ ├── tasks.ts │ │ ├── types.ts │ │ ├── units.ts │ │ ├── verkle.ts │ │ └── withdrawal.ts │ ├── test │ │ ├── account.spec.ts │ │ ├── address.spec.ts │ │ ├── authorization.spec.ts │ │ ├── bench │ │ │ ├── bytes.bench.ts │ │ │ ├── events.bench.ts │ │ │ └── kzg.bench.ts │ │ ├── blobHelpers.spec.ts │ │ ├── bytes.spec.ts │ │ ├── constants.spec.ts │ │ ├── errors.spec.ts │ │ ├── internal.spec.ts │ │ ├── kzg.spec.ts │ │ ├── lock.spec.ts │ │ ├── mapDB.spec.ts │ │ ├── provider.spec.ts │ │ ├── requests.spec.ts │ │ ├── signature.spec.ts │ │ ├── tasks.spec.ts │ │ ├── testdata │ │ │ └── eip1014Examples.ts │ │ ├── types.spec.ts │ │ ├── units.spec.ts │ │ ├── verkle.spec.ts │ │ └── withdrawal.spec.ts │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.cjs.json │ ├── tsconfig.prod.esm.json │ └── typedoc.mjs ├── verkle │ ├── .c8rc.json │ ├── .gitignore │ ├── .npmignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── docs │ │ ├── README.md │ │ ├── classes │ │ │ ├── BaseVerkleNode.md │ │ │ ├── CheckpointDB.md │ │ │ ├── InternalVerkleNode.md │ │ │ ├── LeafVerkleNode.md │ │ │ └── VerkleTree.md │ │ ├── functions │ │ │ ├── createCValues.md │ │ │ ├── createDefaultLeafVerkleValues.md │ │ │ ├── createVerkleTree.md │ │ │ ├── createZeroesLeafValue.md │ │ │ ├── decodeRawVerkleNode.md │ │ │ ├── decodeVerkleNode.md │ │ │ ├── dumpLeafValues.md │ │ │ ├── dumpNodeHashes.md │ │ │ ├── isInternalVerkleNode.md │ │ │ ├── isLeafVerkleNode.md │ │ │ └── isRawVerkleNode.md │ │ ├── interfaces │ │ │ ├── CheckpointDBOpts.md │ │ │ ├── ChildNode.md │ │ │ ├── TypedVerkleNode.md │ │ │ ├── VerkleNodeInterface.md │ │ │ ├── VerkleNodeOptions.md │ │ │ └── VerkleTreeOpts.md │ │ ├── type-aliases │ │ │ ├── Checkpoint.md │ │ │ ├── Fr.md │ │ │ ├── LeafVerkleNodeValue.md │ │ │ ├── Proof.md │ │ │ ├── VerkleNode.md │ │ │ └── VerkleNodeType.md │ │ └── variables │ │ │ ├── LeafVerkleNodeValue.md │ │ │ ├── NODE_WIDTH.md │ │ │ ├── ROOT_DB_KEY.md │ │ │ └── VerkleNodeType.md │ ├── eslint.config.mjs │ ├── examples │ │ ├── diyVerkle.ts │ │ └── simple.ts │ ├── package.json │ ├── src │ │ ├── constructors.ts │ │ ├── db │ │ │ ├── checkpoint.ts │ │ │ └── index.ts │ │ ├── index.ts │ │ ├── node │ │ │ ├── baseVerkleNode.ts │ │ │ ├── index.ts │ │ │ ├── internalNode.ts │ │ │ ├── leafNode.ts │ │ │ ├── types.ts │ │ │ └── util.ts │ │ ├── types.ts │ │ ├── util.ts │ │ └── verkleTree.ts │ ├── test │ │ ├── db │ │ │ └── checkpoint.spec.ts │ │ ├── internalNode.spec.ts │ │ ├── interop.spec.ts │ │ ├── leafNode.spec.ts │ │ ├── proof.spec.ts │ │ ├── util.spec.ts │ │ └── verkle.spec.ts │ ├── tsconfig.benchmarks.json │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.cjs.json │ ├── tsconfig.prod.esm.json │ └── typedoc.mjs ├── vm │ ├── .c8rc.json │ ├── .gitignore │ ├── CHANGELOG.md │ ├── DEVELOPER.md │ ├── LICENSE │ ├── README.md │ ├── benchmarks │ │ ├── fixture │ │ │ └── blocks-prestate.json │ │ ├── mainnetBlocks.ts │ │ ├── mockchain.ts │ │ ├── run.ts │ │ └── util.ts │ ├── debug.png │ ├── docs │ │ ├── README.md │ │ ├── classes │ │ │ ├── BlockBuilder.md │ │ │ └── VM.md │ │ ├── functions │ │ │ ├── buildBlock.md │ │ │ ├── createVM.md │ │ │ ├── encodeReceipt.md │ │ │ └── runBlock.md │ │ ├── interfaces │ │ │ ├── AfterBlockEvent.md │ │ │ ├── AfterTxEvent.md │ │ │ ├── ApplyBlockResult.md │ │ │ ├── BaseTxReceipt.md │ │ │ ├── BuildBlockOpts.md │ │ │ ├── BuilderOpts.md │ │ │ ├── EIP4844BlobTxReceipt.md │ │ │ ├── PostByzantiumTxReceipt.md │ │ │ ├── PreByzantiumTxReceipt.md │ │ │ ├── RunBlockOpts.md │ │ │ ├── RunBlockResult.md │ │ │ ├── RunTxOpts.md │ │ │ ├── RunTxResult.md │ │ │ ├── SealBlockOpts.md │ │ │ └── VMOpts.md │ │ ├── type-aliases │ │ │ ├── BuildStatus.md │ │ │ ├── EVMProfilerOpts.md │ │ │ ├── TxReceipt.md │ │ │ ├── VMEvent.md │ │ │ └── VMProfilerOpts.md │ │ └── variables │ │ │ ├── BuildStatus.md │ │ │ └── paramsVM.md │ ├── eslint.config.mjs │ ├── examples │ │ ├── browser.html │ │ ├── buildBlock.ts │ │ ├── eventListener.ts │ │ ├── helpers │ │ │ ├── Greeter.sol │ │ │ ├── account-utils.ts │ │ │ ├── blockchain-mock-data.ts │ │ │ └── tx-builder.ts │ │ ├── run-blockchain.ts │ │ ├── run-solidity-contract.ts │ │ ├── runGoerliBlock.ts │ │ ├── runTx.ts │ │ ├── vmWith4844.ts │ │ ├── vmWithEIPs.ts │ │ └── vmWithGenesisState.ts │ ├── package.json │ ├── scripts │ │ ├── diffTester.sh │ │ └── formatTest.js │ ├── src │ │ ├── bloom │ │ │ └── index.ts │ │ ├── buildBlock.ts │ │ ├── constructors.ts │ │ ├── emitEVMProfile.ts │ │ ├── index.ts │ │ ├── params.ts │ │ ├── requests.ts │ │ ├── runBlock.ts │ │ ├── runTx.ts │ │ ├── types.ts │ │ └── vm.ts │ ├── test │ │ ├── api │ │ │ ├── EIPs │ │ │ │ ├── eip-1153.spec.ts │ │ │ │ ├── eip-1283-net-gas-metering.spec.ts │ │ │ │ ├── eip-1559-FeeMarket.spec.ts │ │ │ │ ├── eip-2565-modexp-gas-cost.spec.ts │ │ │ │ ├── eip-2929.spec.ts │ │ │ │ ├── eip-2930-accesslists.spec.ts │ │ │ │ ├── eip-2935-historical-block-hashes.spec.ts │ │ │ │ ├── eip-3198-BaseFee.spec.ts │ │ │ │ ├── eip-3529.spec.ts │ │ │ │ ├── eip-3541.spec.ts │ │ │ │ ├── eip-3607.spec.ts │ │ │ │ ├── eip-3651-warm-coinbase.spec.ts │ │ │ │ ├── eip-3855.spec.ts │ │ │ │ ├── eip-3860.spec.ts │ │ │ │ ├── eip-4399-supplant-difficulty-opcode-with-prevrando.spec.ts │ │ │ │ ├── eip-4788-beaconroot.spec.ts │ │ │ │ ├── eip-4844-blobs.spec.ts │ │ │ │ ├── eip-4895-withdrawals.spec.ts │ │ │ │ ├── eip-6110.spec.ts │ │ │ │ ├── eip-6780-selfdestruct-same-tx.spec.ts │ │ │ │ ├── eip-6800-verkle.spec.ts │ │ │ │ ├── eip-7002.spec.ts │ │ │ │ ├── eip-7623.spec.ts │ │ │ │ ├── eip-7685.spec.ts │ │ │ │ └── eip-7702.spec.ts │ │ │ ├── bloom.spec.ts │ │ │ ├── buildBlock.spec.ts │ │ │ ├── copy.spec.ts │ │ │ ├── customChain.spec.ts │ │ │ ├── events.spec.ts │ │ │ ├── genesis.spec.ts │ │ │ ├── index.spec.ts │ │ │ ├── istanbul │ │ │ │ ├── eip-1108.spec.ts │ │ │ │ ├── eip-1344.spec.ts │ │ │ │ ├── eip-152.deactivated.ts │ │ │ │ ├── eip-1884.spec.ts │ │ │ │ └── eip-2200.spec.ts │ │ │ ├── level.ts │ │ │ ├── muirGlacier │ │ │ │ └── index.spec.ts │ │ │ ├── runBlock.spec.ts │ │ │ ├── runTx.spec.ts │ │ │ ├── state │ │ │ │ └── accountExists.spec.ts │ │ │ ├── t8ntool │ │ │ │ └── t8ntool.spec.ts │ │ │ ├── testdata │ │ │ │ ├── blockchain.ts │ │ │ │ ├── eip-2565.ts │ │ │ │ ├── uncleData.ts │ │ │ │ ├── verkleBlock.ts │ │ │ │ └── verkleBlockWithValue.ts │ │ │ ├── tester │ │ │ │ └── tester.config.spec.ts │ │ │ ├── types.spec.ts │ │ │ └── utils.ts │ │ ├── retesteth │ │ │ ├── README.md │ │ │ ├── clients │ │ │ │ ├── default │ │ │ │ │ └── genesis │ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── ethereumjs │ │ │ │ │ ├── config │ │ │ │ │ ├── genesis │ │ │ │ │ │ ├── ArrowGlacier.json │ │ │ │ │ │ ├── Berlin.json │ │ │ │ │ │ ├── BerlinToLondonAt5.json │ │ │ │ │ │ ├── Byzantium.json │ │ │ │ │ │ ├── ByzantiumToConstantinopleFixAt5.json │ │ │ │ │ │ ├── Constantinople.json │ │ │ │ │ │ ├── ConstantinopleFix.json │ │ │ │ │ │ ├── EIP150.json │ │ │ │ │ │ ├── EIP158.json │ │ │ │ │ │ ├── EIP158ToByzantiumAt5.json │ │ │ │ │ │ ├── Frontier.json │ │ │ │ │ │ ├── FrontierToHomesteadAt5.json │ │ │ │ │ │ ├── Homestead.json │ │ │ │ │ │ ├── HomesteadToDaoAt5.json │ │ │ │ │ │ ├── HomesteadToEIP150At5.json │ │ │ │ │ │ ├── Istanbul.json │ │ │ │ │ │ ├── London.json │ │ │ │ │ │ ├── Paris.json │ │ │ │ │ │ ├── Shanghai.json │ │ │ │ │ │ └── correctMiningReward.json │ │ │ │ │ └── start.sh │ │ │ │ └── version │ │ │ ├── transition-child.cts │ │ │ └── transition-cluster.cts │ │ ├── t8n │ │ │ ├── README.md │ │ │ ├── ethereumjs-t8ntool.sh │ │ │ ├── helpers.ts │ │ │ ├── launchT8N.ts │ │ │ ├── stateTracker.ts │ │ │ ├── t8ntool.ts │ │ │ ├── testdata │ │ │ │ ├── input │ │ │ │ │ ├── alloc.json │ │ │ │ │ ├── env.json │ │ │ │ │ └── txs.json │ │ │ │ └── output │ │ │ │ │ ├── alloc.json │ │ │ │ │ └── result.json │ │ │ └── types.ts │ │ ├── tester │ │ │ ├── config.ts │ │ │ ├── index.ts │ │ │ ├── runners │ │ │ │ ├── BlockchainTestsRunner.ts │ │ │ │ └── GeneralStateTestsRunner.ts │ │ │ ├── scripts │ │ │ │ ├── blockchain-test-run-test.sh │ │ │ │ └── state-test-run-test.sh │ │ │ └── testLoader.ts │ │ └── util.ts │ ├── tsconfig.benchmarks.json │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.cjs.json │ ├── tsconfig.prod.esm.json │ ├── typedoc.mjs │ ├── utils │ │ └── diffTestOutput.py │ ├── vitest.config.browser.mts │ ├── vitest.config.coverage.ts │ └── vitest.config.ts └── wallet │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── docs │ ├── @ethereumjs │ │ └── namespaces │ │ │ ├── hdkey │ │ │ ├── README.md │ │ │ └── classes │ │ │ │ └── EthereumHDKey.md │ │ │ └── thirdparty │ │ │ ├── README.md │ │ │ ├── functions │ │ │ ├── fromEtherCamp.md │ │ │ ├── fromEtherWallet.md │ │ │ └── fromQuorumWallet.md │ │ │ ├── interfaces │ │ │ ├── EtherWalletOptions.md │ │ │ └── EvpKdfOpts.md │ │ │ └── variables │ │ │ └── Thirdparty.md │ ├── README.md │ ├── classes │ │ └── Wallet.md │ ├── type-aliases │ │ └── KDFFunctions.md │ └── variables │ │ └── KDFFunctions.md │ ├── eslint.config.mjs │ ├── examples │ ├── browser.html │ ├── hdKey.cjs │ ├── hdKey.ts │ ├── thirdparty.cjs │ ├── thirdparty.ts │ ├── wallet.cjs │ └── wallet.ts │ ├── package.json │ ├── src │ ├── hdkey.ts │ ├── index.ts │ ├── thirdparty.ts │ └── wallet.ts │ ├── test │ ├── hdkey.spec.ts │ └── index.spec.ts │ ├── tsconfig.json │ ├── tsconfig.lint.json │ ├── tsconfig.prod.cjs.json │ ├── tsconfig.prod.esm.json │ ├── typedoc.mjs │ └── vitest.config.browser.ts └── scripts ├── check-dependencies.js ├── check-npm-version.sh ├── e2e-hardhat.sh ├── e2e-inject-resolutions.js ├── e2e-publish.sh ├── e2e-resolutions.js ├── examples-runner.ts ├── list-external-dependencies.js ├── lockfile-lint.js └── ts-interface-diff.sh /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | insert_final_newline = true 7 | indent_size = 2 8 | indent_style = space 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | 14 | [*.{yml,yaml}] 15 | indent_size = 2 16 | indent_style = space 17 | -------------------------------------------------------------------------------- /.githooks/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | node ./node_modules/lint-staged/bin/lint-staged.js 4 | -------------------------------------------------------------------------------- /.githooks/pre-push: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | npm run lint:diff 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/general.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: General 3 | about: Open blank issue 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-binarytree.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/binarytree' 3 | about: Create issue for @ethereumjs/binarytree package 4 | title: '' 5 | labels: 'package: binarytree' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-block.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/block' 3 | about: Create issue for @ethereumjs/block 4 | title: '' 5 | labels: 'package: block' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-blockchain.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/blockchain' 3 | about: Create issue for @ethereumjs/blockchain package 4 | title: '' 5 | labels: 'package: blockchain' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-client.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/client' 3 | about: Create issue for @ethereumjs/client 4 | title: '' 5 | labels: 'package: client' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-common.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/common' 3 | about: Create issue for @ethereumjs/common package 4 | title: '' 5 | labels: 'package: common' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-devp2p.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/devp2p' 3 | about: Create issue for @ethereumjs/devp2p 4 | title: '' 5 | labels: 'package: devp2p' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-e2store.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/e2store' 3 | about: Create issue for @ethereumjs/e2store package 4 | title: '' 5 | labels: 'package: e2store' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-ethash.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/ethash' 3 | about: Create issue for @ethereumjs/ethash 4 | title: '' 5 | labels: 'package: ethash' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-evm.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/evm' 3 | about: Create issue for @ethereumjs/evm package 4 | title: '' 5 | labels: 'package: evm' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-genesis.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/genesis' 3 | about: Create issue for @ethereumjs/genesis package 4 | title: '' 5 | labels: 'package: genesis' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-mpt.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/mpt' 3 | about: Create issue for @ethereumjs/mpt package 4 | title: '' 5 | labels: 'package: mpt' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-statemanager.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/statemanager' 3 | about: Create issue for @ethereumjs/statemanager 4 | title: '' 5 | labels: 'package: statemanager' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-testdata.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/testdata' 3 | about: Create issue for @ethereumjs/testdata package 4 | title: '' 5 | labels: 'package: testdata' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-tx.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/tx' 3 | about: Create issue for @ethereumjs/tx package 4 | title: '' 5 | labels: 'package: tx' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-util.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/util' 3 | about: Create issue for @ethereumjs/util package 4 | title: '' 5 | labels: 'package: util' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-verkle.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/verkle' 3 | about: Create issue for @ethereumjs/verkle package 4 | title: '' 5 | labels: 'package: verkle' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-vm.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/vm' 3 | about: Create issue for @ethereumjs/vm package 4 | title: '' 5 | labels: 'package: vm' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--ethereumjs-wallet.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: @ethereumjs/wallet' 3 | about: Create issue for @ethereumjs/wallet package 4 | title: '' 5 | labels: 'package: wallet' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--monorepo.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: Monorepo' 3 | about: Create a monorepo-wide issue (e.g. on CI or docs) 4 | title: '' 5 | labels: 'package: monorepo' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package--rlp.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 'Package: rlp' 3 | about: Create issue for rlp package 4 | title: '' 5 | labels: 'package: rlp' 6 | assignees: '' 7 | --- 8 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "ethereum-tests"] 2 | path = packages/ethereum-tests 3 | url = https://github.com/ethereum/tests.git 4 | branch = develop 5 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 20 -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.codeActionsOnSave": { 3 | "source.fixAll.eslint": "explicit" 4 | }, 5 | "eslint.format.enable": true, 6 | "eslint.workingDirectories": [{ "pattern": "./packages/*" }] 7 | } 8 | -------------------------------------------------------------------------------- /FUNDING.json: -------------------------------------------------------------------------------- 1 | { 2 | "opRetro": { 3 | "projectId": "0x6830f24e2e893931d62d8118146a7bbffb5cd1f78945318865a52bd6a6cbe245" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | status: 3 | project: 4 | default: 5 | target: auto 6 | threshold: 2% 7 | patch: 8 | default: 9 | target: auto 10 | threshold: 5% 11 | comment: 12 | layout: 'reach, flags' 13 | flags: 14 | rlp: 15 | carryforward: true 16 | -------------------------------------------------------------------------------- /config/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "all": true, 3 | "cache": false, 4 | "extension": [".ts"], 5 | "reporter": ["lcov", "text"] 6 | } 7 | -------------------------------------------------------------------------------- /config/cli/clean-package.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -o xtrace 3 | rm -Rf ./dist* ./coverage *.tsbuildinfo -------------------------------------------------------------------------------- /config/cli/clean-root.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -o xtrace 3 | rm -Rf node_modules packages/*/node_modules packages/*/dist* packages/*/coverage packages/*/package-lock.json packages/*/*.tsbuildinfo -------------------------------------------------------------------------------- /config/cli/coverage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -o xtrace 3 | exec c8 --all --reporter=lcov --reporter=text npm run test 4 | -------------------------------------------------------------------------------- /config/cli/prepublish.sh: -------------------------------------------------------------------------------- 1 | npm run clean && npm run build && npm run test -------------------------------------------------------------------------------- /config/cli/ts-compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -o xtrace 3 | tsc -p ./tsconfig.json --noEmit 4 | -------------------------------------------------------------------------------- /config/tsconfig.prod.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "CommonJS", 5 | "moduleResolution": "node", 6 | "verbatimModuleSyntax": false 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /config/tsconfig.prod.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json" 3 | } 4 | -------------------------------------------------------------------------------- /config/typedoc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | plugin: 'typedoc-plugin-markdown', 3 | readme: 'none', 4 | gitRevision: 'master', 5 | githubPages: false, 6 | excludePrivate: true, 7 | excludeProtected: true, 8 | } 9 | -------------------------------------------------------------------------------- /config/vitest.config.coverage.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config' 2 | 3 | const config = defineConfig({ 4 | test: { 5 | silent: true, 6 | testTimeout: 180000, 7 | coverage: { 8 | provider: 'v8', 9 | enabled: true, 10 | all: true, 11 | include: ['src/**'], 12 | reportsDirectory: './coverage/v8', 13 | }, 14 | }, 15 | optimizeDeps: { 16 | exclude: ['kzg-wasm'], 17 | }, 18 | }) 19 | 20 | export default config -------------------------------------------------------------------------------- /config/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { configDefaults, defineConfig, mergeConfig } from 'vitest/config' 2 | export default defineConfig({ 3 | environments: { 4 | ssr: { 5 | resolve: { 6 | conditions: ['typescript'], 7 | }, 8 | }, 9 | }, 10 | }) 11 | -------------------------------------------------------------------------------- /docker/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.4' 2 | services: 3 | ethereumjs: 4 | build: 5 | context: . 6 | dockerfile: ../Dockerfile 7 | container_name: ethereumjs 8 | volumes: 9 | - ./datadir:/datadir 10 | command: > 11 | --dataDir=/datadir 12 | network_mode: host 13 | -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import rootConfig from '../../config/eslint.config.mjs' 2 | 3 | export default [...rootConfig] 4 | -------------------------------------------------------------------------------- /lint-staged.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | '*.{js,json,md,ts}': 'npx @biomejs/biome check --write --no-errors-on-unmatched', 3 | } 4 | -------------------------------------------------------------------------------- /packages/binarytree/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/.c8rc.json", 3 | "include": ["src/**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/binarytree/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/binarytree/.npmignore: -------------------------------------------------------------------------------- 1 | test/ 2 | src/ -------------------------------------------------------------------------------- /packages/binarytree/docs/type-aliases/BinaryNode.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/binarytree**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/binarytree](../README.md) / BinaryNode 6 | 7 | # Type Alias: BinaryNode 8 | 9 | > **BinaryNode** = [`TypedBinaryNode`](../interfaces/TypedBinaryNode.md)\[[`BinaryNodeType`](BinaryNodeType.md)\] 10 | 11 | Defined in: [node/types.ts:15](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/node/types.ts#L15) 12 | -------------------------------------------------------------------------------- /packages/binarytree/docs/variables/NODE_WIDTH.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/binarytree**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/binarytree](../README.md) / NODE\_WIDTH 6 | 7 | # Variable: NODE\_WIDTH 8 | 9 | > `const` **NODE\_WIDTH**: `256` = `256` 10 | 11 | Defined in: [node/types.ts:41](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/node/types.ts#L41) 12 | -------------------------------------------------------------------------------- /packages/binarytree/docs/variables/ROOT_DB_KEY.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/binarytree**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/binarytree](../README.md) / ROOT\_DB\_KEY 6 | 7 | # Variable: ROOT\_DB\_KEY 8 | 9 | > `const` **ROOT\_DB\_KEY**: `Uint8Array`\<`ArrayBufferLike`\> 10 | 11 | Defined in: [types.ts:58](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/binarytree/src/types.ts#L58) 12 | -------------------------------------------------------------------------------- /packages/binarytree/eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import rootConfig from '../../config/eslint.config.mjs' 2 | 3 | export default [ 4 | ...rootConfig, 5 | { 6 | languageOptions: { 7 | parserOptions: { 8 | project: ['./tsconfig.lint.json'], 9 | }, 10 | }, 11 | }, 12 | { 13 | files: ['benchmarks/*.ts', 'examples/*.ts'], 14 | rules: { 15 | 'no-console': 'off', 16 | }, 17 | }, 18 | ] 19 | -------------------------------------------------------------------------------- /packages/binarytree/src/db/index.ts: -------------------------------------------------------------------------------- 1 | export * from './checkpoint.ts' 2 | -------------------------------------------------------------------------------- /packages/binarytree/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './binaryTree.ts' 2 | export * from './constructors.ts' 3 | export * from './db/index.ts' 4 | export * from './node/index.ts' 5 | export * from './proof.ts' 6 | export * from './types.ts' 7 | -------------------------------------------------------------------------------- /packages/binarytree/src/node/index.ts: -------------------------------------------------------------------------------- 1 | export * from './internalNode.ts' 2 | export * from './types.ts' 3 | export * from './util.ts' 4 | -------------------------------------------------------------------------------- /packages/binarytree/tsconfig.benchmarks.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.cjs.json", 3 | "include": ["benchmarks/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/binarytree/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": ["src/**/*.ts", "test/**/*.spec.ts"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/binarytree/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/binarytree/tsconfig.prod.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.cjs.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/cjs" 6 | }, 7 | "include": ["src/**/*.ts"], 8 | "references": [ 9 | { "path": "../rlp/tsconfig.prod.cjs.json" }, 10 | { "path": "../util/tsconfig.prod.cjs.json" } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /packages/binarytree/tsconfig.prod.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.esm.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/esm" 6 | }, 7 | "include": ["src/**/*.ts"], 8 | "references": [ 9 | { "path": "../rlp/tsconfig.prod.esm.json" }, 10 | { "path": "../util/tsconfig.prod.esm.json" } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /packages/binarytree/typedoc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | extends: '../../config/typedoc.mjs', 3 | entryPoints: ['src'], 4 | out: 'docs', 5 | exclude: ['test/**/*.ts'], 6 | } 7 | -------------------------------------------------------------------------------- /packages/block/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/.c8rc.json", 3 | "include": ["src/**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/block/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereumjs/ethereumjs-monorepo/29b5472f6f61b5f8bd3fd95307d35f0724aed332/packages/block/.gitignore -------------------------------------------------------------------------------- /packages/block/docs/type-aliases/BlockBodyBytes.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/block**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/block](../README.md) / BlockBodyBytes 6 | 7 | # Type Alias: BlockBodyBytes 8 | 9 | > **BlockBodyBytes** = \[[`TransactionsBytes`](TransactionsBytes.md), [`UncleHeadersBytes`](UncleHeadersBytes.md), [`WithdrawalsBytes`](WithdrawalsBytes.md)?\] 10 | 11 | Defined in: [types.ts:149](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/types.ts#L149) 12 | -------------------------------------------------------------------------------- /packages/block/docs/type-aliases/BlockHeaderBytes.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/block**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/block](../README.md) / BlockHeaderBytes 6 | 7 | # Type Alias: BlockHeaderBytes 8 | 9 | > **BlockHeaderBytes** = `Uint8Array`[] 10 | 11 | Defined in: [types.ts:148](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/types.ts#L148) 12 | 13 | BlockHeaderBuffer is a Buffer array, except for the Verkle PreState which is an array of prestate arrays. 14 | -------------------------------------------------------------------------------- /packages/block/docs/type-aliases/ExecutionWitnessBytes.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/block**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/block](../README.md) / ExecutionWitnessBytes 6 | 7 | # Type Alias: ExecutionWitnessBytes 8 | 9 | > **ExecutionWitnessBytes** = `Uint8Array` 10 | 11 | Defined in: [types.ts:132](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/types.ts#L132) 12 | -------------------------------------------------------------------------------- /packages/block/docs/type-aliases/UncleHeadersBytes.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/block**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/block](../README.md) / UncleHeadersBytes 6 | 7 | # Type Alias: UncleHeadersBytes 8 | 9 | > **UncleHeadersBytes** = `Uint8Array`[][] 10 | 11 | Defined in: [types.ts:154](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/types.ts#L154) 12 | -------------------------------------------------------------------------------- /packages/block/docs/type-aliases/WithdrawalsBytes.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/block**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/block](../README.md) / WithdrawalsBytes 6 | 7 | # Type Alias: WithdrawalsBytes 8 | 9 | > **WithdrawalsBytes** = `WithdrawalBytes`[] 10 | 11 | Defined in: [types.ts:131](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/types.ts#L131) 12 | -------------------------------------------------------------------------------- /packages/block/docs/variables/CLIQUE_EXTRA_SEAL.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/block**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/block](../README.md) / CLIQUE\_EXTRA\_SEAL 6 | 7 | # Variable: CLIQUE\_EXTRA\_SEAL 8 | 9 | > `const` **CLIQUE\_EXTRA\_SEAL**: `65` = `65` 10 | 11 | Defined in: [consensus/clique.ts:26](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/consensus/clique.ts#L26) 12 | -------------------------------------------------------------------------------- /packages/block/docs/variables/CLIQUE_EXTRA_VANITY.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/block**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/block](../README.md) / CLIQUE\_EXTRA\_VANITY 6 | 7 | # Variable: CLIQUE\_EXTRA\_VANITY 8 | 9 | > `const` **CLIQUE\_EXTRA\_VANITY**: `32` = `32` 10 | 11 | Defined in: [consensus/clique.ts:24](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/consensus/clique.ts#L24) 12 | -------------------------------------------------------------------------------- /packages/block/docs/variables/paramsBlock.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/block**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/block](../README.md) / paramsBlock 6 | 7 | # Variable: paramsBlock 8 | 9 | > `const` **paramsBlock**: `ParamsDict` 10 | 11 | Defined in: [params.ts:3](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/params.ts#L3) 12 | -------------------------------------------------------------------------------- /packages/block/eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import rootConfig from '../../config/eslint.config.mjs' 2 | 3 | export default [ 4 | ...rootConfig, 5 | { 6 | languageOptions: { 7 | parserOptions: { 8 | project: ['./tsconfig.lint.json'], 9 | }, 10 | }, 11 | }, 12 | { 13 | files: ['examples/**/*'], 14 | rules: { 15 | 'no-console': 'off', 16 | '@typescript-eslint/no-unused-vars': 'off', 17 | }, 18 | }, 19 | ] 20 | -------------------------------------------------------------------------------- /packages/block/examples/pos.ts: -------------------------------------------------------------------------------- 1 | import { createBlock } from '@ethereumjs/block' 2 | import { Common, Mainnet } from '@ethereumjs/common' 3 | 4 | const common = new Common({ chain: Mainnet }) 5 | 6 | const block = createBlock( 7 | { 8 | // Provide your block data here or use default values 9 | }, 10 | { common }, 11 | ) 12 | 13 | console.log(`Proof-of-Stake (default) block created with hardfork=${block.common.hardfork()}`) 14 | -------------------------------------------------------------------------------- /packages/block/examples/pow.ts: -------------------------------------------------------------------------------- 1 | import { createBlock } from '@ethereumjs/block' 2 | import { Common, Hardfork, Mainnet } from '@ethereumjs/common' 3 | 4 | const common = new Common({ chain: Mainnet, hardfork: Hardfork.Chainstart }) 5 | 6 | console.log(common.consensusType()) // 'pow' 7 | console.log(common.consensusAlgorithm()) // 'ethash' 8 | 9 | createBlock({}, { common }) 10 | console.log(`Old Proof-of-Work block created`) 11 | -------------------------------------------------------------------------------- /packages/block/src/block/index.ts: -------------------------------------------------------------------------------- 1 | export * from './block.ts' 2 | export * from './constructors.ts' 3 | -------------------------------------------------------------------------------- /packages/block/src/consensus/ethash.ts: -------------------------------------------------------------------------------- 1 | import type { Block } from '../index.ts' 2 | 3 | /** 4 | * Returns the canonical difficulty for this block. 5 | * 6 | * @param parentBlock - the parent of this `Block` 7 | */ 8 | export function ethashCanonicalDifficulty(block: Block, parentBlock: Block): bigint { 9 | return block.header.ethashCanonicalDifficulty(parentBlock.header) 10 | } 11 | -------------------------------------------------------------------------------- /packages/block/src/consensus/index.ts: -------------------------------------------------------------------------------- 1 | export { 2 | CLIQUE_EXTRA_SEAL, 3 | CLIQUE_EXTRA_VANITY, 4 | cliqueEpochTransitionSigners, 5 | cliqueExtraSeal, 6 | cliqueExtraVanity, 7 | cliqueIsEpochTransition, 8 | cliqueSigHash, 9 | cliqueSigner, 10 | cliqueVerifySignature, 11 | } from './clique.ts' 12 | export * from './ethash.ts' 13 | -------------------------------------------------------------------------------- /packages/block/src/header/index.ts: -------------------------------------------------------------------------------- 1 | export * from './constructors.ts' 2 | export * from './header.ts' 3 | -------------------------------------------------------------------------------- /packages/block/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './block/index.ts' 2 | export * from './consensus/index.ts' 3 | export { type BeaconPayloadJSON, executionPayloadFromBeaconPayload } from './from-beacon-payload.ts' 4 | export * from './header/index.ts' 5 | export { 6 | genRequestsRoot, 7 | genTransactionsTrieRoot, 8 | genWithdrawalsTrieRoot, 9 | getDifficulty, 10 | valuesArrayToHeaderData, 11 | } from './helpers.ts' 12 | export * from './params.ts' 13 | export * from './types.ts' 14 | -------------------------------------------------------------------------------- /packages/block/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": ["src/**/*.ts", "test/**/*.ts"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/block/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/block/typedoc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | extends: '../../config/typedoc.mjs', 3 | entryPoints: ['src'], 4 | out: 'docs', 5 | exclude: ['test/**/*.ts', 'src/helpers.ts'], 6 | } 7 | -------------------------------------------------------------------------------- /packages/blockchain/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/.c8rc.json", 3 | "include": ["src/**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/blockchain/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereumjs/ethereumjs-monorepo/29b5472f6f61b5f8bd3fd95307d35f0724aed332/packages/blockchain/.gitignore -------------------------------------------------------------------------------- /packages/blockchain/docs/type-aliases/ConsensusDict.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/blockchain**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/blockchain](../README.md) / ConsensusDict 6 | 7 | # Type Alias: ConsensusDict 8 | 9 | > **ConsensusDict** = `object` 10 | 11 | Defined in: [types.ts:136](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/types.ts#L136) 12 | 13 | ## Index Signature 14 | 15 | \[`consensusAlgorithm`: `string`\]: [`Consensus`](../interfaces/Consensus.md) 16 | -------------------------------------------------------------------------------- /packages/blockchain/eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import rootConfig from '../../config/eslint.config.mjs' 2 | 3 | export default [ 4 | ...rootConfig, 5 | { 6 | languageOptions: { 7 | parserOptions: { 8 | project: ['./tsconfig.lint.json'], 9 | }, 10 | }, 11 | }, 12 | { 13 | files: ['test/sim/**.ts', 'examples/**/*.ts'], 14 | rules: { 15 | 'no-console': 'off', 16 | }, 17 | }, 18 | ] 19 | -------------------------------------------------------------------------------- /packages/blockchain/src/consensus/index.ts: -------------------------------------------------------------------------------- 1 | import { CasperConsensus } from './casper.ts' 2 | import { CliqueConsensus } from './clique.ts' 3 | import { EthashConsensus } from './ethash.ts' 4 | 5 | export { CasperConsensus, CliqueConsensus, EthashConsensus } 6 | -------------------------------------------------------------------------------- /packages/blockchain/src/index.ts: -------------------------------------------------------------------------------- 1 | export { Blockchain } from './blockchain.ts' 2 | export { CasperConsensus, CliqueConsensus, EthashConsensus } from './consensus/index.ts' 3 | export * from './constructors.ts' 4 | export { 5 | DBOp, 6 | DBSaveLookups, 7 | DBSetBlockOrHeader, 8 | DBSetHashToNumber, 9 | DBSetTD, 10 | } from './db/helpers.ts' 11 | export * from './helpers.ts' 12 | export * from './types.ts' 13 | -------------------------------------------------------------------------------- /packages/blockchain/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": ["src/**/*.ts", "test/**/*.ts"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/blockchain/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/blockchain/typedoc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | extends: '../../config/typedoc.mjs', 3 | entryPoints: ['src'], 4 | out: 'docs', 5 | exclude: ['test/**/*.ts', 'src/db/**', 'src/clique.ts'], 6 | } 7 | -------------------------------------------------------------------------------- /packages/blockchain/vitest.config.browser.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, mergeConfig } from 'vitest/config' 2 | import baseConfig from '../../config/vitest.config.browser.mts' 3 | 4 | export default mergeConfig(baseConfig, defineConfig({})) 5 | -------------------------------------------------------------------------------- /packages/client/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/.c8rc.json", 3 | "include": ["src/**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/client/.gitignore: -------------------------------------------------------------------------------- 1 | merge/data -------------------------------------------------------------------------------- /packages/client/diagram/client.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereumjs/ethereumjs-monorepo/29b5472f6f61b5f8bd3fd95307d35f0724aed332/packages/client/diagram/client.png -------------------------------------------------------------------------------- /packages/client/docs/type-aliases/DataDirectory.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/client**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/client](../README.md) / DataDirectory 6 | 7 | # Type Alias: DataDirectory 8 | 9 | > **DataDirectory** = *typeof* [`DataDirectory`](../variables/DataDirectory.md)\[keyof *typeof* [`DataDirectory`](../variables/DataDirectory.md)\] 10 | 11 | Defined in: [config.ts:17](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/client/src/config.ts#L17) 12 | -------------------------------------------------------------------------------- /packages/client/docs/type-aliases/SyncMode.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/client**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/client](../README.md) / SyncMode 6 | 7 | # Type Alias: SyncMode 8 | 9 | > **SyncMode** = *typeof* [`SyncMode`](../variables/SyncMode.md)\[keyof *typeof* [`SyncMode`](../variables/SyncMode.md)\] 10 | 11 | Defined in: [config.ts:25](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/client/src/config.ts#L25) 12 | -------------------------------------------------------------------------------- /packages/client/eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import rootConfig from '../../config/eslint.config.mjs' 2 | 3 | export default [ 4 | ...rootConfig, 5 | { 6 | languageOptions: { 7 | parserOptions: { 8 | project: ['./tsconfig.lint.json'], 9 | }, 10 | }, 11 | }, 12 | { 13 | files: ['test/sim/**.ts', 'examples/**/*.ts'], 14 | rules: { 15 | 'no-console': 'off', 16 | '@typescript-eslint/no-require-imports': 'warn', 17 | }, 18 | }, 19 | ] 20 | -------------------------------------------------------------------------------- /packages/client/src/blockchain/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @module blockchain 3 | */ 4 | 5 | export * from './chain.ts' 6 | -------------------------------------------------------------------------------- /packages/client/src/execution/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @module execution 3 | */ 4 | 5 | export * from './execution.ts' 6 | export * from './vmexecution.ts' 7 | -------------------------------------------------------------------------------- /packages/client/src/ext/index.ts: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | export * from './qheap.ts' 4 | -------------------------------------------------------------------------------- /packages/client/src/index.ts: -------------------------------------------------------------------------------- 1 | export { EthereumClient } from './client.ts' 2 | export * from './config.ts' 3 | -------------------------------------------------------------------------------- /packages/client/src/miner/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @module miner 3 | */ 4 | 5 | export * from './miner.ts' 6 | export * from './pendingBlock.ts' 7 | -------------------------------------------------------------------------------- /packages/client/src/net/peer/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @module net/peer 3 | */ 4 | 5 | export * from './peer.ts' 6 | export * from './rlpxpeer.ts' 7 | -------------------------------------------------------------------------------- /packages/client/src/net/protocol/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @module net/protocol 3 | */ 4 | 5 | export * from './boundprotocol.ts' 6 | export * from './ethprotocol.ts' 7 | export * from './protocol.ts' 8 | export * from './rlpxsender.ts' 9 | export * from './sender.ts' 10 | export * from './snapprotocol.ts' 11 | -------------------------------------------------------------------------------- /packages/client/src/net/server/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @module net/server 3 | */ 4 | 5 | export * from './rlpxserver.ts' 6 | export * from './server.ts' 7 | -------------------------------------------------------------------------------- /packages/client/src/rpc/modules/engine/index.ts: -------------------------------------------------------------------------------- 1 | export * from './CLConnectionManager.ts' 2 | export * from './engine.ts' 3 | export * from './types.ts' 4 | export * from './util/index.ts' 5 | export * from './validators.ts' 6 | -------------------------------------------------------------------------------- /packages/client/src/rpc/modules/engine/util/index.ts: -------------------------------------------------------------------------------- 1 | export * from './forkchoiceUpdated.ts' 2 | export * from './generic.ts' 3 | export * from './getPayload.ts' 4 | export * from './getPayloadBody.ts' 5 | export * from './newPayload.ts' 6 | -------------------------------------------------------------------------------- /packages/client/src/rpc/modules/index.ts: -------------------------------------------------------------------------------- 1 | export const list = ['Eth', 'Engine', 'Web3', 'Net', 'Admin', 'TxPool', 'Debug'] 2 | 3 | export * from './admin.ts' 4 | export * from './debug.ts' 5 | export * from './engine/index.ts' 6 | export * from './eth.ts' 7 | export * from './net.ts' 8 | export * from './txpool.ts' 9 | export * from './web3.ts' 10 | -------------------------------------------------------------------------------- /packages/client/src/service/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @module service 3 | */ 4 | 5 | export * from './fullethereumservice.ts' 6 | export * from './service.ts' 7 | export * from './skeleton.ts' 8 | -------------------------------------------------------------------------------- /packages/client/src/sync/fetcher/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @module sync/fetcher 3 | */ 4 | export * from './accountfetcher.ts' 5 | export * from './blockfetcher.ts' 6 | export * from './fetcher.ts' 7 | export * from './reverseblockfetcher.ts' 8 | -------------------------------------------------------------------------------- /packages/client/src/sync/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @module sync 3 | */ 4 | // need this weird re-export for vitest to be able to mock reverseblockfetcher in test/sync/beaconsync.spec.ts 5 | export * from '../service/skeleton.ts' 6 | export * from './beaconsync.ts' 7 | export * from './fullsync.ts' 8 | export * from './snapsync.ts' 9 | export * from './sync.ts' 10 | -------------------------------------------------------------------------------- /packages/client/src/util/wait.ts: -------------------------------------------------------------------------------- 1 | export async function wait(delay: number) { 2 | await new Promise((resolve) => setTimeout(resolve, delay)) 3 | } 4 | -------------------------------------------------------------------------------- /packages/client/test/net/protocol/testdouble-timers.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'testdouble-timers' { 2 | export function use(td: any): void 3 | } 4 | -------------------------------------------------------------------------------- /packages/client/test/net/protocol/testdouble.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace testdouble { 2 | export const td: any 3 | export function timers(): any 4 | export function object(peer: string): any 5 | } 6 | -------------------------------------------------------------------------------- /packages/client/test/rpc/eth/protocolVersion.spec.ts: -------------------------------------------------------------------------------- 1 | import { assert, describe, it } from 'vitest' 2 | 3 | import { baseSetup } from '../helpers.ts' 4 | 5 | const method = 'eth_protocolVersion' 6 | 7 | describe(method, () => { 8 | it('call', async () => { 9 | const { rpc } = await baseSetup() 10 | 11 | const res = await rpc.request(method, []) 12 | assert.strictEqual(typeof res.result, 'string', 'protocol version should be a string') 13 | }) 14 | }) 15 | -------------------------------------------------------------------------------- /packages/client/test/testdata/bootnode.txt: -------------------------------------------------------------------------------- 1 | enode://abc@127.0.0.1:30303 2 | enode://abc@127.0.0.1:30304 -------------------------------------------------------------------------------- /packages/client/test/util/packageJSON.spec.ts: -------------------------------------------------------------------------------- 1 | import { assert, describe, it } from 'vitest' 2 | 3 | import { getClientVersion, getPackageJSON } from '../../src/util/index.ts' 4 | 5 | describe('[Util/index.ts]', () => { 6 | it('getClientVersion', () => { 7 | assert.doesNotThrow(getClientVersion) 8 | }) 9 | it('getPackageJSON', () => { 10 | assert.doesNotThrow(getPackageJSON) 11 | }) 12 | }) 13 | -------------------------------------------------------------------------------- /packages/client/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": ["bin", "src", "test", "package.json", "test/**/*.js"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/client/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/common/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/.c8rc.json", 3 | "include": ["src/**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/common/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereumjs/ethereumjs-monorepo/29b5472f6f61b5f8bd3fd95307d35f0724aed332/packages/common/.gitignore -------------------------------------------------------------------------------- /packages/common/docs/interfaces/ChainName.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / ChainName 6 | 7 | # Interface: ChainName 8 | 9 | Defined in: [types.ts:5](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/types.ts#L5) 10 | 11 | ## Indexable 12 | 13 | \[`chainId`: `string`\]: `string` 14 | -------------------------------------------------------------------------------- /packages/common/docs/interfaces/ChainsConfig.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / ChainsConfig 6 | 7 | # Interface: ChainsConfig 8 | 9 | Defined in: [types.ts:8](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/types.ts#L8) 10 | 11 | ## Indexable 12 | 13 | \[`key`: `string`\]: [`ChainName`](ChainName.md) \| [`ChainConfig`](ChainConfig.md) 14 | -------------------------------------------------------------------------------- /packages/common/docs/interfaces/GethGenesisAlloc.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / GethGenesisAlloc 6 | 7 | # Interface: GethGenesisAlloc 8 | 9 | Defined in: [gethGenesis.ts:59](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/gethGenesis.ts#L59) 10 | 11 | Interface for account allocation in Geth Genesis 12 | 13 | ## Indexable 14 | 15 | \[`address`: `string`\]: `object` 16 | -------------------------------------------------------------------------------- /packages/common/docs/interfaces/GethGenesisBlobSchedule.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / GethGenesisBlobSchedule 6 | 7 | # Interface: GethGenesisBlobSchedule 8 | 9 | Defined in: [gethGenesis.ts:71](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/gethGenesis.ts#L71) 10 | 11 | Interface for blob schedule in Geth Genesis (EIP-7840) 12 | 13 | ## Indexable 14 | 15 | \[`fork`: `string`\]: `object` 16 | -------------------------------------------------------------------------------- /packages/common/docs/interfaces/StorageDump.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / StorageDump 6 | 7 | # Interface: StorageDump 8 | 9 | Defined in: [interfaces.ts:13](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L13) 10 | 11 | ## Indexable 12 | 13 | \[`key`: `string`\]: `string` 14 | -------------------------------------------------------------------------------- /packages/common/docs/type-aliases/AccountFields.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / AccountFields 6 | 7 | # Type Alias: AccountFields 8 | 9 | > **AccountFields** = `Partial`\<`Pick`\<`Account`, `"nonce"` \| `"balance"` \| `"storageRoot"` \| `"codeHash"` \| `"codeSize"`\>\> 10 | 11 | Defined in: [interfaces.ts:40](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L40) 12 | -------------------------------------------------------------------------------- /packages/common/docs/type-aliases/AccountState.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / AccountState 6 | 7 | # Type Alias: AccountState 8 | 9 | > **AccountState** = \[`PrefixedHexString`, `PrefixedHexString`, [`StoragePair`](StoragePair.md)[], `PrefixedHexString`\] 10 | 11 | Defined in: [gethGenesis.ts:112](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/gethGenesis.ts#L112) 12 | -------------------------------------------------------------------------------- /packages/common/docs/type-aliases/CasperConfig.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / CasperConfig 6 | 7 | # Type Alias: CasperConfig 8 | 9 | > **CasperConfig** = `object` 10 | 11 | Defined in: [types.ts:23](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/types.ts#L23) 12 | -------------------------------------------------------------------------------- /packages/common/docs/type-aliases/Chain.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / Chain 6 | 7 | # Type Alias: Chain 8 | 9 | > **Chain** = *typeof* [`Chain`](../variables/Chain.md)\[keyof *typeof* [`Chain`](../variables/Chain.md)\] 10 | 11 | Defined in: [enums.ts:3](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L3) 12 | -------------------------------------------------------------------------------- /packages/common/docs/type-aliases/ConsensusType.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / ConsensusType 6 | 7 | # Type Alias: ConsensusType 8 | 9 | > **ConsensusType** = *typeof* [`ConsensusType`](../variables/ConsensusType.md)\[keyof *typeof* [`ConsensusType`](../variables/ConsensusType.md)\] 10 | 11 | Defined in: [enums.ts:91](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L91) 12 | -------------------------------------------------------------------------------- /packages/common/docs/type-aliases/EIPsDict.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / EIPsDict 6 | 7 | # Type Alias: EIPsDict 8 | 9 | > **EIPsDict** = `object` 10 | 11 | Defined in: [types.ts:182](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/types.ts#L182) 12 | 13 | ## Index Signature 14 | 15 | \[`key`: `string`\]: [`EIPConfig`](EIPConfig.md) 16 | -------------------------------------------------------------------------------- /packages/common/docs/type-aliases/EthashConfig.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / EthashConfig 6 | 7 | # Type Alias: EthashConfig 8 | 9 | > **EthashConfig** = `object` 10 | 11 | Defined in: [types.ts:21](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/types.ts#L21) 12 | -------------------------------------------------------------------------------- /packages/common/docs/type-aliases/Hardfork.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / Hardfork 6 | 7 | # Type Alias: Hardfork 8 | 9 | > **Hardfork** = *typeof* [`Hardfork`](../variables/Hardfork.md)\[keyof *typeof* [`Hardfork`](../variables/Hardfork.md)\] 10 | 11 | Defined in: [enums.ts:65](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L65) 12 | -------------------------------------------------------------------------------- /packages/common/docs/type-aliases/HardforksDict.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / HardforksDict 6 | 7 | # Type Alias: HardforksDict 8 | 9 | > **HardforksDict** = `object` 10 | 11 | Defined in: [types.ts:190](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/types.ts#L190) 12 | 13 | ## Index Signature 14 | 15 | \[`key`: `string`\]: [`HardforkConfig`](HardforkConfig.md) 16 | -------------------------------------------------------------------------------- /packages/common/docs/type-aliases/ParamsConfig.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / ParamsConfig 6 | 7 | # Type Alias: ParamsConfig 8 | 9 | > **ParamsConfig** = `object` 10 | 11 | Defined in: [types.ts:172](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/types.ts#L172) 12 | 13 | ## Index Signature 14 | 15 | \[`key`: `string`\]: `null` \| `string` \| `number` 16 | -------------------------------------------------------------------------------- /packages/common/docs/type-aliases/ParamsDict.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / ParamsDict 6 | 7 | # Type Alias: ParamsDict 8 | 9 | > **ParamsDict** = `object` 10 | 11 | Defined in: [types.ts:186](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/types.ts#L186) 12 | 13 | ## Index Signature 14 | 15 | \[`key`: `string`\]: [`ParamsConfig`](ParamsConfig.md) 16 | -------------------------------------------------------------------------------- /packages/common/docs/type-aliases/StoragePair.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / StoragePair 6 | 7 | # Type Alias: StoragePair 8 | 9 | > **StoragePair** = \[`PrefixedHexString`, `PrefixedHexString`\] 10 | 11 | Defined in: [gethGenesis.ts:110](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/gethGenesis.ts#L110) 12 | -------------------------------------------------------------------------------- /packages/common/docs/variables/ChainGenesis.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / ChainGenesis 6 | 7 | # Variable: ChainGenesis 8 | 9 | > `const` **ChainGenesis**: `Record`\<[`Chain`](../type-aliases/Chain.md), `GenesisState`\> 10 | 11 | Defined in: [enums.ts:37](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L37) 12 | 13 | GenesisState info about well known ethereum chains 14 | -------------------------------------------------------------------------------- /packages/common/docs/variables/ChainNameFromNumber.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / ChainNameFromNumber 6 | 7 | # Variable: ChainNameFromNumber 8 | 9 | > `const` **ChainNameFromNumber**: `{ [key in Chain]: string }` 10 | 11 | Defined in: [enums.ts:14](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L14) 12 | -------------------------------------------------------------------------------- /packages/common/docs/variables/Holesky.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / Holesky 6 | 7 | # Variable: Holesky 8 | 9 | > `const` **Holesky**: [`ChainConfig`](../interfaces/ChainConfig.md) 10 | 11 | Defined in: [chains.ts:307](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/chains.ts#L307) 12 | -------------------------------------------------------------------------------- /packages/common/docs/variables/Hoodi.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / Hoodi 6 | 7 | # Variable: Hoodi 8 | 9 | > `const` **Hoodi**: [`ChainConfig`](../interfaces/ChainConfig.md) 10 | 11 | Defined in: [chains.ts:432](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/chains.ts#L432) 12 | -------------------------------------------------------------------------------- /packages/common/docs/variables/Kaustinen6.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / Kaustinen6 6 | 7 | # Variable: Kaustinen6 8 | 9 | > `const` **Kaustinen6**: [`ChainConfig`](../interfaces/ChainConfig.md) 10 | 11 | Defined in: [chains.ts:564](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/chains.ts#L564) 12 | -------------------------------------------------------------------------------- /packages/common/docs/variables/Mainnet.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / Mainnet 6 | 7 | # Variable: Mainnet 8 | 9 | > `const` **Mainnet**: [`ChainConfig`](../interfaces/ChainConfig.md) 10 | 11 | Defined in: [chains.ts:3](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/chains.ts#L3) 12 | -------------------------------------------------------------------------------- /packages/common/docs/variables/Sepolia.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/common**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/common](../README.md) / Sepolia 6 | 7 | # Variable: Sepolia 8 | 9 | > `const` **Sepolia**: [`ChainConfig`](../interfaces/ChainConfig.md) 10 | 11 | Defined in: [chains.ts:166](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/chains.ts#L166) 12 | -------------------------------------------------------------------------------- /packages/common/eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import rootConfig from '../../config/eslint.config.mjs' 2 | 3 | export default [ 4 | ...rootConfig, 5 | { 6 | languageOptions: { 7 | parserOptions: { 8 | project: ['./tsconfig.lint.json'], 9 | }, 10 | }, 11 | }, 12 | { 13 | files: ['examples/**/*'], 14 | 15 | rules: { 16 | 'no-console': 'off', 17 | '@typescript-eslint/no-unused-vars': 'off', 18 | }, 19 | }, 20 | ] 21 | -------------------------------------------------------------------------------- /packages/common/examples/customChain.ts: -------------------------------------------------------------------------------- 1 | import { Mainnet, createCustomCommon } from '@ethereumjs/common' 2 | import { customChainConfig } from '@ethereumjs/testdata' 3 | 4 | // Add custom chain config 5 | const common1 = createCustomCommon(customChainConfig, Mainnet) 6 | console.log(`Common is instantiated with custom chain parameters - ${common1.chainName()}`) 7 | -------------------------------------------------------------------------------- /packages/common/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './chains.ts' 2 | export * from './common.ts' 3 | export * from './constructors.ts' 4 | export * from './enums.ts' 5 | export * from './gethGenesis.ts' 6 | export * from './interfaces.ts' 7 | export * from './types.ts' 8 | export * from './utils.ts' 9 | -------------------------------------------------------------------------------- /packages/common/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": ["src/**/*.ts", "src/**/*.json", "test/**/*.ts", "test/**/*.json"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/common/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/common/tsconfig.prod.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.cjs.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/cjs" 6 | }, 7 | "include": ["src/**/*.ts", "src/**/*.json"], 8 | "references": [{ "path": "../util/tsconfig.prod.cjs.json" }] 9 | } 10 | -------------------------------------------------------------------------------- /packages/common/tsconfig.prod.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.esm.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/esm" 6 | }, 7 | "include": ["src/**/*.ts", "src/**/*.json"], 8 | "references": [{ "path": "../util/tsconfig.prod.esm.json" }] 9 | } 10 | -------------------------------------------------------------------------------- /packages/common/typedoc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | extends: '../../config/typedoc.mjs', 3 | entryPoints: ['src'], 4 | out: 'docs', 5 | exclude: ['test/**/**', 'src/chains/**', 'src/eips/**', 'src/hardforks/**'], 6 | } 7 | -------------------------------------------------------------------------------- /packages/devp2p/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/.c8rc.json", 3 | "include": ["src/**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/devp2p/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereumjs/ethereumjs-monorepo/29b5472f6f61b5f8bd3fd95307d35f0724aed332/packages/devp2p/.gitignore -------------------------------------------------------------------------------- /packages/devp2p/diagram/devp2p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereumjs/ethereumjs-monorepo/29b5472f6f61b5f8bd3fd95307d35f0724aed332/packages/devp2p/diagram/devp2p.png -------------------------------------------------------------------------------- /packages/devp2p/docs/functions/genPrivateKey.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/devp2p**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/devp2p](../README.md) / genPrivateKey 6 | 7 | # Function: genPrivateKey() 8 | 9 | > **genPrivateKey**(): `Uint8Array` 10 | 11 | Defined in: [packages/devp2p/src/util.ts:19](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/util.ts#L19) 12 | 13 | ## Returns 14 | 15 | `Uint8Array` 16 | -------------------------------------------------------------------------------- /packages/devp2p/docs/functions/id2pk.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/devp2p**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/devp2p](../README.md) / id2pk 6 | 7 | # Function: id2pk() 8 | 9 | > **id2pk**(`id`): `Uint8Array` 10 | 11 | Defined in: [packages/devp2p/src/util.ts:31](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/util.ts#L31) 12 | 13 | ## Parameters 14 | 15 | ### id 16 | 17 | `Uint8Array` 18 | 19 | ## Returns 20 | 21 | `Uint8Array` 22 | -------------------------------------------------------------------------------- /packages/devp2p/docs/functions/isV4Format.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/devp2p**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/devp2p](../README.md) / isV4Format 6 | 7 | # Function: isV4Format() 8 | 9 | > **isV4Format**(`ip`): `boolean` 10 | 11 | Defined in: [packages/devp2p/src/util.ts:153](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/util.ts#L153) 12 | 13 | ## Parameters 14 | 15 | ### ip 16 | 17 | `string` 18 | 19 | ## Returns 20 | 21 | `boolean` 22 | -------------------------------------------------------------------------------- /packages/devp2p/docs/functions/isV6Format.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/devp2p**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/devp2p](../README.md) / isV6Format 6 | 7 | # Function: isV6Format() 8 | 9 | > **isV6Format**(`ip`): `boolean` 10 | 11 | Defined in: [packages/devp2p/src/util.ts:157](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/util.ts#L157) 12 | 13 | ## Parameters 14 | 15 | ### ip 16 | 17 | `string` 18 | 19 | ## Returns 20 | 21 | `boolean` 22 | -------------------------------------------------------------------------------- /packages/devp2p/docs/functions/pk2id.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/devp2p**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/devp2p](../README.md) / pk2id 6 | 7 | # Function: pk2id() 8 | 9 | > **pk2id**(`pk`): `Uint8Array` 10 | 11 | Defined in: [packages/devp2p/src/util.ts:24](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/util.ts#L24) 12 | 13 | ## Parameters 14 | 15 | ### pk 16 | 17 | `Uint8Array` 18 | 19 | ## Returns 20 | 21 | `Uint8Array` 22 | -------------------------------------------------------------------------------- /packages/devp2p/docs/functions/xor.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/devp2p**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/devp2p](../README.md) / xor 6 | 7 | # Function: xor() 8 | 9 | > **xor**(`a`, `b`): `Uint8Array` 10 | 11 | Defined in: [packages/devp2p/src/util.ts:42](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/util.ts#L42) 12 | 13 | ## Parameters 14 | 15 | ### a 16 | 17 | `Uint8Array` 18 | 19 | ### b 20 | 21 | `any` 22 | 23 | ## Returns 24 | 25 | `Uint8Array` 26 | -------------------------------------------------------------------------------- /packages/devp2p/docs/type-aliases/PREFIXES.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/devp2p**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/devp2p](../README.md) / PREFIXES 6 | 7 | # Type Alias: PREFIXES 8 | 9 | > **PREFIXES** = *typeof* [`PREFIXES`](../variables/PREFIXES.md)\[keyof *typeof* [`PREFIXES`](../variables/PREFIXES.md)\] 10 | 11 | Defined in: [packages/devp2p/src/rlpx/peer.ts:36](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/rlpx/peer.ts#L36) 12 | -------------------------------------------------------------------------------- /packages/devp2p/docs/type-aliases/ProtocolType.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/devp2p**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/devp2p](../README.md) / ProtocolType 6 | 7 | # Type Alias: ProtocolType 8 | 9 | > **ProtocolType** = *typeof* [`ProtocolType`](../variables/ProtocolType.md)\[keyof *typeof* [`ProtocolType`](../variables/ProtocolType.md)\] 10 | 11 | Defined in: [packages/devp2p/src/types.ts:223](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/types.ts#L223) 12 | -------------------------------------------------------------------------------- /packages/devp2p/docs/variables/DisconnectReasonNames.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/devp2p**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/devp2p](../README.md) / DisconnectReasonNames 6 | 7 | # Variable: DisconnectReasonNames 8 | 9 | > `const` **DisconnectReasonNames**: `{ [key in DISCONNECT_REASON]: string }` 10 | 11 | Defined in: [packages/devp2p/src/types.ts:88](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/types.ts#L88) 12 | -------------------------------------------------------------------------------- /packages/devp2p/docs/variables/EthMessageCodeNames.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/devp2p**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/devp2p](../README.md) / EthMessageCodeNames 6 | 7 | # Variable: EthMessageCodeNames 8 | 9 | > `const` **EthMessageCodeNames**: `{ [key in EthMessageCodes]: string }` 10 | 11 | Defined in: [packages/devp2p/src/protocol/eth.ts:60](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L60) 12 | -------------------------------------------------------------------------------- /packages/devp2p/docs/variables/PrefixesNames.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/devp2p**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/devp2p](../README.md) / PrefixesNames 6 | 7 | # Variable: PrefixesNames 8 | 9 | > `const` **PrefixesNames**: `{ [key in PREFIXES]: string }` 10 | 11 | Defined in: [packages/devp2p/src/rlpx/peer.ts:46](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/rlpx/peer.ts#L46) 12 | -------------------------------------------------------------------------------- /packages/devp2p/docs/variables/SnapMessageCodeNames.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/devp2p**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/devp2p](../README.md) / SnapMessageCodeNames 6 | 7 | # Variable: SnapMessageCodeNames 8 | 9 | > `const` **SnapMessageCodeNames**: `{ [key in SnapMessageCodes]: string }` 10 | 11 | Defined in: [packages/devp2p/src/protocol/snap.ts:28](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/snap.ts#L28) 12 | -------------------------------------------------------------------------------- /packages/devp2p/docs/variables/devp2pDebug.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/devp2p**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/devp2p](../README.md) / devp2pDebug 6 | 7 | # Variable: devp2pDebug 8 | 9 | > `const` **devp2pDebug**: `Debugger` 10 | 11 | Defined in: [packages/devp2p/src/util.ts:17](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/util.ts#L17) 12 | -------------------------------------------------------------------------------- /packages/devp2p/src/@types/snappyjs/convert.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'multiaddr/src/convert.ts' 2 | -------------------------------------------------------------------------------- /packages/devp2p/src/@types/snappyjs/index.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'snappyjs' { 2 | function uncompress(data: Uint8Array): Uint8Array 3 | function compress(data: Uint8Array): Uint8Array 4 | } 5 | -------------------------------------------------------------------------------- /packages/devp2p/src/dns/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dns.ts' 2 | export * from './enr.ts' 3 | -------------------------------------------------------------------------------- /packages/devp2p/src/dpt/index.ts: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | export * from './ban-list.ts' 4 | export * from './dpt.ts' 5 | export * from './kbucket.ts' 6 | export * from './message.ts' 7 | export * from './server.ts' 8 | -------------------------------------------------------------------------------- /packages/devp2p/src/ext/index.ts: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | export * from './kbucket.ts' 4 | -------------------------------------------------------------------------------- /packages/devp2p/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dns/index.ts' 2 | export * from './dpt/index.ts' 3 | export * from './protocol/index.ts' 4 | export * from './rlpx/index.ts' 5 | export * from './types.ts' 6 | export * from './util.ts' 7 | -------------------------------------------------------------------------------- /packages/devp2p/src/protocol/index.ts: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | export * from './eth.ts' 4 | export * from './snap.ts' 5 | -------------------------------------------------------------------------------- /packages/devp2p/src/rlpx/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ecies.ts' 2 | export * from './mac.ts' 3 | export * from './peer.ts' 4 | export * from './rlpx.ts' 5 | -------------------------------------------------------------------------------- /packages/devp2p/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": [ 7 | "src/**/*.ts", 8 | "test/**/*.ts", 9 | "examples/**/*.ts", 10 | "scripts/**/*.ts", 11 | "examples/simple.ts", 12 | "examples/peer-communication.ts", 13 | "examples/peer-communication-les.ts", 14 | "scripts/singlePeerRun.ts" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/devp2p/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/devp2p/tsconfig.prod.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.cjs.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs", 5 | "rootDir": "src" 6 | }, 7 | "include": ["src/**/*.ts"], 8 | "references": [ 9 | { "path": "../common/tsconfig.prod.cjs.json" }, 10 | { "path": "../rlp/tsconfig.prod.cjs.json" }, 11 | { "path": "../util/tsconfig.prod.cjs.json" } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/devp2p/tsconfig.prod.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.esm.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm", 5 | "rootDir": "src" 6 | }, 7 | "include": ["src/**/*.ts"], 8 | "references": [ 9 | { "path": "../common/tsconfig.prod.esm.json" }, 10 | { "path": "../rlp/tsconfig.prod.esm.json" }, 11 | { "path": "../util/tsconfig.prod.esm.json" } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/devp2p/typedoc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | extends: '../../config/typedoc.mjs', 3 | entryPoints: ['src'], 4 | out: 'docs', 5 | exclude: ['test/**/*.ts', 'examples/*.ts', 'src/protocol/protocol.ts'], 6 | } 7 | -------------------------------------------------------------------------------- /packages/e2store/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/.c8rc.json", 3 | "include": ["src/**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/e2store/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/e2store/docs/type-aliases/DBKey.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/e2store**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/e2store](../README.md) / DBKey 6 | 7 | # Type Alias: DBKey 8 | 9 | > **DBKey** = *typeof* [`DBKey`](../variables/DBKey.md)\[keyof *typeof* [`DBKey`](../variables/DBKey.md)\] 10 | 11 | Defined in: [packages/e2store/src/exportHistory.ts:25](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/e2store/src/exportHistory.ts#L25) 12 | -------------------------------------------------------------------------------- /packages/e2store/docs/type-aliases/DBTarget.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/e2store**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/e2store](../README.md) / DBTarget 6 | 7 | # Type Alias: DBTarget 8 | 9 | > **DBTarget** = *typeof* [`DBTarget`](../variables/DBTarget.md)\[keyof *typeof* [`DBTarget`](../variables/DBTarget.md)\] 10 | 11 | Defined in: [packages/e2store/src/exportHistory.ts:16](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/e2store/src/exportHistory.ts#L16) 12 | -------------------------------------------------------------------------------- /packages/e2store/docs/variables/DBKey.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/e2store**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/e2store](../README.md) / DBKey 6 | 7 | # Variable: DBKey 8 | 9 | > **DBKey**: `object` 10 | 11 | Defined in: [packages/e2store/src/exportHistory.ts:25](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/e2store/src/exportHistory.ts#L25) 12 | 13 | ## Type declaration 14 | 15 | ### Receipts 16 | 17 | > `readonly` **Receipts**: `0` = `0` 18 | -------------------------------------------------------------------------------- /packages/e2store/docs/variables/EpochAccumulator.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/e2store**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/e2store](../README.md) / EpochAccumulator 6 | 7 | # Variable: EpochAccumulator 8 | 9 | > `const` **EpochAccumulator**: `SSZCoder`\<`object`[]\> 10 | 11 | Defined in: [packages/e2store/src/types.ts:36](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/e2store/src/types.ts#L36) 12 | -------------------------------------------------------------------------------- /packages/e2store/docs/variables/HeaderRecord.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/e2store**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/e2store](../README.md) / HeaderRecord 6 | 7 | # Variable: HeaderRecord 8 | 9 | > `const` **HeaderRecord**: `SSZCoder`\<\{ `blockHash`: `Uint8Array`; `totalDifficulty`: `bigint`; \}\> 10 | 11 | Defined in: [packages/e2store/src/types.ts:28](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/e2store/src/types.ts#L28) 12 | 13 | Era1 SSZ containers 14 | -------------------------------------------------------------------------------- /packages/e2store/docs/variables/sszHeaderWithProof.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/e2store**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/e2store](../README.md) / sszHeaderWithProof 6 | 7 | # Variable: sszHeaderWithProof 8 | 9 | > `const` **sszHeaderWithProof**: `ContainerCoder`\<\{ `header`: `ByteListType`; `proof`: `ByteListType`; \}\> 10 | 11 | Defined in: [packages/e2store/src/e2hs/blockTuple.ts:39](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/e2store/src/e2hs/blockTuple.ts#L39) 12 | -------------------------------------------------------------------------------- /packages/e2store/eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import rootConfig from '../../config/eslint.config.mjs' 2 | 3 | export default [ 4 | ...rootConfig, 5 | { 6 | languageOptions: { 7 | parserOptions: { 8 | project: ['./tsconfig.lint.json'], 9 | }, 10 | }, 11 | }, 12 | { 13 | files: ['examples/**/*'], 14 | rules: { 15 | 'no-console': 'off', 16 | '@typescript-eslint/no-unused-vars': 'off', 17 | }, 18 | }, 19 | ] 20 | -------------------------------------------------------------------------------- /packages/e2store/src/e2hs/index.ts: -------------------------------------------------------------------------------- 1 | export * from './e2hs.ts' 2 | export * from './blockTuple.ts' 3 | -------------------------------------------------------------------------------- /packages/e2store/src/era/index.ts: -------------------------------------------------------------------------------- 1 | export * from './era.ts' 2 | -------------------------------------------------------------------------------- /packages/e2store/src/era1/index.ts: -------------------------------------------------------------------------------- 1 | export * from './era1.ts' 2 | export * from './blockTuple.ts' 3 | -------------------------------------------------------------------------------- /packages/e2store/src/index.ts: -------------------------------------------------------------------------------- 1 | import { readFileSync } from 'fs' 2 | 3 | export * from './era/index.ts' 4 | export * from './e2store.ts' 5 | export * from './era1/index.ts' 6 | export * from './e2hs/index.ts' 7 | export * from './exportHistory.ts' 8 | export * from './snappy.ts' 9 | export * from './types.ts' 10 | export * from './blockIndex.ts' 11 | 12 | export function readBinaryFile(path: string) { 13 | return new Uint8Array(readFileSync(path)) 14 | } 15 | -------------------------------------------------------------------------------- /packages/e2store/test/mainnet-00000-5ec1ffb8.era1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereumjs/ethereumjs-monorepo/29b5472f6f61b5f8bd3fd95307d35f0724aed332/packages/e2store/test/mainnet-00000-5ec1ffb8.era1 -------------------------------------------------------------------------------- /packages/e2store/test/mainnet-00000-a6860fef.e2hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereumjs/ethereumjs-monorepo/29b5472f6f61b5f8bd3fd95307d35f0724aed332/packages/e2store/test/mainnet-00000-a6860fef.e2hs -------------------------------------------------------------------------------- /packages/e2store/test/mainnet-00001-40cf2f3c.era: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereumjs/ethereumjs-monorepo/29b5472f6f61b5f8bd3fd95307d35f0724aed332/packages/e2store/test/mainnet-00001-40cf2f3c.era -------------------------------------------------------------------------------- /packages/e2store/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": ["src/**/*.ts", "test/**/*.ts"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/e2store/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/e2store/tsconfig.prod.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.cjs.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/cjs" 6 | }, 7 | "include": ["src/**/*.ts"], 8 | "references": [{ "path": "../rlp/tsconfig.prod.cjs.json" }] 9 | } 10 | -------------------------------------------------------------------------------- /packages/e2store/tsconfig.prod.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.esm.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/esm" 6 | }, 7 | "include": ["src/**/*.ts"], 8 | "references": [ 9 | { "path": "../rlp/tsconfig.prod.esm.json" }, 10 | { "path": "../block/tsconfig.prod.esm.json" }, 11 | { "path": "../blockchain/tsconfig.prod.esm.json" } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/e2store/typedoc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | extends: '../../config/typedoc.mjs', 3 | entryPoints: ['src'], 4 | out: 'docs', 5 | exclude: ['test/*.ts'], 6 | } 7 | -------------------------------------------------------------------------------- /packages/ethash/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/.c8rc.json", 3 | "include": ["src/**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/ethash/.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: '../../config/eslint.cjs', 3 | parserOptions: { 4 | project: ['./tsconfig.lint.json'], 5 | }, 6 | overrides: [ 7 | { 8 | files: ['examples/**/*'], 9 | rules: { 10 | 'no-console': 'off', 11 | '@typescript-eslint/no-unused-vars': 'off', 12 | }, 13 | }, 14 | ], 15 | } 16 | -------------------------------------------------------------------------------- /packages/ethash/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereumjs/ethereumjs-monorepo/29b5472f6f61b5f8bd3fd95307d35f0724aed332/packages/ethash/.gitignore -------------------------------------------------------------------------------- /packages/ethash/docs/README.md: -------------------------------------------------------------------------------- 1 | **@ethereumjs/ethash** 2 | 3 | *** 4 | 5 | # @ethereumjs/ethash 6 | 7 | ## Classes 8 | 9 | - [Ethash](classes/Ethash.md) 10 | - [Miner](classes/Miner.md) 11 | 12 | ## Type Aliases 13 | 14 | - [Solution](type-aliases/Solution.md) 15 | -------------------------------------------------------------------------------- /packages/ethash/eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import rootConfig from '../../config/eslint.config.mjs' 2 | 3 | export default [ 4 | ...rootConfig, 5 | { 6 | languageOptions: { 7 | parserOptions: { 8 | project: ['./tsconfig.lint.json'], 9 | }, 10 | }, 11 | }, 12 | { 13 | files: ['examples/**/*'], 14 | rules: { 15 | 'no-console': 'off', 16 | '@typescript-eslint/no-unused-vars': 'off', 17 | }, 18 | }, 19 | ] 20 | -------------------------------------------------------------------------------- /packages/ethash/examples/example.ts: -------------------------------------------------------------------------------- 1 | import { bytesToHex, hexToBytes } from '@ethereumjs/util' 2 | 3 | import { Ethash } from '../dist/cjs/index.js' 4 | 5 | const ethash = new Ethash() 6 | 7 | // make the 1000 cache items with a seed of 0 * 32 8 | ethash.mkcache(1000, new Uint8Array(32)) 9 | 10 | const result = ethash.run(hexToBytes('0xaabb'), Uint8Array.from([0]), 1000) 11 | 12 | console.log(bytesToHex(result.hash)) 13 | -------------------------------------------------------------------------------- /packages/ethash/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": ["src/**/*.ts", "test/**/*.ts"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/ethash/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/ethash/tsconfig.prod.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.cjs.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/cjs", 6 | "lib": ["dom"] 7 | }, 8 | "include": ["src/**/*.ts"], 9 | "references": [ 10 | { "path": "../block/tsconfig.prod.cjs.json" }, 11 | { "path": "../rlp/tsconfig.prod.cjs.json" }, 12 | { "path": "../util/tsconfig.prod.cjs.json" } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /packages/ethash/tsconfig.prod.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.esm.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/esm", 6 | "lib": ["dom"] 7 | }, 8 | "include": ["src/**/*.ts"], 9 | "references": [ 10 | { "path": "../block/tsconfig.prod.esm.json" }, 11 | { "path": "../rlp/tsconfig.prod.esm.json" }, 12 | { "path": "../util/tsconfig.prod.esm.json" } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /packages/ethash/typedoc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | extends: '../../config/typedoc.mjs', 3 | entryPoints: ['src'], 4 | out: 'docs', 5 | exclude: ['test/**/*.ts', 'examples/*.ts'], 6 | } 7 | -------------------------------------------------------------------------------- /packages/ethash/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | testTimeout: 240_000, 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/evm/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/.c8rc.json", 3 | "include": ["src/**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/evm/.gitignore: -------------------------------------------------------------------------------- 1 | .cachedb 2 | benchmarks/*.js 3 | # Bundle stats generated with npm visualize:bundle 4 | stats.html 5 | -------------------------------------------------------------------------------- /packages/evm/debug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereumjs/ethereumjs-monorepo/29b5472f6f61b5f8bd3fd95307d35f0724aed332/packages/evm/debug.png -------------------------------------------------------------------------------- /packages/evm/docs/type-aliases/Log.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/evm**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/evm](../README.md) / Log 6 | 7 | # Type Alias: Log 8 | 9 | > **Log** = \[`Uint8Array`, `Uint8Array`[], `Uint8Array`\] 10 | 11 | Defined in: [types.ts:472](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L472) 12 | 13 | Log that the contract emits. 14 | -------------------------------------------------------------------------------- /packages/evm/docs/variables/paramsEVM.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/evm**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/evm](../README.md) / paramsEVM 6 | 7 | # Variable: paramsEVM 8 | 9 | > `const` **paramsEVM**: `ParamsDict` 10 | 11 | Defined in: [params.ts:3](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/params.ts#L3) 12 | -------------------------------------------------------------------------------- /packages/evm/examples/4844.ts: -------------------------------------------------------------------------------- 1 | import { Common, Hardfork, Mainnet } from '@ethereumjs/common' 2 | 3 | const common = new Common({ chain: Mainnet, hardfork: Hardfork.Cancun }) 4 | 5 | console.log('is EIP-4844 active?', common.isActivatedEIP(4844)) 6 | -------------------------------------------------------------------------------- /packages/evm/examples/eips.ts: -------------------------------------------------------------------------------- 1 | import { Common, Hardfork, Mainnet } from '@ethereumjs/common' 2 | import { createEVM } from '@ethereumjs/evm' 3 | 4 | const main = async () => { 5 | const common = new Common({ chain: Mainnet, hardfork: Hardfork.Cancun, eips: [7702] }) 6 | const evm = await createEVM({ common }) 7 | console.log( 8 | `EIP 7702 is active in isolation on top of the Cancun HF - ${evm.common.isActivatedEIP(7702)}`, 9 | ) 10 | } 11 | 12 | void main() 13 | -------------------------------------------------------------------------------- /packages/evm/examples/simple.ts: -------------------------------------------------------------------------------- 1 | import { createEVM } from '@ethereumjs/evm' 2 | import { hexToBytes } from '@ethereumjs/util' 3 | 4 | const main = async () => { 5 | const evm = await createEVM() 6 | const res = await evm.runCode({ code: hexToBytes('0x6001') }) // PUSH1 01 -- simple bytecode to push 1 onto the stack 7 | console.log(res.executionGasUsed) // 3n 8 | } 9 | 10 | void main() 11 | -------------------------------------------------------------------------------- /packages/evm/profiler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereumjs/ethereumjs-monorepo/29b5472f6f61b5f8bd3fd95307d35f0724aed332/packages/evm/profiler.png -------------------------------------------------------------------------------- /packages/evm/src/opcodes/index.ts: -------------------------------------------------------------------------------- 1 | export * from './codes.ts' 2 | export * from './functions.ts' 3 | export * from './util.ts' 4 | -------------------------------------------------------------------------------- /packages/evm/src/precompiles/bls12_381/index.ts: -------------------------------------------------------------------------------- 1 | export * from './constants.ts' 2 | export { MCLBLS } from './mcl.ts' 3 | export { NobleBLS } from './noble.ts' 4 | export * from './util.ts' 5 | -------------------------------------------------------------------------------- /packages/evm/src/precompiles/bn254/index.ts: -------------------------------------------------------------------------------- 1 | export { NobleBN254 } from './noble.ts' 2 | export { RustBN254 } from './rustbn.ts' 3 | -------------------------------------------------------------------------------- /packages/evm/src/precompiles/types.ts: -------------------------------------------------------------------------------- 1 | import type { Common } from '@ethereumjs/common' 2 | import type { debug } from 'debug' 3 | import type { EVMInterface, ExecResult } from '../types.ts' 4 | 5 | export interface PrecompileFunc { 6 | (input: PrecompileInput): Promise<ExecResult> | ExecResult 7 | } 8 | 9 | export interface PrecompileInput { 10 | data: Uint8Array 11 | gasLimit: bigint 12 | common: Common 13 | _EVM: EVMInterface 14 | _debug?: debug.Debugger 15 | } 16 | -------------------------------------------------------------------------------- /packages/evm/test/eips/eof-utils.ts: -------------------------------------------------------------------------------- 1 | import { Common, Hardfork, Mainnet } from '@ethereumjs/common' 2 | 3 | export const getCommon = () => { 4 | return new Common({ 5 | hardfork: Hardfork.Prague, 6 | eips: [663, 3540, 3670, 4200, 4750, 5450, 6206, 7069, 7480, 7620, 7692, 7698], 7 | chain: Mainnet, 8 | }) 9 | } 10 | -------------------------------------------------------------------------------- /packages/evm/tsconfig.benchmarks.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "lib": ["dom"], 5 | "sourceMap": false, 6 | "declaration": false, 7 | "esModuleInterop": true 8 | }, 9 | "include": ["benchmarks/**.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /packages/evm/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": ["src/**/*.ts", "src/**/*.json", "test/**/*.ts"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/evm/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/evm/typedoc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | extends: '../../config/typedoc.mjs', 3 | entryPoints: ['src'], 4 | out: 'docs', 5 | exclude: ['test/**/*.ts'], 6 | } 7 | -------------------------------------------------------------------------------- /packages/genesis/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/.c8rc.json", 3 | "include": ["src/**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/genesis/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereumjs/ethereumjs-monorepo/29b5472f6f61b5f8bd3fd95307d35f0724aed332/packages/genesis/.gitignore -------------------------------------------------------------------------------- /packages/genesis/docs/README.md: -------------------------------------------------------------------------------- 1 | **@ethereumjs/genesis** 2 | 3 | *** 4 | 5 | # @ethereumjs/genesis 6 | 7 | ## Functions 8 | 9 | - [getGenesis](functions/getGenesis.md) 10 | -------------------------------------------------------------------------------- /packages/genesis/eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import rootConfig from '../../config/eslint.config.mjs' 2 | 3 | export default [ 4 | ...rootConfig, 5 | { 6 | languageOptions: { 7 | parserOptions: { 8 | project: ['./tsconfig.lint.json'], 9 | }, 10 | }, 11 | }, 12 | { 13 | files: ['examples/**/*'], 14 | rules: { 15 | 'no-console': 'off', 16 | '@typescript-eslint/no-unused-vars': 'off', 17 | }, 18 | }, 19 | ] 20 | -------------------------------------------------------------------------------- /packages/genesis/examples/simple.ts: -------------------------------------------------------------------------------- 1 | import { Chain } from '@ethereumjs/common' // or directly use chain ID 2 | import { getGenesis } from '@ethereumjs/genesis' 3 | 4 | const mainnetGenesis = getGenesis(Chain.Mainnet) 5 | console.log( 6 | `This balance for account 0x000d836201318ec6899a67540690382780743280 in this chain's genesis state is ${parseInt( 7 | mainnetGenesis!['0x000d836201318ec6899a67540690382780743280'] as string, 8 | )}`, 9 | ) 10 | -------------------------------------------------------------------------------- /packages/genesis/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": ["src/**/*.ts", "test/**/*.ts"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/genesis/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/genesis/tsconfig.prod.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.cjs.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/cjs" 6 | }, 7 | "include": ["src/**/*.ts"], 8 | "references": [ 9 | { "path": "../common/tsconfig.prod.cjs.json" }, 10 | { "path": "../rlp/tsconfig.prod.cjs.json" }, 11 | { "path": "../util/tsconfig.prod.cjs.json" } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/genesis/tsconfig.prod.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.esm.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/esm" 6 | }, 7 | "include": ["src/**/*.ts"], 8 | "references": [ 9 | { "path": "../common/tsconfig.prod.esm.json" }, 10 | { "path": "../rlp/tsconfig.prod.esm.json" }, 11 | { "path": "../util/tsconfig.prod.esm.json" } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/genesis/typedoc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | extends: '../../config/typedoc.mjs', 3 | entryPoints: ['src'], 4 | out: 'docs', 5 | exclude: ['test/**/*.ts'], 6 | } 7 | -------------------------------------------------------------------------------- /packages/mpt/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/.c8rc.json", 3 | "include": ["src/**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/mpt/.gitignore: -------------------------------------------------------------------------------- 1 | benchmarks/*.js 2 | MY_TRIE_DB_LOCATION 3 | -------------------------------------------------------------------------------- /packages/mpt/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "test/jsonTests"] 2 | path = test/jsonTests 3 | url = https://github.com/ethereum/tests 4 | -------------------------------------------------------------------------------- /packages/mpt/.npmignore: -------------------------------------------------------------------------------- 1 | test/ 2 | src/ -------------------------------------------------------------------------------- /packages/mpt/benchmarks/index.ts: -------------------------------------------------------------------------------- 1 | import { MapDB } from '@ethereumjs/util' 2 | import { LevelDB } from './engines/level' 3 | import { createSuite } from './suite' 4 | 5 | createSuite(new MapDB()) 6 | createSuite(new LevelDB()) 7 | -------------------------------------------------------------------------------- /packages/mpt/benchmarks/keys.ts: -------------------------------------------------------------------------------- 1 | import { keccak256 } from 'ethereum-cryptography/keccak.js' 2 | 3 | let curr = keccak256(new Uint8Array(32)) 4 | 5 | export const keys: Uint8Array[] = [] 6 | 7 | for (let i = 0; i < 5000; curr = keccak256(curr), i++) { 8 | keys.push(curr) 9 | } 10 | -------------------------------------------------------------------------------- /packages/mpt/docs/type-aliases/BranchMPTNodeBranchValue.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/mpt**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/mpt](../README.md) / BranchMPTNodeBranchValue 6 | 7 | # Type Alias: BranchMPTNodeBranchValue 8 | 9 | > **BranchMPTNodeBranchValue** = [`NodeReferenceOrRawMPTNode`](NodeReferenceOrRawMPTNode.md) \| `null` 10 | 11 | Defined in: [packages/mpt/src/types.ts:22](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/mpt/src/types.ts#L22) 12 | -------------------------------------------------------------------------------- /packages/mpt/docs/type-aliases/MPTNode.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/mpt**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/mpt](../README.md) / MPTNode 6 | 7 | # Type Alias: MPTNode 8 | 9 | > **MPTNode** = [`BranchMPTNode`](../classes/BranchMPTNode.md) \| [`ExtensionMPTNode`](../classes/ExtensionMPTNode.md) \| [`LeafMPTNode`](../classes/LeafMPTNode.md) 10 | 11 | Defined in: [packages/mpt/src/types.ts:7](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/mpt/src/types.ts#L7) 12 | -------------------------------------------------------------------------------- /packages/mpt/docs/type-aliases/Nibbles.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/mpt**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/mpt](../README.md) / Nibbles 6 | 7 | # Type Alias: Nibbles 8 | 9 | > **Nibbles** = `number`[] 10 | 11 | Defined in: [packages/mpt/src/types.ts:9](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/mpt/src/types.ts#L9) 12 | -------------------------------------------------------------------------------- /packages/mpt/docs/type-aliases/Proof.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/mpt**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/mpt](../README.md) / Proof 6 | 7 | # Type Alias: Proof 8 | 9 | > **Proof** = `Uint8Array`[] 10 | 11 | Defined in: [packages/mpt/src/types.ts:24](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/mpt/src/types.ts#L24) 12 | -------------------------------------------------------------------------------- /packages/mpt/docs/type-aliases/RawExtensionMPTNode.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/mpt**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/mpt](../README.md) / RawExtensionMPTNode 6 | 7 | # Type Alias: RawExtensionMPTNode 8 | 9 | > **RawExtensionMPTNode** = \[`Uint8Array`, `Uint8Array`\] 10 | 11 | Defined in: [packages/mpt/src/types.ts:15](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/mpt/src/types.ts#L15) 12 | -------------------------------------------------------------------------------- /packages/mpt/docs/type-aliases/RawLeafMPTNode.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/mpt**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/mpt](../README.md) / RawLeafMPTNode 6 | 7 | # Type Alias: RawLeafMPTNode 8 | 9 | > **RawLeafMPTNode** = \[`Uint8Array`, `Uint8Array`\] 10 | 11 | Defined in: [packages/mpt/src/types.ts:16](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/mpt/src/types.ts#L16) 12 | -------------------------------------------------------------------------------- /packages/mpt/docs/variables/ROOT_DB_KEY.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/mpt**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/mpt](../README.md) / ROOT\_DB\_KEY 6 | 7 | # Variable: ROOT\_DB\_KEY 8 | 9 | > `const` **ROOT\_DB\_KEY**: `Uint8Array`\<`ArrayBufferLike`\> 10 | 11 | Defined in: [packages/mpt/src/types.ts:151](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/mpt/src/types.ts#L151) 12 | -------------------------------------------------------------------------------- /packages/mpt/eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import rootConfig from '../../config/eslint.config.mjs' 2 | 3 | export default [ 4 | ...rootConfig, 5 | { 6 | languageOptions: { 7 | parserOptions: { 8 | project: ['./tsconfig.lint.json'], 9 | }, 10 | }, 11 | }, 12 | { 13 | files: ['benchmarks/*.ts', 'examples/**/*'], 14 | rules: { 15 | 'no-console': 'off', 16 | }, 17 | }, 18 | ] 19 | -------------------------------------------------------------------------------- /packages/mpt/examples/README.md: -------------------------------------------------------------------------------- 1 | # @ethereumjs/trie examples 2 | 3 | This directory contains examples that demonstrate how to interact with the trie package. 4 | 5 | ## Table of contents 6 | 7 | - [Merkle Patricia Trees interactive tutorial](merkle_patricia_trees/README.md) 8 | - [LevelDB - memory-level](level.js) 9 | - [LMDB](lmdb.js) 10 | -------------------------------------------------------------------------------- /packages/mpt/examples/basicUsage.ts: -------------------------------------------------------------------------------- 1 | import { createMPT } from '@ethereumjs/mpt' 2 | import { MapDB, bytesToUtf8, utf8ToBytes } from '@ethereumjs/util' 3 | 4 | async function test() { 5 | const trie = await createMPT({ db: new MapDB() }) 6 | await trie.put(utf8ToBytes('test'), utf8ToBytes('one')) 7 | const value = await trie.get(utf8ToBytes('test')) 8 | console.log(value ? bytesToUtf8(value) : 'not found') // 'one' 9 | } 10 | 11 | void test() 12 | -------------------------------------------------------------------------------- /packages/mpt/examples/merkle_patricia_trees/infura_endpoint.js: -------------------------------------------------------------------------------- 1 | module.exports = 'YOUR_INFURA_ENDPOINT_HERE' 2 | -------------------------------------------------------------------------------- /packages/mpt/examples/rootPersistence.ts: -------------------------------------------------------------------------------- 1 | import { createMPT } from '@ethereumjs/mpt' 2 | import { bytesToHex } from '@ethereumjs/util' 3 | 4 | async function main() { 5 | const trie = await createMPT({ 6 | useRootPersistence: true, 7 | }) 8 | 9 | // this logs the empty root value that has been persisted to the trie db 10 | console.log(bytesToHex(trie.root())) // 0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421 11 | } 12 | void main() 13 | -------------------------------------------------------------------------------- /packages/mpt/examples/trieWalking.ts: -------------------------------------------------------------------------------- 1 | import { createMPT } from '@ethereumjs/mpt' 2 | import { utf8ToBytes } from '@ethereumjs/util' 3 | 4 | async function main() { 5 | const trie = await createMPT() 6 | await trie.put(utf8ToBytes('key'), utf8ToBytes('val')) 7 | const walk = trie.walkTrieIterable(trie.root()) 8 | 9 | for await (const { node, currentKey } of walk) { 10 | // ... do something 11 | console.log({ node, currentKey }) 12 | } 13 | } 14 | void main() 15 | -------------------------------------------------------------------------------- /packages/mpt/src/db/index.ts: -------------------------------------------------------------------------------- 1 | export * from './checkpointDB.ts' 2 | -------------------------------------------------------------------------------- /packages/mpt/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './constructors.ts' 2 | export * from './db/index.ts' 3 | export * from './mpt.ts' 4 | export * from './node/index.ts' 5 | export * from './proof/index.ts' 6 | export * from './types.ts' 7 | export * from './util/index.ts' 8 | -------------------------------------------------------------------------------- /packages/mpt/src/node/extension.ts: -------------------------------------------------------------------------------- 1 | import { ExtensionOrLeafMPTNodeBase } from './extensionOrLeafNodeBase.ts' 2 | 3 | import type { Nibbles, RawExtensionMPTNode } from '../types.ts' 4 | 5 | export class ExtensionMPTNode extends ExtensionOrLeafMPTNodeBase { 6 | constructor(nibbles: Nibbles, value: Uint8Array) { 7 | super(nibbles, value, false) 8 | } 9 | 10 | raw(): RawExtensionMPTNode { 11 | return super.raw() 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /packages/mpt/src/node/index.ts: -------------------------------------------------------------------------------- 1 | export * from './branch.ts' 2 | export * from './extension.ts' 3 | export * from './leaf.ts' 4 | export * from './util.ts' 5 | -------------------------------------------------------------------------------- /packages/mpt/src/node/leaf.ts: -------------------------------------------------------------------------------- 1 | import { ExtensionOrLeafMPTNodeBase } from './extensionOrLeafNodeBase.ts' 2 | 3 | import type { Nibbles, RawLeafMPTNode } from '../types.ts' 4 | 5 | export class LeafMPTNode extends ExtensionOrLeafMPTNodeBase { 6 | constructor(nibbles: Nibbles, value: Uint8Array) { 7 | super(nibbles, value, true) 8 | } 9 | 10 | raw(): RawLeafMPTNode { 11 | return super.raw() 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /packages/mpt/src/proof/index.ts: -------------------------------------------------------------------------------- 1 | export * from './proof.ts' 2 | export * from './range.ts' 3 | -------------------------------------------------------------------------------- /packages/mpt/src/util/index.ts: -------------------------------------------------------------------------------- 1 | export * from './encoding.ts' 2 | export * from './genesisState.ts' 3 | export * from './walkController.ts' 4 | -------------------------------------------------------------------------------- /packages/mpt/tsconfig.benchmarks.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.cjs.json", 3 | "include": ["benchmarks/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/mpt/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": ["src/**/*.ts", "test/**/*.ts"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/mpt/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/mpt/tsconfig.prod.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.cjs.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/cjs" 6 | }, 7 | "include": ["src/**/*.ts"], 8 | "references": [ 9 | { "path": "../rlp/tsconfig.prod.cjs.json" }, 10 | { "path": "../util/tsconfig.prod.cjs.json" } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /packages/mpt/tsconfig.prod.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.esm.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/esm" 6 | }, 7 | "include": ["src/**/*.ts"], 8 | "references": [ 9 | { "path": "../rlp/tsconfig.prod.esm.json" }, 10 | { "path": "../util/tsconfig.prod.esm.json" } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /packages/mpt/typedoc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | extends: '../../config/typedoc.mjs', 3 | entryPoints: ['src'], 4 | out: 'docs', 5 | exclude: ['test/**/*.ts'], 6 | } 7 | -------------------------------------------------------------------------------- /packages/rlp/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/.c8rc.json", 3 | "include": ["src/**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/rlp/examples/simple.ts: -------------------------------------------------------------------------------- 1 | import assert from 'assert' 2 | import { RLP } from '@ethereumjs/rlp' 3 | 4 | const nestedList = [[], [[]], [[], [[]]]] 5 | const encoded = RLP.encode(nestedList) 6 | const decoded = RLP.decode(encoded) 7 | assert.deepStrictEqual(decoded, nestedList, 'decoded output does not match original') 8 | console.log('assert.deepStrictEqual would have thrown if the decoded output did not match') 9 | -------------------------------------------------------------------------------- /packages/rlp/tsconfig.benchmarks.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "lib": ["dom"], 5 | "sourceMap": false, 6 | "declaration": true, 7 | "esModuleInterop": true, 8 | "module": "esnext" 9 | }, 10 | "include": ["benchmarks/**.ts"] 11 | } 12 | -------------------------------------------------------------------------------- /packages/rlp/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": ["src/**/*.ts", "test/**/*.ts"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/rlp/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/rlp/tsconfig.prod.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.cjs.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/cjs" 6 | }, 7 | "include": ["src/*.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/rlp/tsconfig.prod.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.esm.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/esm" 6 | }, 7 | "include": ["src/*.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/rlp/vitest.config.browser.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, mergeConfig } from 'vitest/config' 2 | import baseConfig from '../../config/vitest.config.browser.mjs' 3 | export default mergeConfig( 4 | baseConfig, 5 | defineConfig({ 6 | test: { 7 | silent: true, 8 | exclude: ['test/cli.spec.ts'], 9 | testTimeout: 180000, 10 | }, 11 | }), 12 | ) 13 | -------------------------------------------------------------------------------- /packages/statemanager/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/.c8rc.json", 3 | "include": ["src/**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/statemanager/.gitignore: -------------------------------------------------------------------------------- 1 | .cachedb 2 | benchmarks/*.js 3 | -------------------------------------------------------------------------------- /packages/statemanager/docs/interfaces/BinaryTreeState.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/statemanager**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/statemanager](../README.md) / BinaryTreeState 6 | 7 | # Interface: BinaryTreeState 8 | 9 | Defined in: [types.ts:88](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/statemanager/src/types.ts#L88) 10 | 11 | ## Indexable 12 | 13 | \[`key`: `` `0x${string}` ``\]: `null` \| `` `0x${string}` `` 14 | -------------------------------------------------------------------------------- /packages/statemanager/docs/interfaces/EncodedBinaryTreeState.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/statemanager**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/statemanager](../README.md) / EncodedBinaryTreeState 6 | 7 | # Interface: EncodedBinaryTreeState 8 | 9 | Defined in: [types.ts:92](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/statemanager/src/types.ts#L92) 10 | 11 | ## Indexable 12 | 13 | \[`key`: `` `0x${string}` ``\]: `null` \| `` `0x${string}` `` 14 | -------------------------------------------------------------------------------- /packages/statemanager/docs/interfaces/EncodedVerkleProof.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/statemanager**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/statemanager](../README.md) / EncodedVerkleProof 6 | 7 | # Interface: EncodedVerkleProof 8 | 9 | Defined in: [types.ts:100](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/statemanager/src/types.ts#L100) 10 | 11 | ## Indexable 12 | 13 | \[`key`: `` `0x${string}` ``\]: `` `0x${string}` `` 14 | -------------------------------------------------------------------------------- /packages/statemanager/docs/interfaces/VerkleState.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/statemanager**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/statemanager](../README.md) / VerkleState 6 | 7 | # Interface: VerkleState 8 | 9 | Defined in: [types.ts:96](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/statemanager/src/types.ts#L96) 10 | 11 | ## Indexable 12 | 13 | \[`key`: `` `0x${string}` ``\]: `null` \| `` `0x${string}` `` 14 | -------------------------------------------------------------------------------- /packages/statemanager/docs/type-aliases/CacheType.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/statemanager**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/statemanager](../README.md) / CacheType 6 | 7 | # Type Alias: CacheType 8 | 9 | > **CacheType** = *typeof* [`CacheType`](../variables/CacheType.md)\[keyof *typeof* [`CacheType`](../variables/CacheType.md)\] 10 | 11 | Defined in: [cache/types.ts:1](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/statemanager/src/cache/types.ts#L1) 12 | -------------------------------------------------------------------------------- /packages/statemanager/examples/simple.ts: -------------------------------------------------------------------------------- 1 | import { Account, createAddressFromPrivateKey, randomBytes } from '@ethereumjs/util' 2 | 3 | import { SimpleStateManager } from '../src/index.ts' 4 | 5 | const main = async () => { 6 | const sm = new SimpleStateManager() 7 | const address = createAddressFromPrivateKey(randomBytes(32)) 8 | const account = new Account(0n, 0xfffffn) 9 | await sm.putAccount(address, account) 10 | console.log(await sm.getAccount(address)) 11 | } 12 | 13 | void main() 14 | -------------------------------------------------------------------------------- /packages/statemanager/src/cache/index.ts: -------------------------------------------------------------------------------- 1 | export * from './account.ts' 2 | export * from './caches.ts' 3 | export * from './code.ts' 4 | export * from './originalStorageCache.ts' 5 | export * from './storage.ts' 6 | export * from './types.ts' 7 | -------------------------------------------------------------------------------- /packages/statemanager/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './cache/index.ts' 2 | export * from './merkleStateManager.ts' 3 | export * from './proof/index.ts' 4 | export * from './rpcStateManager.ts' 5 | export * from './simpleStateManager.ts' 6 | export * from './statefulBinaryTreeStateManager.ts' 7 | export * from './statefulVerkleStateManager.ts' 8 | export * from './statelessVerkleStateManager.ts' 9 | export * from './types.ts' 10 | -------------------------------------------------------------------------------- /packages/statemanager/src/proof/index.ts: -------------------------------------------------------------------------------- 1 | export * from './merkle.ts' 2 | export * from './rpc.ts' 3 | export * from './verkle.ts' 4 | -------------------------------------------------------------------------------- /packages/statemanager/test/util.ts: -------------------------------------------------------------------------------- 1 | import { Account } from '@ethereumjs/util' 2 | 3 | export function createAccountWithDefaults(nonce = BigInt(0), balance = BigInt(0xfff384)) { 4 | return new Account(nonce, balance) 5 | } 6 | -------------------------------------------------------------------------------- /packages/statemanager/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": ["src/**/*.ts", "src/**/*.json", "test/**/*.ts"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/statemanager/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/statemanager/typedoc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | extends: '../../config/typedoc.mjs', 3 | entryPoints: ['src'], 4 | out: 'docs', 5 | exclude: ['test/**/*.ts'], 6 | } 7 | -------------------------------------------------------------------------------- /packages/testdata/src/blocks/index.ts: -------------------------------------------------------------------------------- 1 | export * from './mainnetBlocks.ts' 2 | export * from './goerliBlocks.ts' 3 | export * from './preLondonTestDataBlocks1RLP.ts' 4 | export * from './preLondonTestDataBlocks2RLP.ts' 5 | export * from './verkleKaustinen6Block72.ts' 6 | -------------------------------------------------------------------------------- /packages/testdata/src/chainConfigs/index.ts: -------------------------------------------------------------------------------- 1 | export * from './customChainConfig.ts' 2 | export * from './goerliChainConfig.ts' 3 | export * from './testnetMergeChainConfig.ts' 4 | -------------------------------------------------------------------------------- /packages/testdata/src/gethGenesis/index.ts: -------------------------------------------------------------------------------- 1 | export * from './eip4844GethGenesis.ts' 2 | export * from './goerliGethGenesis.ts' 3 | export * from './invalidSpuriousDragonGethGenesis.ts' 4 | export * from './kilnGethGenesis.ts' 5 | export * from './postMergeGethGenesis.ts' 6 | export * from './shanghaiTimeGethGenesis.ts' 7 | export * from './verkleKaustinenGethGenesis.ts' 8 | export * from './withdrawalsGethGenesis.ts' 9 | export * from './pragueGethGenesis.ts' 10 | export * from './osakaGethGenesis.ts' 11 | -------------------------------------------------------------------------------- /packages/testdata/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './blocks/index.ts' 2 | export * from './chainConfigs/index.ts' 3 | export * from './gethGenesis/index.ts' 4 | -------------------------------------------------------------------------------- /packages/testdata/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist", 5 | "rootDir": "./src" 6 | }, 7 | "include": ["src/**/*"], 8 | "exclude": ["node_modules", "dist"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/testdata/tsconfig.prod.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/cjs" 6 | }, 7 | "include": ["src/**/*.ts", "src/**/*.json"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/testdata/tsconfig.prod.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/esm" 6 | }, 7 | "include": ["src/**/*.ts", "src/**/*.json"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/tx/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/.c8rc.json", 3 | "include": ["src/**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/tx/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereumjs/ethereumjs-monorepo/29b5472f6f61b5f8bd3fd95307d35f0724aed332/packages/tx/.gitignore -------------------------------------------------------------------------------- /packages/tx/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .git/ 3 | test/ 4 | es5/.gitkeep 5 | .gitignore 6 | .travis.yml 7 | .babelrc 8 | -------------------------------------------------------------------------------- /packages/tx/docs/type-aliases/AccessList.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/tx**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/tx](../README.md) / AccessList 6 | 7 | # Type Alias: AccessList 8 | 9 | > **AccessList** = [`AccessListItem`](AccessListItem.md)[] 10 | 11 | Defined in: [types.ts:607](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/tx/src/types.ts#L607) 12 | -------------------------------------------------------------------------------- /packages/tx/docs/type-aliases/AccessListBytes.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/tx**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/tx](../README.md) / AccessListBytes 6 | 7 | # Type Alias: AccessListBytes 8 | 9 | > **AccessListBytes** = [`AccessListBytesItem`](AccessListBytesItem.md)[] 10 | 11 | Defined in: [types.ts:606](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/tx/src/types.ts#L606) 12 | -------------------------------------------------------------------------------- /packages/tx/docs/type-aliases/AccessListBytesItem.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/tx**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/tx](../README.md) / AccessListBytesItem 6 | 7 | # Type Alias: AccessListBytesItem 8 | 9 | > **AccessListBytesItem** = \[`Uint8Array`, `Uint8Array`[]\] 10 | 11 | Defined in: [types.ts:605](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/tx/src/types.ts#L605) 12 | -------------------------------------------------------------------------------- /packages/tx/docs/type-aliases/AuthorizationList.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/tx**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/tx](../README.md) / AuthorizationList 6 | 7 | # Type Alias: AuthorizationList 8 | 9 | > **AuthorizationList** = [`AuthorizationListItem`](AuthorizationListItem.md)[] 10 | 11 | Defined in: [types.ts:634](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/tx/src/types.ts#L634) 12 | -------------------------------------------------------------------------------- /packages/tx/docs/type-aliases/AuthorizationListBytes.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/tx**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/tx](../README.md) / AuthorizationListBytes 6 | 7 | # Type Alias: AuthorizationListBytes 8 | 9 | > **AuthorizationListBytes** = [`AuthorizationListBytesItem`](AuthorizationListBytesItem.md)[] 10 | 11 | Defined in: [types.ts:633](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/tx/src/types.ts#L633) 12 | -------------------------------------------------------------------------------- /packages/tx/docs/type-aliases/AuthorizationListBytesItem.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/tx**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/tx](../README.md) / AuthorizationListBytesItem 6 | 7 | # Type Alias: AuthorizationListBytesItem 8 | 9 | > **AuthorizationListBytesItem** = \[`Uint8Array`, `Uint8Array`, `Uint8Array`, `Uint8Array`, `Uint8Array`, `Uint8Array`\] 10 | 11 | Defined in: [types.ts:625](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/tx/src/types.ts#L625) 12 | -------------------------------------------------------------------------------- /packages/tx/docs/type-aliases/AuthorizationListBytesItemUnsigned.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/tx**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/tx](../README.md) / AuthorizationListBytesItemUnsigned 6 | 7 | # Type Alias: AuthorizationListBytesItemUnsigned 8 | 9 | > **AuthorizationListBytesItemUnsigned** = \[`Uint8Array`, `Uint8Array`, `Uint8Array`\] 10 | 11 | Defined in: [types.ts:636](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/tx/src/types.ts#L636) 12 | -------------------------------------------------------------------------------- /packages/tx/docs/type-aliases/BlobEIP4844NetworkValuesArray.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/tx**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/tx](../README.md) / BlobEIP4844NetworkValuesArray 6 | 7 | # Type Alias: BlobEIP4844NetworkValuesArray 8 | 9 | > **BlobEIP4844NetworkValuesArray** = \[`BlobEIP4844TxValuesArray`, `Uint8Array`[], `Uint8Array`[], `Uint8Array`[]\] 10 | 11 | Defined in: [types.ts:521](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/tx/src/types.ts#L521) 12 | -------------------------------------------------------------------------------- /packages/tx/docs/type-aliases/Capability.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/tx**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/tx](../README.md) / Capability 6 | 7 | # Type Alias: Capability 8 | 9 | > **Capability** = *typeof* [`Capability`](../variables/Capability.md)\[keyof *typeof* [`Capability`](../variables/Capability.md)\] 10 | 11 | Defined in: [types.ts:16](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/tx/src/types.ts#L16) 12 | -------------------------------------------------------------------------------- /packages/tx/docs/type-aliases/TransactionType.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/tx**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/tx](../README.md) / TransactionType 6 | 7 | # Type Alias: TransactionType 8 | 9 | > **TransactionType** = *typeof* [`TransactionType`](../variables/TransactionType.md)\[keyof *typeof* [`TransactionType`](../variables/TransactionType.md)\] 10 | 11 | Defined in: [types.ts:153](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/tx/src/types.ts#L153) 12 | -------------------------------------------------------------------------------- /packages/tx/docs/type-aliases/TypedTransaction.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/tx**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/tx](../README.md) / TypedTransaction 6 | 7 | # Type Alias: TypedTransaction 8 | 9 | > **TypedTransaction** = [`Transaction`](../interfaces/Transaction.md)\[[`TransactionType`](TransactionType.md)\] 10 | 11 | Defined in: [types.ts:171](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/tx/src/types.ts#L171) 12 | -------------------------------------------------------------------------------- /packages/tx/docs/type-aliases/TypedTxData.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/tx**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/tx](../README.md) / TypedTxData 6 | 7 | # Type Alias: TypedTxData 8 | 9 | > **TypedTxData** = [`TxData`](../interfaces/TxData.md)\[[`TransactionType`](TransactionType.md)\] 10 | 11 | Defined in: [types.ts:280](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/tx/src/types.ts#L280) 12 | -------------------------------------------------------------------------------- /packages/tx/docs/variables/paramsTx.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/tx**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/tx](../README.md) / paramsTx 6 | 7 | # Variable: paramsTx 8 | 9 | > `const` **paramsTx**: `ParamsDict` 10 | 11 | Defined in: [params.ts:3](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/tx/src/params.ts#L3) 12 | -------------------------------------------------------------------------------- /packages/tx/eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import rootConfig from '../../config/eslint.config.mjs' 2 | 3 | export default [ 4 | ...rootConfig, 5 | { 6 | languageOptions: { 7 | parserOptions: { 8 | project: ['./tsconfig.lint.json'], 9 | }, 10 | }, 11 | }, 12 | { 13 | files: ['examples/**/*'], 14 | rules: { 15 | 'no-console': 'off', 16 | '@typescript-eslint/no-unused-vars': 'off', 17 | }, 18 | }, 19 | ] 20 | -------------------------------------------------------------------------------- /packages/tx/src/1559/index.ts: -------------------------------------------------------------------------------- 1 | export * from './constructors.ts' 2 | export { FeeMarket1559Tx } from './tx.ts' 3 | -------------------------------------------------------------------------------- /packages/tx/src/2930/index.ts: -------------------------------------------------------------------------------- 1 | export * from './constructors.ts' 2 | export { AccessList2930Tx } from './tx.ts' 3 | -------------------------------------------------------------------------------- /packages/tx/src/4844/index.ts: -------------------------------------------------------------------------------- 1 | export * from './constructors.ts' 2 | export { Blob4844Tx, NetworkWrapperType } from './tx.ts' 3 | -------------------------------------------------------------------------------- /packages/tx/src/7702/index.ts: -------------------------------------------------------------------------------- 1 | export * from './constructors.ts' 2 | export { EOACode7702Tx } from './tx.ts' 3 | -------------------------------------------------------------------------------- /packages/tx/src/constants.ts: -------------------------------------------------------------------------------- 1 | /** EIP-4844 constants */ 2 | 3 | export const MAX_CALLDATA_SIZE = 16777216 // 2 ** 24 4 | export const MAX_ACCESS_LIST_SIZE = 16777216 // 2 ** 24 5 | export const MAX_VERSIONED_HASHES_LIST_SIZE = 16777216 // 2 ** 24 6 | export const MAX_TX_WRAP_KZG_COMMITMENTS = 16777216 // 2 ** 24 7 | export const FIELD_ELEMENTS_PER_BLOB = 4096 // This is also in the Common 4844 parameters but needed here since types can't access Common params 8 | export const BYTES_PER_FIELD_ELEMENT = 32 9 | -------------------------------------------------------------------------------- /packages/tx/src/legacy/index.ts: -------------------------------------------------------------------------------- 1 | export * from './constructors.ts' 2 | export { LegacyTx } from './tx.ts' 3 | -------------------------------------------------------------------------------- /packages/tx/src/util/index.ts: -------------------------------------------------------------------------------- 1 | // Do not add `./internal.ts`, this will export the internal helpers also at package level 2 | export * from './general.ts' 3 | export * from './access.ts' 4 | -------------------------------------------------------------------------------- /packages/tx/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": ["src/**/*.ts", "test/**/*.ts"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/tx/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/tx/tsconfig.prod.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.cjs.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/cjs", 6 | "lib": ["dom"] 7 | }, 8 | "include": ["src/**/*.ts"], 9 | "references": [ 10 | { "path": "../common/tsconfig.prod.cjs.json" }, 11 | { "path": "../rlp/tsconfig.prod.cjs.json" }, 12 | { "path": "../util/tsconfig.prod.cjs.json" } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /packages/tx/tsconfig.prod.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.esm.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/esm", 6 | "lib": ["dom"], 7 | "composite": true 8 | }, 9 | "include": ["src/**/*.ts"], 10 | "references": [ 11 | { "path": "../common/tsconfig.prod.esm.json" }, 12 | { "path": "../rlp/tsconfig.prod.esm.json" }, 13 | { "path": "../util/tsconfig.prod.esm.json" } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /packages/tx/typedoc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | extends: '../../config/typedoc.mjs', 3 | entryPoints: ['src'], 4 | out: 'docs', 5 | exclude: ['src/util.ts', 'test/**/*.ts'], 6 | } 7 | -------------------------------------------------------------------------------- /packages/util/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/.c8rc.json", 3 | "include": ["src/**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/util/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/util/docs/classes/PrioritizedTaskExecutor.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / PrioritizedTaskExecutor 6 | 7 | # Class: PrioritizedTaskExecutor 8 | 9 | Defined in: [packages/util/src/tasks.ts:6](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/tasks.ts#L6) 10 | -------------------------------------------------------------------------------- /packages/util/docs/functions/bytesToUtf8.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / bytesToUtf8 6 | 7 | # Function: bytesToUtf8() 8 | 9 | > **bytesToUtf8**(`data`): `string` 10 | 11 | Defined in: node\_modules/ethereum-cryptography/esm/utils.d.ts:5 12 | 13 | ## Parameters 14 | 15 | ### data 16 | 17 | `Uint8Array` 18 | 19 | ## Returns 20 | 21 | `string` 22 | -------------------------------------------------------------------------------- /packages/util/docs/functions/equalsBytes.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / equalsBytes 6 | 7 | # Function: equalsBytes() 8 | 9 | > **equalsBytes**(`a`, `b`): `boolean` 10 | 11 | Defined in: node\_modules/ethereum-cryptography/esm/utils.d.ts:7 12 | 13 | ## Parameters 14 | 15 | ### a 16 | 17 | `Uint8Array` 18 | 19 | ### b 20 | 21 | `Uint8Array` 22 | 23 | ## Returns 24 | 25 | `boolean` 26 | -------------------------------------------------------------------------------- /packages/util/docs/functions/getBlobs.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / getBlobs 6 | 7 | # Function: getBlobs() 8 | 9 | > **getBlobs**(`input`): `` `0x${string}` ``[] 10 | 11 | Defined in: [packages/util/src/blobs.ts:36](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/blobs.ts#L36) 12 | 13 | ## Parameters 14 | 15 | ### input 16 | 17 | `string` 18 | 19 | ## Returns 20 | 21 | `` `0x${string}` ``[] 22 | -------------------------------------------------------------------------------- /packages/util/docs/functions/hexToBigInt.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / hexToBigInt 6 | 7 | # Function: hexToBigInt() 8 | 9 | > **hexToBigInt**(`input`): `bigint` 10 | 11 | Defined in: [packages/util/src/bytes.ts:499](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/bytes.ts#L499) 12 | 13 | ## Parameters 14 | 15 | ### input 16 | 17 | `` `0x${string}` `` 18 | 19 | ## Returns 20 | 21 | `bigint` 22 | -------------------------------------------------------------------------------- /packages/util/docs/functions/zeroAddress.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / zeroAddress 6 | 7 | # Function: zeroAddress() 8 | 9 | > **zeroAddress**(): `` `0x${string}` `` 10 | 11 | Defined in: [packages/util/src/account.ts:583](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/account.ts#L583) 12 | 13 | Returns the zero address. 14 | 15 | ## Returns 16 | 17 | `` `0x${string}` `` 18 | -------------------------------------------------------------------------------- /packages/util/docs/type-aliases/AccountBodyBytes.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / AccountBodyBytes 6 | 7 | # Type Alias: AccountBodyBytes 8 | 9 | > **AccountBodyBytes** = \[`Uint8Array`, `Uint8Array`, `Uint8Array`, `Uint8Array`\] 10 | 11 | Defined in: [packages/util/src/account.ts:40](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/account.ts#L40) 12 | -------------------------------------------------------------------------------- /packages/util/docs/type-aliases/BigIntLike.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BigIntLike 6 | 7 | # Type Alias: BigIntLike 8 | 9 | > **BigIntLike** = `bigint` \| [`PrefixedHexString`](PrefixedHexString.md) \| `number` \| `Uint8Array` 10 | 11 | Defined in: [packages/util/src/types.ts:11](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/types.ts#L11) 12 | -------------------------------------------------------------------------------- /packages/util/docs/type-aliases/BinaryTreeProof.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BinaryTreeProof 6 | 7 | # Type Alias: BinaryTreeProof 8 | 9 | > **BinaryTreeProof** = `any` 10 | 11 | Defined in: [packages/util/src/binaryTree.ts:52](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/binaryTree.ts#L52) 12 | -------------------------------------------------------------------------------- /packages/util/docs/type-aliases/CLRequestType.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / CLRequestType 6 | 7 | # Type Alias: CLRequestType 8 | 9 | > **CLRequestType** = *typeof* [`CLRequestType`](../variables/CLRequestType.md)\[keyof *typeof* [`CLRequestType`](../variables/CLRequestType.md)\] 10 | 11 | Defined in: [packages/util/src/request.ts:7](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/request.ts#L7) 12 | -------------------------------------------------------------------------------- /packages/util/docs/type-aliases/DBObject.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / DBObject 6 | 7 | # Type Alias: DBObject 8 | 9 | > **DBObject** = `object` 10 | 11 | Defined in: [packages/util/src/db.ts:1](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/db.ts#L1) 12 | 13 | ## Index Signature 14 | 15 | \[`key`: `string`\]: `string` \| `number` \| `string`[] 16 | -------------------------------------------------------------------------------- /packages/util/docs/type-aliases/KeyEncoding.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / KeyEncoding 6 | 7 | # Type Alias: KeyEncoding 8 | 9 | > **KeyEncoding** = *typeof* [`KeyEncoding`](../variables/KeyEncoding.md)\[keyof *typeof* [`KeyEncoding`](../variables/KeyEncoding.md)\] 10 | 11 | Defined in: [packages/util/src/db.ts:9](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/db.ts#L9) 12 | -------------------------------------------------------------------------------- /packages/util/docs/type-aliases/NestedUint8Array.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / NestedUint8Array 6 | 7 | # Type Alias: NestedUint8Array 8 | 9 | > **NestedUint8Array** = (`Uint8Array` \| `NestedUint8Array`)[] 10 | 11 | Defined in: [packages/util/src/types.ts:43](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/types.ts#L43) 12 | -------------------------------------------------------------------------------- /packages/util/docs/type-aliases/NumericString.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / NumericString 6 | 7 | # Type Alias: NumericString 8 | 9 | > **NumericString** = `` `${number}` `` 10 | 11 | Defined in: [packages/util/src/types.ts:27](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/types.ts#L27) 12 | -------------------------------------------------------------------------------- /packages/util/docs/type-aliases/PrefixedHexString.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / PrefixedHexString 6 | 7 | # Type Alias: PrefixedHexString 8 | 9 | > **PrefixedHexString** = `` `0x${string}` `` 10 | 11 | Defined in: [packages/util/src/types.ts:32](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/types.ts#L32) 12 | -------------------------------------------------------------------------------- /packages/util/docs/type-aliases/RequestBytes.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / RequestBytes 6 | 7 | # Type Alias: RequestBytes 8 | 9 | > **RequestBytes** = `Uint8Array` 10 | 11 | Defined in: [packages/util/src/request.ts:5](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/request.ts#L5) 12 | -------------------------------------------------------------------------------- /packages/util/docs/type-aliases/TypeOutput.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / TypeOutput 6 | 7 | # Type Alias: TypeOutput 8 | 9 | > **TypeOutput** = *typeof* [`TypeOutput`](../variables/TypeOutput.md)\[keyof *typeof* [`TypeOutput`](../variables/TypeOutput.md)\] 10 | 11 | Defined in: [packages/util/src/types.ts:61](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/types.ts#L61) 12 | -------------------------------------------------------------------------------- /packages/util/docs/type-aliases/ValueEncoding.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / ValueEncoding 6 | 7 | # Type Alias: ValueEncoding 8 | 9 | > **ValueEncoding** = *typeof* [`ValueEncoding`](../variables/ValueEncoding.md)\[keyof *typeof* [`ValueEncoding`](../variables/ValueEncoding.md)\] 10 | 11 | Defined in: [packages/util/src/db.ts:17](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/db.ts#L17) 12 | -------------------------------------------------------------------------------- /packages/util/docs/type-aliases/WithdrawalBytes.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / WithdrawalBytes 6 | 7 | # Type Alias: WithdrawalBytes 8 | 9 | > **WithdrawalBytes** = \[`Uint8Array`, `Uint8Array`, `Uint8Array`, `Uint8Array`\] 10 | 11 | Defined in: [packages/util/src/withdrawal.ts:30](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/withdrawal.ts#L30) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_0.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_0 6 | 7 | # Variable: BIGINT\_0 8 | 9 | > `const` **BIGINT\_0**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:85](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L85) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_1.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_1 6 | 7 | # Variable: BIGINT\_1 8 | 9 | > `const` **BIGINT\_1**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:86](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L86) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_100.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_100 6 | 7 | # Variable: BIGINT\_100 8 | 9 | > `const` **BIGINT\_100**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:103](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L103) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_128.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_128 6 | 7 | # Variable: BIGINT\_128 8 | 9 | > `const` **BIGINT\_128**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:98](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L98) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_160.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_160 6 | 7 | # Variable: BIGINT\_160 8 | 9 | > `const` **BIGINT\_160**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:104](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L104) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_2.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_2 6 | 7 | # Variable: BIGINT\_2 8 | 9 | > `const` **BIGINT\_2**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:87](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L87) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_224.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_224 6 | 7 | # Variable: BIGINT\_224 8 | 9 | > `const` **BIGINT\_224**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:105](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L105) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_255.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_255 6 | 7 | # Variable: BIGINT\_255 8 | 9 | > `const` **BIGINT\_255**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:99](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L99) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_256.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_256 6 | 7 | # Variable: BIGINT\_256 8 | 9 | > `const` **BIGINT\_256**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:100](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L100) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_27.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_27 6 | 7 | # Variable: BIGINT\_27 8 | 9 | > `const` **BIGINT\_27**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:92](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L92) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_28.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_28 6 | 7 | # Variable: BIGINT\_28 8 | 9 | > `const` **BIGINT\_28**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:93](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L93) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_2EXP160.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_2EXP160 6 | 7 | # Variable: BIGINT\_2EXP160 8 | 9 | > `const` **BIGINT\_2EXP160**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:107](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L107) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_2EXP224.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_2EXP224 6 | 7 | # Variable: BIGINT\_2EXP224 8 | 9 | > `const` **BIGINT\_2EXP224**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:108](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L108) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_2EXP256.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_2EXP256 6 | 7 | # Variable: BIGINT\_2EXP256 8 | 9 | > `const` **BIGINT\_2EXP256**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:110](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L110) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_2EXP96.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_2EXP96 6 | 7 | # Variable: BIGINT\_2EXP96 8 | 9 | > `const` **BIGINT\_2EXP96**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:106](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L106) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_3.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_3 6 | 7 | # Variable: BIGINT\_3 8 | 9 | > `const` **BIGINT\_3**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:88](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L88) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_31.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_31 6 | 7 | # Variable: BIGINT\_31 8 | 9 | > `const` **BIGINT\_31**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:94](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L94) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_32.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_32 6 | 7 | # Variable: BIGINT\_32 8 | 9 | > `const` **BIGINT\_32**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:95](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L95) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_64.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_64 6 | 7 | # Variable: BIGINT\_64 8 | 9 | > `const` **BIGINT\_64**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:96](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L96) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_7.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_7 6 | 7 | # Variable: BIGINT\_7 8 | 9 | > `const` **BIGINT\_7**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:89](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L89) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_8.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_8 6 | 7 | # Variable: BIGINT\_8 8 | 9 | > `const` **BIGINT\_8**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:90](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L90) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_96.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_96 6 | 7 | # Variable: BIGINT\_96 8 | 9 | > `const` **BIGINT\_96**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:102](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L102) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BIGINT_NEG1.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BIGINT\_NEG1 6 | 7 | # Variable: BIGINT\_NEG1 8 | 9 | > `const` **BIGINT\_NEG1**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:83](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L83) 12 | 13 | BigInt constants 14 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BINARY_TREE_BALANCE_BYTES_LENGTH.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BINARY\_TREE\_BALANCE\_BYTES\_LENGTH 6 | 7 | # Variable: BINARY\_TREE\_BALANCE\_BYTES\_LENGTH 8 | 9 | > `const` **BINARY\_TREE\_BALANCE\_BYTES\_LENGTH**: `16` = `16` 10 | 11 | Defined in: [packages/util/src/binaryTree.ts:98](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/binaryTree.ts#L98) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BINARY_TREE_BALANCE_OFFSET.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BINARY\_TREE\_BALANCE\_OFFSET 6 | 7 | # Variable: BINARY\_TREE\_BALANCE\_OFFSET 8 | 9 | > `const` **BINARY\_TREE\_BALANCE\_OFFSET**: `16` = `16` 10 | 11 | Defined in: [packages/util/src/binaryTree.ts:93](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/binaryTree.ts#L93) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BINARY_TREE_BASIC_DATA_LEAF_KEY.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BINARY\_TREE\_BASIC\_DATA\_LEAF\_KEY 6 | 7 | # Variable: BINARY\_TREE\_BASIC\_DATA\_LEAF\_KEY 8 | 9 | > `const` **BINARY\_TREE\_BASIC\_DATA\_LEAF\_KEY**: `Uint8Array`\<`ArrayBufferLike`\> 10 | 11 | Defined in: [packages/util/src/binaryTree.ts:100](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/binaryTree.ts#L100) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BINARY_TREE_CODE_CHUNK_SIZE.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BINARY\_TREE\_CODE\_CHUNK\_SIZE 6 | 7 | # Variable: BINARY\_TREE\_CODE\_CHUNK\_SIZE 8 | 9 | > `const` **BINARY\_TREE\_CODE\_CHUNK\_SIZE**: `31` = `31` 10 | 11 | Defined in: [packages/util/src/binaryTree.ts:103](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/binaryTree.ts#L103) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BINARY_TREE_CODE_HASH_LEAF_KEY.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BINARY\_TREE\_CODE\_HASH\_LEAF\_KEY 6 | 7 | # Variable: BINARY\_TREE\_CODE\_HASH\_LEAF\_KEY 8 | 9 | > `const` **BINARY\_TREE\_CODE\_HASH\_LEAF\_KEY**: `Uint8Array`\<`ArrayBufferLike`\> 10 | 11 | Defined in: [packages/util/src/binaryTree.ts:101](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/binaryTree.ts#L101) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BINARY_TREE_CODE_OFFSET.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BINARY\_TREE\_CODE\_OFFSET 6 | 7 | # Variable: BINARY\_TREE\_CODE\_OFFSET 8 | 9 | > `const` **BINARY\_TREE\_CODE\_OFFSET**: `128` = `128` 10 | 11 | Defined in: [packages/util/src/binaryTree.ts:105](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/binaryTree.ts#L105) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BINARY_TREE_CODE_SIZE_BYTES_LENGTH.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BINARY\_TREE\_CODE\_SIZE\_BYTES\_LENGTH 6 | 7 | # Variable: BINARY\_TREE\_CODE\_SIZE\_BYTES\_LENGTH 8 | 9 | > `const` **BINARY\_TREE\_CODE\_SIZE\_BYTES\_LENGTH**: `3` = `3` 10 | 11 | Defined in: [packages/util/src/binaryTree.ts:96](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/binaryTree.ts#L96) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BINARY_TREE_CODE_SIZE_OFFSET.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BINARY\_TREE\_CODE\_SIZE\_OFFSET 6 | 7 | # Variable: BINARY\_TREE\_CODE\_SIZE\_OFFSET 8 | 9 | > `const` **BINARY\_TREE\_CODE\_SIZE\_OFFSET**: `5` = `5` 10 | 11 | Defined in: [packages/util/src/binaryTree.ts:91](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/binaryTree.ts#L91) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BINARY_TREE_HEADER_STORAGE_OFFSET.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BINARY\_TREE\_HEADER\_STORAGE\_OFFSET 6 | 7 | # Variable: BINARY\_TREE\_HEADER\_STORAGE\_OFFSET 8 | 9 | > `const` **BINARY\_TREE\_HEADER\_STORAGE\_OFFSET**: `64` = `64` 10 | 11 | Defined in: [packages/util/src/binaryTree.ts:104](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/binaryTree.ts#L104) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BINARY_TREE_MAIN_STORAGE_OFFSET.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BINARY\_TREE\_MAIN\_STORAGE\_OFFSET 6 | 7 | # Variable: BINARY\_TREE\_MAIN\_STORAGE\_OFFSET 8 | 9 | > `const` **BINARY\_TREE\_MAIN\_STORAGE\_OFFSET**: `bigint` 10 | 11 | Defined in: [packages/util/src/binaryTree.ts:107](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/binaryTree.ts#L107) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BINARY_TREE_NODE_WIDTH.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BINARY\_TREE\_NODE\_WIDTH 6 | 7 | # Variable: BINARY\_TREE\_NODE\_WIDTH 8 | 9 | > `const` **BINARY\_TREE\_NODE\_WIDTH**: `256` = `256` 10 | 11 | Defined in: [packages/util/src/binaryTree.ts:106](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/binaryTree.ts#L106) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BINARY_TREE_NONCE_BYTES_LENGTH.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BINARY\_TREE\_NONCE\_BYTES\_LENGTH 6 | 7 | # Variable: BINARY\_TREE\_NONCE\_BYTES\_LENGTH 8 | 9 | > `const` **BINARY\_TREE\_NONCE\_BYTES\_LENGTH**: `8` = `8` 10 | 11 | Defined in: [packages/util/src/binaryTree.ts:97](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/binaryTree.ts#L97) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BINARY_TREE_NONCE_OFFSET.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BINARY\_TREE\_NONCE\_OFFSET 6 | 7 | # Variable: BINARY\_TREE\_NONCE\_OFFSET 8 | 9 | > `const` **BINARY\_TREE\_NONCE\_OFFSET**: `8` = `8` 10 | 11 | Defined in: [packages/util/src/binaryTree.ts:92](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/binaryTree.ts#L92) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BINARY_TREE_VERSION_BYTES_LENGTH.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BINARY\_TREE\_VERSION\_BYTES\_LENGTH 6 | 7 | # Variable: BINARY\_TREE\_VERSION\_BYTES\_LENGTH 8 | 9 | > `const` **BINARY\_TREE\_VERSION\_BYTES\_LENGTH**: `1` = `1` 10 | 11 | Defined in: [packages/util/src/binaryTree.ts:95](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/binaryTree.ts#L95) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/BINARY_TREE_VERSION_OFFSET.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / BINARY\_TREE\_VERSION\_OFFSET 6 | 7 | # Variable: BINARY\_TREE\_VERSION\_OFFSET 8 | 9 | > `const` **BINARY\_TREE\_VERSION\_OFFSET**: `0` = `0` 10 | 11 | Defined in: [packages/util/src/binaryTree.ts:90](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/binaryTree.ts#L90) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/DEFAULT_ERROR_CODE.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / DEFAULT\_ERROR\_CODE 6 | 7 | # Variable: DEFAULT\_ERROR\_CODE 8 | 9 | > `const` **DEFAULT\_ERROR\_CODE**: `"ETHEREUMJS_DEFAULT_ERROR_CODE"` = `"ETHEREUMJS_DEFAULT_ERROR_CODE"` 10 | 11 | Defined in: packages/rlp/dist/esm/errors.d.ts:15 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/ETHER_TO_WEI.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / ETHER\_TO\_WEI 6 | 7 | # Variable: ETHER\_TO\_WEI 8 | 9 | > `const` **ETHER\_TO\_WEI**: `bigint` 10 | 11 | Defined in: [packages/util/src/units.ts:6](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/units.ts#L6) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/GWEI_TO_WEI.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / GWEI\_TO\_WEI 6 | 7 | # Variable: GWEI\_TO\_WEI 8 | 9 | > `const` **GWEI\_TO\_WEI**: `bigint` 10 | 11 | Defined in: [packages/util/src/units.ts:5](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/units.ts#L5) 12 | 13 | Conversion constants to wei 14 | -------------------------------------------------------------------------------- /packages/util/docs/variables/KECCAK256_NULL.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / KECCAK256\_NULL 6 | 7 | # Variable: KECCAK256\_NULL 8 | 9 | > `const` **KECCAK256\_NULL**: `Uint8Array`\<`ArrayBufferLike`\> 10 | 11 | Defined in: [packages/util/src/constants.ts:45](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L45) 12 | 13 | Keccak-256 hash of null 14 | -------------------------------------------------------------------------------- /packages/util/docs/variables/KECCAK256_RLP.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / KECCAK256\_RLP 6 | 7 | # Variable: KECCAK256\_RLP 8 | 9 | > `const` **KECCAK256\_RLP**: `Uint8Array`\<`ArrayBufferLike`\> 10 | 11 | Defined in: [packages/util/src/constants.ts:66](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L66) 12 | 13 | Keccak-256 hash of the RLP of null 14 | -------------------------------------------------------------------------------- /packages/util/docs/variables/KECCAK256_RLP_ARRAY.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / KECCAK256\_RLP\_ARRAY 6 | 7 | # Variable: KECCAK256\_RLP\_ARRAY 8 | 9 | > `const` **KECCAK256\_RLP\_ARRAY**: `Uint8Array`\<`ArrayBufferLike`\> 10 | 11 | Defined in: [packages/util/src/constants.ts:56](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L56) 12 | 13 | Keccak-256 of an RLP of an empty array 14 | -------------------------------------------------------------------------------- /packages/util/docs/variables/MAX_INTEGER.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / MAX\_INTEGER 6 | 7 | # Variable: MAX\_INTEGER 8 | 9 | > `const` **MAX\_INTEGER**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:14](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L14) 12 | 13 | The max integer that the evm can handle (2^256-1) 14 | -------------------------------------------------------------------------------- /packages/util/docs/variables/MAX_UINT64.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / MAX\_UINT64 6 | 7 | # Variable: MAX\_UINT64 8 | 9 | > `const` **MAX\_UINT64**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:9](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L9) 12 | 13 | 2^64-1 14 | -------------------------------------------------------------------------------- /packages/util/docs/variables/MAX_WITHDRAWALS_PER_PAYLOAD.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / MAX\_WITHDRAWALS\_PER\_PAYLOAD 6 | 7 | # Variable: MAX\_WITHDRAWALS\_PER\_PAYLOAD 8 | 9 | > `const` **MAX\_WITHDRAWALS\_PER\_PAYLOAD**: `16` = `16` 10 | 11 | Defined in: [packages/util/src/constants.ts:75](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L75) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/RLP_EMPTY_STRING.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / RLP\_EMPTY\_STRING 6 | 7 | # Variable: RLP\_EMPTY\_STRING 8 | 9 | > `const` **RLP\_EMPTY\_STRING**: `Uint8Array`\<`ArrayBuffer`\> 10 | 11 | Defined in: [packages/util/src/constants.ts:73](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L73) 12 | 13 | RLP encoded empty string 14 | -------------------------------------------------------------------------------- /packages/util/docs/variables/SECP256K1_ORDER.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / SECP256K1\_ORDER 6 | 7 | # Variable: SECP256K1\_ORDER 8 | 9 | > `const` **SECP256K1\_ORDER**: `bigint` = `secp256k1.CURVE.n` 10 | 11 | Defined in: [packages/util/src/constants.ts:27](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L27) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/SECP256K1_ORDER_DIV_2.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / SECP256K1\_ORDER\_DIV\_2 6 | 7 | # Variable: SECP256K1\_ORDER\_DIV\_2 8 | 9 | > `const` **SECP256K1\_ORDER\_DIV\_2**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:28](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L28) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/SHA256_NULL.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / SHA256\_NULL 6 | 7 | # Variable: SHA256\_NULL 8 | 9 | > `const` **SHA256\_NULL**: `Uint8Array`\<`ArrayBufferLike`\> 10 | 11 | Defined in: [packages/util/src/constants.ts:68](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L68) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/TWO_POW256.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / TWO\_POW256 6 | 7 | # Variable: TWO\_POW256 8 | 9 | > `const` **TWO\_POW256**: `bigint` 10 | 11 | Defined in: [packages/util/src/constants.ts:33](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts#L33) 12 | 13 | 2^256 14 | -------------------------------------------------------------------------------- /packages/util/docs/variables/VERKLE_BALANCE_BYTES_LENGTH.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / VERKLE\_BALANCE\_BYTES\_LENGTH 6 | 7 | # Variable: VERKLE\_BALANCE\_BYTES\_LENGTH 8 | 9 | > `const` **VERKLE\_BALANCE\_BYTES\_LENGTH**: `16` = `16` 10 | 11 | Defined in: [packages/util/src/verkle.ts:162](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/verkle.ts#L162) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/VERKLE_BALANCE_OFFSET.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / VERKLE\_BALANCE\_OFFSET 6 | 7 | # Variable: VERKLE\_BALANCE\_OFFSET 8 | 9 | > `const` **VERKLE\_BALANCE\_OFFSET**: `16` = `16` 10 | 11 | Defined in: [packages/util/src/verkle.ts:157](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/verkle.ts#L157) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/VERKLE_BASIC_DATA_LEAF_KEY.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / VERKLE\_BASIC\_DATA\_LEAF\_KEY 6 | 7 | # Variable: VERKLE\_BASIC\_DATA\_LEAF\_KEY 8 | 9 | > `const` **VERKLE\_BASIC\_DATA\_LEAF\_KEY**: `Uint8Array`\<`ArrayBufferLike`\> 10 | 11 | Defined in: [packages/util/src/verkle.ts:164](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/verkle.ts#L164) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/VERKLE_CODE_CHUNK_SIZE.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / VERKLE\_CODE\_CHUNK\_SIZE 6 | 7 | # Variable: VERKLE\_CODE\_CHUNK\_SIZE 8 | 9 | > `const` **VERKLE\_CODE\_CHUNK\_SIZE**: `31` = `31` 10 | 11 | Defined in: [packages/util/src/verkle.ts:167](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/verkle.ts#L167) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/VERKLE_CODE_HASH_LEAF_KEY.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / VERKLE\_CODE\_HASH\_LEAF\_KEY 6 | 7 | # Variable: VERKLE\_CODE\_HASH\_LEAF\_KEY 8 | 9 | > `const` **VERKLE\_CODE\_HASH\_LEAF\_KEY**: `Uint8Array`\<`ArrayBufferLike`\> 10 | 11 | Defined in: [packages/util/src/verkle.ts:165](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/verkle.ts#L165) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/VERKLE_CODE_OFFSET.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / VERKLE\_CODE\_OFFSET 6 | 7 | # Variable: VERKLE\_CODE\_OFFSET 8 | 9 | > `const` **VERKLE\_CODE\_OFFSET**: `128` = `128` 10 | 11 | Defined in: [packages/util/src/verkle.ts:169](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/verkle.ts#L169) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/VERKLE_CODE_SIZE_BYTES_LENGTH.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / VERKLE\_CODE\_SIZE\_BYTES\_LENGTH 6 | 7 | # Variable: VERKLE\_CODE\_SIZE\_BYTES\_LENGTH 8 | 9 | > `const` **VERKLE\_CODE\_SIZE\_BYTES\_LENGTH**: `3` = `3` 10 | 11 | Defined in: [packages/util/src/verkle.ts:160](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/verkle.ts#L160) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/VERKLE_CODE_SIZE_OFFSET.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / VERKLE\_CODE\_SIZE\_OFFSET 6 | 7 | # Variable: VERKLE\_CODE\_SIZE\_OFFSET 8 | 9 | > `const` **VERKLE\_CODE\_SIZE\_OFFSET**: `5` = `5` 10 | 11 | Defined in: [packages/util/src/verkle.ts:155](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/verkle.ts#L155) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/VERKLE_HEADER_STORAGE_OFFSET.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / VERKLE\_HEADER\_STORAGE\_OFFSET 6 | 7 | # Variable: VERKLE\_HEADER\_STORAGE\_OFFSET 8 | 9 | > `const` **VERKLE\_HEADER\_STORAGE\_OFFSET**: `64` = `64` 10 | 11 | Defined in: [packages/util/src/verkle.ts:168](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/verkle.ts#L168) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/VERKLE_MAIN_STORAGE_OFFSET.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / VERKLE\_MAIN\_STORAGE\_OFFSET 6 | 7 | # Variable: VERKLE\_MAIN\_STORAGE\_OFFSET 8 | 9 | > `const` **VERKLE\_MAIN\_STORAGE\_OFFSET**: `bigint` 10 | 11 | Defined in: [packages/util/src/verkle.ts:171](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/verkle.ts#L171) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/VERKLE_NODE_WIDTH.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / VERKLE\_NODE\_WIDTH 6 | 7 | # Variable: VERKLE\_NODE\_WIDTH 8 | 9 | > `const` **VERKLE\_NODE\_WIDTH**: `256` = `256` 10 | 11 | Defined in: [packages/util/src/verkle.ts:170](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/verkle.ts#L170) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/VERKLE_NONCE_BYTES_LENGTH.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / VERKLE\_NONCE\_BYTES\_LENGTH 6 | 7 | # Variable: VERKLE\_NONCE\_BYTES\_LENGTH 8 | 9 | > `const` **VERKLE\_NONCE\_BYTES\_LENGTH**: `8` = `8` 10 | 11 | Defined in: [packages/util/src/verkle.ts:161](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/verkle.ts#L161) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/VERKLE_NONCE_OFFSET.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / VERKLE\_NONCE\_OFFSET 6 | 7 | # Variable: VERKLE\_NONCE\_OFFSET 8 | 9 | > `const` **VERKLE\_NONCE\_OFFSET**: `8` = `8` 10 | 11 | Defined in: [packages/util/src/verkle.ts:156](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/verkle.ts#L156) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/VERKLE_VERSION_BYTES_LENGTH.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / VERKLE\_VERSION\_BYTES\_LENGTH 6 | 7 | # Variable: VERKLE\_VERSION\_BYTES\_LENGTH 8 | 9 | > `const` **VERKLE\_VERSION\_BYTES\_LENGTH**: `1` = `1` 10 | 11 | Defined in: [packages/util/src/verkle.ts:159](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/verkle.ts#L159) 12 | -------------------------------------------------------------------------------- /packages/util/docs/variables/VERKLE_VERSION_OFFSET.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/util**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/util](../README.md) / VERKLE\_VERSION\_OFFSET 6 | 7 | # Variable: VERKLE\_VERSION\_OFFSET 8 | 9 | > `const` **VERKLE\_VERSION\_OFFSET**: `0` = `0` 10 | 11 | Defined in: [packages/util/src/verkle.ts:154](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/verkle.ts#L154) 12 | -------------------------------------------------------------------------------- /packages/util/eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import rootConfig from '../../config/eslint.config.mjs' 2 | 3 | export default [ 4 | ...rootConfig, 5 | { 6 | languageOptions: { 7 | parserOptions: { 8 | project: ['./tsconfig.lint.json'], 9 | }, 10 | }, 11 | }, 12 | { 13 | files: ['examples/**/*'], 14 | rules: { 15 | 'no-console': 'off', 16 | '@typescript-eslint/no-unused-vars': 'off', 17 | }, 18 | }, 19 | ] 20 | -------------------------------------------------------------------------------- /packages/util/examples/account.ts: -------------------------------------------------------------------------------- 1 | import { createAccount } from '@ethereumjs/util' 2 | 3 | const account = createAccount({ 4 | nonce: '0x02', 5 | balance: '0x0384', 6 | storageRoot: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421', 7 | codeHash: '0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470', 8 | }) 9 | console.log(`Account with nonce=${account.nonce} and balance=${account.balance} created`) 10 | -------------------------------------------------------------------------------- /packages/util/examples/accountPartial.ts: -------------------------------------------------------------------------------- 1 | import { createPartialAccount } from '@ethereumjs/util' 2 | 3 | const account = createPartialAccount({ 4 | nonce: '0x02', 5 | balance: '0x0384', 6 | }) 7 | console.log(`Partial account with nonce=${account.nonce} and balance=${account.balance} created`) 8 | -------------------------------------------------------------------------------- /packages/util/examples/address.ts: -------------------------------------------------------------------------------- 1 | import { createAddressFromString } from '@ethereumjs/util' 2 | 3 | const address = createAddressFromString('0x2f015c60e0be116b1f0cd534704db9c92118fb6a') 4 | console.log(`Ethereum address ${address.toString()} created`) 5 | -------------------------------------------------------------------------------- /packages/util/examples/blobs.ts: -------------------------------------------------------------------------------- 1 | import { bytesToHex, computeVersionedHash, getBlobs } from '@ethereumjs/util' 2 | 3 | const blobs = getBlobs('test input') 4 | 5 | console.log('Created the following blobs:') 6 | console.log(blobs) 7 | 8 | const commitment = bytesToHex(new Uint8Array([1, 2, 3])) 9 | const blobCommitmentVersion = 0x01 10 | const versionedHash = computeVersionedHash(commitment, blobCommitmentVersion) 11 | 12 | console.log(`Versioned hash ${versionedHash} computed`) 13 | -------------------------------------------------------------------------------- /packages/util/examples/bytes.ts: -------------------------------------------------------------------------------- 1 | import { bytesToBigInt } from '@ethereumjs/util' 2 | 3 | const bytesValue = new Uint8Array([97]) 4 | const bigIntValue = bytesToBigInt(bytesValue) 5 | 6 | console.log(`Converted value: ${bigIntValue}`) 7 | -------------------------------------------------------------------------------- /packages/util/examples/constants.ts: -------------------------------------------------------------------------------- 1 | import { BIGINT_2EXP96, KECCAK256_NULL_S } from '@ethereumjs/util' 2 | 3 | console.log(`The keccak-256 hash of null: ${KECCAK256_NULL_S}`) 4 | console.log(`BigInt constants (performance), e.g. BIGINT_2EXP96: ${BIGINT_2EXP96}`) 5 | -------------------------------------------------------------------------------- /packages/util/examples/withdrawal.ts: -------------------------------------------------------------------------------- 1 | import { createWithdrawal } from '@ethereumjs/util' 2 | 3 | const withdrawal = createWithdrawal({ 4 | index: 0n, 5 | validatorIndex: 65535n, 6 | address: '0x0000000000000000000000000000000000000000', 7 | amount: 0n, 8 | }) 9 | 10 | console.log('Withdrawal object created:') 11 | console.log(withdrawal.toJSON()) 12 | -------------------------------------------------------------------------------- /packages/util/test/bench/bytes.bench.ts: -------------------------------------------------------------------------------- 1 | import { bench, describe } from 'vitest' 2 | 3 | import { bytesToHex, hexToBytes } from '../../src/bytes.ts' 4 | 5 | // Simple benchmarks for our bytes conversion utility 6 | describe('hexToBytes', () => { 7 | bench('hexToBytes', () => { 8 | hexToBytes('0xcafe1234') 9 | }) 10 | }) 11 | 12 | describe('bytesToHex', () => { 13 | const bytes = new Uint8Array(4).fill(4) 14 | bench('bytesToHex', () => { 15 | bytesToHex(bytes) 16 | }) 17 | }) 18 | -------------------------------------------------------------------------------- /packages/util/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": ["src/**/*.ts", "test/**/*.ts"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/util/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/util/tsconfig.prod.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.cjs.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/cjs" 6 | }, 7 | "include": ["src/**/*.ts"], 8 | "references": [{ "path": "../rlp/tsconfig.prod.cjs.json" }] 9 | } 10 | -------------------------------------------------------------------------------- /packages/util/tsconfig.prod.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.esm.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/esm" 6 | }, 7 | "include": ["src/**/*.ts"], 8 | "references": [{ "path": "../rlp/tsconfig.prod.esm.json" }] 9 | } 10 | -------------------------------------------------------------------------------- /packages/util/typedoc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | extends: '../../config/typedoc.mjs', 3 | entryPoints: ['src'], 4 | out: 'docs', 5 | exclude: ['test/*.ts'], 6 | } 7 | -------------------------------------------------------------------------------- /packages/verkle/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/.c8rc.json", 3 | "include": ["src/**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/verkle/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/verkle/.npmignore: -------------------------------------------------------------------------------- 1 | test/ 2 | src/ -------------------------------------------------------------------------------- /packages/verkle/docs/functions/createDefaultLeafVerkleValues.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/verkle**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/verkle](../README.md) / createDefaultLeafVerkleValues 6 | 7 | # Function: createDefaultLeafVerkleValues() 8 | 9 | > **createDefaultLeafVerkleValues**(): `any`[] 10 | 11 | Defined in: [node/util.ts:44](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/verkle/src/node/util.ts#L44) 12 | 13 | ## Returns 14 | 15 | `any`[] 16 | -------------------------------------------------------------------------------- /packages/verkle/docs/functions/createZeroesLeafValue.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/verkle**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/verkle](../README.md) / createZeroesLeafValue 6 | 7 | # Function: createZeroesLeafValue() 8 | 9 | > **createZeroesLeafValue**(): `Uint8Array`\<`ArrayBuffer`\> 10 | 11 | Defined in: [node/util.ts:42](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/verkle/src/node/util.ts#L42) 12 | 13 | ## Returns 14 | 15 | `Uint8Array`\<`ArrayBuffer`\> 16 | -------------------------------------------------------------------------------- /packages/verkle/docs/type-aliases/Fr.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/verkle**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/verkle](../README.md) / Fr 6 | 7 | # Type Alias: Fr 8 | 9 | > **Fr** = `object` 10 | 11 | Defined in: [types.ts:6](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/verkle/src/types.ts#L6) 12 | -------------------------------------------------------------------------------- /packages/verkle/docs/type-aliases/Proof.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/verkle**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/verkle](../README.md) / Proof 6 | 7 | # Type Alias: Proof 8 | 9 | > **Proof** = `Uint8Array`[] 10 | 11 | Defined in: [types.ts:8](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/verkle/src/types.ts#L8) 12 | -------------------------------------------------------------------------------- /packages/verkle/docs/type-aliases/VerkleNode.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/verkle**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/verkle](../README.md) / VerkleNode 6 | 7 | # Type Alias: VerkleNode 8 | 9 | > **VerkleNode** = [`TypedVerkleNode`](../interfaces/TypedVerkleNode.md)\[[`VerkleNodeType`](VerkleNodeType.md)\] 10 | 11 | Defined in: [node/types.ts:22](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/verkle/src/node/types.ts#L22) 12 | -------------------------------------------------------------------------------- /packages/verkle/docs/type-aliases/VerkleNodeType.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/verkle**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/verkle](../README.md) / VerkleNodeType 6 | 7 | # Type Alias: VerkleNodeType 8 | 9 | > **VerkleNodeType** = *typeof* [`VerkleNodeType`](../variables/VerkleNodeType.md)\[keyof *typeof* [`VerkleNodeType`](../variables/VerkleNodeType.md)\] 10 | 11 | Defined in: [node/types.ts:6](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/verkle/src/node/types.ts#L6) 12 | -------------------------------------------------------------------------------- /packages/verkle/docs/variables/NODE_WIDTH.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/verkle**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/verkle](../README.md) / NODE\_WIDTH 6 | 7 | # Variable: NODE\_WIDTH 8 | 9 | > `const` **NODE\_WIDTH**: `256` = `256` 10 | 11 | Defined in: [node/types.ts:57](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/verkle/src/node/types.ts#L57) 12 | -------------------------------------------------------------------------------- /packages/verkle/docs/variables/ROOT_DB_KEY.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/verkle**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/verkle](../README.md) / ROOT\_DB\_KEY 6 | 7 | # Variable: ROOT\_DB\_KEY 8 | 9 | > `const` **ROOT\_DB\_KEY**: `Uint8Array`\<`ArrayBufferLike`\> 10 | 11 | Defined in: [types.ts:57](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/verkle/src/types.ts#L57) 12 | -------------------------------------------------------------------------------- /packages/verkle/eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import rootConfig from '../../config/eslint.config.mjs' 2 | 3 | export default [ 4 | ...rootConfig, 5 | { 6 | languageOptions: { 7 | parserOptions: { 8 | project: ['./tsconfig.lint.json'], 9 | }, 10 | }, 11 | }, 12 | { 13 | files: ['benchmarks/*.ts', 'examples/*.ts'], 14 | rules: { 15 | 'no-console': 'off', 16 | }, 17 | }, 18 | ] 19 | -------------------------------------------------------------------------------- /packages/verkle/src/db/index.ts: -------------------------------------------------------------------------------- 1 | export * from './checkpoint.ts' 2 | -------------------------------------------------------------------------------- /packages/verkle/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './constructors.ts' 2 | export * from './db/index.ts' 3 | export * from './node/index.ts' 4 | export * from './types.ts' 5 | export * from './util.ts' 6 | export * from './verkleTree.ts' 7 | -------------------------------------------------------------------------------- /packages/verkle/src/node/index.ts: -------------------------------------------------------------------------------- 1 | export * from './baseVerkleNode.ts' 2 | export * from './internalNode.ts' 3 | export * from './leafNode.ts' 4 | export * from './types.ts' 5 | export * from './util.ts' 6 | -------------------------------------------------------------------------------- /packages/verkle/tsconfig.benchmarks.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.cjs.json", 3 | "include": ["benchmarks/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/verkle/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": ["src/**/*.ts", "test/**/*.spec.ts"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/verkle/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/verkle/tsconfig.prod.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.cjs.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/cjs" 6 | }, 7 | "include": ["src/**/*.ts"], 8 | "references": [ 9 | { "path": "../rlp/tsconfig.prod.cjs.json" }, 10 | { "path": "../util/tsconfig.prod.cjs.json" } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /packages/verkle/tsconfig.prod.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.esm.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/esm" 6 | }, 7 | "include": ["src/**/*.ts"], 8 | "references": [ 9 | { "path": "../rlp/tsconfig.prod.esm.json" }, 10 | { "path": "../util/tsconfig.prod.esm.json" } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /packages/verkle/typedoc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | extends: '../../config/typedoc.mjs', 3 | entryPoints: ['src'], 4 | out: 'docs', 5 | exclude: ['test/**/*.ts'], 6 | } 7 | -------------------------------------------------------------------------------- /packages/vm/.c8rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/.c8rc.json", 3 | "include": ["src/**/*.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/vm/.gitignore: -------------------------------------------------------------------------------- 1 | .cachedb 2 | benchmarks/*.js 3 | test/t8n/testdata/output/allocTEST.json 4 | test/t8n/testdata/output/resultTEST.json -------------------------------------------------------------------------------- /packages/vm/debug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereumjs/ethereumjs-monorepo/29b5472f6f61b5f8bd3fd95307d35f0724aed332/packages/vm/debug.png -------------------------------------------------------------------------------- /packages/vm/docs/type-aliases/BuildStatus.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/vm**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/vm](../README.md) / BuildStatus 6 | 7 | # Type Alias: BuildStatus 8 | 9 | > **BuildStatus** = *typeof* [`BuildStatus`](../variables/BuildStatus.md)\[keyof *typeof* [`BuildStatus`](../variables/BuildStatus.md)\] 10 | 11 | Defined in: [vm/src/buildBlock.ts:45](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/src/buildBlock.ts#L45) 12 | -------------------------------------------------------------------------------- /packages/vm/docs/variables/paramsVM.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/vm**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/vm](../README.md) / paramsVM 6 | 7 | # Variable: paramsVM 8 | 9 | > `const` **paramsVM**: `ParamsDict` 10 | 11 | Defined in: [vm/src/params.ts:3](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/src/params.ts#L3) 12 | -------------------------------------------------------------------------------- /packages/vm/examples/helpers/Greeter.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | pragma solidity ^0.8.0; 3 | 4 | contract Greeter { 5 | string greeting; 6 | 7 | constructor(string memory _greeting) { 8 | greeting = _greeting; 9 | } 10 | 11 | function setGreeting(string memory _greeting) public { 12 | greeting = _greeting; 13 | } 14 | 15 | function greet() public view returns (string memory) { 16 | return greeting; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /packages/vm/examples/vmWith4844.ts: -------------------------------------------------------------------------------- 1 | import { Common, Hardfork, Mainnet } from '@ethereumjs/common' 2 | import { createVM } from '@ethereumjs/vm' 3 | 4 | const main = async () => { 5 | const common = new Common({ chain: Mainnet, hardfork: Hardfork.Cancun }) 6 | const vm = await createVM({ common }) 7 | console.log(`4844 is active in the VM - ${vm.common.isActivatedEIP(4844)}`) 8 | } 9 | 10 | void main() 11 | -------------------------------------------------------------------------------- /packages/vm/examples/vmWithEIPs.ts: -------------------------------------------------------------------------------- 1 | import { Common, Hardfork, Mainnet } from '@ethereumjs/common' 2 | import { createVM } from '@ethereumjs/vm' 3 | 4 | const main = async () => { 5 | const common = new Common({ chain: Mainnet, hardfork: Hardfork.Cancun, eips: [7702] }) 6 | const vm = await createVM({ common }) 7 | console.log( 8 | `EIP 7702 is active in isolation on top of the Cancun HF - ${vm.common.isActivatedEIP(7702)}`, 9 | ) 10 | } 11 | void main() 12 | -------------------------------------------------------------------------------- /packages/vm/src/index.ts: -------------------------------------------------------------------------------- 1 | export { Bloom } from './bloom/index.ts' 2 | export { BlockBuilder, BuildStatus } from './buildBlock.ts' 3 | export { buildBlock } from './buildBlock.ts' 4 | export * from './constructors.ts' 5 | export * from './params.ts' 6 | export { encodeReceipt } from './runBlock.ts' 7 | export { runBlock } from './runBlock.ts' 8 | export { runTx } from './runTx.ts' 9 | export * from './types.ts' 10 | export { VM } from './vm.ts' 11 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/default/genesis/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereumjs/ethereumjs-monorepo/29b5472f6f61b5f8bd3fd95307d35f0724aed332/packages/vm/test/retesteth/clients/default/genesis/.gitkeep -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/ArrowGlacier.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "ArrowGlacier", 4 | "constantinopleForkBlock": "0x00", 5 | "byzantiumForkBlock": "0x00", 6 | "homesteadForkBlock": "0x00" 7 | }, 8 | "accounts": {} 9 | } 10 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/Berlin.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "Berlin", 4 | "constantinopleForkBlock": "0x00", 5 | "byzantiumForkBlock": "0x00", 6 | "homesteadForkBlock": "0x00" 7 | }, 8 | "accounts": {} 9 | } 10 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/BerlinToLondonAt5.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "BerlinToLondonAt5", 4 | "constantinopleForkBlock": "0x00", 5 | "byzantiumForkBlock": "0x00", 6 | "homesteadForkBlock": "0x00", 7 | "londonForkBlock": "0x05" 8 | }, 9 | "accounts": {} 10 | } 11 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/Byzantium.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "Byzantium", 4 | "byzantiumForkBlock": "0x00", 5 | "homesteadForkBlock": "0x00" 6 | }, 7 | "accounts": {} 8 | } 9 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/ByzantiumToConstantinopleFixAt5.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "ByzantiumToConstantinopleFixAt5", 4 | "constantinopleForkBlock": "0x05", 5 | "byzantiumForkBlock": "0x00", 6 | "homesteadForkBlock": "0x00" 7 | }, 8 | "accounts": {} 9 | } 10 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/Constantinople.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "Constantinople", 4 | "constantinopleForkBlock": "0x00", 5 | "byzantiumForkBlock": "0x00", 6 | "homesteadForkBlock": "0x00" 7 | }, 8 | "accounts": {} 9 | } 10 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/ConstantinopleFix.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "ConstantinopleFix", 4 | "constantinopleForkBlock": "0x00", 5 | "byzantiumForkBlock": "0x00", 6 | "homesteadForkBlock": "0x00" 7 | }, 8 | "accounts": {} 9 | } 10 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/EIP150.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "EIP150", 4 | "homesteadForkBlock": "0x00" 5 | }, 6 | "accounts": {} 7 | } 8 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/EIP158.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "EIP158", 4 | "homesteadForkBlock": "0x00" 5 | }, 6 | "accounts": {} 7 | } 8 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/EIP158ToByzantiumAt5.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "EIP158ToByzantiumAt5", 4 | "byzantiumForkBlock": "0x05", 5 | "homesteadForkBlock": "0x00" 6 | }, 7 | "accounts": {} 8 | } 9 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/Frontier.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "Frontier" 4 | }, 5 | "accounts": {} 6 | } 7 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/FrontierToHomesteadAt5.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "FrontierToHomesteadAt5", 4 | "homesteadForkBlock": "0x05" 5 | }, 6 | "accounts": {} 7 | } 8 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/Homestead.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "Homestead", 4 | "homesteadForkBlock": "0x00" 5 | }, 6 | "accounts": {} 7 | } 8 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/HomesteadToDaoAt5.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "HomesteadToDaoAt5", 4 | "homesteadForkBlock": "0x00" 5 | }, 6 | "accounts": {} 7 | } 8 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/HomesteadToEIP150At5.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "HomesteadToEIP150At5", 4 | "homesteadForkBlock": "0x00" 5 | }, 6 | "accounts": {} 7 | } 8 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/Istanbul.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "Istanbul", 4 | "constantinopleForkBlock": "0x00", 5 | "byzantiumForkBlock": "0x00", 6 | "homesteadForkBlock": "0x00" 7 | }, 8 | "accounts": {} 9 | } 10 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/London.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "London", 4 | "constantinopleForkBlock": "0x00", 5 | "byzantiumForkBlock": "0x00", 6 | "homesteadForkBlock": "0x00" 7 | }, 8 | "accounts": {} 9 | } 10 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/Paris.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "Merged", 4 | "terminalTotalDifficulty": "0x00", 5 | "constantinopleForkBlock": "0x00", 6 | "byzantiumForkBlock": "0x00", 7 | "homesteadForkBlock": "0x00" 8 | }, 9 | "accounts": {} 10 | } 11 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/genesis/Shanghai.json: -------------------------------------------------------------------------------- 1 | { 2 | "params": { 3 | "fork": "Shanghai", 4 | "terminalTotalDifficulty": "0x00", 5 | "constantinopleForkBlock": "0x00", 6 | "byzantiumForkBlock": "0x00", 7 | "homesteadForkBlock": "0x00" 8 | }, 9 | "accounts": {} 10 | } 11 | -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/ethereumjs/start.sh: -------------------------------------------------------------------------------- 1 | curl -X POST -d "${1} ${2} ${3} ${4} ${5} ${6} ${7} ${8} ${9} ${10} ${11} ${12} ${13} ${14} ${15} ${16} ${17} ${18} ${19} ${20}" --silent http://localhost:3000/ -------------------------------------------------------------------------------- /packages/vm/test/retesteth/clients/version: -------------------------------------------------------------------------------- 1 | 0.3.0-shanghai -------------------------------------------------------------------------------- /packages/vm/test/t8n/ethereumjs-t8ntool.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if [[ "$1" == "--version" ]]; then 3 | echo "ethereumjs t8n v1" 4 | exit 0 5 | fi 6 | SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) 7 | export NODE_OPTIONS="--max-old-space-size=4096" 8 | npx tsx --conditions=typescript "$SCRIPT_DIR/launchT8N.ts" "$@" -------------------------------------------------------------------------------- /packages/vm/test/t8n/launchT8N.ts: -------------------------------------------------------------------------------- 1 | import { getArguments } from './helpers.ts' 2 | import { TransitionTool } from './t8ntool.ts' 3 | 4 | await TransitionTool.run(getArguments()) 5 | -------------------------------------------------------------------------------- /packages/vm/test/t8n/testdata/input/alloc.json: -------------------------------------------------------------------------------- 1 | { 2 | "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b": { 3 | "nonce": "0x00", 4 | "balance": "0x3635c9adc5dea00000", 5 | "code": "0x", 6 | "storage": {} 7 | }, 8 | "0x0000000000000000000000000000000000001000": { 9 | "nonce": "0x01", 10 | "balance": "0x00", 11 | "code": "0x60015f55", 12 | "storage": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /packages/vm/tsconfig.benchmarks.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.esm.json", 3 | "compilerOptions": { 4 | "lib": ["dom"], 5 | "sourceMap": false, 6 | "declaration": true, 7 | "esModuleInterop": true 8 | }, 9 | "include": ["benchmarks/**.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /packages/vm/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": ["src/**/*.ts", "test/**/*.ts"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/vm/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/vm/typedoc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | extends: '../../config/typedoc.mjs', 3 | entryPoints: ['src'], 4 | out: 'docs', 5 | exclude: ['test/**/*.ts', 'src/bloom/*.ts', 'src/evm/**', 'src/state/cache.ts'], 6 | } 7 | -------------------------------------------------------------------------------- /packages/vm/vitest.config.coverage.ts: -------------------------------------------------------------------------------- 1 | import topLevelAwait from 'vite-plugin-top-level-await' 2 | import { defineConfig } from 'vitest/config' 3 | 4 | export default defineConfig({ 5 | plugins: [topLevelAwait()], 6 | optimizeDeps: { 7 | exclude: ['kzg-wasm'], 8 | }, 9 | test: { 10 | coverage: { 11 | provider: 'v8', 12 | enabled: true, 13 | all: true, 14 | reporter: ['lcov'], 15 | }, 16 | }, 17 | }) 18 | -------------------------------------------------------------------------------- /packages/vm/vitest.config.ts: -------------------------------------------------------------------------------- 1 | import topLevelAwait from 'vite-plugin-top-level-await' 2 | import { defineConfig, mergeConfig } from 'vitest/config' 3 | import baseConfig from '../../config/vitest.config.mts' 4 | 5 | export default mergeConfig( 6 | baseConfig, 7 | defineConfig({ 8 | plugins: [topLevelAwait()], 9 | optimizeDeps: { 10 | exclude: ['kzg-wasm'], 11 | }, 12 | }), 13 | ) 14 | -------------------------------------------------------------------------------- /packages/wallet/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethereumjs/ethereumjs-monorepo/29b5472f6f61b5f8bd3fd95307d35f0724aed332/packages/wallet/.gitignore -------------------------------------------------------------------------------- /packages/wallet/docs/@ethereumjs/namespaces/hdkey/README.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/wallet**](../../../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/wallet](../../../README.md) / hdkey 6 | 7 | # hdkey 8 | 9 | ## Classes 10 | 11 | - [EthereumHDKey](classes/EthereumHDKey.md) 12 | -------------------------------------------------------------------------------- /packages/wallet/docs/README.md: -------------------------------------------------------------------------------- 1 | **@ethereumjs/wallet** 2 | 3 | *** 4 | 5 | # @ethereumjs/wallet 6 | 7 | ## Namespaces 8 | 9 | - [hdkey](@ethereumjs/namespaces/hdkey/README.md) 10 | - [thirdparty](@ethereumjs/namespaces/thirdparty/README.md) 11 | 12 | ## Classes 13 | 14 | - [Wallet](classes/Wallet.md) 15 | 16 | ## Type Aliases 17 | 18 | - [KDFFunctions](type-aliases/KDFFunctions.md) 19 | 20 | ## Variables 21 | 22 | - [KDFFunctions](variables/KDFFunctions.md) 23 | -------------------------------------------------------------------------------- /packages/wallet/docs/type-aliases/KDFFunctions.md: -------------------------------------------------------------------------------- 1 | [**@ethereumjs/wallet**](../README.md) 2 | 3 | *** 4 | 5 | [@ethereumjs/wallet](../README.md) / KDFFunctions 6 | 7 | # Type Alias: KDFFunctions 8 | 9 | > **KDFFunctions** = *typeof* [`KDFFunctions`](../variables/KDFFunctions.md)\[keyof *typeof* [`KDFFunctions`](../variables/KDFFunctions.md)\] 10 | 11 | Defined in: [wallet.ts:163](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/wallet/src/wallet.ts#L163) 12 | -------------------------------------------------------------------------------- /packages/wallet/eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import rootConfig from '../../config/eslint.config.mjs' 2 | 3 | export default [ 4 | ...rootConfig, 5 | { 6 | languageOptions: { 7 | parserOptions: { 8 | project: ['./tsconfig.lint.json'], 9 | }, 10 | }, 11 | }, 12 | { 13 | files: ['test/index.spec.ts', 'examples/**/*'], 14 | rules: { 15 | 'no-prototype-builtins': 'warn', 16 | 'no-console': 'off', 17 | }, 18 | }, 19 | ] 20 | -------------------------------------------------------------------------------- /packages/wallet/examples/hdKey.cjs: -------------------------------------------------------------------------------- 1 | const { hdkey } = require('@ethereumjs/wallet') 2 | 3 | const wallet = hdkey.EthereumHDKey.fromMnemonic( 4 | 'clown galaxy face oxygen birth round modify fame correct stumble kind excess', 5 | ) 6 | console.log(wallet.getWallet().getAddressString()) // Should print an Ethereum address 7 | -------------------------------------------------------------------------------- /packages/wallet/examples/hdKey.ts: -------------------------------------------------------------------------------- 1 | import { hdkey } from '@ethereumjs/wallet' 2 | 3 | const wallet = hdkey.EthereumHDKey.fromMnemonic( 4 | 'clown galaxy face oxygen birth round modify fame correct stumble kind excess', 5 | ) 6 | console.log(wallet.getWallet().getAddressString()) // Should print an Ethereum address 7 | -------------------------------------------------------------------------------- /packages/wallet/examples/thirdparty.cjs: -------------------------------------------------------------------------------- 1 | const { thirdparty } = require('@ethereumjs/wallet') 2 | 3 | const wallet = thirdparty.fromQuorumWallet('mySecretQuorumWalletPassphrase', 'myPublicQuorumUserId') 4 | console.log(wallet.getAddressString()) // An Ethereum address 5 | -------------------------------------------------------------------------------- /packages/wallet/examples/thirdparty.ts: -------------------------------------------------------------------------------- 1 | import { thirdparty } from '@ethereumjs/wallet' 2 | 3 | const wallet = thirdparty.fromQuorumWallet('mySecretQuorumWalletPassphrase', 'myPublicQuorumUserId') 4 | console.log(wallet.getAddressString()) // An Ethereum address 5 | -------------------------------------------------------------------------------- /packages/wallet/examples/wallet.cjs: -------------------------------------------------------------------------------- 1 | const { Wallet } = require('@ethereumjs/wallet') 2 | 3 | const wallet = Wallet.generate() 4 | console.log(wallet.getAddressString()) // should output an Ethereum address 5 | -------------------------------------------------------------------------------- /packages/wallet/examples/wallet.ts: -------------------------------------------------------------------------------- 1 | import { Wallet } from '@ethereumjs/wallet' 2 | 3 | const wallet = Wallet.generate() 4 | console.log(wallet.getAddressString()) // should output an Ethereum address 5 | -------------------------------------------------------------------------------- /packages/wallet/src/index.ts: -------------------------------------------------------------------------------- 1 | export * as hdkey from './hdkey.ts' 2 | export * as thirdparty from './thirdparty.ts' 3 | export * from './wallet.ts' 4 | -------------------------------------------------------------------------------- /packages/wallet/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist" 5 | }, 6 | "include": ["src/**/*.ts", "test/**/*.ts"] 7 | } 8 | -------------------------------------------------------------------------------- /packages/wallet/tsconfig.lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.lint.json" 3 | } 4 | -------------------------------------------------------------------------------- /packages/wallet/tsconfig.prod.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.cjs.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/cjs" 6 | }, 7 | "include": ["src/**/*.ts"], 8 | "references": [{ "path": "../util/tsconfig.prod.cjs.json" }] 9 | } 10 | -------------------------------------------------------------------------------- /packages/wallet/tsconfig.prod.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../config/tsconfig.prod.esm.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist/esm" 6 | }, 7 | "include": ["src/**/*.ts"], 8 | "references": [{ "path": "../util/tsconfig.prod.esm.json" }] 9 | } 10 | -------------------------------------------------------------------------------- /packages/wallet/typedoc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | extends: '../../config/typedoc.mjs', 3 | entryPoints: ['src'], 4 | out: 'docs', 5 | exclude: ['test/**/*.ts'], 6 | } 7 | -------------------------------------------------------------------------------- /packages/wallet/vitest.config.browser.ts: -------------------------------------------------------------------------------- 1 | import { configDefaults, defineConfig } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [ 6 | ...configDefaults.exclude, 7 | // 1 failing test 8 | 'test/index.spec.ts', 9 | ], 10 | }, 11 | }) 12 | --------------------------------------------------------------------------------