ETH Price: $3,461.69 (-1.29%)
Gas: 3 Gwei

Contract

0x1Ab10F3901bEd958FfE40f9241181CB323918c41
 
Transaction Hash
Method
Block
From
To
Sweep78832232019-06-03 0:10:031878 days ago1559520603IN
0x1Ab10F39...323918c41
0 ETH0.0023451550
Sweep78832232019-06-03 0:10:031878 days ago1559520603IN
0x1Ab10F39...323918c41
0 ETH0.003088950
Sweep78718812019-06-01 5:37:191880 days ago1559367439IN
0x1Ab10F39...323918c41
0 ETH0.003088950
Sweep78651132019-05-31 4:20:181881 days ago1559276418IN
0x1Ab10F39...323918c41
0 ETH0.003088950
Sweep78560702019-05-29 18:19:231882 days ago1559153963IN
0x1Ab10F39...323918c41
0 ETH0.003088950
Sweep78542312019-05-29 11:28:181883 days ago1559129298IN
0x1Ab10F39...323918c41
0 ETH0.0023483550
Sweep78413462019-05-27 11:08:351885 days ago1558955315IN
0x1Ab10F39...323918c41
0 ETH0.003088950
Sweep78261902019-05-25 2:41:151887 days ago1558752075IN
0x1Ab10F39...323918c41
0 ETH0.0023451550
Sweep78146832019-05-23 7:36:171889 days ago1558596977IN
0x1Ab10F39...323918c41
0 ETH0.003088950
Sweep78064272019-05-22 0:30:451890 days ago1558485045IN
0x1Ab10F39...323918c41
0 ETH0.0023451550
Sweep77936432019-05-20 0:07:021892 days ago1558310822IN
0x1Ab10F39...323918c41
0 ETH0.0023451550
Sweep76291552019-04-24 8:45:151918 days ago1556095515IN
0x1Ab10F39...323918c41
0 ETH0.0024996550
Transfer76291482019-04-24 8:43:301918 days ago1556095410IN
0x1Ab10F39...323918c41
1.75373376 ETH0.000109465.2001001
Sweep76291422019-04-24 8:41:301918 days ago1556095290IN
0x1Ab10F39...323918c41
0 ETH0.0025028550
Transfer76291282019-04-24 8:38:351918 days ago1556095115IN
0x1Ab10F39...323918c41
8.63657497 ETH0.000111575.3001001
Sweep76238572019-04-23 12:38:101918 days ago1556023090IN
0x1Ab10F39...323918c41
0 ETH0.0025028550
Transfer76238402019-04-23 12:34:481918 days ago1556022888IN
0x1Ab10F39...323918c41
6.4728879 ETH0.00008424.0001001
Sweep76199302019-04-22 21:46:391919 days ago1555969599IN
0x1Ab10F39...323918c41
0 ETH0.0025028550
Transfer76199092019-04-22 21:41:391919 days ago1555969299IN
0x1Ab10F39...323918c41
7.39223799 ETH0.00004212.0001001
Sweep75856842019-04-17 13:59:521924 days ago1555509592IN
0x1Ab10F39...323918c41
0 ETH0.0023451550
Sweep75617412019-04-13 20:18:451928 days ago1555186725IN
0x1Ab10F39...323918c41
0 ETH0.003088950
Sweep75596982019-04-13 12:48:381928 days ago1555159718IN
0x1Ab10F39...323918c41
0 ETH0.003088950
Sweep75596162019-04-13 12:31:001928 days ago1555158660IN
0x1Ab10F39...323918c41
0 ETH0.003088950
Sweep75595142019-04-13 12:08:141929 days ago1555157294IN
0x1Ab10F39...323918c41
0 ETH0.003088950
Sweep75474252019-04-11 15:03:161930 days ago1554994996IN
0x1Ab10F39...323918c41
0 ETH0.0023483550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
76291552019-04-24 8:45:151918 days ago1556095515
0x1Ab10F39...323918c41
1.75373376 ETH
76291422019-04-24 8:41:301918 days ago1556095290
0x1Ab10F39...323918c41
8.63657498 ETH
76238572019-04-23 12:38:101918 days ago1556023090
0x1Ab10F39...323918c41
6.4728879 ETH
76199302019-04-22 21:46:391919 days ago1555969599
0x1Ab10F39...323918c41
7.392238 ETH
75226162019-04-07 18:26:371934 days ago1554661597
0x1Ab10F39...323918c41
4.04130147 ETH
75198952019-04-07 8:16:141935 days ago1554624974
0x1Ab10F39...323918c41
8.35990516 ETH
75198372019-04-07 7:57:201935 days ago1554623840
0x1Ab10F39...323918c41
3.23029309 ETH
74406232019-03-25 22:58:181947 days ago1553554698
0x1Ab10F39...323918c41
18.68247339 ETH
73589082019-03-13 5:43:531960 days ago1552455833
0x1Ab10F39...323918c41
12.94772195 ETH
72252112019-02-15 22:14:211985 days ago1550268861
0x1Ab10F39...323918c41
7.150421 ETH
71939552019-02-08 17:18:281992 days ago1549646308
0x1Ab10F39...323918c41
3.70185821 ETH
71807042019-02-06 0:23:041995 days ago1549412584
0x1Ab10F39...323918c41
3.15972621 ETH
71806992019-02-06 0:20:191995 days ago1549412419
0x1Ab10F39...323918c41
9.47917861 ETH
69924252019-01-01 15:46:542030 days ago1546357614
0x1Ab10F39...323918c41
15.53628799 ETH
69529702018-12-25 23:34:382037 days ago1545780878
0x1Ab10F39...323918c41
19.33372274 ETH
69361862018-12-23 3:42:432040 days ago1545536563
0x1Ab10F39...323918c41
4.46090237 ETH
69361712018-12-23 3:40:302040 days ago1545536430
0x1Ab10F39...323918c41
11.07972529 ETH
68923952018-12-15 17:25:552047 days ago1544894755
0x1Ab10F39...323918c41
16.65417597 ETH
68919022018-12-15 15:25:562047 days ago1544887556
0x1Ab10F39...323918c41
6.38273748 ETH
68918942018-12-15 15:23:552047 days ago1544887435
0x1Ab10F39...323918c41
9.35872598 ETH
68693362018-12-11 22:06:352051 days ago1544565995
0x1Ab10F39...323918c41
11.10505386 ETH
68693262018-12-11 22:04:162051 days ago1544565856
0x1Ab10F39...323918c41
13.76310866 ETH
68657322018-12-11 7:52:212052 days ago1544514741
0x1Ab10F39...323918c41
29.94869507 ETH
68566052018-12-09 20:00:302053 days ago1544385630
0x1Ab10F39...323918c41
10.59103511 ETH
68552212018-12-09 14:37:322053 days ago1544366252
0x1Ab10F39...323918c41
14.92745887 ETH
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xd1DD82d1...18D918504
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.11+commit.68ef5810

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-08-15
*/

