From cf631d44290ae415ab334e96eef9d8600cda00ca Mon Sep 17 00:00:00 2001 From: Holger Drewes Date: Thu, 15 Dec 2022 14:41:05 +0100 Subject: [PATCH] Release updates (removed sharding and EOF internal HFs, CHANGELOG updates (in particular Hardfork-By-Time addition)) --- packages/block/CHANGELOG.md | 4 ++++ packages/blockchain/CHANGELOG.md | 4 ++++ packages/client/CHANGELOG.md | 7 ++++++- packages/common/CHANGELOG.md | 6 +++++- packages/common/src/enums.ts | 2 -- packages/common/src/hardforks/eof.json | 7 ------- packages/common/src/hardforks/shardingFork.json | 7 ------- packages/devp2p/CHANGELOG.md | 6 +++++- packages/vm/CHANGELOG.md | 4 ++++ 9 files changed, 28 insertions(+), 19 deletions(-) delete mode 100644 packages/common/src/hardforks/eof.json delete mode 100644 packages/common/src/hardforks/shardingFork.json diff --git a/packages/block/CHANGELOG.md b/packages/block/CHANGELOG.md index f7888cb5805..a60f6c4da1a 100644 --- a/packages/block/CHANGELOG.md +++ b/packages/block/CHANGELOG.md @@ -49,6 +49,10 @@ There is a new data option `withdrawals` to pass in system-level withdrawal oper Validation of the withdrawals trie can be manually triggered with the new async `Block.validateWithdrawalsTrie()` method. +### Hardfork-By-Time Support + +The Block library is now ready to work with hardforks triggered by timestamp, which will first be applied along the `Shanghai` HF, see PR [#2437](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2437). This is achieved by integrating a new timestamp supporting `@ethereumjs/common` library version. + ## 4.0.1 - 2022-10-18 ### Support for Geth genesis.json Genesis Format diff --git a/packages/blockchain/CHANGELOG.md b/packages/blockchain/CHANGELOG.md index 14227ff2ab5..df73b45153f 100644 --- a/packages/blockchain/CHANGELOG.md +++ b/packages/blockchain/CHANGELOG.md @@ -20,6 +20,10 @@ import { Common, Chain } from '@ethereumjs/common' The Blockchain class now fully supports including/adding withdrawal blocks as well as directly start with a genesis block including withdrawal operations. +### Hardfork-By-Time Support + +The Blockchain library is now ready to work with hardforks triggered by timestamp, which will first be applied along the `Shanghai` HF, see PR [#2437](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2437). This is achieved by integrating a new timestamp supporting `@ethereumjs/common` library version. + ## 6.0.2 - 2022-10-25 - Updated `@ethereumjs/util` minimal package version to `v8.0.2` to ensure functioning of the library (otherwise the newly exported `Lock` functionality might be missing) diff --git a/packages/client/CHANGELOG.md b/packages/client/CHANGELOG.md index 5d7d45c2721..eba29f3fed2 100644 --- a/packages/client/CHANGELOG.md +++ b/packages/client/CHANGELOG.md @@ -15,11 +15,16 @@ Furthermore this client release can now run chain including blocks with `EIP-489 ### New RPC Methods - `eth_getBlockTransactionCountByNumber`, PR [#2379](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2379) +- `eth_getTransactionByBlockHashAndIndex`, PR [#2443](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2443) - `eth_gasPrice`, PR [#2396](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2396) -- `eth_feeHistory`, PR [#2413](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2413) - `txpool_content`, PR [#2410](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2410) +- `debug_traceTransaction`, PR [#2444](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2444) - Miscellaneous tx related fixes, PR [#2411](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2411) +### Hardfork-By-Time Support + +The Client is now ready to work with hardforks triggered by timestamp, which will first be applied along the `Shanghai` HF, see PR [#2437](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2437). This is achieved by integrating a new timestamp supporting `@ethereumjs/common` library version. + ### Other Changes and Bug Fixes - Enhanced skeleton sync to process batches of new payloads and fcUs, PR [#2309](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2309) diff --git a/packages/common/CHANGELOG.md b/packages/common/CHANGELOG.md index 57dd8639323..07bbdc26632 100644 --- a/packages/common/CHANGELOG.md +++ b/packages/common/CHANGELOG.md @@ -19,11 +19,15 @@ import { Common, Chain } from '@ethereumjs/common' const common = new Common({ chain: Chain.Mainnet, eips: [4895] }) ``` +### Hardfork-By-Time Support + +The Common library now supports setting and retrieving hardforks which are triggered by timestamp instead of a specific block number, see PR [#2437](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2437). This mechanism will be first applied for the upcoming `Shanghai` HF. The methods `getHardforkByBlockNumber()`, `setHardforkByBlockNumber()` and `paramByBlock()` have been altered to take in an additional `timestamp` value, method naming remains for now for backwards compatibility. There are two new utility methods `hardforkTimestamp()` and `nextHardforkBlockOrTimestamp()`. + ### Other Changes - Support for initialization with Arbitrum One Chain ID, PR [#2426](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2426) - Post-Merge hardfork fix in `Common.fromGethGenesis()` static constructor, PR [#2427](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2427) -- Added `Hardfork.Eof` HF for an eventual EOF focused Shandong follow-up testnet (subject to change, do not use in production), PR [#2316](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2316) +- Fixed minor custom chain bugs, PR [#2448](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2448) ## 3.0.1 - 2022-10-18 diff --git a/packages/common/src/enums.ts b/packages/common/src/enums.ts index e313f01fe34..c96b781a018 100644 --- a/packages/common/src/enums.ts +++ b/packages/common/src/enums.ts @@ -23,9 +23,7 @@ export enum Hardfork { GrayGlacier = 'grayGlacier', MergeForkIdTransition = 'mergeForkIdTransition', Merge = 'merge', - Eof_INTERNAL = 'eof', Shanghai = 'shanghai', - ShardingFork_INTERNAL = 'shardingFork', } export enum ConsensusType { diff --git a/packages/common/src/hardforks/eof.json b/packages/common/src/hardforks/eof.json deleted file mode 100644 index c2b9173ad26..00000000000 --- a/packages/common/src/hardforks/eof.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "eof", - "comment": "Hardfork for eof testnet (subject to change and mainly internal, do not use in production)", - "url": "https://github.com/ethereumjs/ethereumjs-monorepo/issues/2298", - "status": "Experimental", - "eips": [3540, 3651, 3670, 3855, 3860] -} diff --git a/packages/common/src/hardforks/shardingFork.json b/packages/common/src/hardforks/shardingFork.json deleted file mode 100644 index d7f6a785996..00000000000 --- a/packages/common/src/hardforks/shardingFork.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "shardingFork", - "comment": "Hardfork to activate eip-4844", - "url": "", - "status": "Pre-Draft", - "eips": [4844] -} diff --git a/packages/devp2p/CHANGELOG.md b/packages/devp2p/CHANGELOG.md index 3534f9afe5d..b62fee09827 100644 --- a/packages/devp2p/CHANGELOG.md +++ b/packages/devp2p/CHANGELOG.md @@ -8,7 +8,11 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) ## 5.0.2 - 2022-12-09 -Maintenance release with dependency updates, PR [#2445](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2445) +### Hardfork-By-Time Support + +The devp2p library is now ready to work with hardforks triggered by timestamp, which will first be applied along the `Shanghai` HF, see PR [#2437](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2437). This is achieved by integrating a new timestamp supporting `@ethereumjs/common` library version. + +One specific devp2p change is that the forkid is now calculated based on timestamps for timestamp-based HFs, see [EIP-6122](https://github.com/ethereum/EIPs/pull/6122). ## 5.0.1 - 2022-10-18 diff --git a/packages/vm/CHANGELOG.md b/packages/vm/CHANGELOG.md index e67a4c3a5b8..e8e2402d391 100644 --- a/packages/vm/CHANGELOG.md +++ b/packages/vm/CHANGELOG.md @@ -21,6 +21,10 @@ const common = new Common({ chain: Chain.Mainnet, eips: [4895] }) In the VM withdrawals blocks can now both be executed with `VM.runBlock()` and build with `VM.buildBlock()` (for a more complex example you can have a look at the EIP tests in `test/api/EIPs/eip-4895-withdrawals.spec.ts`). +### Hardfork-By-Time Support + +The VM library is now ready to work with hardforks triggered by timestamp, which will first be applied along the `Shanghai` HF, see PR [#2437](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2437). This is achieved by integrating a new timestamp supporting `@ethereumjs/common` library version. + ### Bug Fixes and Other Changes - More correctly timed `nonce` updates in `VM.runTx()` to avoid certain consensus-critical `nonce`/`account` update constallations. PR [#2404](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2404)