Raise the maximum contract code size from 24KiB to 32KiB and initcode size from 48KiB to 64KiB.
Timeline
Key Benefits
- ● Allows deploying larger, more complex contracts within a still-conservative maximum size.
- ● Increases initcode limit to 64KiB, enabling deployment of larger contract bytecode.
- ● Existing deployed contracts remain valid and unaffected.
- ● Minimal protocol change: only updates size constants in existing rules.
Trade-offs & Considerations
- ● Not backward compatible for contract deployments exceeding previous limits.
- ● May slightly increase denial-of-service risk from larger contract code, though limit remains conservative.
Stakeholder Impact
End Users
No required action; may benefit from dapps deploying larger contracts after the network upgrade.
Application Developers
Can deploy contracts up to 32KiB and initcode up to 64KiB, reducing pressure to split logic.
Wallet Developers
No new transaction types; deployments may include larger bytecode. Any size validations should reflect new limits.
Tooling / Infrastructure
Explorers, indexers, verifiers, and RPC tooling should handle larger contract bytecode and initcode in deployment flows.
Layer 2s
Systems mirroring Ethereum’s limits may need updates to contract-size checks to remain compatible with L1 rules.
Stakers & Node Operators
Operators need upgraded clients at fork; larger contracts can slightly increase storage and processing per deployment.
CL Client Developers
Mostly fork-activation wiring and testing; the rule change is in execution and enforced by paired EL clients.
EL Client Developers
Update EIP-170/EIP-3860 size checks, fork configuration, and tests to accept 32KiB code and 64KiB initcode.