pragma solidity ^0.4.10;

// Copyright 2017 Bittrex

contract AbstractSweeper {
    function sweep(address token, uint amount) returns (bool);

    function () { throw; }

    Controller controller;

    function AbstractSweeper(address _controller) {
        controller = Controller(_controller);
    }

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

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

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

contract DefaultSweeper is AbstractSweeper {
    function DefaultSweeper(address controller)
             AbstractSweeper(controller) {}

    function sweep(address _token, uint _amount)
    canSweep
    returns (bool) {
        bool success = false;
        address destination = controller.destination();

        if (_token != address(0)) {
            Token token = Token(_token);
            uint amount = _amount;
            if (amount > token.balanceOf(this)) {
                return false;
            }

            success = token.transfer(destination, amount);
        }
        else {
            uint amountInWei = _amount;
            if (amountInWei > this.balance) {
                return false;
            }

            success = destination.send(amountInWei);
        }

        if (success) {
            controller.logSweep(this, destination, _token, _amount);
        }
        return success;
    }
}

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

    function () public payable { }

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

    function sweep(address _token, uint _amount)
    returns (bool) {
        (_amount);
        return sweeperList.sweeperOf(_token).delegatecall(msg.data);
    }
}

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

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

    address public destination;

    bool public halted;

    event LogNewWallet(address receiver);
    event LogSweep(address indexed from, address indexed to, address indexed token, uint amount);
    
    modifier onlyOwner() {
        if (msg.sender != owner) throw; 
        _;
    }

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

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

    function Controller() 
    {
        owner = msg.sender;
        destination = msg.sender;
        authorizedCaller = msg.sender;
    }

    function changeAuthorizedCaller(address _newCaller) onlyOwner {
        authorizedCaller = _newCaller;
    }

    function changeDestination(address _dest) onlyOwner {
        destination = _dest;
    }

    function changeOwner(address _owner) onlyOwner {
        owner = _owner;
    }

    function makeWallet() onlyAdmins returns (address wallet)  {
        wallet = address(new UserWallet(this));
        LogNewWallet(wallet);
    }

    function halt() onlyAdmins {
        halted = true;
    }

    function start() onlyOwner {
        halted = false;
    }

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

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

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

    function logSweep(address from, address to, address token, uint amount) {
        LogSweep(from, to, token, amount);
    }
}

Contract Security Audit

Contract ABI

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

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

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.