ETH Price: $1,967.80 (+2.32%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Flush Tokens223049942025-04-19 18:59:11315 days ago1745089151IN
0xED537256...3985f8e7B
0 ETH0.000017380.32721862
Flush Tokens209019312024-10-05 21:09:11510 days ago1728162551IN
0xED537256...3985f8e7B
0 ETH0.000214984.04708161
Flush Tokens209001362024-10-05 15:09:11511 days ago1728140951IN
0xED537256...3985f8e7B
0 ETH0.000338966.38108709
Flush Tokens208956492024-10-05 0:09:11511 days ago1728086951IN
0xED537256...3985f8e7B
0 ETH0.00016653.13450153
Flush Tokens208801122024-10-02 20:09:47514 days ago1727899787IN
0xED537256...3985f8e7B
0 ETH0.0009872318.58458703
Flush Tokens208673132024-10-01 1:19:11515 days ago1727745551IN
0xED537256...3985f8e7B
0 ETH0.000264844.98577086
Flush Tokens208588902024-09-29 21:09:11516 days ago1727644151IN
0xED537256...3985f8e7B
0 ETH0.000368666.9401294
Flush Tokens208232552024-09-24 21:50:23521 days ago1727214623IN
0xED537256...3985f8e7B
0 ETH0.0009535517.95065771
Flush Tokens208157782024-09-23 20:49:35523 days ago1727124575IN
0xED537256...3985f8e7B
0 ETH0.0011644321.92047195
Flush Tokens208068692024-09-22 14:59:11524 days ago1727017151IN
0xED537256...3985f8e7B
0 ETH0.0006294911.85029016
Flush Tokens208067722024-09-22 14:39:47524 days ago1727015987IN
0xED537256...3985f8e7B
0 ETH0.000431918.1307275
Flush Tokens207986562024-09-21 11:29:11525 days ago1726918151IN
0xED537256...3985f8e7B
0 ETH0.000467238.79570741
Flush Tokens207952842024-09-21 0:09:11525 days ago1726877351IN
0xED537256...3985f8e7B
0 ETH0.000523719.85889706
Flush Tokens207512372024-09-14 20:29:11532 days ago1726345751IN
0xED537256...3985f8e7B
0 ETH0.000104641.96988987
Flush Tokens207447802024-09-13 22:49:11532 days ago1726267751IN
0xED537256...3985f8e7B
0 ETH0.000130392.45473408
Flush Tokens207381112024-09-13 0:29:11533 days ago1726187351IN
0xED537256...3985f8e7B
0 ETH0.000097221.83024594
Flush Tokens206999732024-09-07 16:39:11539 days ago1725727151IN
0xED537256...3985f8e7B
0 ETH0.000098961.8630182
Flush Tokens206963862024-09-07 4:39:23539 days ago1725683963IN
0xED537256...3985f8e7B
0 ETH0.000059241.11537687
Flush Tokens206450272024-08-31 0:39:11546 days ago1725064751IN
0xED537256...3985f8e7B
0 ETH0.000037620.70834696
Flush Tokens206314682024-08-29 3:09:23548 days ago1724900963IN
0xED537256...3985f8e7B
0 ETH0.000040080.75453642
Flush Tokens205942412024-08-23 22:19:23553 days ago1724451563IN
0xED537256...3985f8e7B
0 ETH0.000093271.7558901
Flush Tokens205301592024-08-14 23:29:35562 days ago1723678175IN
0xED537256...3985f8e7B
0 ETH0.000074641.40516826
Flush Tokens205300582024-08-14 23:09:23562 days ago1723676963IN
0xED537256...3985f8e7B
0 ETH0.000064181.20818864
Flush Tokens204945812024-08-10 0:19:23567 days ago1723249163IN
0xED537256...3985f8e7B
0 ETH0.000057541.08333477
Flush Tokens204862672024-08-08 20:29:47569 days ago1723148987IN
0xED537256...3985f8e7B
0 ETH0.000176953.33112623
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
0x3d602d80194919022024-03-22 18:18:59708 days ago1711131539  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Minimal Proxy Contract for 0x3a5fb753285ac3a67c6b0d03e121921b2a1428be

Contract Name:
Forwarder

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-12
*/

// File: @uniswap/lib/contracts/libraries/TransferHelper.sol



pragma solidity >=0.6.0;

// helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false
library TransferHelper {
    function safeApprove(
        address token,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes('approve(address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value));
        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            'TransferHelper::safeApprove: approve failed'
        );
    }

    function safeTransfer(
        address token,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes('transfer(address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value));
        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            'TransferHelper::safeTransfer: transfer failed'
        );
    }

    function safeTransferFrom(
        address token,
        address from,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes('transferFrom(address,address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value));
        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            'TransferHelper::transferFrom: transferFrom failed'
        );
    }

    function safeTransferETH(address to, uint256 value) internal {
        (bool success, ) = to.call{value: value}(new bytes(0));
        require(success, 'TransferHelper::safeTransferETH: ETH transfer failed');
    }
}

// File: ManualForwarder/ERC20Interface.sol


pragma solidity ^0.8.0;

/**
 * Contract that exposes the needed erc20 token functions
 */

abstract contract ERC20Interface {
  // Send _value amount of tokens to address _to
  function transfer(address _to, uint256 _value)
    public
    virtual
    returns (bool success);

  // Get the account balance of another account with address _owner
  function balanceOf(address _owner)
    public
    virtual
    view
    returns (uint256 balance);
}

// File: ManualForwarder/Forwarder.sol



 pragma solidity ^0.8.19;



 contract Forwarder {
    address private parentAddress;
    address private owner;

    event ForwarderDeposited(address from, uint256 value, bytes data);

    function initialize(address _owner, address initAddress) public onlyUninitialized {
        require(initAddress != address(0), "Invalid parent address");
        require(_owner != address(0), "Invalid owner address");
        owner = _owner;
        parentAddress = initAddress;
    }

    modifier onlyUninitialized {
        require(parentAddress == address(0x0), "Already initialized");
        _;
    }

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

    function getParentAddress() public view onlyOwner returns (address) {
        return parentAddress;
    }

    function getOwner() public view onlyOwner returns (address) {
        return owner;
    }

    fallback() external payable {
        flush();
    }

    receive() external payable {
        flush();
    }

    function setParentAddress(address newAddress) public onlyOwner {
        require(newAddress != address(0), "Invalid parent address");
        parentAddress = newAddress;
    }

    function flush() private {
        uint256 value = payable(address(this)).balance;

        if (value == 0) {
            return;
        }

        (bool success, ) = parentAddress.call{ value: value }("");
        require(success, "Flush failed");
        emit ForwarderDeposited(msg.sender, value, msg.data);
    }

    function getERC20Balance(
        address tokenContractAddress
    ) public view returns (uint256) {
        ERC20Interface instance = ERC20Interface(tokenContractAddress);
        address forwarderAddress = address(this);
        uint256 forwarderBalance = instance.balanceOf(forwarderAddress);
        if (forwarderBalance == 0) {
            return 0;
        }
        return forwarderBalance;
    }

    function flushTokens(address tokenContractAddress) external onlyOwner {
        ERC20Interface instance = ERC20Interface(tokenContractAddress);
        address forwarderAddress = address(this);
        uint256 forwarderBalance = instance.balanceOf(forwarderAddress);
        if (forwarderBalance == 0) {
            return;
        }

        TransferHelper.safeTransfer(
            tokenContractAddress,
            parentAddress,
            forwarderBalance
        );
    }
}

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"ForwarderDeposited","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"tokenContractAddress","type":"address"}],"name":"flushTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenContractAddress","type":"address"}],"name":"getERC20Balance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getParentAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"initAddress","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setParentAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.