ETH Price: $2,041.94 (+5.84%)
 

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
Sweep49949552018-01-29 17:04:052954 days ago1517245445IN
0xbfeD13C7...A29f86bBc
0 ETH0.0045051390
Transfer49949202018-01-29 16:56:032954 days ago1517244963IN
0xbfeD13C7...A29f86bBc
0.16497837 ETH0.0007578336
Sweep49943382018-01-29 14:40:512954 days ago1517236851IN
0xbfeD13C7...A29f86bBc
0 ETH0.0045051390
Transfer49943052018-01-29 14:32:532954 days ago1517236373IN
0xbfeD13C7...A29f86bBc
0.12810439 ETH0.0010525550
Sweep49827372018-01-27 15:57:572956 days ago1517068677IN
0xbfeD13C7...A29f86bBc
0 ETH0.0044993790
Transfer49827052018-01-27 15:50:222956 days ago1517068222IN
0xbfeD13C7...A29f86bBc
0.19040064 ETH0.0004631222
Sweep49621122018-01-24 4:31:292959 days ago1516768289IN
0xbfeD13C7...A29f86bBc
0 ETH0.0045051390
Transfer49620842018-01-24 4:25:132959 days ago1516767913IN
0xbfeD13C7...A29f86bBc
0.48626134 ETH0.0007367835
Sweep48482062018-01-03 16:23:582980 days ago1514996638IN
0xbfeD13C7...A29f86bBc
0 ETH0.002552951
Transfer48481922018-01-03 16:19:102980 days ago1514996350IN
0xbfeD13C7...A29f86bBc
0.22722237 ETH0.0004631222
Transfer48481812018-01-03 16:15:502980 days ago1514996150IN
0xbfeD13C7...A29f86bBc
0.34240784 ETH0.0004631222
Sweep48444722018-01-03 0:31:182980 days ago1514939478IN
0xbfeD13C7...A29f86bBc
0 ETH0.002552951
Transfer48444442018-01-03 0:24:182980 days ago1514939058IN
0xbfeD13C7...A29f86bBc
0.11516287 ETH0.0004631222
Sweep48431532018-01-02 18:54:282981 days ago1514919268IN
0xbfeD13C7...A29f86bBc
0 ETH0.002552951
Transfer48431152018-01-02 18:46:172981 days ago1514918777IN
0xbfeD13C7...A29f86bBc
0.73663957 ETH0.0004631222
Sweep48192062017-12-29 16:26:402985 days ago1514564800IN
0xbfeD13C7...A29f86bBc
0 ETH0.002552951
Transfer48191702017-12-29 16:17:212985 days ago1514564241IN
0xbfeD13C7...A29f86bBc
1.080725 ETH0.0004631222
Sweep48133332017-12-28 16:06:292986 days ago1514477189IN
0xbfeD13C7...A29f86bBc
0 ETH0.0025496451
Transfer48132982017-12-28 15:59:022986 days ago1514476742IN
0xbfeD13C7...A29f86bBc
1.5736 ETH0.0004631222
Sweep48073862017-12-27 16:09:202987 days ago1514390960IN
0xbfeD13C7...A29f86bBc
0 ETH0.002552951
Transfer48073512017-12-27 15:59:372987 days ago1514390377IN
0xbfeD13C7...A29f86bBc
0.5275 ETH0.0004631222
Sweep46337532017-11-27 20:50:593017 days ago1511815859IN
0xbfeD13C7...A29f86bBc
0 ETH0.0010011420
Transfer46337302017-11-27 20:47:403017 days ago1511815660IN
0xbfeD13C7...A29f86bBc
0.21564084 ETH0.0004210220
Sweep45207962017-11-09 16:06:273035 days ago1510243587IN
0xbfeD13C7...A29f86bBc
0 ETH0.0010011420
Transfer45207852017-11-09 16:03:243035 days ago1510243404IN
0xbfeD13C7...A29f86bBc
1.43704113 ETH0.0004210220
View all transactions

Latest 14 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer49949552018-01-29 17:04:052954 days ago1517245445
0xbfeD13C7...A29f86bBc
0.16497837 ETH
Transfer49943382018-01-29 14:40:512954 days ago1517236851
0xbfeD13C7...A29f86bBc
0.12810439 ETH
Transfer49827372018-01-27 15:57:572956 days ago1517068677
0xbfeD13C7...A29f86bBc
0.19040064 ETH
Transfer49621122018-01-24 4:31:292959 days ago1516768289
0xbfeD13C7...A29f86bBc
0.48626134 ETH
Transfer48482062018-01-03 16:23:582980 days ago1514996638
0xbfeD13C7...A29f86bBc
0.56963021 ETH
Transfer48444722018-01-03 0:31:182980 days ago1514939478
0xbfeD13C7...A29f86bBc
0.11516287 ETH
Transfer48431532018-01-02 18:54:282981 days ago1514919268
0xbfeD13C7...A29f86bBc
0.73663957 ETH
Transfer48192062017-12-29 16:26:402985 days ago1514564800
0xbfeD13C7...A29f86bBc
1.080725 ETH
Transfer48133332017-12-28 16:06:292986 days ago1514477189
0xbfeD13C7...A29f86bBc
1.5736 ETH
Transfer48073862017-12-27 16:09:202987 days ago1514390960
0xbfeD13C7...A29f86bBc
0.5275 ETH
Transfer46337532017-11-27 20:50:593017 days ago1511815859
0xbfeD13C7...A29f86bBc
0.21564084 ETH
Transfer45207962017-11-09 16:06:273035 days ago1510243587
0xbfeD13C7...A29f86bBc
1.43704113 ETH
Transfer43110082017-09-25 17:38:423080 days ago1506361122
0xbfeD13C7...A29f86bBc
0.3 ETH
Transfer43053712017-09-23 18:51:363082 days ago1506192696  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.