From c6d8b3998522612ea0f1a6c1c256fe5226c0fddf Mon Sep 17 00:00:00 2001 From: Holger Drewes Date: Thu, 2 Nov 2023 09:31:20 +0100 Subject: [PATCH] New Minor Releases (Holesky, Dencun devnet-10, Client UX, Performance) (#3113) * Update CHANGELOG, version bump, updated upstream dependency versions (@ethereumjs/rlp v5.0.1) * Update CHANGELOG, version bump, updated upstream dependency versions (@ethereumjs/util v9.0.1) * Update CHANGELOG, version bump, updated upstream dependency versions (@ethereumjs/common v4.1.0) * Update CHANGELOG, version bump, updated upstream dependency versions (@ethereumjs/genesis v0.2.0) * Update CHANGELOG, version bump, updated upstream dependency versions (@ethereumjs/trie v6.0.1) * Update CHANGELOG, version bump, updated upstream dependency versions (@ethereumjs/devp2p v6.0.1) * Update CHANGELOG, version bump, updated upstream dependency versions (@ethereumjs/tx v5.1.0) * Update CHANGELOG, version bump, updated upstream dependency versions (@ethereumjs/block v5.0.1) * Update CHANGELOG, version bump, updated upstream dependency versions (@ethereumjs/blockchain v7.0.1) * Update CHANGELOG, version bump, updated upstream dependency versions (@ethereumjs/statemanager v2.1.0) * Apply suggestions from code review Co-authored-by: Scorbajio * Update CHANGELOG, version bump, updated upstream dependency versions (@ethereumjs/ethash v3.0.1) * Update CHANGELOG, version bump, updated upstream dependency versions (@ethereumjs/wallet v2.0.1) * Add dedicated EVM profiling section to README * Add EVM profiler image * Update CHANGELOG, version bump, updated upstream dependency versions (@ethereumjs/evm v2.1.0) * Update CHANGELOG, version bump, updated upstream dependency versions (@ethereumjs/vm v7.1.0) * Bump @ethereumjs/client version to v0.9.0, update CHANGELOG * Rebuild docs * README updates * Rebuild package-lock.json * evm: fix typo * blockchain: update changelog * Update packages/tx/CHANGELOG.md * Update packages/tx/CHANGELOG.md * Minor adjustements * Update packages/vm/CHANGELOG.md * VM: fix block profiler * Update CHANGELOG files with recent changes * Rebuild package-lock.json * verkle: update rlp and util to x.0.1 * Update devnet-10 -> devnet-11 in CHANGELOG files --------- Co-authored-by: Scorbajio Co-authored-by: Jochem Brouwer Co-authored-by: Gabriel Rocheleau --- package-lock.json | 164 ++-- packages/block/CHANGELOG.md | 8 + packages/block/docs/README.md | 27 + packages/block/docs/classes/Block.md | 66 +- packages/block/docs/classes/BlockHeader.md | 88 +-- packages/block/package.json | 12 +- packages/blockchain/CHANGELOG.md | 12 + .../blockchain/docs/classes/Blockchain.md | 83 +- .../docs/classes/CasperConsensus.md | 14 +- .../docs/classes/CliqueConsensus.md | 26 +- packages/blockchain/package.json | 16 +- packages/client/CHANGELOG.md | 89 +++ packages/client/README.md | 34 +- .../libp2p/net/package.json.browser.deps | 24 +- packages/client/package.json | 30 +- packages/common/CHANGELOG.md | 28 + packages/common/README.md | 3 + packages/common/docs/README.md | 47 +- packages/common/docs/classes/Common.md | 89 +-- packages/common/docs/enums/Chain.md | 11 + .../common/docs/enums/ConsensusAlgorithm.md | 6 +- packages/common/docs/enums/ConsensusType.md | 6 +- packages/common/docs/enums/CustomChain.md | 12 +- packages/common/docs/enums/Hardfork.md | 36 +- .../interfaces/EVMStateManagerInterface.md | 71 +- .../docs/interfaces/StateManagerInterface.md | 42 +- .../common/docs/interfaces/StorageRange.md | 44 ++ packages/common/package.json | 4 +- packages/devp2p/CHANGELOG.md | 7 + packages/devp2p/docs/classes/ETH-1.md | 36 +- .../devp2p/docs/enums/ETH.MESSAGE_CODES.md | 30 +- packages/devp2p/docs/modules/eth.md | 2 +- packages/devp2p/package.json | 12 +- packages/ethash/CHANGELOG.md | 4 + packages/ethash/package.json | 10 +- packages/evm/CHANGELOG.md | 31 + packages/evm/README.md | 36 + packages/evm/docs/README.md | 4 +- packages/evm/docs/classes/Message.md | 26 +- packages/evm/docs/interfaces/EVMResult.md | 4 +- packages/evm/docs/interfaces/ExecResult.md | 20 +- .../evm/docs/interfaces/InterpreterStep.md | 26 +- packages/evm/package.json | 10 +- packages/evm/profiler.png | Bin 0 -> 508930 bytes packages/evm/src/types.ts | 2 + packages/genesis/CHANGELOG.md | 12 + packages/genesis/package.json | 8 +- packages/rlp/CHANGELOG.md | 4 + packages/rlp/README.md | 2 +- packages/rlp/package.json | 2 +- packages/statemanager/CHANGELOG.md | 24 + packages/statemanager/README.md | 4 +- packages/statemanager/docs/README.md | 7 +- .../statemanager/docs/classes/CodeCache.md | 359 +++++++++ .../docs/classes/DefaultStateManager.md | 104 ++- .../docs/classes/EthersStateManager.md | 77 +- .../statemanager/docs/classes/StorageCache.md | 47 +- .../interfaces/DefaultStateManagerOpts.md | 41 +- .../docs/interfaces/EthersStateManagerOpts.md | 4 +- packages/statemanager/package.json | 14 +- packages/trie/CHANGELOG.md | 30 + packages/trie/docs/README.md | 23 +- packages/trie/docs/classes/Trie.md | 97 +-- .../trie/docs/interfaces/CheckpointDBOpts.md | 4 +- packages/trie/docs/interfaces/TrieOpts.md | 22 +- .../docs/interfaces/TrieShallowCopyOpts.md | 30 + packages/trie/package.json | 8 +- packages/tx/CHANGELOG.md | 29 + packages/tx/docs/README.md | 38 +- .../classes/AccessListEIP2930Transaction.md | 91 ++- .../tx/docs/classes/BlobEIP4844Transaction.md | 149 ++-- .../classes/FeeMarketEIP1559Transaction.md | 99 ++- packages/tx/docs/classes/LegacyTransaction.md | 85 +- .../tx/docs/classes/TransactionFactory.md | 8 +- packages/tx/docs/enums/Capability.md | 2 +- packages/tx/docs/enums/TransactionType.md | 8 +- .../interfaces/AccessListEIP2930TxData.md | 24 +- .../tx/docs/interfaces/BlobEIP4844TxData.md | 86 +- .../tx/docs/interfaces/EIP1559CompatibleTx.md | 649 +++++++++++++++ .../tx/docs/interfaces/EIP2718CompatibleTx.md | 593 ++++++++++++++ .../tx/docs/interfaces/EIP2930CompatibleTx.md | 619 +++++++++++++++ .../tx/docs/interfaces/EIP4844CompatibleTx.md | 740 ++++++++++++++++++ .../docs/interfaces/FeeMarketEIP1559TxData.md | 28 +- packages/tx/docs/interfaces/JsonRpcTx.md | 72 +- packages/tx/docs/interfaces/JsonTx.md | 62 +- .../tx/docs/interfaces/LegacyTxInterface.md | 580 ++++++++++++++ packages/tx/docs/interfaces/Transaction.md | 8 +- .../tx/docs/interfaces/TransactionCache.md | 48 ++ .../docs/interfaces/TransactionInterface.md | 164 +++- packages/tx/docs/interfaces/TxData.md | 8 +- packages/tx/docs/interfaces/TxValuesArray.md | 8 +- packages/tx/package.json | 8 +- packages/util/CHANGELOG.md | 14 + packages/util/docs/README.md | 341 ++++++-- packages/util/docs/classes/Account.md | 28 +- packages/util/docs/classes/Address.md | 26 +- packages/util/docs/classes/Withdrawal.md | 22 +- packages/util/docs/interfaces/AccountData.md | 8 +- .../util/docs/interfaces/ECDSASignature.md | 6 +- .../util/docs/interfaces/JsonRpcWithdrawal.md | 8 +- packages/util/package.json | 4 +- packages/verkle/package.json | 4 +- packages/vm/CHANGELOG.md | 36 + packages/vm/DEVELOPER.md | 6 + packages/vm/docs/README.md | 39 +- packages/vm/docs/classes/BlockBuilder.md | 30 +- packages/vm/docs/classes/VM.md | 40 +- packages/vm/docs/enums/BuildStatus.md | 6 +- .../vm/docs/interfaces/AfterBlockEvent.md | 14 +- packages/vm/docs/interfaces/AfterTxEvent.md | 22 +- packages/vm/docs/interfaces/BuildBlockOpts.md | 8 +- packages/vm/docs/interfaces/BuilderOpts.md | 2 +- packages/vm/docs/interfaces/RunBlockOpts.md | 20 +- packages/vm/docs/interfaces/RunBlockResult.md | 12 +- packages/vm/docs/interfaces/RunTxOpts.md | 16 +- packages/vm/docs/interfaces/RunTxResult.md | 20 +- packages/vm/docs/interfaces/SealBlockOpts.md | 4 +- packages/vm/docs/interfaces/VMOpts.md | 25 +- packages/vm/package.json | 20 +- packages/vm/src/runBlock.ts | 2 - packages/wallet/CHANGELOG.md | 4 + .../docs/classes/hdkey.EthereumHDKey.md | 25 +- packages/wallet/package.json | 4 +- 123 files changed, 6041 insertions(+), 1256 deletions(-) create mode 100644 packages/common/docs/interfaces/StorageRange.md create mode 100644 packages/evm/profiler.png create mode 100644 packages/statemanager/docs/classes/CodeCache.md create mode 100644 packages/trie/docs/interfaces/TrieShallowCopyOpts.md create mode 100644 packages/tx/docs/interfaces/EIP1559CompatibleTx.md create mode 100644 packages/tx/docs/interfaces/EIP2718CompatibleTx.md create mode 100644 packages/tx/docs/interfaces/EIP2930CompatibleTx.md create mode 100644 packages/tx/docs/interfaces/EIP4844CompatibleTx.md create mode 100644 packages/tx/docs/interfaces/LegacyTxInterface.md create mode 100644 packages/tx/docs/interfaces/TransactionCache.md diff --git a/package-lock.json b/package-lock.json index 1f410ceabf..17f68103b9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15683,14 +15683,14 @@ }, "packages/block": { "name": "@ethereumjs/block", - "version": "5.0.0", + "version": "5.0.1", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/common": "^4.0.0", - "@ethereumjs/rlp": "^5.0.0", - "@ethereumjs/trie": "^6.0.0", - "@ethereumjs/tx": "^5.0.0", - "@ethereumjs/util": "^9.0.0", + "@ethereumjs/common": "^4.1.0", + "@ethereumjs/rlp": "^5.0.1", + "@ethereumjs/trie": "^6.0.1", + "@ethereumjs/tx": "^5.1.0", + "@ethereumjs/util": "^9.0.1", "ethereum-cryptography": "^2.1.2" }, "devDependencies": { @@ -15702,16 +15702,16 @@ }, "packages/blockchain": { "name": "@ethereumjs/blockchain", - "version": "7.0.0", + "version": "7.0.1", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/block": "^5.0.0", - "@ethereumjs/common": "^4.0.0", - "@ethereumjs/ethash": "^3.0.0", - "@ethereumjs/rlp": "^5.0.0", - "@ethereumjs/trie": "^6.0.0", - "@ethereumjs/tx": "^5.0.0", - "@ethereumjs/util": "^9.0.0", + "@ethereumjs/block": "^5.0.1", + "@ethereumjs/common": "^4.1.0", + "@ethereumjs/ethash": "^3.0.1", + "@ethereumjs/rlp": "^5.0.1", + "@ethereumjs/trie": "^6.0.1", + "@ethereumjs/tx": "^5.1.0", + "@ethereumjs/util": "^9.0.1", "debug": "^4.3.3", "ethereum-cryptography": "^2.1.2", "lru-cache": "^10.0.0" @@ -15731,23 +15731,23 @@ }, "packages/client": { "name": "@ethereumjs/client", - "version": "0.8.1", + "version": "0.9.0", "hasInstallScript": true, "license": "MPL-2.0", "dependencies": { - "@ethereumjs/block": "5.0.0", - "@ethereumjs/blockchain": "7.0.0", - "@ethereumjs/common": "4.0.0", - "@ethereumjs/devp2p": "6.0.0", - "@ethereumjs/ethash": "3.0.0", - "@ethereumjs/evm": "2.0.0", - "@ethereumjs/genesis": "0.1.0", - "@ethereumjs/rlp": "5.0.0", - "@ethereumjs/statemanager": "2.0.0", - "@ethereumjs/trie": "6.0.0", - "@ethereumjs/tx": "5.0.0", - "@ethereumjs/util": "9.0.0", - "@ethereumjs/vm": "7.0.0", + "@ethereumjs/block": "5.0.1", + "@ethereumjs/blockchain": "7.0.1", + "@ethereumjs/common": "4.1.0", + "@ethereumjs/devp2p": "6.0.1", + "@ethereumjs/ethash": "3.0.1", + "@ethereumjs/evm": "2.1.0", + "@ethereumjs/genesis": "0.2.0", + "@ethereumjs/rlp": "5.0.1", + "@ethereumjs/statemanager": "2.1.0", + "@ethereumjs/trie": "6.0.1", + "@ethereumjs/tx": "5.1.0", + "@ethereumjs/util": "9.0.1", + "@ethereumjs/vm": "7.1.0", "abstract-level": "^1.0.3", "body-parser": "^1.19.2", "c-kzg": "^2.1.2", @@ -15866,21 +15866,21 @@ }, "packages/common": { "name": "@ethereumjs/common", - "version": "4.0.0", + "version": "4.1.0", "license": "MIT", "dependencies": { - "@ethereumjs/util": "^9.0.0", + "@ethereumjs/util": "^9.0.1", "crc": "^4.3.2" } }, "packages/devp2p": { "name": "@ethereumjs/devp2p", - "version": "6.0.0", + "version": "6.0.1", "license": "MIT", "dependencies": { - "@ethereumjs/common": "^4.0.0", - "@ethereumjs/rlp": "^5.0.0", - "@ethereumjs/util": "^9.0.0", + "@ethereumjs/common": "^4.1.0", + "@ethereumjs/rlp": "^5.0.1", + "@ethereumjs/util": "^9.0.1", "@scure/base": "1.1.1", "debug": "^4.3.3", "ethereum-cryptography": "^2.1.2", @@ -15890,8 +15890,8 @@ "snappyjs": "^0.6.1" }, "devDependencies": { - "@ethereumjs/block": "^5.0.0", - "@ethereumjs/tx": "^5.0.0", + "@ethereumjs/block": "^5.0.1", + "@ethereumjs/tx": "^5.1.0", "@types/debug": "^4.1.9", "@types/k-bucket": "^5.0.0", "chalk": "^2.4.2", @@ -15974,17 +15974,17 @@ }, "packages/ethash": { "name": "@ethereumjs/ethash", - "version": "3.0.0", + "version": "3.0.1", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/block": "^5.0.0", - "@ethereumjs/rlp": "^5.0.0", - "@ethereumjs/util": "^9.0.0", + "@ethereumjs/block": "^5.0.1", + "@ethereumjs/rlp": "^5.0.1", + "@ethereumjs/util": "^9.0.1", "bigint-crypto-utils": "^3.2.2", "ethereum-cryptography": "^2.1.2" }, "devDependencies": { - "@ethereumjs/common": "^4.0.0" + "@ethereumjs/common": "^4.1.0" }, "engines": { "node": ">=18" @@ -15992,13 +15992,13 @@ }, "packages/evm": { "name": "@ethereumjs/evm", - "version": "2.0.0", + "version": "2.1.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/common": "^4.0.0", - "@ethereumjs/statemanager": "^2.0.0", - "@ethereumjs/tx": "^5.0.0", - "@ethereumjs/util": "^9.0.0", + "@ethereumjs/common": "^4.1.0", + "@ethereumjs/statemanager": "^2.1.0", + "@ethereumjs/tx": "^5.1.0", + "@ethereumjs/util": "^9.0.1", "@types/debug": "^4.1.9", "debug": "^4.3.3", "ethereum-cryptography": "^2.1.2", @@ -16024,14 +16024,14 @@ }, "packages/genesis": { "name": "@ethereumjs/genesis", - "version": "0.1.0", + "version": "0.2.0", "license": "MIT", "dependencies": { - "@ethereumjs/common": "^4.0.0", - "@ethereumjs/util": "^9.0.0" + "@ethereumjs/common": "^4.1.0", + "@ethereumjs/util": "^9.0.1" }, "devDependencies": { - "@ethereumjs/trie": "^6.0.0" + "@ethereumjs/trie": "^6.0.1" }, "engines": { "node": ">=18" @@ -16039,7 +16039,7 @@ }, "packages/rlp": { "name": "@ethereumjs/rlp", - "version": "5.0.0", + "version": "5.0.1", "license": "MPL-2.0", "bin": { "rlp": "bin/rlp.cjs" @@ -16050,13 +16050,13 @@ }, "packages/statemanager": { "name": "@ethereumjs/statemanager", - "version": "2.0.0", + "version": "2.1.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/common": "^4.0.0", - "@ethereumjs/rlp": "^5.0.0", - "@ethereumjs/trie": "^6.0.0", - "@ethereumjs/util": "^9.0.0", + "@ethereumjs/common": "^4.1.0", + "@ethereumjs/rlp": "^5.0.1", + "@ethereumjs/trie": "^6.0.1", + "@ethereumjs/util": "^9.0.1", "debug": "^4.3.3", "ethereum-cryptography": "^2.1.2", "ethers": "^6.4.0", @@ -16064,8 +16064,8 @@ "lru-cache": "^10.0.0" }, "devDependencies": { - "@ethereumjs/block": "^5.0.0", - "@ethereumjs/genesis": "^0.1.0", + "@ethereumjs/block": "^5.0.1", + "@ethereumjs/genesis": "^0.2.0", "@types/debug": "^4.1.9" } }, @@ -16079,18 +16079,18 @@ }, "packages/trie": { "name": "@ethereumjs/trie", - "version": "6.0.0", + "version": "6.0.1", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/rlp": "^5.0.0", - "@ethereumjs/util": "^9.0.0", + "@ethereumjs/rlp": "^5.0.1", + "@ethereumjs/util": "^9.0.1", "@types/readable-stream": "^2.3.13", "ethereum-cryptography": "^2.1.2", "lru-cache": "^10.0.0", "readable-stream": "^3.6.0" }, "devDependencies": { - "@ethereumjs/genesis": "^0.1.0", + "@ethereumjs/genesis": "^0.2.0", "@types/benchmark": "^1.0.33", "abstract-level": "^1.0.3", "debug": "^4.3.4", @@ -16116,12 +16116,12 @@ }, "packages/tx": { "name": "@ethereumjs/tx", - "version": "5.0.0", + "version": "5.1.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/common": "^4.0.0", - "@ethereumjs/rlp": "^5.0.0", - "@ethereumjs/util": "^9.0.0", + "@ethereumjs/common": "^4.1.0", + "@ethereumjs/rlp": "^5.0.1", + "@ethereumjs/util": "^9.0.1", "ethereum-cryptography": "^2.1.2" }, "devDependencies": { @@ -16144,10 +16144,10 @@ }, "packages/util": { "name": "@ethereumjs/util", - "version": "9.0.0", + "version": "9.0.1", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/rlp": "^5.0.0", + "@ethereumjs/rlp": "^5.0.1", "ethereum-cryptography": "^2.1.2" }, "devDependencies": {}, @@ -16168,8 +16168,8 @@ "version": "0.0.1", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/rlp": "5.0.0", - "@ethereumjs/util": "9.0.0", + "@ethereumjs/rlp": "5.0.1", + "@ethereumjs/util": "9.0.1", "lru-cache": "^10.0.0" }, "engines": { @@ -16186,18 +16186,18 @@ }, "packages/vm": { "name": "@ethereumjs/vm", - "version": "7.0.0", + "version": "7.1.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/block": "^5.0.0", - "@ethereumjs/blockchain": "^7.0.0", - "@ethereumjs/common": "^4.0.0", - "@ethereumjs/evm": "^2.0.0", - "@ethereumjs/rlp": "^5.0.0", - "@ethereumjs/statemanager": "^2.0.0", - "@ethereumjs/trie": "^6.0.0", - "@ethereumjs/tx": "^5.0.0", - "@ethereumjs/util": "^9.0.0", + "@ethereumjs/block": "^5.0.1", + "@ethereumjs/blockchain": "^7.0.1", + "@ethereumjs/common": "^4.1.0", + "@ethereumjs/evm": "^2.1.0", + "@ethereumjs/rlp": "^5.0.1", + "@ethereumjs/statemanager": "^2.1.0", + "@ethereumjs/trie": "^6.0.1", + "@ethereumjs/tx": "^5.1.0", + "@ethereumjs/util": "^9.0.1", "debug": "^4.3.3", "ethereum-cryptography": "^2.1.2" }, @@ -16221,10 +16221,10 @@ }, "packages/wallet": { "name": "@ethereumjs/wallet", - "version": "2.0.0", + "version": "2.0.1", "license": "MIT", "dependencies": { - "@ethereumjs/util": "^9.0.0", + "@ethereumjs/util": "^9.0.1", "@scure/base": "^1.1.1", "ethereum-cryptography": "^2.1.2", "js-md5": "^0.7.3", diff --git a/packages/block/CHANGELOG.md b/packages/block/CHANGELOG.md index af46672cb2..4f3ff34780 100644 --- a/packages/block/CHANGELOG.md +++ b/packages/block/CHANGELOG.md @@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 5.0.1 - 2023-10-26 + +### Dencun devnet-11 Compatibility + +This release contains various fixes and spec updates related to the Dencun (Deneb/Cancun) HF and is now compatible with the specs as used in [devnet-11](https://github.com/ethpandaops/dencun-testnet) (October 2023). + +- Update peer dependency for `kzg` module to use the official trusted setup for `mainnet`, PR [#3107](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3107) + ## 5.0.0 - 2023-08-09 Final release version from the breaking release round from Summer 2023 on the EthereumJS libraries, thanks to the whole team for this amazing accomplishment! ❤️ 🥳 diff --git a/packages/block/docs/README.md b/packages/block/docs/README.md index e96fd37b93..91db86da88 100644 --- a/packages/block/docs/README.md +++ b/packages/block/docs/README.md @@ -29,6 +29,10 @@ - [WithdrawalV1](README.md#withdrawalv1) - [WithdrawalsBytes](README.md#withdrawalsbytes) +### Functions + +- [executionPayloadFromBeaconPayload](README.md#executionpayloadfrombeaconpayload) + ## Type Aliases ### BlockBodyBytes @@ -142,3 +146,26 @@ ___ #### Defined in [types.ts:113](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/types.ts#L113) + +## Functions + +### executionPayloadFromBeaconPayload + +▸ **executionPayloadFromBeaconPayload**(`payload`): [`ExecutionPayload`](README.md#executionpayload) + +Converts a beacon block execution payload JSON object BeaconPayloadJson to the [ExecutionPayload](README.md#executionpayload) data needed to construct a [Block](classes/Block.md). +The JSON data can be retrieved from a consensus layer (CL) client on this Beacon API `/eth/v2/beacon/blocks/[block number]` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `payload` | `BeaconPayloadJson` | + +#### Returns + +[`ExecutionPayload`](README.md#executionpayload) + +#### Defined in + +[from-beacon-payload.ts:39](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/from-beacon-payload.ts#L39) diff --git a/packages/block/docs/classes/Block.md b/packages/block/docs/classes/Block.md index ce2e631017..6a6754cba5 100644 --- a/packages/block/docs/classes/Block.md +++ b/packages/block/docs/classes/Block.md @@ -69,7 +69,7 @@ Use the static factory methods to assist in creating a Block object from varying #### Defined in -[block.ts:360](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L360) +[block.ts:361](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L361) ## Properties @@ -79,7 +79,7 @@ Use the static factory methods to assist in creating a Block object from varying #### Defined in -[block.ts:51](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L51) +[block.ts:52](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L52) ___ @@ -89,7 +89,7 @@ ___ #### Defined in -[block.ts:46](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L46) +[block.ts:47](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L47) ___ @@ -99,7 +99,7 @@ ___ #### Defined in -[block.ts:47](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L47) +[block.ts:48](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L48) ___ @@ -109,7 +109,7 @@ ___ #### Defined in -[block.ts:50](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L50) +[block.ts:51](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L51) ___ @@ -119,7 +119,7 @@ ___ #### Defined in -[block.ts:48](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L48) +[block.ts:49](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L49) ___ @@ -129,7 +129,7 @@ ___ #### Defined in -[block.ts:49](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L49) +[block.ts:50](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L50) ## Methods @@ -145,7 +145,7 @@ Return a compact error string representation of the object #### Defined in -[block.ts:698](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L698) +[block.ts:701](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L701) ___ @@ -167,7 +167,7 @@ Returns the canonical difficulty for this block. #### Defined in -[block.ts:664](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L664) +[block.ts:667](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L667) ___ @@ -183,7 +183,7 @@ Generates transaction trie for validation. #### Defined in -[block.ts:441](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L441) +[block.ts:442](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L442) ___ @@ -201,7 +201,7 @@ an array of error strings #### Defined in -[block.ts:469](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L469) +[block.ts:470](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L470) ___ @@ -217,7 +217,7 @@ Returns the hash of the block. #### Defined in -[block.ts:420](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L420) +[block.ts:421](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L421) ___ @@ -233,7 +233,7 @@ Determines if this block is the genesis block. #### Defined in -[block.ts:427](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L427) +[block.ts:428](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L428) ___ @@ -249,7 +249,7 @@ Returns a Array of the raw Bytes Arays of this block, in order. #### Defined in -[block.ts:402](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L402) +[block.ts:403](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L403) ___ @@ -265,7 +265,7 @@ Returns the rlp encoding of the block. #### Defined in -[block.ts:434](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L434) +[block.ts:435](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L435) ___ @@ -281,7 +281,7 @@ Returns the block in JSON format. #### Defined in -[block.ts:681](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L681) +[block.ts:684](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L684) ___ @@ -299,7 +299,7 @@ True if all transactions are valid, false otherwise #### Defined in -[block.ts:519](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L519) +[block.ts:520](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L520) ___ @@ -318,7 +318,7 @@ True if the transaction trie is valid, false otherwise #### Defined in -[block.ts:451](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L451) +[block.ts:452](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L452) ___ @@ -336,7 +336,7 @@ true if the uncle's hash is valid, false otherwise. #### Defined in -[block.ts:613](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L613) +[block.ts:616](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L616) ___ @@ -360,7 +360,7 @@ blob gas per block #### Defined in -[block.ts:567](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L567) +[block.ts:568](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L568) ___ @@ -387,7 +387,7 @@ It checks: #### Defined in -[block.ts:534](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L534) +[block.ts:535](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L535) ___ @@ -410,7 +410,7 @@ Throws if invalid #### Defined in -[block.ts:674](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L674) +[block.ts:677](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L677) ___ @@ -432,7 +432,7 @@ Header does not count an uncle twice. #### Defined in -[block.ts:640](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L640) +[block.ts:643](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L643) ___ @@ -450,7 +450,7 @@ true if the withdrawals trie root is valid, false otherwise #### Defined in -[block.ts:623](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L623) +[block.ts:626](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L626) ___ @@ -475,7 +475,7 @@ the block constructed block #### Defined in -[block.ts:348](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L348) +[block.ts:349](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L349) ___ @@ -498,7 +498,7 @@ Static constructor to create a block from a block data dictionary #### Defined in -[block.ts:85](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L85) +[block.ts:86](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L86) ___ @@ -523,7 +523,7 @@ the block constructed block #### Defined in -[block.ts:288](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L288) +[block.ts:289](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L289) ___ @@ -549,7 +549,7 @@ the block specified by `blockTag` #### Defined in -[block.ts:228](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L228) +[block.ts:229](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L229) ___ @@ -572,7 +572,7 @@ Static constructor to create a block from a RLP-serialized block #### Defined in -[block.ts:134](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L134) +[block.ts:135](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L135) ___ @@ -596,7 +596,7 @@ Creates a new block object from Ethereum JSON RPC. #### Defined in -[block.ts:217](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L217) +[block.ts:218](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L218) ___ @@ -619,7 +619,7 @@ Static constructor to create a block from an array of Bytes values #### Defined in -[block.ts:150](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L150) +[block.ts:151](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L151) ___ @@ -642,7 +642,7 @@ Returns the txs trie root for array of TypedTransaction #### Defined in -[block.ts:71](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L71) +[block.ts:72](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L72) ___ @@ -665,4 +665,4 @@ Returns the withdrawals trie root for array of Withdrawal. #### Defined in -[block.ts:58](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L58) +[block.ts:59](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/block.ts#L59) diff --git a/packages/block/docs/classes/BlockHeader.md b/packages/block/docs/classes/BlockHeader.md index 42fe23d234..8702dba176 100644 --- a/packages/block/docs/classes/BlockHeader.md +++ b/packages/block/docs/classes/BlockHeader.md @@ -85,7 +85,7 @@ varying data types. For a default empty header, use [fromHeaderData](BlockHeader #### Defined in -[header.ts:142](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L142) +[header.ts:147](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L147) ## Properties @@ -95,7 +95,7 @@ varying data types. For a default empty header, use [fromHeaderData](BlockHeader #### Defined in -[header.ts:55](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L55) +[header.ts:60](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L60) ___ @@ -105,7 +105,7 @@ ___ #### Defined in -[header.ts:57](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L57) +[header.ts:62](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L62) ___ @@ -115,7 +115,7 @@ ___ #### Defined in -[header.ts:42](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L42) +[header.ts:47](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L47) ___ @@ -125,7 +125,7 @@ ___ #### Defined in -[header.ts:61](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L61) +[header.ts:66](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L66) ___ @@ -135,7 +135,7 @@ ___ #### Defined in -[header.ts:47](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L47) +[header.ts:52](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L52) ___ @@ -145,7 +145,7 @@ ___ #### Defined in -[header.ts:58](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L58) +[header.ts:63](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L63) ___ @@ -155,7 +155,7 @@ ___ #### Defined in -[header.ts:52](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L52) +[header.ts:57](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L57) ___ @@ -165,7 +165,7 @@ ___ #### Defined in -[header.ts:49](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L49) +[header.ts:54](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L54) ___ @@ -175,7 +175,7 @@ ___ #### Defined in -[header.ts:50](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L50) +[header.ts:55](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L55) ___ @@ -185,7 +185,7 @@ ___ #### Defined in -[header.ts:46](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L46) +[header.ts:51](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L51) ___ @@ -195,7 +195,7 @@ ___ #### Defined in -[header.ts:53](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L53) +[header.ts:58](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L58) ___ @@ -205,7 +205,7 @@ ___ #### Defined in -[header.ts:54](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L54) +[header.ts:59](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L59) ___ @@ -215,7 +215,7 @@ ___ #### Defined in -[header.ts:48](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L48) +[header.ts:53](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L53) ___ @@ -225,7 +225,7 @@ ___ #### Defined in -[header.ts:59](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L59) +[header.ts:64](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L64) ___ @@ -235,7 +235,7 @@ ___ #### Defined in -[header.ts:40](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L40) +[header.ts:45](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L45) ___ @@ -245,7 +245,7 @@ ___ #### Defined in -[header.ts:45](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L45) +[header.ts:50](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L50) ___ @@ -255,7 +255,7 @@ ___ #### Defined in -[header.ts:43](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L43) +[header.ts:48](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L48) ___ @@ -265,7 +265,7 @@ ___ #### Defined in -[header.ts:51](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L51) +[header.ts:56](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L56) ___ @@ -275,7 +275,7 @@ ___ #### Defined in -[header.ts:44](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L44) +[header.ts:49](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L49) ___ @@ -285,7 +285,7 @@ ___ #### Defined in -[header.ts:41](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L41) +[header.ts:46](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L46) ___ @@ -295,7 +295,7 @@ ___ #### Defined in -[header.ts:56](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L56) +[header.ts:61](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L61) ## Accessors @@ -311,7 +311,7 @@ EIP-4399: After merge to PoS, `mixHash` supplanted as `prevRandao` #### Defined in -[header.ts:70](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L70) +[header.ts:75](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L75) ## Methods @@ -335,7 +335,7 @@ the total blob gas fee for numBlobs blobs #### Defined in -[header.ts:599](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L599) +[header.ts:598](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L598) ___ @@ -367,7 +367,7 @@ Calculates the excess blob gas for next (hopefully) post EIP 4844 block. #### Defined in -[header.ts:610](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L610) +[header.ts:609](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L609) ___ @@ -388,7 +388,7 @@ in conjunction with [cliqueIsEpochTransition](BlockHeader.md#cliqueisepochtransi #### Defined in -[header.ts:838](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L838) +[header.ts:830](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L830) ___ @@ -405,7 +405,7 @@ Returns extra seal data #### Defined in -[header.ts:802](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L802) +[header.ts:798](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L798) ___ @@ -422,7 +422,7 @@ Returns extra vanity data #### Defined in -[header.ts:793](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L793) +[header.ts:789](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L789) ___ @@ -439,7 +439,7 @@ header (only clique PoA, throws otherwise) #### Defined in -[header.ts:781](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L781) +[header.ts:777](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L777) ___ @@ -455,7 +455,7 @@ PoA clique signature hash without the seal. #### Defined in -[header.ts:770](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L770) +[header.ts:766](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L766) ___ @@ -471,7 +471,7 @@ Returns the signer address #### Defined in -[header.ts:875](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L875) +[header.ts:867](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L867) ___ @@ -496,7 +496,7 @@ Verifies the signature of the block (last 65 bytes of extraData field) #### Defined in -[header.ts:863](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L863) +[header.ts:855](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L855) ___ @@ -512,7 +512,7 @@ Return a compact error string representation of the object #### Defined in -[header.ts:958](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L958) +[header.ts:950](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L950) ___ @@ -534,7 +534,7 @@ Returns the canonical difficulty for this block. #### Defined in -[header.ts:697](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L697) +[header.ts:695](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L695) ___ @@ -552,7 +552,7 @@ the price in gwei per unit of blob gas spent #### Defined in -[header.ts:582](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L582) +[header.ts:581](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L581) ___ @@ -568,7 +568,7 @@ Returns the hash of the block header. #### Defined in -[header.ts:665](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L665) +[header.ts:664](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L664) ___ @@ -584,7 +584,7 @@ Checks if the block header is a genesis header. #### Defined in -[header.ts:679](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L679) +[header.ts:677](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L677) ___ @@ -600,7 +600,7 @@ Returns a Uint8Array Array of the raw Bytes in this header, in order. #### Defined in -[header.ts:625](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L625) +[header.ts:624](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L624) ___ @@ -616,7 +616,7 @@ Returns the rlp encoding of the block header. #### Defined in -[header.ts:892](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L892) +[header.ts:884](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L884) ___ @@ -632,7 +632,7 @@ Returns the block header in JSON format. #### Defined in -[header.ts:899](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L899) +[header.ts:891](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L891) ___ @@ -655,7 +655,7 @@ Throws if out of bounds. #### Defined in -[header.ts:495](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L495) +[header.ts:499](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L499) ___ @@ -678,7 +678,7 @@ Static constructor to create a block header from a header data dictionary #### Defined in -[header.ts:86](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L86) +[header.ts:91](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L91) ___ @@ -701,7 +701,7 @@ Static constructor to create a block header from a RLP-serialized header #### Defined in -[header.ts:96](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L96) +[header.ts:101](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L101) ___ @@ -724,4 +724,4 @@ Static constructor to create a block header from an array of Bytes values #### Defined in -[header.ts:110](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L110) +[header.ts:115](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/block/src/header.ts#L115) diff --git a/packages/block/package.json b/packages/block/package.json index 3ebfa6dd48..df3543c3e7 100644 --- a/packages/block/package.json +++ b/packages/block/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/block", - "version": "5.0.0", + "version": "5.0.1", "description": "Provides Block serialization and help functions", "keywords": [ "ethereum", @@ -45,11 +45,11 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/common": "^4.0.0", - "@ethereumjs/rlp": "^5.0.0", - "@ethereumjs/trie": "^6.0.0", - "@ethereumjs/tx": "^5.0.0", - "@ethereumjs/util": "^9.0.0", + "@ethereumjs/common": "^4.1.0", + "@ethereumjs/rlp": "^5.0.1", + "@ethereumjs/trie": "^6.0.1", + "@ethereumjs/tx": "^5.1.0", + "@ethereumjs/util": "^9.0.1", "ethereum-cryptography": "^2.1.2" }, "devDependencies": { diff --git a/packages/blockchain/CHANGELOG.md b/packages/blockchain/CHANGELOG.md index cb6aa475ef..3c9230cd4b 100644 --- a/packages/blockchain/CHANGELOG.md +++ b/packages/blockchain/CHANGELOG.md @@ -6,6 +6,18 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 7.0.1 - 2023-10-26 + +### Dencun devnet-11 Compatibility + +This release contains various fixes and spec updates related to the Dencun (Deneb/Cancun) HF and is now compatible with the specs as used in [devnet-11](https://github.com/ethpandaops/dencun-testnet) (October 2023). + +- Update peer dependency for `kzg` module to use the official trusted setup for `mainnet`, PR [#3107](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3107) + +### Other Changes + +- New `getIteratorHeadSafe()` method which returns `undefined` if the provided head is not found. This differs from `getIteratorHead`, which returns the genesis block in case if the provided head is not found, PR [#3099](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3099) + ## 7.0.0 - 2023-08-09 Final release version from the breaking release round from Summer 2023 on the EthereumJS libraries, thanks to the whole team for this amazing accomplishment! ❤️ 🥳 diff --git a/packages/blockchain/docs/classes/Blockchain.md b/packages/blockchain/docs/classes/Blockchain.md index f6afb57954..741a3b67a6 100644 --- a/packages/blockchain/docs/classes/Blockchain.md +++ b/packages/blockchain/docs/classes/Blockchain.md @@ -32,6 +32,7 @@ This class stores and interacts with blocks. - [getCanonicalHeadHeader](Blockchain.md#getcanonicalheadheader) - [getCanonicalHeader](Blockchain.md#getcanonicalheader) - [getIteratorHead](Blockchain.md#getiteratorhead) +- [getIteratorHeadSafe](Blockchain.md#getiteratorheadsafe) - [getParentTD](Blockchain.md#getparenttd) - [getTotalDifficulty](Blockchain.md#gettotaldifficulty) - [iterator](Blockchain.md#iterator) @@ -57,7 +58,7 @@ This class stores and interacts with blocks. #### Defined in -[blockchain.ts:75](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L75) +[blockchain.ts:78](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L78) ___ @@ -71,7 +72,7 @@ ___ #### Defined in -[blockchain.ts:47](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L47) +[blockchain.ts:50](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L50) ___ @@ -81,7 +82,7 @@ ___ #### Defined in -[blockchain.ts:48](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L48) +[blockchain.ts:51](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L51) ___ @@ -91,7 +92,7 @@ ___ #### Defined in -[blockchain.ts:49](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L49) +[blockchain.ts:52](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L52) ## Accessors @@ -107,7 +108,7 @@ The genesis Block for the blockchain. #### Defined in -[blockchain.ts:1318](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L1318) +[blockchain.ts:1345](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L1345) ## Methods @@ -129,7 +130,7 @@ The genesis Block for the blockchain. #### Defined in -[blockchain.ts:1255](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L1255) +[blockchain.ts:1282](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L1282) ___ @@ -151,7 +152,7 @@ Creates a genesis Block for the blockchain with params from Common.genesis #### Defined in -[blockchain.ts:1327](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L1327) +[blockchain.ts:1354](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L1354) ___ @@ -184,7 +185,7 @@ we can be sure it is correct). #### Defined in -[blockchain.ts:856](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L856) +[blockchain.ts:883](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L883) ___ @@ -211,7 +212,7 @@ block will be the canonical block at that number in the chain #### Defined in -[blockchain.ts:724](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L724) +[blockchain.ts:751](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L751) ___ @@ -237,7 +238,7 @@ Looks up many blocks relative to blockId Note: due to `GetBlockHeaders #### Defined in -[blockchain.ts:773](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L773) +[blockchain.ts:800](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L800) ___ @@ -257,7 +258,7 @@ Returns the latest full block in the canonical chain. #### Defined in -[blockchain.ts:333](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L333) +[blockchain.ts:354](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L354) ___ @@ -273,7 +274,7 @@ Returns the latest header in the canonical chain. #### Defined in -[blockchain.ts:322](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L322) +[blockchain.ts:343](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L343) ___ @@ -295,7 +296,7 @@ Gets a header by number. Header must be in the canonical chain #### Defined in -[blockchain.ts:1296](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L1296) +[blockchain.ts:1323](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L1323) ___ @@ -326,7 +327,29 @@ has not been run. This matches the behavior of [iterator](Blockchain.md#iterator #### Defined in -[blockchain.ts:310](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L310) +[blockchain.ts:313](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L313) + +___ + +### getIteratorHeadSafe + +▸ **getIteratorHeadSafe**(`name?`): `Promise`<`undefined` \| `Block`\> + +This method differs from `getIteratorHead`. If the head is not found, it returns `undefined`. + +#### Parameters + +| Name | Type | Default value | Description | +| :------ | :------ | :------ | :------ | +| `name` | `string` | `'vm'` | Optional name of the iterator head (default: 'vm') | + +#### Returns + +`Promise`<`undefined` \| `Block`\> + +#### Defined in + +[blockchain.ts:324](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L324) ___ @@ -348,7 +371,7 @@ Gets total difficulty for a header's parent, helpful for determining terminal bl #### Defined in -[blockchain.ts:759](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L759) +[blockchain.ts:786](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L786) ___ @@ -375,7 +398,7 @@ Gets total difficulty for a block specified by hash and number #### Defined in -[blockchain.ts:745](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L745) +[blockchain.ts:772](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L772) ___ @@ -408,7 +431,7 @@ number of blocks actually iterated #### Defined in -[blockchain.ts:957](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L957) +[blockchain.ts:984](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L984) ___ @@ -438,7 +461,7 @@ heads/hashes are overwritten. #### Defined in -[blockchain.ts:363](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L363) +[blockchain.ts:384](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L384) ___ @@ -465,7 +488,7 @@ chain is rebuilt and any stale heads/hashes are overwritten. #### Defined in -[blockchain.ts:349](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L349) +[blockchain.ts:370](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L370) ___ @@ -491,7 +514,7 @@ heads/hashes are overwritten. #### Defined in -[blockchain.ts:390](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L390) +[blockchain.ts:411](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L411) ___ @@ -518,7 +541,7 @@ chain is rebuilt and any stale heads/hashes are overwritten. #### Defined in -[blockchain.ts:376](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L376) +[blockchain.ts:397](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L397) ___ @@ -543,7 +566,7 @@ canonicalHead and cleans up canonical references greater than canonicalHead #### Defined in -[blockchain.ts:402](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L402) +[blockchain.ts:423](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L423) ___ @@ -567,7 +590,7 @@ any other error, this function throws. #### Defined in -[blockchain.ts:1310](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L1310) +[blockchain.ts:1337](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L1337) ___ @@ -591,7 +614,7 @@ Therefore, the array needs to be ordered upon number. #### Defined in -[blockchain.ts:815](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L815) +[blockchain.ts:842](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L842) ___ @@ -619,7 +642,7 @@ When calling the iterator, the iterator will start running the first child block #### Defined in -[blockchain.ts:1040](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L1040) +[blockchain.ts:1067](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L1067) ___ @@ -647,7 +670,7 @@ the original. #### Defined in -[blockchain.ts:197](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L197) +[blockchain.ts:200](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L200) ___ @@ -670,7 +693,7 @@ whether the block is internally consistent #### Defined in -[blockchain.ts:627](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L627) +[blockchain.ts:654](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L654) ___ @@ -708,7 +731,7 @@ It verifies the current block against the `parentHash`: #### Defined in -[blockchain.ts:560](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L560) +[blockchain.ts:587](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L587) ___ @@ -731,7 +754,7 @@ encouraged method to use when creating a blockchain object. #### Defined in -[blockchain.ts:87](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L87) +[blockchain.ts:90](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L90) ___ @@ -755,4 +778,4 @@ objects must be readable by Block.fromBlockData #### Defined in -[blockchain.ts:101](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L101) +[blockchain.ts:104](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/blockchain.ts#L104) diff --git a/packages/blockchain/docs/classes/CasperConsensus.md b/packages/blockchain/docs/classes/CasperConsensus.md index ab231f096d..697b133a9a 100644 --- a/packages/blockchain/docs/classes/CasperConsensus.md +++ b/packages/blockchain/docs/classes/CasperConsensus.md @@ -34,7 +34,7 @@ This class encapsulates Casper-related consensus functionality when used with th #### Defined in -[consensus/casper.ts:12](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/casper.ts#L12) +[consensus/casper.ts:13](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/casper.ts#L13) ## Properties @@ -48,7 +48,7 @@ This class encapsulates Casper-related consensus functionality when used with th #### Defined in -[consensus/casper.ts:10](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/casper.ts#L10) +[consensus/casper.ts:11](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/casper.ts#L11) ## Methods @@ -68,7 +68,7 @@ Initialize genesis for consensus mechanism #### Defined in -[consensus/casper.ts:16](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/casper.ts#L16) +[consensus/casper.ts:17](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/casper.ts#L17) ___ @@ -88,7 +88,7 @@ Update consensus on new block #### Defined in -[consensus/casper.ts:28](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/casper.ts#L28) +[consensus/casper.ts:29](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/casper.ts#L29) ___ @@ -108,7 +108,7 @@ Set up consensus mechanism #### Defined in -[consensus/casper.ts:18](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/casper.ts#L18) +[consensus/casper.ts:19](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/casper.ts#L19) ___ @@ -128,7 +128,7 @@ Validate block consensus parameters #### Defined in -[consensus/casper.ts:20](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/casper.ts#L20) +[consensus/casper.ts:21](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/casper.ts#L21) ___ @@ -152,4 +152,4 @@ ___ #### Defined in -[consensus/casper.ts:22](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/casper.ts#L22) +[consensus/casper.ts:23](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/casper.ts#L23) diff --git a/packages/blockchain/docs/classes/CliqueConsensus.md b/packages/blockchain/docs/classes/CliqueConsensus.md index 684a2213fc..3a53a4bbc7 100644 --- a/packages/blockchain/docs/classes/CliqueConsensus.md +++ b/packages/blockchain/docs/classes/CliqueConsensus.md @@ -44,7 +44,7 @@ Now replay all blocks on top of it. This should validate the chain up to the new #### Defined in -[consensus/clique.ts:109](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L109) +[consensus/clique.ts:112](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L112) ## Properties @@ -60,7 +60,7 @@ On reorgs elements from the array are removed until BLOCK_NUMBER > REORG_BLOCK. #### Defined in -[consensus/clique.ts:107](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L107) +[consensus/clique.ts:110](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L110) ___ @@ -81,7 +81,7 @@ Always keep at least one item on the stack. #### Defined in -[consensus/clique.ts:82](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L82) +[consensus/clique.ts:85](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L85) ___ @@ -104,7 +104,7 @@ On reorgs elements from the array are removed until BLOCK_NUMBER > REORG_BLOCK. #### Defined in -[consensus/clique.ts:98](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L98) +[consensus/clique.ts:101](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L101) ___ @@ -118,7 +118,7 @@ ___ #### Defined in -[consensus/clique.ts:60](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L60) +[consensus/clique.ts:63](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L63) ___ @@ -128,7 +128,7 @@ ___ #### Defined in -[consensus/clique.ts:59](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L59) +[consensus/clique.ts:62](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L62) ## Methods @@ -150,7 +150,7 @@ Returns a list with the current block signers #### Defined in -[consensus/clique.ts:426](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L426) +[consensus/clique.ts:429](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L429) ___ @@ -173,7 +173,7 @@ Helper to determine if a signer is in or out of turn for the next block. #### Defined in -[consensus/clique.ts:598](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L598) +[consensus/clique.ts:601](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L601) ___ @@ -199,7 +199,7 @@ Initialize genesis for consensus mechanism #### Defined in -[consensus/clique.ts:127](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L127) +[consensus/clique.ts:130](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L130) ___ @@ -226,7 +226,7 @@ Update consensus on new block #### Defined in -[consensus/clique.ts:191](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L191) +[consensus/clique.ts:194](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L194) ___ @@ -250,7 +250,7 @@ ___ #### Defined in -[consensus/clique.ts:119](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L119) +[consensus/clique.ts:122](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L122) ___ @@ -276,7 +276,7 @@ Validate block consensus parameters #### Defined in -[consensus/clique.ts:131](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L131) +[consensus/clique.ts:134](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L134) ___ @@ -300,4 +300,4 @@ ___ #### Defined in -[consensus/clique.ts:162](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L162) +[consensus/clique.ts:165](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/blockchain/src/consensus/clique.ts#L165) diff --git a/packages/blockchain/package.json b/packages/blockchain/package.json index a8874f43ef..af08fa0d3a 100644 --- a/packages/blockchain/package.json +++ b/packages/blockchain/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/blockchain", - "version": "7.0.0", + "version": "7.0.1", "description": "A module to store and interact with blocks", "keywords": [ "ethereum", @@ -45,13 +45,13 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/block": "^5.0.0", - "@ethereumjs/common": "^4.0.0", - "@ethereumjs/ethash": "^3.0.0", - "@ethereumjs/rlp": "^5.0.0", - "@ethereumjs/trie": "^6.0.0", - "@ethereumjs/tx": "^5.0.0", - "@ethereumjs/util": "^9.0.0", + "@ethereumjs/block": "^5.0.1", + "@ethereumjs/common": "^4.1.0", + "@ethereumjs/ethash": "^3.0.1", + "@ethereumjs/rlp": "^5.0.1", + "@ethereumjs/trie": "^6.0.1", + "@ethereumjs/tx": "^5.1.0", + "@ethereumjs/util": "^9.0.1", "debug": "^4.3.3", "ethereum-cryptography": "^2.1.2", "lru-cache": "^10.0.0" diff --git a/packages/client/CHANGELOG.md b/packages/client/CHANGELOG.md index 83ed1611c1..0f49ac2d67 100644 --- a/packages/client/CHANGELOG.md +++ b/packages/client/CHANGELOG.md @@ -6,6 +6,95 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 0.9.0 - 2023-10-26 + +This client release now syncs with the new Holesky and Dencun devnet-11 test networks and comes with improved sync performance, a revamped post-Merge client UX experience and various beacon sync related fixes and robustness improvements. + +### Holesky Testnet Support + +This client release now fully supports running the new [Holesky](https://holesky.ethpandaops.io/) public Ethereum testnet replacing the `Goerli` test network, see , PR [#2982](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2982) and some following PRs. + +The following command starts an EthereumJS client on Holesky: + +```typescript +ethereumjs --network=holesky --rpc --rpcEngine +``` + +Then start a corresponding CL client (e.g. Lodestar with checkpoint sync towards `https://lodestar-holesky.chainsafe.io`), also see client [README](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client/README.md). + +### Dencun devnet-11 Compatibility + +Another testnet to be run with this client: Dencun `devnet-11`, which is one of the last and eventually the _very_ last testnet before running the Dencun hardfork on the official testnet. + +Following spec updates included: + +- Update `EIP-4788`: do not use precompile anymore but use the pre-deployed bytecode, PR [#2955](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2955) +- Additional `EIP-4788` updates (address + modulus), PR [#3068](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3068) +- Update the beacon block root contract address, PR [#3003](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3003) +- Fix `newPayloadV2` having `PayloadV3` params, PR [#2954](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2954) +- Include parent beacon block root for proposal payload uniquness, PR [#2967](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2967) +- Fixes for new engine api method validations for hive pr-834, PR [#2973](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2973) +- Track and respond to invalid blocks in engine api and other hive engine-cancun fixes, PR [#3077](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3077) +- Make the newpayload execution of big blocks non blocking, PR [#3076](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3076) +- Hive Cancun fixes, PR [#3099](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3099) + +See [devnet-11](https://github.com/ethpandaops/dencun-testnet) EthPandaOps GitHub repository for instructions on how to run the testnet. + +### Sync and EVM/VM (Execution) Performance + +This client release integrates with the EthereumJS EVM v2.1.0 (see EVM [CHANGELOG](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/CHANGELOG.md) for details) which comes with significant performance improvements for various opcodes as well as overall EVM execution. + +Furthermore the data model for saving the state has been optimized to improve storage DB read performance, see PR [#3023](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3023) and PR [#3067](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3067). + +Both changes together should increase client sync performance by 30% or more. + +**Important**: The new db model is not backwards-compatible with existing client databases. Use the new `--prefixStorageTrieKeys` (set it to `false`) and `--useStringValueTrieDB` (set it to `true`) flags to preserve the old DB behavior. + +### New Post-Merge UX Experience + +We have gone through the complete post-Merge beacon sync process and reworked the client output along, see PR [#3085](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3085) and some follow-up PRs. It is now substantially easier to follow the different stages of the sync process (backfilling, forwardfilling & execution, following the chain) and track the overall sync progress. Holesky with its newly initialized state is a great testbed to see the new client capabilities in practice! 🤩 + +### Block/Tx Profiling + +The client can be now leveraged as a tool for block and/or tx profiling by using the new `--vmProfileBlocks` and `--vmProfileTxs` options, see PR [#3042](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3042). This gives details into the EVM/VM execution performance for specific blocks. See profiler related EVM [README section](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/README.md#profiling-the-evm) for further details. + +### Discovery Improvements + +A new more fine-tuned discovery `discV4` mechanism has been integrated along PR [#3120](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3120). This should now make it substantially easier to find new peers especially on smaller networks like the `devnet-11` and related Dencun test networks. Additionally the `--bootnodes` option has been expanded to now also take `bootnode.txt` files for easier loading of bootnodes. + +### Skeleton/Beacon Sync Reworks and Fixes + +- Some skeleton improvements from observations on devnet syncs, PR [#3014](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3014) +- Decouple skeleton from beacon sync, PR [#3028](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3028) +- Fix canonical reset of the chain by the skeleton, PR [#3078](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3078) +- Skeleton reorg head fixes, PR [#3085](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3085) +- Fixes regarding beacon sync, vmexecution and further log improvs, PR [#3094](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3094) +- Various rebase and sync related improvements along PR [#3031](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3031) + +### Other Features + +- Add `eth_coinbase` RPC method, PR [#3079](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3079) +- Add Option to Return Actual Caught Error Message and Stack Trace when RPC Call Fails, PR [#3059](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3059) +- More fine-grained `--rpcDebug` option (enable/disable specific RPC module logs), PRs [#3102](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3102) and [#3127](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3127) + +### Other Changes and Fixes + +- Properly handle errors in `storageRangeAt` RPC method, PR [#2952](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2952) +- Fix TxPool not being started along FCU, PR [#3100](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3100) +- Fix initialization order when blocks are preloaded, PR [#2979](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2979) +- Add error handling for async errors in client, PR [#2984](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2984) +- Deactivate storage/account caches for cache size 0, PR [#3012](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3012) +- Rewrites block fetcher `sync()` without the `async-promise-generator` api, PR [#3030](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3030) +- Clean up CLI arg passing, PR [#3036](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3036) +- Docker related updates, PR [#3065](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3065) +- Use same Cache Setup for normal and executeBlocks-triggered Execution, PR [#3063](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3063) +- Simplify client transports, **breaking**: removed `--transports`, PR [#3069](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3069) +- Experimental SNAP sync integration (larger announcement later on, but feel free to already experiment with it using the `--snap` option)! 😆), PR [#3031](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3031) +- Guard against rpc port collisions, PR [#3083](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3083) +- Change execution stats intervals, PR [#3106](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3106) +- pendingBlock fix if FCU is called with withdrawals=null pre-cancun, PR [#3119](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3119) +- Handle an edge case in `newpayload` block execution, PR [#3131](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3131) + ## 0.8.1 - 2023-08-09 Note: this release is not yet fully ready for `4844-devnet-8` (launch in August 2023). diff --git a/packages/client/README.md b/packages/client/README.md index 4492a71c0f..1ac5e15e8e 100644 --- a/packages/client/README.md +++ b/packages/client/README.md @@ -6,8 +6,8 @@ [![Code Coverage][client-coverage-badge]][client-coverage-link] [![Discord][discord-badge]][discord-link] -| Ethereum Execution (Eth 1.0) Client built in TypeScript/JavaScript. | -| ------------------------------------------------------------------- | +| Ethereum Execution Layer (EL) Client built in TypeScript/JavaScript. | +| -------------------------------------------------------------------- | ## Table of Contents @@ -29,7 +29,7 @@ The EthereumJS Client is an Ethereum Execution Client (similar to [go-ethereum]( Here are some use cases: -- Sync the main Ethereum networks (`mainnet` (experimental), `goerli`, `sepolia`, ...) +- Sync the main Ethereum networks (`mainnet` (experimental), `sepolia`, `holesky`, ...) - Set up your own local development networks (PoS with consensus client / PoA Clique / PoW with CPU miner) - Run a network with your own custom [EthereumJS VM](../vm) - Analyze what's in the Ethereum `mainnet` [transaction pool (mempool)](./lib/sync/txpool.ts) @@ -104,10 +104,10 @@ And pass in CLI parameters like: ```shell # npm installation -ethereumjs --network=goerli +ethereumjs --network=holesky # Source installation -npm run client:start -- --network=goerli +npm run client:start -- --network=holesky ``` To see a help page with the full list of client options available run: @@ -125,13 +125,13 @@ The EthereumJS client is tightly integrated with the EthereumJS [Common](../comm The main supported networks are: - `mainnet` (experimental) -- `goerli` - `sepolia` (`v0.3.0`+) +- `holesky` (`v0.9.0`+) Use the CLI `--network` option to switch the network: ```shell -ethereumjs --network=sepolia +ethereumjs --network=holesky ``` The client currently supports `full` sync being set as a default and has experimental support for `light` sync. @@ -179,11 +179,11 @@ JWT authentication can be disabled by adding the `--rpcEngineAuth false` flag (d The following is a rough guidance to run Lodestar as a beacon (non-validating) Node, see Lodestar [docs](https://chainsafe.github.io/lodestar/usage/beacon-management/) for more complete and up-to-date instructions on beacon management with Lodestar. 1. Use lodestar branch `stable` and run `yarn && yarn build` -2. Run cmd: `./lodestar beacon --network sepolia --jwt-secret /path/to/jwtsecret/file` +2. Run cmd: `./lodestar beacon --network holesky --jwt-secret /path/to/jwtsecret/file` This will by default try connecting to `ethereumjs` over the endpoint `8551`. (You may customize this in conjunction with `ethereumjs`, see lodestar cli help via `--help`). -You may provide `--checkpointSyncUrl` (with a synced `sepolia` beacon node endpoint as arg value) to start directly off the head/provided checkpoint on the `sepolia` beacon chain, possibly triggering (backfill) beacon sync on ethereumjs. +You may provide `--checkpointSyncUrl` (with a synced `holesky` beacon node endpoint as arg value) to start directly off the head/provided checkpoint on the `holesky` beacon chain, possibly triggering (backfill) beacon sync on ethereumjs. #### (Optional) Validator @@ -199,26 +199,20 @@ For a testnet chain, you may skip keystore generation and directly provide lodes (Modify the mnemonic and range indices as per your validator configuration). -#### Running EthereumJS/Lodestar on Sepolia +#### Running EthereumJS/Lodestar on Holesky -A suited network to test the EthereumJS/Lodestar client combination is the Sepolia network, being still somewhat lightweight but nevertheless being actively used with a significant transaction load. +A suited network to test the EthereumJS/Lodestar client combination is the Holesky network, being still somewhat lightweight but nevertheless being actively used with a significant transaction load. -To sync the EthereumJS client pre-Merge run: +To start the EthereumJS client with JSON RPC and Engine API endpoints exposed: ```shell -ethereumjs --network=sepolia -``` - -After the Merge you need to expand and start with JSON RPC and Engine API endpoints exposed: - -```shell -ethereumjs --network=sepolia --rpc --rpcEngine +ethereumjs --network=holesky --rpc --rpcEngine ``` Then start the Lodestar client with: ```shell -./lodestar beacon --network=sepolia --jwt-secret=[PATH-TO-JWT-SECRET-FROM-ETHEREUMJS-CLIENT] +./lodestar beacon --network=holesky --jwt-secret=[PATH-TO-JWT-SECRET-FROM-ETHEREUMJS-CLIENT] ``` ## Custom Chains diff --git a/packages/client/archive/libp2p/net/package.json.browser.deps b/packages/client/archive/libp2p/net/package.json.browser.deps index cd671351f0..286c43f04c 100644 --- a/packages/client/archive/libp2p/net/package.json.browser.deps +++ b/packages/client/archive/libp2p/net/package.json.browser.deps @@ -57,18 +57,18 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/block": "5.0.0", - "@ethereumjs/blockchain": "7.0.0", - "@ethereumjs/common": "4.0.0", - "@ethereumjs/devp2p": "6.0.0", - "@ethereumjs/ethash": "3.0.0", - "@ethereumjs/evm": "2.0.0", - "@ethereumjs/rlp": "5.0.0", - "@ethereumjs/statemanager": "2.0.0", - "@ethereumjs/trie": "6.0.0", - "@ethereumjs/tx": "5.0.0", - "@ethereumjs/util": "9.0.0", - "@ethereumjs/vm": "7.0.0", + "@ethereumjs/block": "5.0.1", + "@ethereumjs/blockchain": "7.0.1", + "@ethereumjs/common": "4.1.0", + "@ethereumjs/devp2p": "6.0.1", + "@ethereumjs/ethash": "3.0.1", + "@ethereumjs/evm": "2.1.0", + "@ethereumjs/rlp": "5.0.1", + "@ethereumjs/statemanager": "2.1.0", + "@ethereumjs/trie": "6.0.1", + "@ethereumjs/tx": "5.1.0", + "@ethereumjs/util": "9.0.1", + "@ethereumjs/vm": "7.1.0", "abstract-level": "^1.0.3", "body-parser": "^1.19.2", "c-kzg": "^2.1.0", diff --git a/packages/client/package.json b/packages/client/package.json index 30fbc29f61..47d6f38824 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,7 +1,7 @@ { "name": "@ethereumjs/client", - "version": "0.8.1", - "description": "EthereumJS client implementation", + "version": "0.9.0", + "description": "EthereumJS Execution Layer (EL) Client Implementation", "keywords": [ "ethereum", "ethereumjs", @@ -56,19 +56,19 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/block": "5.0.0", - "@ethereumjs/blockchain": "7.0.0", - "@ethereumjs/common": "4.0.0", - "@ethereumjs/devp2p": "6.0.0", - "@ethereumjs/ethash": "3.0.0", - "@ethereumjs/evm": "2.0.0", - "@ethereumjs/genesis": "0.1.0", - "@ethereumjs/rlp": "5.0.0", - "@ethereumjs/statemanager": "2.0.0", - "@ethereumjs/trie": "6.0.0", - "@ethereumjs/tx": "5.0.0", - "@ethereumjs/util": "9.0.0", - "@ethereumjs/vm": "7.0.0", + "@ethereumjs/block": "5.0.1", + "@ethereumjs/blockchain": "7.0.1", + "@ethereumjs/common": "4.1.0", + "@ethereumjs/devp2p": "6.0.1", + "@ethereumjs/ethash": "3.0.1", + "@ethereumjs/evm": "2.1.0", + "@ethereumjs/genesis": "0.2.0", + "@ethereumjs/rlp": "5.0.1", + "@ethereumjs/statemanager": "2.1.0", + "@ethereumjs/trie": "6.0.1", + "@ethereumjs/tx": "5.1.0", + "@ethereumjs/util": "9.0.1", + "@ethereumjs/vm": "7.1.0", "abstract-level": "^1.0.3", "body-parser": "^1.19.2", "c-kzg": "^2.1.2", diff --git a/packages/common/CHANGELOG.md b/packages/common/CHANGELOG.md index 528e802f44..f6666e98c7 100644 --- a/packages/common/CHANGELOG.md +++ b/packages/common/CHANGELOG.md @@ -6,6 +6,34 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 4.1.0 - 2023-10-26 + +### Holesky Testnet Support + +This release comes with full support for the [Holesky](https://holesky.ethpandaops.io/) public Ethereum testnet replacing the `Goerli` test network. + +- Add Holesky chain specification, PR [#2982](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2982), [#2989](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2989), [#2997](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2997), [#3049](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3049), [#3074](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3074) and [#3088](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3088) + +### EIP-7516 BLOBBASEFEE Opcode + +This release supports [EIP-7516](https://eips.ethereum.org/EIPS/eip-7516) with a new `BLOBBASEFEE` opcode added to and scheduled for the Dencun HF, see PR [#3035](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3035) and [#3068](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3068). The opcode returns the value of the blob base-fee of the current block it is executing in. + +### Dencun devnet-11 Compatibility + +This release contains various fixes and spec updates related to the Dencun (Deneb/Cancun) HF and is now compatible with the specs as used in [devnet-11](https://github.com/ethpandaops/dencun-testnet) (October 2023). + +- Update `EIP-4788`: do not use precompile anymore but use the pre-deployed bytecode, PR [#2955](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2955) +- Small Cancun-related fixes, PR [#3099](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3099) + +### Bugfixes + +- Updates and fixes along Geth genesis file parsing, PR [#2961](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2961) +- Handle `forkHash` on timestamp == genesis timestamp, PR [#2959](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2959) + +### Other Changes + +- Performance: Cache Parameter Values + activated EIPs for current Hardfork, PR [#2994](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2994) + ## 4.0.0 - 2023-08-09 Final release version from the breaking release round from Summer 2023 on the EthereumJS libraries, thanks to the whole team for this amazing accomplishment! ❤️ 🥳 diff --git a/packages/common/README.md b/packages/common/README.md index 0fa2b57e8b..12703d954a 100644 --- a/packages/common/README.md +++ b/packages/common/README.md @@ -139,6 +139,7 @@ Supported chains: - `mainnet` (`Chain.Mainnet`) - `goerli` (`Chain.Goerli`) - `sepolia` (`Chain.Sepolia`) (`v2.6.1`+) +- `holesky` (`Chain.Holesky`) (`v4.1.0`+) - Private/custom chain parameters The following chain-specific parameters are provided: @@ -327,8 +328,10 @@ The following EIPs are currently supported: - [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788) - Beacon block root in the EVM (Cancun) - [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) - Shard Blob Transactions (Cancun) (`experimental`) - [EIP-4895](https://eips.ethereum.org/EIPS/eip-4895) - Beacon chain push withdrawals as operations (Shanghai) +- [EIP-5133](https://eips.ethereum.org/EIPS/eip-5133) - Delaying Difficulty Bomb to mid-September 2022 (Gray Glacier) - [EIP-5656](https://eips.ethereum.org/EIPS/eip-5656) - MCOPY - Memory copying instruction (Cancun) - [EIP-6780](https://eips.ethereum.org/EIPS/eip-6780) - SELFDESTRUCT only in same transaction (Cancun) +- [EIP-7516](https://eips.ethereum.org/EIPS/eip-7516) - BLOBBASEFEE opcode (Cancun) ### Bootstrap Nodes diff --git a/packages/common/docs/README.md b/packages/common/docs/README.md index bf12ca39d9..6683fdcca7 100644 --- a/packages/common/docs/README.md +++ b/packages/common/docs/README.md @@ -31,6 +31,7 @@ - [HardforkTransitionConfig](interfaces/HardforkTransitionConfig.md) - [StateManagerInterface](interfaces/StateManagerInterface.md) - [StorageDump](interfaces/StorageDump.md) +- [StorageRange](interfaces/StorageRange.md) ### Type Aliases @@ -42,6 +43,7 @@ - [CasperConfig](README.md#casperconfig) - [CliqueConfig](README.md#cliqueconfig) - [EIPConfig](README.md#eipconfig) +- [EIPOrHFConfig](README.md#eiporhfconfig) - [EthashConfig](README.md#ethashconfig) - [HardforkConfig](README.md#hardforkconfig) - [Proof](README.md#proof) @@ -63,7 +65,7 @@ #### Defined in -[interfaces.ts:43](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L43) +[interfaces.ts:66](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L66) ___ @@ -73,7 +75,7 @@ ___ #### Defined in -[interfaces.ts:42](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L42) +[interfaces.ts:65](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L65) ___ @@ -83,7 +85,7 @@ ___ #### Defined in -[interfaces.ts:41](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L41) +[interfaces.ts:64](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L64) ___ @@ -100,7 +102,7 @@ ___ #### Defined in -[interfaces.ts:33](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L33) +[interfaces.ts:56](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L56) ___ @@ -110,7 +112,7 @@ ___ #### Defined in -[interfaces.ts:11](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L11) +[interfaces.ts:34](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L34) ___ @@ -143,7 +145,7 @@ ___ ### EIPConfig -Ƭ **EIPConfig**: { `minimumHardfork`: [`Hardfork`](enums/Hardfork.md) ; `requiredEIPs`: `number`[] } & `EIPOrHFConfig` +Ƭ **EIPConfig**: { `minimumHardfork`: [`Hardfork`](enums/Hardfork.md) ; `requiredEIPs`: `number`[] } & [`EIPOrHFConfig`](README.md#eiporhfconfig) #### Defined in @@ -151,6 +153,29 @@ ___ ___ +### EIPOrHFConfig + +Ƭ **EIPOrHFConfig**: `Object` + +#### Type declaration + +| Name | Type | +| :------ | :------ | +| `comment` | `string` | +| `gasConfig?` | { `[key: string]`: `ParamDict`; } | +| `gasPrices?` | { `[key: string]`: `ParamDict`; } | +| `pow?` | { `[key: string]`: `ParamDict`; } | +| `sharding?` | { `[key: string]`: `ParamDict`; } | +| `status` | `string` | +| `url` | `string` | +| `vm?` | { `[key: string]`: `ParamDict`; } | + +#### Defined in + +[types.ts:136](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/types.ts#L136) + +___ + ### EthashConfig Ƭ **EthashConfig**: `Object` @@ -163,7 +188,7 @@ ___ ### HardforkConfig -Ƭ **HardforkConfig**: { `consensus?`: `ConsensusConfig` ; `eips?`: `number`[] ; `name`: `string` } & `EIPOrHFConfig` +Ƭ **HardforkConfig**: { `consensus?`: `ConsensusConfig` ; `eips?`: `number`[] ; `name`: `string` } & [`EIPOrHFConfig`](README.md#eiporhfconfig) #### Defined in @@ -189,7 +214,7 @@ ___ #### Defined in -[interfaces.ts:19](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L19) +[interfaces.ts:42](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L42) ___ @@ -207,7 +232,7 @@ ___ #### Defined in -[interfaces.ts:13](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L13) +[interfaces.ts:36](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L36) ## Variables @@ -219,7 +244,7 @@ GenesisState info about well known ethereum chains #### Defined in -[enums.ts:23](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L23) +[enums.ts:25](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L25) ## Functions @@ -265,4 +290,4 @@ parsed params #### Defined in -[utils.ts:199](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/utils.ts#L199) +[utils.ts:205](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/utils.ts#L205) diff --git a/packages/common/docs/classes/Common.md b/packages/common/docs/classes/Common.md index 13ed2fe046..a280cadbe3 100644 --- a/packages/common/docs/classes/Common.md +++ b/packages/common/docs/classes/Common.md @@ -76,7 +76,7 @@ can be created via the main constructor and the [customChains](../interfaces/Com #### Defined in -[common.ts:223](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L223) +[common.ts:233](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L233) ## Properties @@ -86,7 +86,7 @@ can be created via the main constructor and the [customChains](../interfaces/Com #### Defined in -[common.ts:47](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L47) +[common.ts:54](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L54) ___ @@ -96,7 +96,7 @@ ___ #### Defined in -[common.ts:56](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L56) +[common.ts:66](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L66) ## Methods @@ -120,7 +120,7 @@ True if HF is active on block number #### Defined in -[common.ts:613](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L613) +[common.ts:700](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L700) ___ @@ -138,7 +138,7 @@ Dict with bootstrap nodes #### Defined in -[common.ts:863](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L863) +[common.ts:950](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L950) ___ @@ -156,7 +156,7 @@ chain Id #### Defined in -[common.ts:887](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L887) +[common.ts:974](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L974) ___ @@ -174,7 +174,7 @@ chain name (lower case) #### Defined in -[common.ts:895](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L895) +[common.ts:982](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L982) ___ @@ -196,7 +196,7 @@ Note: This value can update along a Hardfork. #### Defined in -[common.ts:943](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L943) +[common.ts:1031](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L1031) ___ @@ -222,7 +222,7 @@ Note: This value can update along a Hardfork. #### Defined in -[common.ts:969](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L969) +[common.ts:1057](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L1057) ___ @@ -241,7 +241,7 @@ Note: This value can update along a Hardfork. #### Defined in -[common.ts:921](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L921) +[common.ts:1009](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L1009) ___ @@ -257,7 +257,7 @@ Returns a deep copy of this [Common](Common.md) instance. #### Defined in -[common.ts:990](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L990) +[common.ts:1078](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L1078) ___ @@ -275,7 +275,7 @@ Array of DNS ENR urls #### Defined in -[common.ts:871](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L871) +[common.ts:958](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L958) ___ @@ -299,7 +299,7 @@ Block number or null if unscheduled #### Defined in -[common.ts:676](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L676) +[common.ts:763](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L763) ___ @@ -307,7 +307,8 @@ ___ ▸ **eips**(): `number`[] -Returns the active EIPs +Returns the additionally activated EIPs +(by using the `eips` constructor option) #### Returns @@ -317,7 +318,7 @@ List of EIPs #### Defined in -[common.ts:911](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L911) +[common.ts:999](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L999) ___ @@ -340,7 +341,7 @@ Returns an eth/64 compliant fork hash (EIP-2124) #### Defined in -[common.ts:797](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L797) +[common.ts:884](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L884) ___ @@ -358,7 +359,7 @@ Genesis dictionary #### Defined in -[common.ts:847](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L847) +[common.ts:934](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L934) ___ @@ -387,7 +388,7 @@ The name of the HF #### Defined in -[common.ts:307](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L307) +[common.ts:323](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L323) ___ @@ -411,7 +412,7 @@ True if hardfork set is greater than hardfork provided #### Defined in -[common.ts:644](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L644) +[common.ts:731](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L731) ___ @@ -429,7 +430,7 @@ Hardfork name #### Defined in -[common.ts:879](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L879) +[common.ts:966](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L966) ___ @@ -453,7 +454,7 @@ Block number or null if unscheduled #### Defined in -[common.ts:653](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L653) +[common.ts:740](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L740) ___ @@ -475,7 +476,7 @@ Array with hardfork data (name, block, forkHash) #### Defined in -[common.ts:819](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L819) +[common.ts:906](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L906) ___ @@ -500,7 +501,7 @@ True if HF1 gte HF2 #### Defined in -[common.ts:624](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L624) +[common.ts:711](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L711) ___ @@ -525,7 +526,7 @@ True if HF is active on block number #### Defined in -[common.ts:598](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L598) +[common.ts:685](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L685) ___ @@ -549,7 +550,7 @@ Total difficulty or null if no set #### Defined in -[common.ts:694](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L694) +[common.ts:781](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L781) ___ @@ -569,7 +570,7 @@ ___ #### Defined in -[common.ts:662](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L662) +[common.ts:749](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L749) ___ @@ -587,7 +588,7 @@ Array with arrays of hardforks #### Defined in -[common.ts:855](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L855) +[common.ts:942](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L942) ___ @@ -614,7 +615,7 @@ by the [eips](../interfaces/CommonOpts.md#eips) constructor option #### Defined in -[common.ts:577](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L577) +[common.ts:672](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L672) ___ @@ -632,7 +633,7 @@ network Id #### Defined in -[common.ts:903](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L903) +[common.ts:990](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L990) ___ @@ -656,7 +657,7 @@ Block timestamp, number or null if not available #### Defined in -[common.ts:708](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L708) +[common.ts:795](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L795) ___ @@ -667,7 +668,7 @@ ___ Returns a parameter for the current chain setup If the parameter is present in an EIP, the EIP always takes precedence. -Otherwise the parameter if taken from the latest applied HF with +Otherwise the parameter is taken from the latest applied HF with a change on the respective parameter. #### Parameters @@ -685,7 +686,7 @@ The value requested or `BigInt(0)` if not found #### Defined in -[common.ts:483](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L483) +[common.ts:576](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L576) ___ @@ -714,7 +715,7 @@ The value requested or `BigInt(0)` if not found #### Defined in -[common.ts:557](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L557) +[common.ts:652](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L652) ___ @@ -740,7 +741,7 @@ The value requested or `undefined` if not found #### Defined in -[common.ts:532](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L532) +[common.ts:627](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L627) ___ @@ -766,7 +767,7 @@ The value requested or `BigInt(0)` if not found #### Defined in -[common.ts:501](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L501) +[common.ts:596](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L596) ___ @@ -790,7 +791,7 @@ The dictionary with parameters set as chain #### Defined in -[common.ts:249](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L249) +[common.ts:263](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L263) ___ @@ -812,7 +813,7 @@ Sets the active EIPs #### Defined in -[common.ts:450](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L450) +[common.ts:466](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L466) ___ @@ -834,7 +835,7 @@ Sets any missing forkHashes on the passed-in [Common](Common.md) instance #### Defined in -[common.ts:831](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L831) +[common.ts:918](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L918) ___ @@ -856,7 +857,7 @@ Sets the hardfork to get params for #### Defined in -[common.ts:280](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L280) +[common.ts:294](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L294) ___ @@ -885,7 +886,7 @@ The name of the HF set #### Defined in -[common.ts:427](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L427) +[common.ts:443](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L443) ___ @@ -926,7 +927,7 @@ the `@ethereumjs/tx` library to a Layer-2 chain). #### Defined in -[common.ts:82](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L82) +[common.ts:92](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L92) ___ @@ -951,7 +952,7 @@ Common #### Defined in -[common.ts:173](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L173) +[common.ts:183](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L183) ___ @@ -971,7 +972,7 @@ ___ #### Defined in -[common.ts:996](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L996) +[common.ts:1084](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L1084) ___ @@ -995,4 +996,4 @@ boolean #### Defined in -[common.ts:195](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L195) +[common.ts:205](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/common.ts#L205) diff --git a/packages/common/docs/enums/Chain.md b/packages/common/docs/enums/Chain.md index 07fb5268e2..dbd033969c 100644 --- a/packages/common/docs/enums/Chain.md +++ b/packages/common/docs/enums/Chain.md @@ -7,6 +7,7 @@ ### Enumeration Members - [Goerli](Chain.md#goerli) +- [Holesky](Chain.md#holesky) - [Mainnet](Chain.md#mainnet) - [Sepolia](Chain.md#sepolia) @@ -22,6 +23,16 @@ ___ +### Holesky + +• **Holesky** = ``17000`` + +#### Defined in + +[enums.ts:7](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L7) + +___ + ### Mainnet • **Mainnet** = ``1`` diff --git a/packages/common/docs/enums/ConsensusAlgorithm.md b/packages/common/docs/enums/ConsensusAlgorithm.md index eab4fbf638..cb8ce35b14 100644 --- a/packages/common/docs/enums/ConsensusAlgorithm.md +++ b/packages/common/docs/enums/ConsensusAlgorithm.md @@ -18,7 +18,7 @@ #### Defined in -[enums.ts:68](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L68) +[enums.ts:78](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L78) ___ @@ -28,7 +28,7 @@ ___ #### Defined in -[enums.ts:67](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L67) +[enums.ts:77](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L77) ___ @@ -38,4 +38,4 @@ ___ #### Defined in -[enums.ts:66](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L66) +[enums.ts:76](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L76) diff --git a/packages/common/docs/enums/ConsensusType.md b/packages/common/docs/enums/ConsensusType.md index 18f8a63631..af7deb7b9b 100644 --- a/packages/common/docs/enums/ConsensusType.md +++ b/packages/common/docs/enums/ConsensusType.md @@ -18,7 +18,7 @@ #### Defined in -[enums.ts:62](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L62) +[enums.ts:72](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L72) ___ @@ -28,7 +28,7 @@ ___ #### Defined in -[enums.ts:60](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L60) +[enums.ts:70](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L70) ___ @@ -38,4 +38,4 @@ ___ #### Defined in -[enums.ts:61](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L61) +[enums.ts:71](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L71) diff --git a/packages/common/docs/enums/CustomChain.md b/packages/common/docs/enums/CustomChain.md index f5a91f34d0..e8fe045c1b 100644 --- a/packages/common/docs/enums/CustomChain.md +++ b/packages/common/docs/enums/CustomChain.md @@ -25,7 +25,7 @@ Arbitrum One - mainnet for Arbitrum roll-up #### Defined in -[enums.ts:91](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L91) +[enums.ts:101](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L101) ___ @@ -39,7 +39,7 @@ Optimistic Ethereum - mainnet for Optimism roll-up #### Defined in -[enums.ts:112](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L112) +[enums.ts:122](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L122) ___ @@ -53,7 +53,7 @@ Optimistic Kovan - testnet for Optimism roll-up #### Defined in -[enums.ts:105](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L105) +[enums.ts:115](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L115) ___ @@ -67,7 +67,7 @@ Polygon (Matic) Mainnet #### Defined in -[enums.ts:77](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L77) +[enums.ts:87](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L87) ___ @@ -81,7 +81,7 @@ Polygon (Matic) Mumbai Testnet #### Defined in -[enums.ts:84](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L84) +[enums.ts:94](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L94) ___ @@ -95,4 +95,4 @@ xDai EVM sidechain with a native stable token #### Defined in -[enums.ts:98](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L98) +[enums.ts:108](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L108) diff --git a/packages/common/docs/enums/Hardfork.md b/packages/common/docs/enums/Hardfork.md index db5e234fc1..b23a37e20a 100644 --- a/packages/common/docs/enums/Hardfork.md +++ b/packages/common/docs/enums/Hardfork.md @@ -33,7 +33,7 @@ #### Defined in -[enums.ts:51](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L51) +[enums.ts:61](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L61) ___ @@ -43,7 +43,7 @@ ___ #### Defined in -[enums.ts:49](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L49) +[enums.ts:59](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L59) ___ @@ -53,7 +53,7 @@ ___ #### Defined in -[enums.ts:44](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L44) +[enums.ts:54](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L54) ___ @@ -63,7 +63,7 @@ ___ #### Defined in -[enums.ts:56](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L56) +[enums.ts:66](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L66) ___ @@ -73,7 +73,7 @@ ___ #### Defined in -[enums.ts:39](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L39) +[enums.ts:49](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L49) ___ @@ -83,7 +83,7 @@ ___ #### Defined in -[enums.ts:45](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L45) +[enums.ts:55](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L55) ___ @@ -93,7 +93,7 @@ ___ #### Defined in -[enums.ts:41](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L41) +[enums.ts:51](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L51) ___ @@ -103,7 +103,7 @@ ___ #### Defined in -[enums.ts:52](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L52) +[enums.ts:62](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L62) ___ @@ -113,7 +113,7 @@ ___ #### Defined in -[enums.ts:40](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L40) +[enums.ts:50](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L50) ___ @@ -123,7 +123,7 @@ ___ #### Defined in -[enums.ts:47](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L47) +[enums.ts:57](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L57) ___ @@ -133,7 +133,7 @@ ___ #### Defined in -[enums.ts:50](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L50) +[enums.ts:60](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L60) ___ @@ -143,7 +143,7 @@ ___ #### Defined in -[enums.ts:53](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L53) +[enums.ts:63](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L63) ___ @@ -153,7 +153,7 @@ ___ #### Defined in -[enums.ts:48](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L48) +[enums.ts:58](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L58) ___ @@ -163,7 +163,7 @@ ___ #### Defined in -[enums.ts:54](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L54) +[enums.ts:64](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L64) ___ @@ -173,7 +173,7 @@ ___ #### Defined in -[enums.ts:46](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L46) +[enums.ts:56](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L56) ___ @@ -183,7 +183,7 @@ ___ #### Defined in -[enums.ts:55](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L55) +[enums.ts:65](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L65) ___ @@ -193,7 +193,7 @@ ___ #### Defined in -[enums.ts:43](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L43) +[enums.ts:53](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L53) ___ @@ -203,4 +203,4 @@ ___ #### Defined in -[enums.ts:42](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L42) +[enums.ts:52](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/enums.ts#L52) diff --git a/packages/common/docs/interfaces/EVMStateManagerInterface.md b/packages/common/docs/interfaces/EVMStateManagerInterface.md index 9388add533..45d4f52172 100644 --- a/packages/common/docs/interfaces/EVMStateManagerInterface.md +++ b/packages/common/docs/interfaces/EVMStateManagerInterface.md @@ -21,6 +21,7 @@ - [commit](EVMStateManagerInterface.md#commit) - [deleteAccount](EVMStateManagerInterface.md#deleteaccount) - [dumpStorage](EVMStateManagerInterface.md#dumpstorage) +- [dumpStorageRange](EVMStateManagerInterface.md#dumpstoragerange) - [generateCanonicalGenesis](EVMStateManagerInterface.md#generatecanonicalgenesis) - [getAccount](EVMStateManagerInterface.md#getaccount) - [getContractCode](EVMStateManagerInterface.md#getcontractcode) @@ -51,7 +52,7 @@ #### Defined in -[interfaces.ts:66](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L66) +[interfaces.ts:89](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L89) ## Methods @@ -69,7 +70,7 @@ #### Defined in -[interfaces.ts:55](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L55) +[interfaces.ts:78](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L78) ___ @@ -93,7 +94,7 @@ ___ #### Defined in -[interfaces.ts:54](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L54) +[interfaces.ts:77](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L77) ___ @@ -111,7 +112,7 @@ ___ #### Defined in -[interfaces.ts:56](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L56) +[interfaces.ts:79](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L79) ___ @@ -135,7 +136,7 @@ ___ #### Defined in -[interfaces.ts:48](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L48) +[interfaces.ts:71](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L71) ___ @@ -155,7 +156,29 @@ ___ #### Defined in -[interfaces.ts:71](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L71) +[interfaces.ts:94](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L94) + +___ + +### dumpStorageRange + +▸ **dumpStorageRange**(`address`, `startKey`, `limit`): `Promise`<[`StorageRange`](StorageRange.md)\> + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `address` | `Address` | +| `startKey` | `bigint` | +| `limit` | `number` | + +#### Returns + +`Promise`<[`StorageRange`](StorageRange.md)\> + +#### Defined in + +[interfaces.ts:95](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L95) ___ @@ -175,7 +198,7 @@ ___ #### Defined in -[interfaces.ts:72](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L72) +[interfaces.ts:96](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L96) ___ @@ -199,7 +222,7 @@ ___ #### Defined in -[interfaces.ts:46](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L46) +[interfaces.ts:69](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L69) ___ @@ -223,7 +246,7 @@ ___ #### Defined in -[interfaces.ts:51](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L51) +[interfaces.ts:74](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L74) ___ @@ -248,7 +271,7 @@ ___ #### Defined in -[interfaces.ts:52](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L52) +[interfaces.ts:75](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L75) ___ @@ -273,7 +296,7 @@ ___ #### Defined in -[interfaces.ts:73](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L73) +[interfaces.ts:97](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L97) ___ @@ -291,7 +314,7 @@ ___ #### Defined in -[interfaces.ts:58](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L58) +[interfaces.ts:81](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L81) ___ @@ -315,7 +338,7 @@ ___ #### Defined in -[interfaces.ts:61](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L61) +[interfaces.ts:84](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L84) ___ @@ -340,7 +363,7 @@ ___ #### Defined in -[interfaces.ts:49](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L49) +[interfaces.ts:72](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L72) ___ @@ -365,7 +388,7 @@ ___ #### Defined in -[interfaces.ts:47](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L47) +[interfaces.ts:70](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L70) ___ @@ -390,7 +413,7 @@ ___ #### Defined in -[interfaces.ts:50](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L50) +[interfaces.ts:73](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L73) ___ @@ -416,7 +439,7 @@ ___ #### Defined in -[interfaces.ts:53](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L53) +[interfaces.ts:76](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L76) ___ @@ -434,7 +457,7 @@ ___ #### Defined in -[interfaces.ts:57](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L57) +[interfaces.ts:80](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L80) ___ @@ -459,13 +482,19 @@ ___ #### Defined in -[interfaces.ts:59](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L59) +[interfaces.ts:82](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L82) ___ ### shallowCopy -▸ **shallowCopy**(): [`EVMStateManagerInterface`](EVMStateManagerInterface.md) +▸ **shallowCopy**(`downlevelCaches?`): [`EVMStateManagerInterface`](EVMStateManagerInterface.md) + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `downlevelCaches?` | `boolean` | #### Returns @@ -477,4 +506,4 @@ ___ #### Defined in -[interfaces.ts:75](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L75) +[interfaces.ts:99](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L99) diff --git a/packages/common/docs/interfaces/StateManagerInterface.md b/packages/common/docs/interfaces/StateManagerInterface.md index e827c5ee53..dbd7240d39 100644 --- a/packages/common/docs/interfaces/StateManagerInterface.md +++ b/packages/common/docs/interfaces/StateManagerInterface.md @@ -42,7 +42,7 @@ #### Defined in -[interfaces.ts:55](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L55) +[interfaces.ts:78](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L78) ___ @@ -62,7 +62,7 @@ ___ #### Defined in -[interfaces.ts:54](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L54) +[interfaces.ts:77](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L77) ___ @@ -76,7 +76,7 @@ ___ #### Defined in -[interfaces.ts:56](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L56) +[interfaces.ts:79](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L79) ___ @@ -96,7 +96,7 @@ ___ #### Defined in -[interfaces.ts:48](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L48) +[interfaces.ts:71](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L71) ___ @@ -116,7 +116,7 @@ ___ #### Defined in -[interfaces.ts:46](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L46) +[interfaces.ts:69](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L69) ___ @@ -136,7 +136,7 @@ ___ #### Defined in -[interfaces.ts:51](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L51) +[interfaces.ts:74](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L74) ___ @@ -157,7 +157,7 @@ ___ #### Defined in -[interfaces.ts:52](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L52) +[interfaces.ts:75](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L75) ___ @@ -178,7 +178,7 @@ ___ #### Defined in -[interfaces.ts:60](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L60) +[interfaces.ts:83](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L83) ___ @@ -192,7 +192,7 @@ ___ #### Defined in -[interfaces.ts:58](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L58) +[interfaces.ts:81](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L81) ___ @@ -212,7 +212,7 @@ ___ #### Defined in -[interfaces.ts:61](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L61) +[interfaces.ts:84](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L84) ___ @@ -233,7 +233,7 @@ ___ #### Defined in -[interfaces.ts:49](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L49) +[interfaces.ts:72](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L72) ___ @@ -254,7 +254,7 @@ ___ #### Defined in -[interfaces.ts:47](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L47) +[interfaces.ts:70](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L70) ___ @@ -275,7 +275,7 @@ ___ #### Defined in -[interfaces.ts:50](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L50) +[interfaces.ts:73](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L73) ___ @@ -297,7 +297,7 @@ ___ #### Defined in -[interfaces.ts:53](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L53) +[interfaces.ts:76](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L76) ___ @@ -311,7 +311,7 @@ ___ #### Defined in -[interfaces.ts:57](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L57) +[interfaces.ts:80](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L80) ___ @@ -332,13 +332,19 @@ ___ #### Defined in -[interfaces.ts:59](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L59) +[interfaces.ts:82](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L82) ___ ### shallowCopy -▸ **shallowCopy**(): [`StateManagerInterface`](StateManagerInterface.md) +▸ **shallowCopy**(`downlevelCaches?`): [`StateManagerInterface`](StateManagerInterface.md) + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `downlevelCaches?` | `boolean` | #### Returns @@ -346,4 +352,4 @@ ___ #### Defined in -[interfaces.ts:62](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L62) +[interfaces.ts:85](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L85) diff --git a/packages/common/docs/interfaces/StorageRange.md b/packages/common/docs/interfaces/StorageRange.md new file mode 100644 index 0000000000..c6025a2a34 --- /dev/null +++ b/packages/common/docs/interfaces/StorageRange.md @@ -0,0 +1,44 @@ +[@ethereumjs/common](../README.md) / StorageRange + +# Interface: StorageRange + +Object that can contain a set of storage keys associated with an account. + +## Table of contents + +### Properties + +- [nextKey](StorageRange.md#nextkey) +- [storage](StorageRange.md#storage) + +## Properties + +### nextKey + +• **nextKey**: ``null`` \| `string` + +The next (hashed) storage key after the greatest storage key +contained in `storage`. + +#### Defined in + +[interfaces.ts:31](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L31) + +___ + +### storage + +• **storage**: `Object` + +A dictionary where the keys are hashed storage keys, and the values are +objects containing the preimage of the hashed key (in `key`) and the +storage key (in `value`). Currently, there is no way to retrieve preimages, +so they are always `null`. + +#### Index signature + +▪ [key: `string`]: { `key`: `string` \| ``null`` ; `value`: `string` } + +#### Defined in + +[interfaces.ts:21](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/common/src/interfaces.ts#L21) diff --git a/packages/common/package.json b/packages/common/package.json index 5221fb074d..24a9b87523 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/common", - "version": "4.0.0", + "version": "4.1.0", "description": "Resources common to all Ethereum implementations", "keywords": [ "ethereum", @@ -55,7 +55,7 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/util": "^9.0.0", + "@ethereumjs/util": "^9.0.1", "crc": "^4.3.2" } } diff --git a/packages/devp2p/CHANGELOG.md b/packages/devp2p/CHANGELOG.md index 69781584d2..299daf0b50 100644 --- a/packages/devp2p/CHANGELOG.md +++ b/packages/devp2p/CHANGELOG.md @@ -6,6 +6,13 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 6.0.1 - 2023-10-26 + +- Kademlia bucket add fix, PR [#2957](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2957) +- Performance: only create `DEBUG` msgs if debugging, PR [#2958](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2958) +- Pin `scanf` dependency (fixes broken types), PR [#3060](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3060) +- Minimal `RLPx` test suite, PR [#3126](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3126) + ## 6.0.0 - 2023-08-09 Final release version from the breaking release round from Summer 2023 on the EthereumJS libraries, thanks to the whole team for this amazing accomplishment! ❤️ 🥳 diff --git a/packages/devp2p/docs/classes/ETH-1.md b/packages/devp2p/docs/classes/ETH-1.md index a636ab6f90..deb4d040a4 100644 --- a/packages/devp2p/docs/classes/ETH-1.md +++ b/packages/devp2p/docs/classes/ETH-1.md @@ -57,7 +57,7 @@ Protocol.constructor #### Defined in -[packages/devp2p/src/protocol/eth.ts:33](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L33) +[packages/devp2p/src/protocol/eth.ts:34](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L34) ## Properties @@ -76,7 +76,7 @@ Protocol.constructor #### Defined in -[packages/devp2p/src/protocol/eth.ts:52](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L52) +[packages/devp2p/src/protocol/eth.ts:53](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L53) ___ @@ -95,7 +95,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:53](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L53) +[packages/devp2p/src/protocol/eth.ts:54](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L54) ___ @@ -114,7 +114,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:54](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L54) +[packages/devp2p/src/protocol/eth.ts:55](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L55) ___ @@ -133,7 +133,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:55](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L55) +[packages/devp2p/src/protocol/eth.ts:56](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L56) ___ @@ -152,7 +152,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:56](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L56) +[packages/devp2p/src/protocol/eth.ts:57](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L57) ___ @@ -171,7 +171,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:57](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L57) +[packages/devp2p/src/protocol/eth.ts:58](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L58) ___ @@ -190,7 +190,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:58](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L58) +[packages/devp2p/src/protocol/eth.ts:59](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L59) ## Methods @@ -210,7 +210,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:236](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L236) +[packages/devp2p/src/protocol/eth.ts:246](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L246) ___ @@ -230,7 +230,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:244](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L244) +[packages/devp2p/src/protocol/eth.ts:254](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L254) ___ @@ -255,7 +255,7 @@ Protocol.\_handleMessage #### Defined in -[packages/devp2p/src/protocol/eth.ts:60](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L60) +[packages/devp2p/src/protocol/eth.ts:61](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L61) ___ @@ -269,7 +269,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:174](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L174) +[packages/devp2p/src/protocol/eth.ts:184](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L184) ___ @@ -289,7 +289,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:240](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L240) +[packages/devp2p/src/protocol/eth.ts:250](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L250) ___ @@ -311,7 +311,7 @@ Eth 64 Fork ID validation (EIP-2124) #### Defined in -[packages/devp2p/src/protocol/eth.ts:131](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L131) +[packages/devp2p/src/protocol/eth.ts:141](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L141) ___ @@ -331,7 +331,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:370](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L370) +[packages/devp2p/src/protocol/eth.ts:380](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L380) ___ @@ -345,7 +345,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:232](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L232) +[packages/devp2p/src/protocol/eth.ts:242](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L242) ___ @@ -366,7 +366,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:315](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L315) +[packages/devp2p/src/protocol/eth.ts:325](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L325) ___ @@ -386,4 +386,4 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:264](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L264) +[packages/devp2p/src/protocol/eth.ts:274](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L274) diff --git a/packages/devp2p/docs/enums/ETH.MESSAGE_CODES.md b/packages/devp2p/docs/enums/ETH.MESSAGE_CODES.md index db593f4dc0..1344953058 100644 --- a/packages/devp2p/docs/enums/ETH.MESSAGE_CODES.md +++ b/packages/devp2p/docs/enums/ETH.MESSAGE_CODES.md @@ -32,7 +32,7 @@ #### Defined in -[packages/devp2p/src/protocol/eth.ts:393](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L393) +[packages/devp2p/src/protocol/eth.ts:403](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L403) ___ @@ -42,7 +42,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:391](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L391) +[packages/devp2p/src/protocol/eth.ts:401](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L401) ___ @@ -52,7 +52,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:392](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L392) +[packages/devp2p/src/protocol/eth.ts:402](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L402) ___ @@ -62,7 +62,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:390](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L390) +[packages/devp2p/src/protocol/eth.ts:400](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L400) ___ @@ -72,7 +72,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:397](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L397) +[packages/devp2p/src/protocol/eth.ts:407](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L407) ___ @@ -82,7 +82,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:404](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L404) +[packages/devp2p/src/protocol/eth.ts:414](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L414) ___ @@ -92,7 +92,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:399](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L399) +[packages/devp2p/src/protocol/eth.ts:409](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L409) ___ @@ -102,7 +102,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:394](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L394) +[packages/devp2p/src/protocol/eth.ts:404](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L404) ___ @@ -112,7 +112,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:388](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L388) +[packages/devp2p/src/protocol/eth.ts:398](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L398) ___ @@ -122,7 +122,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:403](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L403) +[packages/devp2p/src/protocol/eth.ts:413](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L413) ___ @@ -132,7 +132,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:398](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L398) +[packages/devp2p/src/protocol/eth.ts:408](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L408) ___ @@ -142,7 +142,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:405](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L405) +[packages/devp2p/src/protocol/eth.ts:415](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L415) ___ @@ -152,7 +152,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:400](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L400) +[packages/devp2p/src/protocol/eth.ts:410](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L410) ___ @@ -162,7 +162,7 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:387](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L387) +[packages/devp2p/src/protocol/eth.ts:397](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L397) ___ @@ -172,4 +172,4 @@ ___ #### Defined in -[packages/devp2p/src/protocol/eth.ts:389](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L389) +[packages/devp2p/src/protocol/eth.ts:399](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L399) diff --git a/packages/devp2p/docs/modules/eth.md b/packages/devp2p/docs/modules/eth.md index 1ce05fdaee..b1db41fbd3 100644 --- a/packages/devp2p/docs/modules/eth.md +++ b/packages/devp2p/docs/modules/eth.md @@ -33,4 +33,4 @@ #### Defined in -[packages/devp2p/src/protocol/eth.ts:378](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L378) +[packages/devp2p/src/protocol/eth.ts:388](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/devp2p/src/protocol/eth.ts#L388) diff --git a/packages/devp2p/package.json b/packages/devp2p/package.json index 7f27c33d2c..7b0b7bfe78 100644 --- a/packages/devp2p/package.json +++ b/packages/devp2p/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/devp2p", - "version": "6.0.0", + "version": "6.0.1", "description": "A JavaScript implementation of ÐΞVp2p", "keywords": [ "ethereum", @@ -56,9 +56,9 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/common": "^4.0.0", - "@ethereumjs/rlp": "^5.0.0", - "@ethereumjs/util": "^9.0.0", + "@ethereumjs/common": "^4.1.0", + "@ethereumjs/rlp": "^5.0.1", + "@ethereumjs/util": "^9.0.1", "@scure/base": "1.1.1", "debug": "^4.3.3", "ethereum-cryptography": "^2.1.2", @@ -68,8 +68,8 @@ "snappyjs": "^0.6.1" }, "devDependencies": { - "@ethereumjs/block": "^5.0.0", - "@ethereumjs/tx": "^5.0.0", + "@ethereumjs/block": "^5.0.1", + "@ethereumjs/tx": "^5.1.0", "@types/debug": "^4.1.9", "@types/k-bucket": "^5.0.0", "chalk": "^2.4.2", diff --git a/packages/ethash/CHANGELOG.md b/packages/ethash/CHANGELOG.md index 907917391e..0d466462f1 100644 --- a/packages/ethash/CHANGELOG.md +++ b/packages/ethash/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 3.0.1 - 2023-10-26 + +- Performance: Cache often used BigInt constants, PR [#3050](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3050) + ## 3.0.0 - 2023-08-09 Final release version from the breaking release round from Summer 2023 on the EthereumJS libraries, thanks to the whole team for this amazing accomplishment! ❤️ 🥳 diff --git a/packages/ethash/package.json b/packages/ethash/package.json index 780be4b12d..ce8d7e36db 100644 --- a/packages/ethash/package.json +++ b/packages/ethash/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/ethash", - "version": "3.0.0", + "version": "3.0.1", "description": "An implementation of the Ethash consensus algorithm in JavaScript", "keywords": [ "ethash", @@ -44,14 +44,14 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/block": "^5.0.0", - "@ethereumjs/rlp": "^5.0.0", - "@ethereumjs/util": "^9.0.0", + "@ethereumjs/block": "^5.0.1", + "@ethereumjs/rlp": "^5.0.1", + "@ethereumjs/util": "^9.0.1", "bigint-crypto-utils": "^3.2.2", "ethereum-cryptography": "^2.1.2" }, "devDependencies": { - "@ethereumjs/common": "^4.0.0" + "@ethereumjs/common": "^4.1.0" }, "engines": { "node": ">=18" diff --git a/packages/evm/CHANGELOG.md b/packages/evm/CHANGELOG.md index 1ac6f739bd..f08ef21ac3 100644 --- a/packages/evm/CHANGELOG.md +++ b/packages/evm/CHANGELOG.md @@ -6,6 +6,37 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 2.1.0 - 2023-10-26 + +### New EVM Profiler / EVM Performance + +This releases ships with a completely new dedicated EVM profiler (❤️ to Jochem for the integration) to measure how the different opcode implementations are doing, see PR [#2988](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2988), [#3011](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3011), [#3013](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3013) and [#3041](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3041). + +See the new dedicated [README section](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/README.md#profiling-the-evm) for a detailed usage instruction. + +We were already able to do various performance related improvements using this tool (and we hope that you will be too) 🤩: + +- Substantial stack optimizations (`PUSH` and `POPn` +30-40%, `DUP` +40%), PR [#3000](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3000) +- `JUMPDEST` optimizations, PR [#3000](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3000) +- Various EVM interpreter optimizations (overall 7-15% performance gain), PR [#2996](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2996) +- Memory optimizations (`MLOAD` and `MSTORE` + 10-20%), PR [#3032](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3032) +- Reused BigInts cache, PR [#3034](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3034) and [#3050](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3050) +- `EXP` opcode optimizations (real-world 3x gain, not attack resistant), PR [#3034](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3034) + +### EIP-7516 BLOBBASEFEE Opcode + +This release supports [EIP-7516](https://eips.ethereum.org/EIPS/eip-7516) with a new `BLOBBASEFEE` opcode added to and scheduled for the Dencun HF, see PR [#3035](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3035) and [#3068](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3068). The opcode returns the value of the blob base-fee of the current block it is executing in. + +### Dencun devnet-11 Compatibility + +This release contains various fixes and spec updates related to the Dencun (Deneb/Cancun) HF and is now compatible with the specs as used in [devnet-11](https://github.com/ethpandaops/dencun-testnet) (October 2023). + +- Update `EIP-4788`: do not use precompile anymore but use the pre-deployed bytecode, PR [#2955](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2955) + +### Other Changes + +- Add missing `debug` dependency types, PR [#3072](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3072) + ## 2.0.0 - 2023-08-09 Final release version from the breaking release round from Summer 2023 on the EthereumJS libraries, thanks to the whole team for this amazing accomplishment! ❤️ 🥳 diff --git a/packages/evm/README.md b/packages/evm/README.md index 0b02f6cdee..e09daf88bf 100644 --- a/packages/evm/README.md +++ b/packages/evm/README.md @@ -224,8 +224,10 @@ Currently supported EIPs: - [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788) - Beacon block root in the EVM (Cancun) - [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) - Shard Blob Transactions (Cancun) (`experimental`) - [EIP-4895](https://eips.ethereum.org/EIPS/eip-4895) - Beacon chain push withdrawals as operations (Shanghai) +- [EIP-5133](https://eips.ethereum.org/EIPS/eip-5133) - Delaying Difficulty Bomb to mid-September 2022 (Gray Glacier) - [EIP-5656](https://eips.ethereum.org/EIPS/eip-5656) - MCOPY - Memory copying instruction (Cancun) - [EIP-6780](https://eips.ethereum.org/EIPS/eip-6780) - SELFDESTRUCT only in same transaction (Cancun) +- [EIP-7516](https://eips.ethereum.org/EIPS/eip-7516) - BLOBBASEFEE opcode (Cancun) ### EIP-4844 Shard Blob Transactions Support @@ -361,6 +363,40 @@ The opFns for `CREATE`, `CALL`, and `CALLCODE` call back up to `runCall`. TODO: this section likely needs an update. +## Profiling the EVM + +Starting with the `v2.1.0` release the EVM comes with build-in profiling capabilities to detect performance bottlenecks and to generally support the targeted evolution of the JavaScript EVM performance. + +While the EVM now has a dedicated `profiler` setting to activate, the profiler can best and most useful be run through the EthereumJS [client](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client) since this gives the most realistic conditions providing both real-world txs and a meaningful state size. + +To repeatedly run the EVM profiler within the client sync the client on mainnet or a larger testnet to the desired block. Then the profiler should be run without sync (to not distort the results) by using the `--executeBlocks` and the `--vmProfileBlocks` (or `--vmProfileTxs`) flags in conjunction like: + +```shell +npm run client:start -- --sync=none --vmProfileBlocks --executeBlocks=962720 +``` + +This will give a profile output like the following: + +![EthereumJS EVM Profiler](./profiler.png?raw=true) + +The `total (ms)` column gives you a good overview what takes the most significant amount of time, to be put in relation with the number of calls. + +The number to optimize for is the `Mgas/s` value. This value indicates how much gas (being a measure for the computational cost for an opcode) can be processed by the second. + +A good measure to putting this relation with is by taking both the Ethereum gas limit (the max amount of "computation" per block) and the time/slot into account. With a gas limit of 30 Mio and a 12 sec slot time this leads to a following (very) minimum `Mgas/s` value: + +```shell +30M / 12 sec = 2.5 Million gas per second +``` + +Note that this is nevertheless a very theoretical value but pretty valuable for some first rough orientation though. + +Another note: profiler results for at least some opcodes are heavily distorted, first to mention the `SSTORE` opcode where the major "cost" occurs after block execution on checkpoint commit, which is not taken into account by the profiler. + +Generally all results should rather encourage and need "self thinking" 😋 and are not suited to be blindedly taken over without a deeper understanding/grasping of the underlying measurement conditions. + +Happy EVM Profiling! 🎉 🤩 + ## Development See [@ethereumjs/vm](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/vm) README. diff --git a/packages/evm/docs/README.md b/packages/evm/docs/README.md index 2bdb8c53c1..0b366a1419 100644 --- a/packages/evm/docs/README.md +++ b/packages/evm/docs/README.md @@ -43,7 +43,7 @@ Log that the contract emits. #### Defined in -[types.ts:319](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L319) +[types.ts:329](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L329) ## Variables @@ -84,4 +84,4 @@ Log that the contract emits. #### Defined in -[precompiles/index.ts:166](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/precompiles/index.ts#L166) +[precompiles/index.ts:167](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/precompiles/index.ts#L167) diff --git a/packages/evm/docs/classes/Message.md b/packages/evm/docs/classes/Message.md index fee647a6bd..3051551151 100644 --- a/packages/evm/docs/classes/Message.md +++ b/packages/evm/docs/classes/Message.md @@ -12,6 +12,7 @@ - [\_codeAddress](Message.md#_codeaddress) - [authcallOrigin](Message.md#authcallorigin) +- [blobVersionedHashes](Message.md#blobversionedhashes) - [caller](Message.md#caller) - [code](Message.md#code) - [containerCode](Message.md#containercode) @@ -27,7 +28,6 @@ - [selfdestruct](Message.md#selfdestruct) - [to](Message.md#to) - [value](Message.md#value) -- [versionedHashes](Message.md#versionedhashes) ### Accessors @@ -74,6 +74,18 @@ the purpose is to figure out where `value` should be taken from (not from `calle ___ +### blobVersionedHashes + +• `Optional` **blobVersionedHashes**: `Uint8Array`[] + +List of versioned hashes if message is a blob transaction in the outer VM + +#### Defined in + +[message.ts:73](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/message.ts#L73) + +___ + ### caller • **caller**: `Address` @@ -226,18 +238,6 @@ ___ [message.ts:44](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/message.ts#L44) -___ - -### versionedHashes - -• `Optional` **versionedHashes**: `Uint8Array`[] - -List of versioned hashes if message is a blob transaction in the outer VM - -#### Defined in - -[message.ts:73](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/message.ts#L73) - ## Accessors ### codeAddress diff --git a/packages/evm/docs/interfaces/EVMResult.md b/packages/evm/docs/interfaces/EVMResult.md index a51b656b58..e8986cfcbd 100644 --- a/packages/evm/docs/interfaces/EVMResult.md +++ b/packages/evm/docs/interfaces/EVMResult.md @@ -21,7 +21,7 @@ Address of created account during transaction, if any #### Defined in -[types.ts:266](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L266) +[types.ts:276](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L276) ___ @@ -33,4 +33,4 @@ Contains the results from running the code, if any, as described in runCode #### Defined in -[types.ts:270](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L270) +[types.ts:280](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L280) diff --git a/packages/evm/docs/interfaces/ExecResult.md b/packages/evm/docs/interfaces/ExecResult.md index 4e910878b8..3d939f35de 100644 --- a/packages/evm/docs/interfaces/ExecResult.md +++ b/packages/evm/docs/interfaces/ExecResult.md @@ -29,7 +29,7 @@ Amount of blob gas consumed by the transaction #### Defined in -[types.ts:313](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L313) +[types.ts:323](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L323) ___ @@ -41,7 +41,7 @@ Map of addresses which were created (used in EIP 6780) #### Defined in -[types.ts:305](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L305) +[types.ts:315](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L315) ___ @@ -53,7 +53,7 @@ Description of the exception, if any occurred #### Defined in -[types.ts:281](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L281) +[types.ts:291](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L291) ___ @@ -65,7 +65,7 @@ Amount of gas the code used to run #### Defined in -[types.ts:289](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L289) +[types.ts:299](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L299) ___ @@ -77,7 +77,7 @@ Amount of gas left #### Defined in -[types.ts:285](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L285) +[types.ts:295](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L295) ___ @@ -89,7 +89,7 @@ The gas refund counter #### Defined in -[types.ts:309](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L309) +[types.ts:319](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L319) ___ @@ -101,7 +101,7 @@ Array of logs that the contract emitted #### Defined in -[types.ts:297](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L297) +[types.ts:307](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L307) ___ @@ -113,7 +113,7 @@ Return value from the contract #### Defined in -[types.ts:293](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L293) +[types.ts:303](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L303) ___ @@ -123,7 +123,7 @@ ___ #### Defined in -[types.ts:277](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L277) +[types.ts:287](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L287) ___ @@ -135,4 +135,4 @@ A set of accounts to selfdestruct #### Defined in -[types.ts:301](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L301) +[types.ts:311](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/types.ts#L311) diff --git a/packages/evm/docs/interfaces/InterpreterStep.md b/packages/evm/docs/interfaces/InterpreterStep.md index d80038b37b..e9507d2aca 100644 --- a/packages/evm/docs/interfaces/InterpreterStep.md +++ b/packages/evm/docs/interfaces/InterpreterStep.md @@ -28,7 +28,7 @@ #### Defined in -[interpreter.ts:102](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L102) +[interpreter.ts:114](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L114) ___ @@ -38,7 +38,7 @@ ___ #### Defined in -[interpreter.ts:103](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L103) +[interpreter.ts:115](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L115) ___ @@ -48,7 +48,7 @@ ___ #### Defined in -[interpreter.ts:106](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L106) +[interpreter.ts:118](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L118) ___ @@ -58,7 +58,7 @@ ___ #### Defined in -[interpreter.ts:95](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L95) +[interpreter.ts:107](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L107) ___ @@ -68,7 +68,7 @@ ___ #### Defined in -[interpreter.ts:89](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L89) +[interpreter.ts:101](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L101) ___ @@ -78,7 +78,7 @@ ___ #### Defined in -[interpreter.ts:90](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L90) +[interpreter.ts:102](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L102) ___ @@ -88,7 +88,7 @@ ___ #### Defined in -[interpreter.ts:104](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L104) +[interpreter.ts:116](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L116) ___ @@ -98,7 +98,7 @@ ___ #### Defined in -[interpreter.ts:105](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L105) +[interpreter.ts:117](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L117) ___ @@ -117,7 +117,7 @@ ___ #### Defined in -[interpreter.ts:96](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L96) +[interpreter.ts:108](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L108) ___ @@ -127,7 +127,7 @@ ___ #### Defined in -[interpreter.ts:94](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L94) +[interpreter.ts:106](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L106) ___ @@ -137,7 +137,7 @@ ___ #### Defined in -[interpreter.ts:93](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L93) +[interpreter.ts:105](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L105) ___ @@ -147,7 +147,7 @@ ___ #### Defined in -[interpreter.ts:92](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L92) +[interpreter.ts:104](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L104) ___ @@ -157,4 +157,4 @@ ___ #### Defined in -[interpreter.ts:91](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L91) +[interpreter.ts:103](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/evm/src/interpreter.ts#L103) diff --git a/packages/evm/package.json b/packages/evm/package.json index ed880e3743..c7e5ba2f9e 100644 --- a/packages/evm/package.json +++ b/packages/evm/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/evm", - "version": "2.0.0", + "version": "2.1.0", "description": "JavaScript Ethereum Virtual Machine (EVM) implementation", "keywords": [ "ethereum", @@ -52,10 +52,10 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/common": "^4.0.0", - "@ethereumjs/statemanager": "^2.0.0", - "@ethereumjs/tx": "^5.0.0", - "@ethereumjs/util": "^9.0.0", + "@ethereumjs/common": "^4.1.0", + "@ethereumjs/statemanager": "^2.1.0", + "@ethereumjs/tx": "^5.1.0", + "@ethereumjs/util": "^9.0.1", "@types/debug": "^4.1.9", "debug": "^4.3.3", "ethereum-cryptography": "^2.1.2", diff --git a/packages/evm/profiler.png b/packages/evm/profiler.png new file mode 100644 index 0000000000000000000000000000000000000000..d94aa42c50f1e36e35484f1606ac4e9f3c3b3150 GIT binary patch literal 508930 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

ZF+uWSSRP0%b;vl>Vt@A6pX-CtRT;H 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 C|+z=&r+6nfG&kvs>~{ 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

*%!Xwz_;qqK*+6gp<1s!akUaKxsVP?B>6>&@}rd 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