ETH Price: $2,157.04 (+5.45%)

Contract

0xbB5Bf63FAA6833E28877FCA448BBd2ff605A6FA5
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep50374822018-02-05 21:54:542968 days ago1517867694IN
0xbB5Bf63F...f605A6FA5
0 ETH0.0045051390
Transfer50374552018-02-05 21:50:142968 days ago1517867414IN
0xbB5Bf63F...f605A6FA5
8.75739915 ETH0.0004210220
Sweep50182472018-02-02 16:40:072971 days ago1517589607IN
0xbB5Bf63F...f605A6FA5
0 ETH0.0045051390
Transfer50182092018-02-02 16:33:082971 days ago1517589188IN
0xbB5Bf63F...f605A6FA5
6.581976 ETH0.0006315330
Sweep50169532018-02-02 11:17:212971 days ago1517570241IN
0xbB5Bf63F...f605A6FA5
0 ETH0.0044993790
Transfer50169262018-02-02 11:10:522971 days ago1517569852IN
0xbB5Bf63F...f605A6FA5
1.64512 ETH0.0006315330
Sweep48355172018-01-01 11:13:323003 days ago1514805212IN
0xbB5Bf63F...f605A6FA5
0 ETH0.002552951
Transfer48354862018-01-01 11:05:513003 days ago1514804751IN
0xbB5Bf63F...f605A6FA5
0.34186835 ETH0.0004210220
Sweep48313102017-12-31 18:21:513004 days ago1514744511IN
0xbB5Bf63F...f605A6FA5
0 ETH0.002552951
Transfer48312762017-12-31 18:12:193004 days ago1514743939IN
0xbB5Bf63F...f605A6FA5
1.73969771 ETH0.0004420721
Sweep47363282017-12-15 10:09:373020 days ago1513332577IN
0xbB5Bf63F...f605A6FA5
0 ETH0.0025496451
Transfer47362992017-12-15 10:00:393020 days ago1513332039IN
0xbB5Bf63F...f605A6FA5
0.60083968 ETH0.0006315330
Sweep46030942017-11-22 21:46:423043 days ago1511387202IN
0xbB5Bf63F...f605A6FA5
0 ETH0.0010011420
Transfer46030832017-11-22 21:43:003043 days ago1511386980IN
0xbB5Bf63F...f605A6FA5
0.85709549 ETH0.0004210220
Sweep45648302017-11-16 17:53:553049 days ago1510854835IN
0xbB5Bf63F...f605A6FA5
0 ETH0.0009998620
Transfer45648132017-11-16 17:50:083049 days ago1510854608IN
0xbB5Bf63F...f605A6FA5
1.43 ETH0.0006315330
Sweep45537662017-11-14 23:06:133050 days ago1510700773IN
0xbB5Bf63F...f605A6FA5
0 ETH0.0010011420
Transfer45537502017-11-14 23:01:013050 days ago1510700461IN
0xbB5Bf63F...f605A6FA5
0.79891814 ETH0.0004210220
Sweep42877612017-09-18 14:13:563108 days ago1505744036IN
0xbB5Bf63F...f605A6FA5
0 ETH0.002552951
Transfer42877462017-09-18 14:05:413108 days ago1505743541IN
0xbB5Bf63F...f605A6FA5
1.94967753 ETH0.0004420721
Sweep42651212017-09-12 7:01:273114 days ago1505199687IN
0xbB5Bf63F...f605A6FA5
0 ETH0.002552951
Transfer42651152017-09-12 6:58:573114 days ago1505199537IN
0xbB5Bf63F...f605A6FA5
2.03257002 ETH0.000482722.93016676
Sweep42404142017-09-05 8:28:433121 days ago1504600123IN
0xbB5Bf63F...f605A6FA5
0 ETH0.002552951
Transfer42404042017-09-05 8:24:503121 days ago1504599890IN
0xbB5Bf63F...f605A6FA5
0.56462689 ETH0.0005493426.09602359
Sweep42332952017-09-03 8:20:063123 days ago1504426806IN
0xbB5Bf63F...f605A6FA5
0 ETH0.002552951
View all transactions

Latest 16 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer50374822018-02-05 21:54:542968 days ago1517867694
0xbB5Bf63F...f605A6FA5
8.75739915 ETH
Transfer50182472018-02-02 16:40:072971 days ago1517589607
0xbB5Bf63F...f605A6FA5
6.581976 ETH
Transfer50169532018-02-02 11:17:212971 days ago1517570241
0xbB5Bf63F...f605A6FA5
1.64512 ETH
Transfer48355172018-01-01 11:13:323003 days ago1514805212
0xbB5Bf63F...f605A6FA5
0.34186835 ETH
Transfer48313102017-12-31 18:21:513004 days ago1514744511
0xbB5Bf63F...f605A6FA5
1.73969771 ETH
Transfer47363282017-12-15 10:09:373020 days ago1513332577
0xbB5Bf63F...f605A6FA5
0.60083968 ETH
Transfer46030942017-11-22 21:46:423043 days ago1511387202
0xbB5Bf63F...f605A6FA5
0.85709549 ETH
Transfer45648302017-11-16 17:53:553049 days ago1510854835
0xbB5Bf63F...f605A6FA5
1.43 ETH
Transfer45537662017-11-14 23:06:133050 days ago1510700773
0xbB5Bf63F...f605A6FA5
0.79891814 ETH
Transfer42877612017-09-18 14:13:563108 days ago1505744036
0xbB5Bf63F...f605A6FA5
1.94967753 ETH
Transfer42651212017-09-12 7:01:273114 days ago1505199687
0xbB5Bf63F...f605A6FA5
2.03257002 ETH
Transfer42404142017-09-05 8:28:433121 days ago1504600123
0xbB5Bf63F...f605A6FA5
0.56462689 ETH
Transfer42332952017-09-03 8:20:063123 days ago1504426806
0xbB5Bf63F...f605A6FA5
0.9276428 ETH
Transfer42058492017-08-26 12:16:353131 days ago1503749795
0xbB5Bf63F...f605A6FA5
1.97333805 ETH
Transfer42056762017-08-26 11:05:123131 days ago1503745512
0xbB5Bf63F...f605A6FA5
1.00133 ETH
Transfer42042932017-08-26 1:53:533131 days ago1503712433  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.