ETH Price: $2,688.40 (-1.70%)

Contract

0x9a563377f75F1fd53a926a4BCCB9ec04C43d0e15
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep All202008452024-06-30 0:12:35230 days ago1719706355IN
0x9a563377...4C43d0e15
0 ETH0.000078091.5
Transfer132724852021-09-22 0:53:141242 days ago1632271994IN
0x9a563377...4C43d0e15
0.0765 ETH0.0015768974.94731733
Sweep All132005482021-09-10 21:52:391253 days ago1631310759IN
0x9a563377...4C43d0e15
0 ETH0.0047439691.12312312
Transfer130972612021-08-25 22:45:421269 days ago1629931542IN
0x9a563377...4C43d0e15
0.0765 ETH0.0017524283.29027563
Transfer130135212021-08-13 0:07:331282 days ago1628813253IN
0x9a563377...4C43d0e15
0.258 ETH0.0011687755.55
Transfer129226742021-07-29 19:58:131296 days ago1627588693IN
0x9a563377...4C43d0e15
0.159 ETH0.0006753832.1
Transfer128894132021-07-24 14:04:311302 days ago1627135471IN
0x9a563377...4C43d0e15
0.0321 ETH0.0003345315.9
Transfer128893992021-07-24 14:01:131302 days ago1627135273IN
0x9a563377...4C43d0e15
0.0321 ETH0.000333915.9
Transfer127621632021-07-04 16:39:271321 days ago1625416767IN
0x9a563377...4C43d0e15
0.021 ETH0.0003345315.9
Transfer124393782021-05-15 14:00:091372 days ago1621087209IN
0x9a563377...4C43d0e15
0.0642 ETH0.0015843175.3
Transfer123891022021-05-07 19:33:051379 days ago1620415985IN
0x9a563377...4C43d0e15
0.15 ETH0.0013255263
Transfer123303102021-04-28 17:33:511388 days ago1619631231IN
0x9a563377...4C43d0e15
0.086 ETH0.0016411278
Transfer122860402021-04-21 21:40:171395 days ago1619041217IN
0x9a563377...4C43d0e15
0.085 ETH0.00279832133
Transfer122080952021-04-09 21:34:501407 days ago1618004090IN
0x9a563377...4C43d0e15
0.13 ETH0.00225128107
Transfer121725722021-04-04 10:32:461413 days ago1617532366IN
0x9a563377...4C43d0e15
0.0975 ETH0.0020408897
Transfer121453562021-03-31 5:48:481417 days ago1617169728IN
0x9a563377...4C43d0e15
0.140464 ETH0.00233544111
Sweep All121375262021-03-30 0:52:431418 days ago1617065563IN
0x9a563377...4C43d0e15
0 ETH0.0047994101.12312312
Transfer120729502021-03-20 2:23:581428 days ago1616207038IN
0x9a563377...4C43d0e15
0.085 ETH0.00258792123
Transfer120206262021-03-12 1:01:321436 days ago1615510892IN
0x9a563377...4C43d0e15
0.08 ETH0.00233544111
Transfer119961352021-03-08 6:01:181440 days ago1615183278IN
0x9a563377...4C43d0e15
0.25 ETH0.0017252882
Transfer119612852021-03-02 21:30:001445 days ago1614720600IN
0x9a563377...4C43d0e15
0.07 ETH0.0018515288
Transfer117678112021-02-01 3:00:381475 days ago1612148438IN
0x9a563377...4C43d0e15
0.099 ETH0.00233544111
Transfer113863152020-12-04 13:03:001534 days ago1607086980IN
0x9a563377...4C43d0e15
0.15 ETH0.0009350144.44
Transfer106578102020-08-14 11:19:201646 days ago1597403960IN
0x9a563377...4C43d0e15
0.08 ETH0.00403991192.011
Sweep All104913542020-07-19 17:42:191671 days ago1595180539IN
0x9a563377...4C43d0e15
0 ETH0.0030477264.21543741
View all transactions

Latest 5 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
202008452024-06-30 0:12:35230 days ago1719706355
0x9a563377...4C43d0e15
0.0765 ETH
132005482021-09-10 21:52:391253 days ago1631310759
0x9a563377...4C43d0e15
1.299764 ETH
121375262021-03-30 0:52:431418 days ago1617065563
0x9a563377...4C43d0e15
0.814 ETH
104913542020-07-19 17:42:191671 days ago1595180539
0x9a563377...4C43d0e15
3.06 ETH
100804182020-05-17 0:50:121735 days ago1589676612  Contract Creation0 ETH
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
/**
 *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

[{"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"}]

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 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.