# selfdestruct was deprecated in solidity 0.8.18 via eip-6049 The deprecation of `SELFDESTRUCT` signals the Ethereum community's intention to eventually remove or neuter the opcode. Since [[selfdestruct in implementation contracts can permanently brick proxy systems]], this deprecation reduces a major risk for proxy architectures going forward. However, contracts compiled with older Solidity versions still contain the opcode, and since [[parity wallet hack demonstrated that selfdestruct in implementation contracts permanently bricks proxy systems|the Parity wallet hack demonstrated its destructive potential]], any legacy implementation or library contract with an accessible selfdestruct path represents a supply-chain risk for dependent proxies. The deprecation timeline and eventual removal mechanics are still under discussion in the Ethereum governance process. --- Relevant Notes: - [[selfdestruct in implementation contracts can permanently brick proxy systems]] — the vulnerability this deprecation addresses - [[parity wallet hack demonstrated that selfdestruct in implementation contracts permanently bricks proxy systems]] — the canonical exploit - [[CREATE2 enables contract recreation at the same address with different bytecode when the constructor queries external state]] — selfdestruct is the prerequisite that clears addresses for CREATE2 recreation attacks; deprecation narrows this vector Topics: - [[solidity-behaviors]]