ETH Price: $3,087.30 (-0.04%)
Gas: 5 Gwei

Contract

0xB79eE407068A4588967eC29F8ed300183E8FE4f8
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Transfer198230202024-05-08 4:40:2363 days ago1715143223IN
0xB79eE407...83E8FE4f8
0.03308696 ETH0.000233896.24597436
Transfer198130672024-05-06 19:16:1164 days ago1715022971IN
0xB79eE407...83E8FE4f8
0.03488163 ETH0.000220345.88414489
Transfer198124952024-05-06 17:21:3564 days ago1715016095IN
0xB79eE407...83E8FE4f8
0.02699725 ETH0.000354779.47408721
Transfer198109752024-05-06 12:14:3564 days ago1714997675IN
0xB79eE407...83E8FE4f8
0.06943086 ETH0.000251326.71161042
Transfer197907672024-05-03 16:25:5967 days ago1714753559IN
0xB79eE407...83E8FE4f8
0.02497032 ETH0.0003946410.53876917
Transfer197791562024-05-02 1:27:2369 days ago1714613243IN
0xB79eE407...83E8FE4f8
0.04243055 ETH0.000249446.66131224
Transfer197788202024-05-02 0:19:1169 days ago1714609151IN
0xB79eE407...83E8FE4f8
0.02837395 ETH0.000269097.18607846
Transfer197775922024-05-01 20:12:2369 days ago1714594343IN
0xB79eE407...83E8FE4f8
0.03373366 ETH0.0004696312.54134683
Transfer196783412024-04-17 23:02:2383 days ago1713394943IN
0xB79eE407...83E8FE4f8
0.02563812 ETH0.000360059.6151
Transfer196123482024-04-08 17:11:1192 days ago1712596271IN
0xB79eE407...83E8FE4f8
0.05469412 ETH0.0020836555.64267562
Transfer196006382024-04-07 1:46:1194 days ago1712454371IN
0xB79eE407...83E8FE4f8
0.05724399 ETH0.0004647512.41109672
Transfer195869172024-04-05 3:39:1196 days ago1712288351IN
0xB79eE407...83E8FE4f8
0.0304829 ETH0.0005390814.39604974
Transfer195834872024-04-04 16:08:2396 days ago1712246903IN
0xB79eE407...83E8FE4f8
0.01783723 ETH0.0031841685.03133235
Transfer195816332024-04-04 9:53:1196 days ago1712224391IN
0xB79eE407...83E8FE4f8
0.0898941 ETH0.0008847723.62734505
Transfer195227752024-03-27 2:37:35105 days ago1711507055IN
0xB79eE407...83E8FE4f8
0.09150766 ETH0.000952325.43069
Transfer193342122024-02-29 15:58:35131 days ago1709222315IN
0xB79eE407...83E8FE4f8
0.01561604 ETH0.0025653668.50653806
Transfer192387682024-02-16 6:45:11145 days ago1708065911IN
0xB79eE407...83E8FE4f8
0.13379169 ETH0.0009157124.45366637
Transfer192313512024-02-15 5:49:35146 days ago1707976175IN
0xB79eE407...83E8FE4f8
0.05263082 ETH0.0007441419.87194946
Transfer192308732024-02-15 4:13:23146 days ago1707970403IN
0xB79eE407...83E8FE4f8
0.04077122 ETH0.0007100418.96121377

Latest 20 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
198230202024-05-08 4:40:2363 days ago1715143223
0xB79eE407...83E8FE4f8
0.03308696 ETH
198130672024-05-06 19:16:1164 days ago1715022971
0xB79eE407...83E8FE4f8
0.03488163 ETH
198124952024-05-06 17:21:3564 days ago1715016095
0xB79eE407...83E8FE4f8
0.02699725 ETH
198109752024-05-06 12:14:3564 days ago1714997675
0xB79eE407...83E8FE4f8
0.06943086 ETH
197907672024-05-03 16:25:5967 days ago1714753559
0xB79eE407...83E8FE4f8
0.02497032 ETH
197791562024-05-02 1:27:2369 days ago1714613243
0xB79eE407...83E8FE4f8
0.04243055 ETH
197788202024-05-02 0:19:1169 days ago1714609151
0xB79eE407...83E8FE4f8
0.02837395 ETH
197775922024-05-01 20:12:2369 days ago1714594343
0xB79eE407...83E8FE4f8
0.03373366 ETH
196783412024-04-17 23:02:2383 days ago1713394943
0xB79eE407...83E8FE4f8
0.02563812 ETH
196123482024-04-08 17:11:1192 days ago1712596271
0xB79eE407...83E8FE4f8
0.05469412 ETH
196006382024-04-07 1:46:1194 days ago1712454371
0xB79eE407...83E8FE4f8
0.05724399 ETH
195869172024-04-05 3:39:1196 days ago1712288351
0xB79eE407...83E8FE4f8
0.0304829 ETH
195834872024-04-04 16:08:2396 days ago1712246903
0xB79eE407...83E8FE4f8
0.01783723 ETH
195816332024-04-04 9:53:1196 days ago1712224391
0xB79eE407...83E8FE4f8
0.0898941 ETH
195227752024-03-27 2:37:35105 days ago1711507055
0xB79eE407...83E8FE4f8
0.09150766 ETH
193342122024-02-29 15:58:35131 days ago1709222315
0xB79eE407...83E8FE4f8
0.01561604 ETH
192387682024-02-16 6:45:11145 days ago1708065911
0xB79eE407...83E8FE4f8
0.13379169 ETH
192313512024-02-15 5:49:35146 days ago1707976175
0xB79eE407...83E8FE4f8
0.05263082 ETH
192308732024-02-15 4:13:23146 days ago1707970403
0xB79eE407...83E8FE4f8
0.04077122 ETH
191357442024-02-01 19:44:35159 days ago1706816675  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.