Closed Pangssu closed 5 months ago
The recent update introduces a significant change aimed at addressing a deployment issue with the multicall3 contract in the Ecotone hardfork of the Kroma blockchain. By manually applying the correct contract code to a specific address, this update ensures the multicall3's functionality is preserved and operates as intended under certain conditions. This is achieved through modifications in both the consensus and core processing components, as well as the inclusion of testing for the new functionality.
File(s) | Change Summary |
---|---|
consensus/misc/multicall3.go |
Introduces functionality to manually apply contract code to a specific address in the Ecotone hardfork. |
consensus/misc/multicall3_test.go |
Adds tests for the new multicall3 functionality, covering various scenarios like timestamps and chain configurations. |
core/state_processor.go miner/worker.go |
Integrates the call to misc.EnsureMulticall3 to ensure multicall3 functionality during state processing and work generation. |
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Is superchain.LoadContractBytecode not available? I'm wondering if it's not in the Multicall3 superchain registry.
So we need to set ecotone time to odd timestamp for mainnet and even timestamp for testnet and devnet, right?
Right.
The original multicall3 contract could not be deployed to Kroma mainnet at the canonical address of 0xcA11bde05977b3631167028862bE2a173976CA11 due to an unexpected nonce increment. This file applies the contract code to the canonical address manually in the Ecotone hardfork of Kroma.
Summary by CodeRabbit
New Features
Tests
Refactor