Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 28 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 18950062 | 217 days ago | IN | 0.00887772 ETH | 0.00103954 | ||||
Transfer | 18908104 | 223 days ago | IN | 0.00218419 ETH | 0.00057288 | ||||
Transfer | 18548574 | 274 days ago | IN | 0.0048618 ETH | 0.0010573 | ||||
Transfer | 18508366 | 279 days ago | IN | 0.0037102 ETH | 0.00096593 | ||||
Transfer | 18473405 | 284 days ago | IN | 0.05578737 ETH | 0.00083323 | ||||
Transfer | 18443695 | 288 days ago | IN | 0.00338829 ETH | 0.00064289 | ||||
Transfer | 18443458 | 289 days ago | IN | 0.03964837 ETH | 0.00062144 | ||||
Transfer | 18412520 | 293 days ago | IN | 0.0627495 ETH | 0.00030734 | ||||
Transfer | 18389571 | 296 days ago | IN | 0.00126276 ETH | 0.00023433 | ||||
Transfer | 18342670 | 303 days ago | IN | 0.01621154 ETH | 0.00044412 | ||||
Transfer | 18331328 | 304 days ago | IN | 0.0038508 ETH | 0.00026672 | ||||
Transfer | 18244335 | 316 days ago | IN | 0.01200631 ETH | 0.00025884 | ||||
Transfer | 18244266 | 316 days ago | IN | 0.00599426 ETH | 0.00034738 | ||||
Transfer | 18185889 | 325 days ago | IN | 0.07486725 ETH | 0.00046217 | ||||
Transfer | 18185884 | 325 days ago | IN | 0.04088261 ETH | 0.00052122 | ||||
Transfer | 18184392 | 325 days ago | IN | 0.06482359 ETH | 0.00050393 | ||||
Transfer | 18072190 | 341 days ago | IN | 0.00183423 ETH | 0.00064227 | ||||
Transfer | 18058604 | 342 days ago | IN | 0.01521708 ETH | 0.00040504 | ||||
Transfer | 18036261 | 346 days ago | IN | 0.02103289 ETH | 0.00145951 | ||||
Transfer | 18036193 | 346 days ago | IN | 0.01205787 ETH | 0.00137984 | ||||
Transfer | 17934460 | 360 days ago | IN | 0.0028019 ETH | 0.00098119 | ||||
Transfer | 17908002 | 363 days ago | IN | 0.10780218 ETH | 0.00049157 | ||||
Transfer | 17865720 | 369 days ago | IN | 0.02188028 ETH | 0.00079151 | ||||
Transfer | 17858084 | 370 days ago | IN | 0.01913122 ETH | 0.00050859 | ||||
Transfer | 17838193 | 373 days ago | IN | 0.02722184 ETH | 0.00049366 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
18950062 | 217 days ago | 0.00887772 ETH | ||||
18908104 | 223 days ago | 0.00218419 ETH | ||||
18548574 | 274 days ago | 0.0048618 ETH | ||||
18508366 | 279 days ago | 0.0037102 ETH | ||||
18473405 | 284 days ago | 0.05578737 ETH | ||||
18443695 | 288 days ago | 0.00338829 ETH | ||||
18443458 | 289 days ago | 0.03964837 ETH | ||||
18412520 | 293 days ago | 0.0627495 ETH | ||||
18389571 | 296 days ago | 0.00126276 ETH | ||||
18342670 | 303 days ago | 0.01621154 ETH | ||||
18331328 | 304 days ago | 0.0038508 ETH | ||||
18244335 | 316 days ago | 0.01200631 ETH | ||||
18244266 | 316 days ago | 0.00599426 ETH | ||||
18185889 | 325 days ago | 0.07486725 ETH | ||||
18185884 | 325 days ago | 0.04088261 ETH | ||||
18184392 | 325 days ago | 0.06482359 ETH | ||||
18072190 | 341 days ago | 0.00183423 ETH | ||||
18058604 | 342 days ago | 0.01521708 ETH | ||||
18036261 | 346 days ago | 0.02103289 ETH | ||||
18036193 | 346 days ago | 0.01205787 ETH | ||||
17934460 | 360 days ago | 0.0028019 ETH | ||||
17908002 | 363 days ago | 0.10780218 ETH | ||||
17865720 | 369 days ago | 0.02188028 ETH | ||||
17858084 | 370 days ago | 0.01913122 ETH | ||||
17838193 | 373 days ago | 0.02722184 ETH |
Loading...
Loading
Minimal Proxy Contract for 0x3a5fb753285ac3a67c6b0d03e121921b2a1428be
Contract Name:
Forwarder
Compiler Version
v0.8.19+commit.7dd6d404
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 ); } }
[{"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"}]
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.