ETH Price: $2,068.93 (+4.80%)
 

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 All102873932020-06-18 3:49:152083 days ago1592452155IN
0xFF124DC0...977dFfF7c
0 ETH0.0011501824.23423423
Transfer101245432020-05-23 21:27:222108 days ago1590269242IN
0xFF124DC0...977dFfF7c
1.28590279 ETH0.0008936742.47483648
Sweep All100149352020-05-06 20:52:162125 days ago1588798336IN
0xFF124DC0...977dFfF7c
0 ETH0.000195684.12312313
Transfer99479332020-04-26 11:44:592136 days ago1587901499IN
0xFF124DC0...977dFfF7c
1.4038847 ETH0.0008936742.47483648
Transfer97551142020-03-27 18:37:342165 days ago1585334254IN
0xFF124DC0...977dFfF7c
0.1831067 ETH0.0008936742.47483648
Transfer96112552020-03-05 12:42:482188 days ago1583412168IN
0xFF124DC0...977dFfF7c
0.00226997 ETH0.000063123
Sweep All94833622020-02-14 20:34:012207 days ago1581712441IN
0xFF124DC0...977dFfF7c
0 ETH0.000063711.34242423
Transfer94697442020-02-12 18:18:522209 days ago1581531532IN
0xFF124DC0...977dFfF7c
0.72448616 ETH0.000021041
Sweep All90694812019-12-08 2:35:082276 days ago1575772508IN
0xFF124DC0...977dFfF7c
0 ETH0.00005331.12312312
Transfer90694272019-12-08 2:19:002276 days ago1575771540IN
0xFF124DC0...977dFfF7c
1.02848252 ETH0.000021041
Transfer90504532019-12-04 17:20:412279 days ago1575480041IN
0xFF124DC0...977dFfF7c
1.02489358 ETH0.000021041
Sweep All90303942019-12-01 3:48:312283 days ago1575172111IN
0xFF124DC0...977dFfF7c
0 ETH0.000047131.12312323
Transfer90139142019-11-28 5:55:552286 days ago1574920555IN
0xFF124DC0...977dFfF7c
1.01343239 ETH0.000021041
Sweep All90060592019-11-26 20:23:122287 days ago1574799792IN
0xFF124DC0...977dFfF7c
0 ETH0.000050911.21323213
Transfer89758462019-11-21 18:20:492292 days ago1574360449IN
0xFF124DC0...977dFfF7c
1.01817177 ETH0.000021041
Sweep All89647862019-11-19 22:03:292294 days ago1574201009IN
0xFF124DC0...977dFfF7c
0 ETH0.000047131.12312312
Transfer89624862019-11-19 12:46:002295 days ago1574167560IN
0xFF124DC0...977dFfF7c
1.01217605 ETH0.000021041
Sweep All89539562019-11-18 2:25:122296 days ago1574043912IN
0xFF124DC0...977dFfF7c
0 ETH0.000047131.12312323
Transfer89461842019-11-16 19:23:352297 days ago1573932215IN
0xFF124DC0...977dFfF7c
1.01613849 ETH0.000021041
Sweep All89342382019-11-14 19:41:152299 days ago1573760475IN
0xFF124DC0...977dFfF7c
0 ETH0.00004621.1010101
Transfer89244052019-11-13 4:24:532301 days ago1573619093IN
0xFF124DC0...977dFfF7c
1.01251653 ETH0.000021041
Transfer88943802019-11-08 5:21:472306 days ago1573190507IN
0xFF124DC0...977dFfF7c
1.05812659 ETH0.000021041
Sweep All88824232019-11-06 6:56:292308 days ago1573023389IN
0xFF124DC0...977dFfF7c
0 ETH0.00008912.12312323
Transfer88710532019-11-04 11:23:532310 days ago1572866633IN
0xFF124DC0...977dFfF7c
1.01051807 ETH0.000021041
Transfer88459372019-10-31 10:21:412314 days ago1572517301IN
0xFF124DC0...977dFfF7c
1.01273989 ETH0.000021041
View all transactions

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-102873932020-06-18 3:49:152083 days ago1592452155
0xFF124DC0...977dFfF7c
1.28590279 ETH
-100149352020-05-06 20:52:162125 days ago1588798336
0xFF124DC0...977dFfF7c
1.58926137 ETH
-94833622020-02-14 20:34:012207 days ago1581712441
0xFF124DC0...977dFfF7c
0.72448616 ETH
-90694812019-12-08 2:35:082276 days ago1575772508
0xFF124DC0...977dFfF7c
2.0533761 ETH
-90303942019-12-01 3:48:312283 days ago1575172111
0xFF124DC0...977dFfF7c
1.01343239 ETH
-90060592019-11-26 20:23:122287 days ago1574799792
0xFF124DC0...977dFfF7c
1.01817177 ETH
-89647862019-11-19 22:03:292294 days ago1574201009
0xFF124DC0...977dFfF7c
1.01217605 ETH
-89539562019-11-18 2:25:122296 days ago1574043912
0xFF124DC0...977dFfF7c
1.01613849 ETH
-89342382019-11-14 19:41:152299 days ago1573760475
0xFF124DC0...977dFfF7c
2.07064312 ETH
-88824232019-11-06 6:56:292308 days ago1573023389
0xFF124DC0...977dFfF7c
3.03973438 ETH
-88170772019-10-26 19:03:342318 days ago1572116614
0xFF124DC0...977dFfF7c
3.42753495 ETH
-86640942019-10-02 17:07:172342 days ago1570036037
0xFF124DC0...977dFfF7c
2.02328659 ETH
-69596042018-12-27 2:18:272622 days ago1545877107  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.