ETH Price: $1,979.51 (+3.89%)
 

Overview

ETH Balance

0.011672623724938203 ETH

Eth Value

$23.11 (@ $1,979.51/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer47154122017-12-11 18:03:023001 days ago1513015382IN
0x59C35d0e...Fa8D2014F
0.01167262 ETH0.000021051
Sweep46549672017-12-01 7:56:063012 days ago1512114966IN
0x59C35d0e...Fa8D2014F
0 ETH0.0010011420
Transfer46549412017-12-01 7:52:463012 days ago1512114766IN
0x59C35d0e...Fa8D2014F
0.50008705 ETH0.000021051
Sweep46150482017-11-24 19:57:043018 days ago1511553424IN
0x59C35d0e...Fa8D2014F
0 ETH0.0010011420
Transfer46150382017-11-24 19:55:103018 days ago1511553310IN
0x59C35d0e...Fa8D2014F
0.50004249 ETH0.000021051
Sweep45907102017-11-20 21:41:223022 days ago1511214082IN
0x59C35d0e...Fa8D2014F
0 ETH0.0010011420
Transfer45906952017-11-20 21:36:593022 days ago1511213819IN
0x59C35d0e...Fa8D2014F
0.50035848 ETH0.000021051
Sweep45657682017-11-16 21:35:533026 days ago1510868153IN
0x59C35d0e...Fa8D2014F
0 ETH0.0010011420
Transfer45657632017-11-16 21:33:423026 days ago1510868022IN
0x59C35d0e...Fa8D2014F
0.50059737 ETH0.000021051
Sweep45438202017-11-13 8:20:083030 days ago1510561208IN
0x59C35d0e...Fa8D2014F
0 ETH0.0010011420
Transfer45438062017-11-13 8:17:373030 days ago1510561057IN
0x59C35d0e...Fa8D2014F
0.49900811 ETH0.00008424
Sweep45204542017-11-09 14:46:453033 days ago1510238805IN
0x59C35d0e...Fa8D2014F
0 ETH0.0010011420
Transfer45204472017-11-09 14:45:463033 days ago1510238746IN
0x59C35d0e...Fa8D2014F
0.51519674 ETH0.0002210310.5
Sweep44966872017-11-05 18:55:523037 days ago1509908152IN
0x59C35d0e...Fa8D2014F
0 ETH0.0010011420
Transfer44966772017-11-05 18:53:403037 days ago1509908020IN
0x59C35d0e...Fa8D2014F
0.4995056 ETH0.00016848
Sweep44746042017-11-02 5:45:473041 days ago1509601547IN
0x59C35d0e...Fa8D2014F
0 ETH0.0010011420
Transfer44745882017-11-02 5:42:333041 days ago1509601353IN
0x59C35d0e...Fa8D2014F
0.49933336 ETH0.0004210220
Sweep44524592017-10-29 15:41:583044 days ago1509291718IN
0x59C35d0e...Fa8D2014F
0 ETH0.0010011420
Transfer44524482017-10-29 15:39:243044 days ago1509291564IN
0x59C35d0e...Fa8D2014F
0.49943061 ETH0.00008424
Sweep44295892017-10-25 22:58:073048 days ago1508972287IN
0x59C35d0e...Fa8D2014F
0 ETH0.0010011420
Transfer44295732017-10-25 22:54:413048 days ago1508972081IN
0x59C35d0e...Fa8D2014F
0.49951696 ETH0.00016848
Sweep44068142017-10-22 7:10:443052 days ago1508656244IN
0x59C35d0e...Fa8D2014F
0 ETH0.0015517631
Transfer44067942017-10-22 7:06:313052 days ago1508655991IN
0x59C35d0e...Fa8D2014F
0.49929399 ETH0.00016848
Sweep43835582017-10-18 14:00:463055 days ago1508335246IN
0x59C35d0e...Fa8D2014F
0 ETH0.0015517631
Transfer43835542017-10-18 14:00:073055 days ago1508335207IN
0x59C35d0e...Fa8D2014F
0.4999366 ETH0.0004210220
View all transactions

Latest 21 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer46549672017-12-01 7:56:063012 days ago1512114966
0x59C35d0e...Fa8D2014F
0.50008706 ETH
Transfer46150482017-11-24 19:57:043018 days ago1511553424
0x59C35d0e...Fa8D2014F
0.50004249 ETH
Transfer45907102017-11-20 21:41:223022 days ago1511214082
0x59C35d0e...Fa8D2014F
0.50035848 ETH
Transfer45657682017-11-16 21:35:533026 days ago1510868153
0x59C35d0e...Fa8D2014F
0.50059737 ETH
Transfer45438202017-11-13 8:20:083030 days ago1510561208
0x59C35d0e...Fa8D2014F
0.49900812 ETH
Transfer45204542017-11-09 14:46:453033 days ago1510238805
0x59C35d0e...Fa8D2014F
0.51519675 ETH
Transfer44966872017-11-05 18:55:523037 days ago1509908152
0x59C35d0e...Fa8D2014F
0.4995056 ETH
Transfer44746042017-11-02 5:45:473041 days ago1509601547
0x59C35d0e...Fa8D2014F
0.49933336 ETH
Transfer44524592017-10-29 15:41:583044 days ago1509291718
0x59C35d0e...Fa8D2014F
0.49943062 ETH
Transfer44295892017-10-25 22:58:073048 days ago1508972287
0x59C35d0e...Fa8D2014F
0.49951697 ETH
Transfer44068142017-10-22 7:10:443052 days ago1508656244
0x59C35d0e...Fa8D2014F
0.49929399 ETH
Transfer43835582017-10-18 14:00:463055 days ago1508335246
0x59C35d0e...Fa8D2014F
0.49993661 ETH
Transfer43647382017-10-14 10:02:343060 days ago1507975354
0x59C35d0e...Fa8D2014F
0.49938659 ETH
Transfer43517522017-10-09 22:34:203064 days ago1507588460
0x59C35d0e...Fa8D2014F
0.49946785 ETH
Transfer43384852017-10-05 7:52:293069 days ago1507189949
0x59C35d0e...Fa8D2014F
0.49901709 ETH
Transfer43252792017-09-30 17:33:493073 days ago1506792829
0x59C35d0e...Fa8D2014F
0.49947871 ETH
Transfer43126232017-09-26 7:16:363078 days ago1506410196
0x59C35d0e...Fa8D2014F
0.49904076 ETH
Transfer43001182017-09-22 0:17:263082 days ago1506039446
0x59C35d0e...Fa8D2014F
0.49912677 ETH
Transfer42838052017-09-17 11:47:503087 days ago1505648870
0x59C35d0e...Fa8D2014F
0.49959639 ETH
Transfer42643952017-09-12 2:03:563092 days ago1505181836
0x59C35d0e...Fa8D2014F
0.49930984 ETH
Transfer42448332017-09-06 14:46:083097 days ago1504709168  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 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

Contract Source Code (Solidity)

/**
 *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

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

0x6060604052341561000c57fe5b60405160208061026c83398101604052515b60008054600160a060020a031916600160a060020a0383161790555b505b6102218061004b6000396000f300606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029000000000000000000000000a3c1e324ca1ce40db73ed6026c4a177f099b5770

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

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.