rskip | title | description | status | purpose | author | layer | complexity | created |
---|---|---|---|---|---|---|---|---|
453 |
Prevent address creation on failed CREATE/CREATE2 operations |
Draft |
AS |
Core |
2 |
2024/10/09 |
RSKIP | 453 |
---|---|
Title | Prevent Address Creation on Failed CREATE/CREATE2 Operations |
Created | OCT-2024 |
Author | AS |
Purpose | Usa |
Layer | Core |
Complexity | 1 |
Status | Draft |
This RSKIP proposes aligning Rootstock (RSK) contract deployment behavior with Ethereum by failing contract creation. This change ensures no empty contract accounts are left in the state, mirroring Ethereum's behavior.
RSK currently leaves empty contract accounts in the state when contract creation fails, differing from Ethereum. Aligning with Ethereum will improve compatibility, security, and user experience in the ecosystem.
-
Contract Size Limit Exceeded:
When deploying contracts via CREATE/CREATE2 opcodes, if the code size exceeds the max limit, the contract creation should fail, and no empty contract account should remain in the state. -
Insufficient Gas:
If gas runs out during contract creation (CREATE/CREATE2), the contract creation should fail, and no empty contract account should be created. -
No Gas Refund:
In both cases (code size or gas limit), all remaining gas should be consumed, with no refunds provided.
This change is a hard fork and therefore all full nodes must be updated.
Copyright and related rights waived via CC0.