ETH Price: $2,639.29 (+1.44%)
Gas: 3 Gwei

Contract

0xc58f08A694f7f15c296F1c7c08BD71E0FeAb8360
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer189500622024-01-06 18:57:47217 days ago1704567467IN
0xc58f08A6...0FeAb8360
0.00887772 ETH0.0010395427.7604277
Transfer189081042023-12-31 21:21:47223 days ago1704057707IN
0xc58f08A6...0FeAb8360
0.00218419 ETH0.0005728815.29861553
Transfer185485742023-11-11 12:05:11274 days ago1699704311IN
0xc58f08A6...0FeAb8360
0.0048618 ETH0.001057328.23483331
Transfer185083662023-11-05 21:06:23279 days ago1699218383IN
0xc58f08A6...0FeAb8360
0.0037102 ETH0.0009659325.7947944
Transfer184734052023-10-31 23:32:23284 days ago1698795143IN
0xc58f08A6...0FeAb8360
0.05578737 ETH0.0008332322.25091864
Transfer184436952023-10-27 19:41:23288 days ago1698435683IN
0xc58f08A6...0FeAb8360
0.00338829 ETH0.0006428917.16804362
Transfer184434582023-10-27 18:53:59289 days ago1698432839IN
0xc58f08A6...0FeAb8360
0.03964837 ETH0.0006214416.59525746
Transfer184125202023-10-23 10:58:11293 days ago1698058691IN
0xc58f08A6...0FeAb8360
0.0627495 ETH0.000307348.20744533
Transfer183895712023-10-20 5:52:23296 days ago1697781143IN
0xc58f08A6...0FeAb8360
0.00126276 ETH0.000234336.25772062
Transfer183426702023-10-13 16:30:11303 days ago1697214611IN
0xc58f08A6...0FeAb8360
0.01621154 ETH0.0004441211.8600341
Transfer183313282023-10-12 2:21:59304 days ago1697077319IN
0xc58f08A6...0FeAb8360
0.0038508 ETH0.000266727.12267108
Transfer182443352023-09-29 22:25:35316 days ago1696026335IN
0xc58f08A6...0FeAb8360
0.01200631 ETH0.000258846.9123813
Transfer182442662023-09-29 22:11:47316 days ago1696025507IN
0xc58f08A6...0FeAb8360
0.00599426 ETH0.000347389.27684007
Transfer181858892023-09-21 17:59:11325 days ago1695319151IN
0xc58f08A6...0FeAb8360
0.07486725 ETH0.0004621712.34207003
Transfer181858842023-09-21 17:58:11325 days ago1695319091IN
0xc58f08A6...0FeAb8360
0.04088261 ETH0.0005212213.91895009
Transfer181843922023-09-21 12:56:59325 days ago1695301019IN
0xc58f08A6...0FeAb8360
0.06482359 ETH0.0005039313.45730296
Transfer180721902023-09-05 18:54:23341 days ago1693940063IN
0xc58f08A6...0FeAb8360
0.00183423 ETH0.0006422717.1516509
Transfer180586042023-09-03 21:20:11342 days ago1693776011IN
0xc58f08A6...0FeAb8360
0.01521708 ETH0.0004050410.81656823
Transfer180362612023-08-31 18:10:47346 days ago1693505447IN
0xc58f08A6...0FeAb8360
0.02103289 ETH0.0014595138.9754296
Transfer180361932023-08-31 17:57:11346 days ago1693504631IN
0xc58f08A6...0FeAb8360
0.01205787 ETH0.0013798436.84791871
Transfer179344602023-08-17 12:12:23360 days ago1692274343IN
0xc58f08A6...0FeAb8360
0.0028019 ETH0.0009811926.20233324
Transfer179080022023-08-13 19:23:11363 days ago1691954591IN
0xc58f08A6...0FeAb8360
0.10780218 ETH0.0004915713.12709162
Transfer178657202023-08-07 21:25:47369 days ago1691443547IN
0xc58f08A6...0FeAb8360
0.02188028 ETH0.0007915121.13689505
Transfer178580842023-08-06 19:45:35370 days ago1691351135IN
0xc58f08A6...0FeAb8360
0.01913122 ETH0.0005085913.5817841
Transfer178381932023-08-04 0:58:35373 days ago1691110715IN
0xc58f08A6...0FeAb8360
0.02722184 ETH0.0004936613.18311603
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
189500622024-01-06 18:57:47217 days ago1704567467
0xc58f08A6...0FeAb8360
0.00887772 ETH
189081042023-12-31 21:21:47223 days ago1704057707
0xc58f08A6...0FeAb8360
0.00218419 ETH
185485742023-11-11 12:05:11274 days ago1699704311
0xc58f08A6...0FeAb8360
0.0048618 ETH
185083662023-11-05 21:06:23279 days ago1699218383
0xc58f08A6...0FeAb8360
0.0037102 ETH
184734052023-10-31 23:32:23284 days ago1698795143
0xc58f08A6...0FeAb8360
0.05578737 ETH
184436952023-10-27 19:41:23288 days ago1698435683
0xc58f08A6...0FeAb8360
0.00338829 ETH
184434582023-10-27 18:53:59289 days ago1698432839
0xc58f08A6...0FeAb8360
0.03964837 ETH
184125202023-10-23 10:58:11293 days ago1698058691
0xc58f08A6...0FeAb8360
0.0627495 ETH
183895712023-10-20 5:52:23296 days ago1697781143
0xc58f08A6...0FeAb8360
0.00126276 ETH
183426702023-10-13 16:30:11303 days ago1697214611
0xc58f08A6...0FeAb8360
0.01621154 ETH
183313282023-10-12 2:21:59304 days ago1697077319
0xc58f08A6...0FeAb8360
0.0038508 ETH
182443352023-09-29 22:25:35316 days ago1696026335
0xc58f08A6...0FeAb8360
0.01200631 ETH
182442662023-09-29 22:11:47316 days ago1696025507
0xc58f08A6...0FeAb8360
0.00599426 ETH
181858892023-09-21 17:59:11325 days ago1695319151
0xc58f08A6...0FeAb8360
0.07486725 ETH
181858842023-09-21 17:58:11325 days ago1695319091
0xc58f08A6...0FeAb8360
0.04088261 ETH
181843922023-09-21 12:56:59325 days ago1695301019
0xc58f08A6...0FeAb8360
0.06482359 ETH
180721902023-09-05 18:54:23341 days ago1693940063
0xc58f08A6...0FeAb8360
0.00183423 ETH
180586042023-09-03 21:20:11342 days ago1693776011
0xc58f08A6...0FeAb8360
0.01521708 ETH
180362612023-08-31 18:10:47346 days ago1693505447
0xc58f08A6...0FeAb8360
0.02103289 ETH
180361932023-08-31 17:57:11346 days ago1693504631
0xc58f08A6...0FeAb8360
0.01205787 ETH
179344602023-08-17 12:12:23360 days ago1692274343
0xc58f08A6...0FeAb8360
0.0028019 ETH
179080022023-08-13 19:23:11363 days ago1691954591
0xc58f08A6...0FeAb8360
0.10780218 ETH
178657202023-08-07 21:25:47369 days ago1691443547
0xc58f08A6...0FeAb8360
0.02188028 ETH
178580842023-08-06 19:45:35370 days ago1691351135
0xc58f08A6...0FeAb8360
0.01913122 ETH
178381932023-08-04 0:58:35373 days ago1691110715
0xc58f08A6...0FeAb8360
0.02722184 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.