ETH Price: $2,059.25 (+6.89%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep All197503412024-04-28 0:48:11669 days ago1714265291IN
0x89E7E642...bD1a51e8a
0 ETH0.000265515.1
Transfer119347042021-02-26 19:18:201825 days ago1614367100IN
0x89E7E642...bD1a51e8a
0.05195251 ETH0.000021041
Transfer118891922021-02-19 19:17:271832 days ago1613762247IN
0x89E7E642...bD1a51e8a
0.06305776 ETH0.000021041
Transfer118436302021-02-12 19:12:271839 days ago1613157147IN
0x89E7E642...bD1a51e8a
0.07688984 ETH0.000021041
Transfer117980902021-02-05 19:04:371846 days ago1612551877IN
0x89E7E642...bD1a51e8a
0.05055764 ETH0.000021041
Sweep All117893132021-02-04 10:43:491848 days ago1612435429IN
0x89E7E642...bD1a51e8a
0 ETH0.00533764112.46379825
Transfer117729752021-02-01 22:16:491850 days ago1612217809IN
0x89E7E642...bD1a51e8a
0.0500521 ETH0.000021041
Transfer117440602021-01-28 11:36:391854 days ago1611833799IN
0x89E7E642...bD1a51e8a
0.06133329 ETH0.000021041
Transfer117037052021-01-22 6:29:151861 days ago1611296955IN
0x89E7E642...bD1a51e8a
0.05747573 ETH0.000021041
Transfer116673402021-01-16 16:36:481866 days ago1610815008IN
0x89E7E642...bD1a51e8a
0.05063103 ETH0.000021041
Transfer116380322021-01-12 4:43:271871 days ago1610426607IN
0x89E7E642...bD1a51e8a
0.050059 ETH0.000021041
Transfer116153272021-01-08 17:02:451874 days ago1610125365IN
0x89E7E642...bD1a51e8a
0.08036354 ETH0.000021041
Transfer115706292021-01-01 20:30:551881 days ago1609533055IN
0x89E7E642...bD1a51e8a
0.04151482 ETH0.000021041
Transfer115249762020-12-25 20:29:021888 days ago1608928142IN
0x89E7E642...bD1a51e8a
0.04336965 ETH0.000021041
Transfer114793372020-12-18 20:28:461895 days ago1608323326IN
0x89E7E642...bD1a51e8a
0.05007469 ETH0.000021041
Transfer114375942020-12-12 10:35:051902 days ago1607769305IN
0x89E7E642...bD1a51e8a
0.05654793 ETH0.000021041
Transfer114104832020-12-08 6:26:301906 days ago1607408790IN
0x89E7E642...bD1a51e8a
0.06700791 ETH0.000021041
Transfer113786382020-12-03 8:47:171911 days ago1606985237IN
0x89E7E642...bD1a51e8a
0.05003348 ETH0.000021041
Sweep All113741302020-12-02 16:18:261911 days ago1606925906IN
0x89E7E642...bD1a51e8a
0 ETH0.000907619.123123
Transfer113587002020-11-30 7:22:111914 days ago1606720931IN
0x89E7E642...bD1a51e8a
0.05985009 ETH0.000021041
Transfer113334592020-11-26 10:31:181918 days ago1606386678IN
0x89E7E642...bD1a51e8a
0.10013509 ETH0.000021041
Transfer113006322020-11-21 9:16:181923 days ago1605950178IN
0x89E7E642...bD1a51e8a
0.07697765 ETH0.000021041
Transfer112744012020-11-17 8:45:591927 days ago1605602759IN
0x89E7E642...bD1a51e8a
0.05719827 ETH0.000021041
Transfer112540042020-11-14 5:39:311930 days ago1605332371IN
0x89E7E642...bD1a51e8a
0.05756521 ETH0.000021041
Transfer112355782020-11-11 9:44:551933 days ago1605087895IN
0x89E7E642...bD1a51e8a
0.05334477 ETH0.000021041
View all transactions

Latest 14 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer197503412024-04-28 0:48:11669 days ago1714265291
0x89E7E642...bD1a51e8a
0.24245776 ETH
-117893132021-02-04 10:43:491848 days ago1612435429
0x89E7E642...bD1a51e8a
0.65846323 ETH
-113741302020-12-02 16:18:261911 days ago1606925906
0x89E7E642...bD1a51e8a
0.75223246 ETH
-111071022020-10-22 16:31:091952 days ago1603384269
0x89E7E642...bD1a51e8a
0.94002716 ETH
-108719202020-09-16 7:57:291989 days ago1600243049
0x89E7E642...bD1a51e8a
1.53856513 ETH
-105932782020-08-04 12:34:322031 days ago1596544472
0x89E7E642...bD1a51e8a
0.94855888 ETH
-103817922020-07-02 19:12:482064 days ago1593717168
0x89E7E642...bD1a51e8a
1.09096496 ETH
-101642782020-05-30 1:51:052098 days ago1590803465
0x89E7E642...bD1a51e8a
1.73418698 ETH
-97250772020-03-23 2:35:212166 days ago1584930921
0x89E7E642...bD1a51e8a
1.10026149 ETH
-94833622020-02-14 20:34:012203 days ago1581712441
0x89E7E642...bD1a51e8a
0.79362227 ETH
-93491392020-01-25 5:39:362224 days ago1579930776
0x89E7E642...bD1a51e8a
1.00628079 ETH
-89666302019-11-20 5:35:332290 days ago1574228133
0x89E7E642...bD1a51e8a
0.7844667 ETH
-86853532019-10-06 0:34:132335 days ago1570322053
0x89E7E642...bD1a51e8a
1.23053293 ETH
-81754072019-07-18 15:09:202414 days ago1563462560  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xF2f313A4...Fd1BF0dA9
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
UserWallet

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-02-27
*/

pragma solidity ^0.4.24;

contract AbstractSweeper {
    function sweepAll(address token) public returns (bool);

    function() public { revert(); }

    Controller controller;

    constructor(address _controller) public {
        controller = Controller(_controller);
    }

    modifier canSweep() {
        if(msg.sender != controller.authorizedCaller() && msg.sender != controller.owner()){ revert(); }
        if(controller.halted()){ revert(); }
        _;
    }
}

contract Token {
    function balanceOf(address a) public pure returns (uint) {
        (a);
        return 0;
    }

    function transfer(address a, uint val) public pure returns (bool) {
        (a);
        (val);
        return false;
    }
}

contract DefaultSweeper is AbstractSweeper {
    constructor(address controller) AbstractSweeper(controller) public { }

    function sweepAll(address _token) public canSweep returns (bool) {
        bool success = false;
        address destination = controller.destination();

        if(_token != address(0)){
            Token token = Token(_token);
            success = token.transfer(destination, token.balanceOf(this));
        }else{
            success = destination.send(address(this).balance);
        }
        return success;
    }
}

contract UserWallet {
    AbstractSweeperList sweeperList;
    constructor(address _sweeperlist) public {
        sweeperList = AbstractSweeperList(_sweeperlist);
    }

    function() public payable { }

    function tokenFallback(address _from, uint _value, bytes _data) public pure {
        (_from);
        (_value);
        (_data);
    }

    function sweepAll(address _token) public returns (bool) {
        return sweeperList.sweeperOf(_token).delegatecall(msg.data);
    }
}

contract AbstractSweeperList {
    function sweeperOf(address _token) public returns (address);
}

contract Controller is AbstractSweeperList {
    address public owner;
    address public authorizedCaller;

    address public destination;

    bool public halted;

    event NewWalletCreated(address receiver);

    modifier onlyOwner() {
        if(msg.sender != owner){ revert(); }
        _;
    }

    modifier onlyAuthorizedCaller() {
        if(msg.sender != authorizedCaller){ revert(); }
        _;
    }

    modifier onlyAdmins() {
        if(msg.sender != authorizedCaller && msg.sender != owner){ revert(); } 
        _;
    }

    constructor() public {
        owner = msg.sender;
        destination = msg.sender;
        authorizedCaller = msg.sender;
    }

    function setAuthorizedCaller(address _newCaller) public onlyOwner {
        authorizedCaller = _newCaller;
    }

    function setDestination(address _dest) public onlyOwner {
        destination = _dest;
    }

    function setOwner(address _owner) public onlyOwner {
        owner = _owner;
    }

    function newWallet() public onlyAdmins returns (address wallet)  {
        wallet = address(new UserWallet(this));
        emit NewWalletCreated(wallet);
    }

    function halt() public onlyAdmins {
        halted = true;
    }

    function start() public onlyOwner {
        halted = false;
    }

    address public defaultSweeper = address(new DefaultSweeper(this));
    mapping (address => address) sweepers;

    function addSweeper(address _token, address _sweeper) public onlyOwner {
        sweepers[_token] = _sweeper;
    }

    function sweeperOf(address _token) public returns (address) {
        address sweeper = sweepers[_token];
        if(sweeper == 0){ sweeper = defaultSweeper; }
        return sweeper;
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"tokenFallback","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"sweepAll","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_sweeperlist","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

0x608060405234801561001057600080fd5b5060405160208061026e833981016040525160008054600160a060020a03909216600160a060020a031990921691909117905561021c806100526000396000f30060806040526004361061004b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663c0ee0b8a811461004d578063c18cfe86146100c3575b005b34801561005957600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261004b94823573ffffffffffffffffffffffffffffffffffffffff169460248035953695946064949201919081908401838280828437509497506101059650505050505050565b3480156100cf57600080fd5b506100f173ffffffffffffffffffffffffffffffffffffffff6004351661010a565b604080519115158252519081900360200190f35b505050565b60008054604080517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015291519190921691633c18d31891602480830192602092919082900301818787803b15801561017f57600080fd5b505af1158015610193573d6000803e3d6000fd5b505050506040513d60208110156101a957600080fd5b505160405173ffffffffffffffffffffffffffffffffffffffff90911690600090369080838380828437820191505092505050600060405180830381855af49493505050505600a165627a7a72305820ec90d4e55fb69f839fa555767145d6ac7a8f1aa98ed098b09c220c4a34f02ba100290000000000000000000000007142eb34d2220152dedc5868745079bc6ffa0fdd

Deployed Bytecode

0x60806040526004361061004b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663c0ee0b8a811461004d578063c18cfe86146100c3575b005b34801561005957600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261004b94823573ffffffffffffffffffffffffffffffffffffffff169460248035953695946064949201919081908401838280828437509497506101059650505050505050565b3480156100cf57600080fd5b506100f173ffffffffffffffffffffffffffffffffffffffff6004351661010a565b604080519115158252519081900360200190f35b505050565b60008054604080517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015291519190921691633c18d31891602480830192602092919082900301818787803b15801561017f57600080fd5b505af1158015610193573d6000803e3d6000fd5b505050506040513d60208110156101a957600080fd5b505160405173ffffffffffffffffffffffffffffffffffffffff90911690600090369080838380828437820191505092505050600060405180830381855af49493505050505600a165627a7a72305820ec90d4e55fb69f839fa555767145d6ac7a8f1aa98ed098b09c220c4a34f02ba10029

Deployed Bytecode Sourcemap

1322:501:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;1539:139;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1539:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1539:139:0;;-1:-1:-1;1539:139:0;;-1:-1:-1;;;;;;;1539:139:0;1686:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1686:134:0;;;;;;;;;;;;;;;;;;;;;;;;;1539:139;;;;:::o;1686:134::-;1736:4;1760:11;;:29;;;;;;:11;:29;;;;;;;;;:11;;;;;:21;;:29;;;;;;;;;;;;;;1736:4;1760:11;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;1760:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1760:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1760:29:0;:52;;:42;;;;;1803:8;;;;1760:52;1803:8;;;;1760:52;;;;;;;;;;;;;;;;;;;;;;1686:134;-1:-1:-1;;;;1686:134:0:o

Swarm Source

bzzr://ec90d4e55fb69f839fa555767145d6ac7a8f1aa98ed098b09c220c4a34f02ba1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.