From e3ab9f0b33d4ce73b1ff700d159b0053bfdd1770 Mon Sep 17 00:00:00 2001 From: Jochem Brouwer Date: Mon, 15 Jul 2024 17:03:06 +0200 Subject: [PATCH] Point to correct EIP --- EIPS/eip-7610.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-7610.md b/EIPS/eip-7610.md index 80ef48d0bbb5a4..c6718bb004d6a2 100644 --- a/EIPS/eip-7610.md +++ b/EIPS/eip-7610.md @@ -24,7 +24,7 @@ This EIP amends [EIP-684](./eip-684.md) with one extra condition, requiring empt ## Rationale -EIP-684 defines two conditions for contract deployment: the destination address must have zero nonce and zero code length. Unfortunately, this is not sufficient. Before [EIP-158](./eip-158.md) was applied, the nonce of a newly deployed contract remained set to zero. Therefore, it was entirely possible to create a contract with a zero nonce and zero code length but with non-empty storage, if slots were set in the constructor. There exists 28 such contracts on Ethereum mainnet at this time. +EIP-684 defines two conditions for contract deployment: the destination address must have zero nonce and zero code length. Unfortunately, this is not sufficient. Before [EIP-161](./eip-161.md) was applied, the nonce of a newly deployed contract remained set to zero. Therefore, it was entirely possible to create a contract with a zero nonce and zero code length but with non-empty storage, if slots were set in the constructor. There exists 28 such contracts on Ethereum mainnet at this time. As one of the core tenets of smart contracts is that its code will not change, even if the code is zero length. The contract creation must be rejected in such instanace.