ETH Price: $3,266.52 (+0.53%)
Gas: 2 Gwei

Contract

0x3625cBf0319fEbb022FB149531d0E1090702cf80
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Flush Tokens199015062024-05-19 4:09:1170 days ago1716091751IN
0x3625cBf0...90702cf80
0 ETH0.00017813.38024756
Flush Tokens198760352024-05-15 14:39:3574 days ago1715783975IN
0x3625cBf0...90702cf80
0 ETH0.0009427617.89265259
Transfer198759862024-05-15 14:29:4774 days ago1715783387IN
0x3625cBf0...90702cf80
0.00296387 ETH0.0005861615.65306579
Transfer198681332024-05-14 12:05:4775 days ago1715688347IN
0x3625cBf0...90702cf80
0.01393148 ETH0.0004691112.52740605
Transfer197060562024-04-21 20:05:5998 days ago1713729959IN
0x3625cBf0...90702cf80
0.1032412 ETH0.000319668.53639336
Transfer195139252024-03-25 20:42:11125 days ago1711399331IN
0x3625cBf0...90702cf80
0.14711 ETH0.0013074734.9153182
Transfer191702542024-02-06 16:02:47173 days ago1707235367IN
0x3625cBf0...90702cf80
0.01808011 ETH0.0018497749.39703844
Transfer191702072024-02-06 15:53:23173 days ago1707234803IN
0x3625cBf0...90702cf80
0.0085 ETH0.0014459438.61317733
Transfer189843922024-01-11 14:51:11199 days ago1704984671IN
0x3625cBf0...90702cf80
0.31449197 ETH0.0019230551.35394333
Transfer189798562024-01-10 23:35:11199 days ago1704929711IN
0x3625cBf0...90702cf80
0.03353746 ETH0.0025738768.73375279
Transfer189797922024-01-10 23:22:23199 days ago1704928943IN
0x3625cBf0...90702cf80
0.04196412 ETH0.0031694984.63959847
Transfer189786422024-01-10 19:29:35200 days ago1704914975IN
0x3625cBf0...90702cf80
0.01408366 ETH0.0014767739.43648075
Transfer189784652024-01-10 18:54:11200 days ago1704912851IN
0x3625cBf0...90702cf80
0.02049264 ETH0.0014963939.96037571
Transfer189277272024-01-03 15:29:23207 days ago1704295763IN
0x3625cBf0...90702cf80
0.61 ETH0.0018645849.79252702
Transfer189275242024-01-03 14:48:23207 days ago1704293303IN
0x3625cBf0...90702cf80
0.092 ETH0.0016380743.7439233
Transfer189094132024-01-01 1:45:23209 days ago1704073523IN
0x3625cBf0...90702cf80
0.0703 ETH0.000345799.23429262
Transfer189023892023-12-31 2:08:23210 days ago1703988503IN
0x3625cBf0...90702cf80
0.583 ETH0.0005107313.63899673
Transfer184866522023-11-02 20:03:59269 days ago1698955439IN
0x3625cBf0...90702cf80
0.0132 ETH0.0012586433.61134628
Transfer184668512023-10-31 1:29:23271 days ago1698715763IN
0x3625cBf0...90702cf80
0.009 ETH0.0009623325.69864088
Transfer184668022023-10-31 1:19:35271 days ago1698715175IN
0x3625cBf0...90702cf80
0.00605 ETH0.0012803234.19033561
Transfer184654912023-10-30 20:55:23272 days ago1698699323IN
0x3625cBf0...90702cf80
0.02 ETH0.0010508328.06190353
Transfer184452262023-10-28 0:48:59274 days ago1698454139IN
0x3625cBf0...90702cf80
0.054 ETH0.0004240511.32414277
Transfer183504312023-10-14 18:33:11288 days ago1697308391IN
0x3625cBf0...90702cf80
0.064 ETH0.00023716.33177528
Transfer183421502023-10-13 14:45:11289 days ago1697208311IN
0x3625cBf0...90702cf80
0.011 ETH0.000323528.63960344
Transfer183364362023-10-12 19:31:35290 days ago1697139095IN
0x3625cBf0...90702cf80
0.045 ETH0.000310128.28173213
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
198759862024-05-15 14:29:4774 days ago1715783387
0x3625cBf0...90702cf80
0.00296387 ETH
198681332024-05-14 12:05:4775 days ago1715688347
0x3625cBf0...90702cf80
0.01393148 ETH
197060562024-04-21 20:05:5998 days ago1713729959
0x3625cBf0...90702cf80
0.1032412 ETH
195139252024-03-25 20:42:11125 days ago1711399331
0x3625cBf0...90702cf80
0.14711 ETH
191702542024-02-06 16:02:47173 days ago1707235367
0x3625cBf0...90702cf80
0.01808011 ETH
191702072024-02-06 15:53:23173 days ago1707234803
0x3625cBf0...90702cf80
0.0085 ETH
189843922024-01-11 14:51:11199 days ago1704984671
0x3625cBf0...90702cf80
0.31449197 ETH
189798562024-01-10 23:35:11199 days ago1704929711
0x3625cBf0...90702cf80
0.03353746 ETH
189797922024-01-10 23:22:23199 days ago1704928943
0x3625cBf0...90702cf80
0.04196412 ETH
189786422024-01-10 19:29:35200 days ago1704914975
0x3625cBf0...90702cf80
0.01408366 ETH
189784652024-01-10 18:54:11200 days ago1704912851
0x3625cBf0...90702cf80
0.02049264 ETH
189277272024-01-03 15:29:23207 days ago1704295763
0x3625cBf0...90702cf80
0.61 ETH
189275242024-01-03 14:48:23207 days ago1704293303
0x3625cBf0...90702cf80
0.092 ETH
189094132024-01-01 1:45:23209 days ago1704073523
0x3625cBf0...90702cf80
0.0703 ETH
189023892023-12-31 2:08:23210 days ago1703988503
0x3625cBf0...90702cf80
0.583 ETH
184866522023-11-02 20:03:59269 days ago1698955439
0x3625cBf0...90702cf80
0.0132 ETH
184668512023-10-31 1:29:23271 days ago1698715763
0x3625cBf0...90702cf80
0.009 ETH
184668022023-10-31 1:19:35271 days ago1698715175
0x3625cBf0...90702cf80
0.00605 ETH
184654912023-10-30 20:55:23272 days ago1698699323
0x3625cBf0...90702cf80
0.02 ETH
184452262023-10-28 0:48:59274 days ago1698454139
0x3625cBf0...90702cf80
0.054 ETH
183504312023-10-14 18:33:11288 days ago1697308391
0x3625cBf0...90702cf80
0.064 ETH
183421502023-10-13 14:45:11289 days ago1697208311
0x3625cBf0...90702cf80
0.011 ETH
183364362023-10-12 19:31:35290 days ago1697139095
0x3625cBf0...90702cf80
0.045 ETH
183344312023-10-12 12:47:23290 days ago1697114843
0x3625cBf0...90702cf80
0.0285 ETH
183308012023-10-12 0:35:35290 days ago1697070935
0x3625cBf0...90702cf80
0.051 ETH
View All Internal Transactions
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.