ETH Price: $2,705.96 (-2.77%)

Contract

0xeB796D3327a7d908446bDD9Ae6fbEd2913fb93Ba
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep All71449572019-01-29 17:36:542215 days ago1548783414IN
0xeB796D33...913fb93Ba
0 ETH0.000089232.12632947
Transfer71447412019-01-29 16:27:122215 days ago1548779232IN
0xeB796D33...913fb93Ba
2.05024836 ETH0.000193569.2
Sweep All70943142019-01-19 18:57:082225 days ago1547924228IN
0xeB796D33...913fb93Ba
0 ETH0.000066231.57818676
Transfer70891502019-01-18 21:06:012226 days ago1547845561IN
0xeB796D33...913fb93Ba
4.16708516 ETH0.000050492.4
Transfer70886612019-01-18 19:10:042226 days ago1547838604IN
0xeB796D33...913fb93Ba
0.33432558 ETH0.000169378.04999987
Transfer70885102019-01-18 18:32:102226 days ago1547836330IN
0xeB796D33...913fb93Ba
0.24862074 ETH0.0002419611.50000025
Transfer70263762019-01-07 15:25:002237 days ago1546874700IN
0xeB796D33...913fb93Ba
0.0754 ETH0.0013255263
Sweep All63949142018-09-25 4:50:212342 days ago1537851021IN
0xeB796D33...913fb93Ba
0 ETH0.000263866.28713578
Transfer*63925442018-09-24 19:32:442342 days ago1537817564IN
0xeB796D33...913fb93Ba
1.39753696 ETH0.0004629622
Transfer*63923852018-09-24 18:55:012342 days ago1537815301IN
0xeB796D33...913fb93Ba
5.83387364 ETH0.0003577417
Sweep All63798732018-09-22 17:39:592344 days ago1537637999IN
0xeB796D33...913fb93Ba
0 ETH0.000174054.14722355
Transfer*63781802018-09-22 10:56:112344 days ago1537613771IN
0xeB796D33...913fb93Ba
1.6392178 ETH0.0006102729
Sweep All63375312018-09-15 17:40:212351 days ago1537033221IN
0xeB796D33...913fb93Ba
0 ETH0.000154083.67139351
Transfer*63353462018-09-15 9:04:212352 days ago1537002261IN
0xeB796D33...913fb93Ba
2.17025173 ETH0.0003156615
Transfer*63351952018-09-15 8:28:002352 days ago1537000080IN
0xeB796D33...913fb93Ba
2.55476684 ETH0.0004208820
Transfer62414452018-08-30 15:59:322367 days ago1535644772IN
0xeB796D33...913fb93Ba
0.3968039 ETH0.000126246
Sweep All62192072018-08-26 21:34:562371 days ago1535319296IN
0xeB796D33...913fb93Ba
0 ETH0.000061761.47157869
Transfer*62191102018-08-26 21:10:592371 days ago1535317859IN
0xeB796D33...913fb93Ba
1.2 ETH0.000126266
Transfer*62190312018-08-26 20:48:222371 days ago1535316502IN
0xeB796D33...913fb93Ba
0.6 ETH0.000526125
Transfer62056802018-08-24 14:56:442373 days ago1535122604IN
0xeB796D33...913fb93Ba
0.32357456 ETH0.001262460

Latest 7 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
71449572019-01-29 17:36:542215 days ago1548783414
0xeB796D33...913fb93Ba
2.05024836 ETH
70943142019-01-19 18:57:082225 days ago1547924228
0xeB796D33...913fb93Ba
4.82543149 ETH
63949142018-09-25 4:50:212342 days ago1537851021
0xeB796D33...913fb93Ba
7.2314106 ETH
63798732018-09-22 17:39:592344 days ago1537637999
0xeB796D33...913fb93Ba
1.6392178 ETH
63375312018-09-15 17:40:212351 days ago1537033221
0xeB796D33...913fb93Ba
5.12182247 ETH
62192072018-08-26 21:34:562371 days ago1535319296
0xeB796D33...913fb93Ba
2.12357456 ETH
61720432018-08-18 22:34:092379 days ago1534631649  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.