Forkchoice Ethereum Mainnet

Address Contract Partially Verified

Address 0x254D48e18f7d483a89553dAACDaf66Ffe1dd3934
Balance 0 ETH
Nonce 1
Code Size 1314 bytes
Indexed Transactions Index loading...
External Etherscan · Sourcify

Contract Bytecode

1314 bytes
0x60806040526004361061003f5760003560e01c80630508bc5a146100415780630b94de9c146100ca5780637e66c0b91461013d57806392940bf9146101a6575b005b34801561004d57600080fd5b506100b06004803603604081101561006457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610239565b604051808215151515815260200191505060405180910390f35b3480156100d657600080fd5b50610123600480360360408110156100ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610305565b604051808215151515815260200191505060405180910390f35b34801561014957600080fd5b5061018c6004803603602081101561016057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061039d565b604051808215151515815260200191505060405180910390f35b3480156101b257600080fd5b5061021f600480360360608110156101c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103c7565b604051808215151515815260200191505060405180910390f35b60006102fd83838573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156102bd57600080fd5b505afa1580156102d1573d6000803e3d6000fd5b505050506040513d60208110156102e757600080fd5b81019080805190602001909291905050506103c7565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461036057600080fd5b8273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050905092915050565b60006103c0823073ffffffffffffffffffffffffffffffffffffffff1631610305565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461042257600080fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156104a957600080fd5b505af11580156104bd573d6000803e3d6000fd5b505050506040513d60208110156104d357600080fd5b81019080805190602001909291905050509050939250505056fea265627a7a723158208a0fe96817a8601672566ecf93b86ff8e8ba318b7f9570983f6edb7298aae42d64736f6c634300050b0032

Verified Source Code Partial Match

Compiler: v0.5.11+commit.c082d0b4 EVM: petersburg Optimization: No
SimplifiedDelegatedTrasfer.sol 124 lines
// File: openzeppelin-solidity/contracts/token/ERC20/IERC20.sol

pragma solidity ^0.5.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP. Does not include
 * the optional functions; to access them see `ERC20Detailed`.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a `Transfer` event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through `transferFrom`. This is
     * zero by default.
     *
     * This value changes when `approve` or `transferFrom` are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * > Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an `Approval` event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a `Transfer` event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to `approve`. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

// File: contracts/SimplifiedDelegatedTrasfer.sol

pragma solidity ^0.5.11;


// ----------------------------------------------------------------------------
// A simple contract that transfers ERC20 tokens belonging to it to an external
// address
// ----------------------------------------------------------------------------
contract SimplifiedDelegatedTrasfer {
    address internal owner;

    constructor(address _owner ) public {
        owner = _owner;
    }
    
    function transferERC20Token(address tokenContractAddress, address to)
     public returns (bool _success) {
        return 
            transferERC20Token(
                tokenContractAddress,
                to,
                IERC20(tokenContractAddress).balanceOf(address(this))
            );
    }

    function transferERC20Token(address tokenContractAddress, address to, 
        uint256 amount) public returns (bool _success) {
        require(msg.sender == owner);
        return IERC20(tokenContractAddress).transfer(to, amount);
    }

    function claimETH(address payable to) public returns (bool _success) {
        return claimETH(to, address(this).balance);
    }

    function claimETH(address payable to, uint256 amount) public returns (bool _success) {
        require(msg.sender == owner);
        return to.send(amount);
    }

    // @notice Will receive any eth sent to the contract
    function () external payable {
    }
}

Write Contract 4 functions

These functions modify contract state and require a wallet transaction to execute.

claimETH 0x0b94de9c
address to
uint256 amount
returns: bool
claimETH 0x7e66c0b9
address to
returns: bool
transferERC20Token 0x0508bc5a
address tokenContractAddress
address to
returns: bool
transferERC20Token 0x92940bf9
address tokenContractAddress
address to
uint256 amount
returns: bool

Recent Transactions

Transaction index is loading. Only unfinalized transactions are shown while the index starts up.