{
  "id": 7610,
  "title": "EIP-7610: Revert creation in case of non-empty storage",
  "status": "Last Call",
  "type": "Standards Track",
  "category": "Core",
  "summary": "Existing conditions to prevent deploying contract at address with existing data are insufficient, this ensures it cannot happen even in edge case scenarios. There are at least 28 contracts that were deployed with this issue.",
  "impacts": [
    "No direct impact on regular users.",
    "Making sure devs cannot deploy contract on incorrect address with proper error handling.",
    "No changes to wallets.",
    "Contract development tooling needs to update and handle errors correctly",
    "L2s can benefit from the improvement following the change in their implementations.",
    "No impact on stakers and nodes.",
    "No change to consensus layer.",
    "New condition needs to implement the check in EL clients.",
    "Mitigates issues stemming from contract deployment over existing storage.",
    "Makes sure app developers cannot make this mistake and provides correct errors if such a tx is submitted."
  ],
  "discussion_url": "https://ethereum-magicians.org/t/eip-revert-creation-in-case-of-non-empty-storage/18452",
  "source_markdown_url": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7610.md",
  "canonical_url": "/latest/eips/7610.json",
  "markdown_url": "/latest/eips/7610.md",
  "citations": [
    {
      "recordId": "eip-7610",
      "artifactPath": "normalized/7610.json",
      "url": "/records/proposal/eip-7610/normalized/7610.json",
      "label": "EIP-7610: Revert creation in case of non-empty storage",
      "snippet": "Existing conditions to prevent deploying contract at address with existing data are insufficient, this ensures it cannot happen even in edge case scenarios. There are at least 28 contracts that were deployed with this is"
    }
  ]
}
