ETH Price: $2,054.12 (+2.83%)

Contract

0x558259c69E1A1663CFdf372fF79DC4d4D7dBfA84
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep All201735402024-06-26 4:41:47642 days ago1719376907IN
0x558259c6...4D7dBfA84
0 ETH0.000130152.5
Transfer156799812022-10-05 6:01:351272 days ago1664949695IN
0x558259c6...4D7dBfA84
0.00628571 ETH0.00010585.02870192
Transfer104518822020-07-13 14:55:212085 days ago1594652121IN
0x558259c6...4D7dBfA84
0.03481153 ETH0.000021041
Transfer104065342020-07-06 14:51:032092 days ago1594047063IN
0x558259c6...4D7dBfA84
0.03846637 ETH0.000021041
Transfer103613172020-06-29 14:40:152099 days ago1593441615IN
0x558259c6...4D7dBfA84
0.0739076 ETH0.000021041
Transfer103161382020-06-22 14:37:532106 days ago1592836673IN
0x558259c6...4D7dBfA84
0.0491475 ETH0.000021041
Sweep All102873922020-06-18 3:48:572111 days ago1592452137IN
0x558259c6...4D7dBfA84
0 ETH0.0011501824.23423423
Transfer102708772020-06-15 14:36:322113 days ago1592231792IN
0x558259c6...4D7dBfA84
0.11524722 ETH0.000021041
Transfer102298412020-06-09 6:12:382120 days ago1591683158IN
0x558259c6...4D7dBfA84
0.08420865 ETH0.000021041
Transfer101846512020-06-02 6:05:492127 days ago1591077949IN
0x558259c6...4D7dBfA84
0.08781099 ETH0.000021041
Transfer101396202020-05-26 6:03:362134 days ago1590473016IN
0x558259c6...4D7dBfA84
0.08688121 ETH0.000021041
Transfer100946362020-05-19 6:00:492141 days ago1589868049IN
0x558259c6...4D7dBfA84
0.08611941 ETH0.000021041
Transfer100496462020-05-12 5:58:572148 days ago1589263137IN
0x558259c6...4D7dBfA84
0.08118977 ETH0.000021041
Transfer100044262020-05-05 5:46:222155 days ago1588657582IN
0x558259c6...4D7dBfA84
0.07981916 ETH0.000021041
Transfer99591632020-04-28 5:45:262162 days ago1588052726IN
0x558259c6...4D7dBfA84
0.07780478 ETH0.000021041
Transfer99139772020-04-21 5:39:362169 days ago1587447576IN
0x558259c6...4D7dBfA84
0.06677248 ETH0.000021041
Transfer98686472020-04-14 5:34:022176 days ago1586842442IN
0x558259c6...4D7dBfA84
0.07456879 ETH0.000021041
Transfer98231182020-04-07 5:32:542183 days ago1586237574IN
0x558259c6...4D7dBfA84
0.09079383 ETH0.000021041
Transfer97776462020-03-31 5:28:462190 days ago1585632526IN
0x558259c6...4D7dBfA84
0.07229626 ETH0.000021041
Transfer97323482020-03-24 5:26:102197 days ago1585027570IN
0x558259c6...4D7dBfA84
0.07635878 ETH0.000021041
Transfer96871392020-03-17 5:25:052204 days ago1584422705IN
0x558259c6...4D7dBfA84
0.0883821 ETH0.000021041
Transfer96418192020-03-10 5:21:252211 days ago1583817685IN
0x558259c6...4D7dBfA84
0.07322929 ETH0.000021041
Transfer95962572020-03-03 5:16:572218 days ago1583212617IN
0x558259c6...4D7dBfA84
0.07885496 ETH0.000021041
Transfer95507012020-02-25 5:15:292225 days ago1582607729IN
0x558259c6...4D7dBfA84
0.09210177 ETH0.000021041
Transfer95051552020-02-18 5:08:412232 days ago1582002521IN
0x558259c6...4D7dBfA84
0.0902315 ETH0.000021041
View all transactions

Latest 7 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer201735402024-06-26 4:41:47642 days ago1719376907
0x558259c6...4D7dBfA84
0.20261872 ETH
-102873922020-06-18 3:48:572111 days ago1592452137
0x558259c6...4D7dBfA84
1.50267104 ETH
-94908292020-02-16 0:20:282234 days ago1581812428
0x558259c6...4D7dBfA84
0.39563201 ETH
-92549032020-01-10 19:15:272270 days ago1578683727
0x558259c6...4D7dBfA84
1.08550491 ETH
-89342392019-11-14 19:41:332327 days ago1573760493
0x558259c6...4D7dBfA84
1.4347445 ETH
-86853542019-10-06 0:34:192367 days ago1570322059
0x558259c6...4D7dBfA84
1.1533668 ETH
-75807692019-04-16 19:20:002539 days ago1555442400  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.