{
  "id": 7620,
  "title": "EIP-7620: EOF Contract Creation",
  "status": "Stagnant",
  "type": "Standards Track",
  "category": "Core",
  "summary": "This introduces new contract creation instructions for EOF contracts: EOFCREATE and RETURNCODE, which replace the legacy CREATE/CREATE2 instructions. Since EOF removes code observability (the ability to inspect and manipulate code), the old creation methods don't work. EOFCREATE creates contracts using pre-validated subcontainers within the factory contract, maintaining security while enabling factory patterns. RETURNCODE allows the initialization code to specify which subcontainer becomes the deployed contract and append additional data. This preserves the factory contract use case while maintaining EOF's code non-observability guarantees.",
  "impacts": [],
  "discussion_url": "https://ethereum-magicians.org/t/eip-7620-eof-contract-creation-instructions/18625",
  "source_markdown_url": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7620.md",
  "canonical_url": "/latest/eips/7620.json",
  "markdown_url": "/latest/eips/7620.md",
  "citations": [
    {
      "recordId": "eip-7620",
      "artifactPath": "normalized/7620.json",
      "url": "/records/proposal/eip-7620/normalized/7620.json",
      "label": "EIP-7620: EOF Contract Creation",
      "snippet": "This introduces new contract creation instructions for EOF contracts: EOFCREATE and RETURNCODE, which replace the legacy CREATE/CREATE2 instructions. Since EOF removes code observability (the ability to inspect and manip"
    }
  ]
}
