ETH Price: $3,297.87 (-3.58%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Flush Tokens215769722025-01-08 3:09:1115 hrs ago1736305751IN
0x55a354bB...9dcF348eb
0 ETH0.000344676.54159038
Flush Tokens215638372025-01-06 7:09:112 days ago1736147351IN
0x55a354bB...9dcF348eb
0 ETH0.000366786.96116195
Flush Tokens214951932024-12-27 17:09:1112 days ago1735319351IN
0x55a354bB...9dcF348eb
0 ETH0.000364146.91116006
Flush Tokens214378642024-12-19 16:49:1120 days ago1734626951IN
0x55a354bB...9dcF348eb
0 ETH0.0010549920.02267481
Flush Tokens213837912024-12-12 3:39:1127 days ago1733974751IN
0x55a354bB...9dcF348eb
0 ETH0.0008103115.37884894
Flush Tokens213409752024-12-06 4:09:2333 days ago1733458163IN
0x55a354bB...9dcF348eb
0 ETH0.000792415.03898407
Flush Tokens212880912024-11-28 18:49:1140 days ago1732819751IN
0x55a354bB...9dcF348eb
0 ETH0.0008653216.42298205
Flush Tokens212878932024-11-28 18:09:1141 days ago1732817351IN
0x55a354bB...9dcF348eb
0 ETH0.0007039713.36076292
Flush Tokens211895822024-11-15 0:42:1154 days ago1731631331IN
0x55a354bB...9dcF348eb
0 ETH0.0009323317.69478178
Flush Tokens211460142024-11-08 22:49:1160 days ago1731106151IN
0x55a354bB...9dcF348eb
0 ETH0.0007118213.50966503
Flush Tokens211459642024-11-08 22:39:1160 days ago1731105551IN
0x55a354bB...9dcF348eb
0 ETH0.000522419.91495932
Flush Tokens210218222024-10-22 14:49:2378 days ago1729608563IN
0x55a354bB...9dcF348eb
0 ETH0.0007792914.79014968
Flush Tokens210106722024-10-21 1:29:2379 days ago1729474163IN
0x55a354bB...9dcF348eb
0 ETH0.000334296.34463602
Flush Tokens209855892024-10-17 13:29:1183 days ago1729171751IN
0x55a354bB...9dcF348eb
0 ETH0.0009112717.29509102
Flush Tokens209754402024-10-16 3:29:1184 days ago1729049351IN
0x55a354bB...9dcF348eb
0 ETH0.0005858711.11927988
Flush Tokens209719632024-10-15 15:49:2385 days ago1729007363IN
0x55a354bB...9dcF348eb
0 ETH0.0011153221.16770453
Flush Tokens209377582024-10-10 20:59:2389 days ago1728593963IN
0x55a354bB...9dcF348eb
0 ETH0.0006374412.09807162
Flush Tokens208818562024-10-03 1:59:1197 days ago1727920751IN
0x55a354bB...9dcF348eb
0 ETH0.000277035.2577707
Flush Tokens207711312024-09-17 15:09:11113 days ago1726585751IN
0x55a354bB...9dcF348eb
0 ETH0.0007839214.87797027
Flush Tokens207279702024-09-11 14:29:11119 days ago1726064951IN
0x55a354bB...9dcF348eb
0 ETH0.000313125.94278386
Flush Tokens207175372024-09-10 3:29:11120 days ago1725938951IN
0x55a354bB...9dcF348eb
0 ETH0.00009051.7176397
Flush Tokens206295802024-08-28 20:49:35132 days ago1724878175IN
0x55a354bB...9dcF348eb
0 ETH0.000281065.33428312
Flush Tokens206143712024-08-26 17:50:35135 days ago1724694635IN
0x55a354bB...9dcF348eb
0 ETH0.000140242.66164497
Flush Tokens205735662024-08-21 0:59:11140 days ago1724201951IN
0x55a354bB...9dcF348eb
0 ETH0.000038050.72228097
Flush Tokens205697862024-08-20 12:19:11141 days ago1724156351IN
0x55a354bB...9dcF348eb
0 ETH0.000066981.27124257
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block
From
To
179697502023-08-22 10:46:47505 days ago1692701207  Contract Creation0 ETH
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
/**
 *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

[{"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 Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.