Destructible

Description:

Smart contract deployed on Ethereum.

Blockchain: Ethereum

Source Code: View Code On The Blockchain

Solidity Source Code:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

contract Destructible {
    address public owner;
    uint256 public destructionDelay = 1 days; // Safety delay

    constructor() {
        owner = msg.sender;
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "Not owner");
        _;
    }

    // Request destruction (two-step pattern for safety)
    mapping(address => uint256) public destructionRequests;

    function requestDestruction() external onlyOwner {
        require(destructionRequests[msg.sender] == 0, "Request already pending");
        destructionRequests[msg.sender] = block.timestamp + destructionDelay;
        emit DestructionRequested(msg.sender, destructionRequests[msg.sender]);
    }

    function executeDestruction() external onlyOwner {
        require(
            destructionRequests[msg.sender] != 0 &&
            block.timestamp >= destructionRequests[msg.sender],
            "No valid request"
        );
        selfdestruct(payable(owner)); // Sends remaining ETH to owner
    }

    event DestructionRequested(address indexed requester, uint256 executionTime);
}

Tags:
addr:0x7273e5e2618bc420e93c377d80bc5889c3067d7a|verified:true|block:23570491|tx:0x7d765f6124a85e6a77ee2bb1a454aaff782f8ceec7d293998cbd63244b78e4df|first_check:1760382743

Submitted on: 2025-10-13 21:12:24

Comments

Log in to comment.

No comments yet.