ETH Price: $1,996.52 (+2.31%)

Contract

0xb28C00a7501B7f5b49F88455E66a01Df33751787
 

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
Sweep91891822019-12-31 4:23:062260 days ago1577766186IN
0xb28C00a7...f33751787
0 ETH0.001253422
Transfer91891672019-12-31 4:19:022260 days ago1577765942IN
0xb28C00a7...f33751787
0.4868 ETH0.0002526112
Sweep90097282019-11-27 12:08:452293 days ago1574856525IN
0xb28C00a7...f33751787
0 ETH0.0011012522
Transfer90097122019-11-27 12:05:412293 days ago1574856341IN
0xb28C00a7...f33751787
0.077 ETH0.000170518.1
Sweep59885752018-07-18 21:35:352790 days ago1531949735IN
0xb28C00a7...f33751787
0 ETH0.0050057100
Transfer59885572018-07-18 21:32:222790 days ago1531949542IN
0xb28C00a7...f33751787
2.52904701 ETH0.0010925451.9
Sweep59885302018-07-18 21:25:352790 days ago1531949135IN
0xb28C00a7...f33751787
0 ETH0.0049929100
Transfer59884892018-07-18 21:16:452790 days ago1531948605IN
0xb28C00a7...f33751787
0.07 ETH0.0010925451.9
Sweep57639052018-06-10 9:33:412829 days ago1528623221IN
0xb28C00a7...f33751787
0 ETH0.0024996550
Transfer57638822018-06-10 9:29:072829 days ago1528622947IN
0xb28C00a7...f33751787
5.47 ETH0.0002315611
Sweep57638172018-06-10 9:14:012829 days ago1528622041IN
0xb28C00a7...f33751787
0 ETH0.0024996550
Transfer57637942018-06-10 9:08:522829 days ago1528621732IN
0xb28C00a7...f33751787
0.1 ETH0.0002315611
Sweep53888592018-04-06 3:32:442894 days ago1522985564IN
0xb28C00a7...f33751787
0 ETH0.0025028550
Transfer53888532018-04-06 3:30:202894 days ago1522985420IN
0xb28C00a7...f33751787
3.9123 ETH0.00008424
Sweep53888432018-04-06 3:26:562894 days ago1522985216IN
0xb28C00a7...f33751787
0 ETH0.0024996550
Transfer53888392018-04-06 3:25:442894 days ago1522985144IN
0xb28C00a7...f33751787
0.3 ETH0.00008424
Sweep53888212018-04-06 3:21:472894 days ago1522984907IN
0xb28C00a7...f33751787
0 ETH0.0024996550
Transfer53887832018-04-06 3:12:302894 days ago1522984350IN
0xb28C00a7...f33751787
0.1 ETH0.00008424
Sweep53307062018-03-27 10:47:572904 days ago1522147677IN
0xb28C00a7...f33751787
0 ETH0.0025028550
Transfer53306972018-03-27 10:46:092904 days ago1522147569IN
0xb28C00a7...f33751787
0.3213 ETH0.00008424
Sweep53306892018-03-27 10:43:302904 days ago1522147410IN
0xb28C00a7...f33751787
0 ETH0.0024996550
Transfer53306812018-03-27 10:41:272904 days ago1522147287IN
0xb28C00a7...f33751787
0.3 ETH0.00008424
Sweep53306742018-03-27 10:39:282904 days ago1522147168IN
0xb28C00a7...f33751787
0 ETH0.0024996550
Transfer53306502018-03-27 10:32:292904 days ago1522146749IN
0xb28C00a7...f33751787
0.12 ETH0.00008424
Sweep53269502018-03-26 19:30:322904 days ago1522092632IN
0xb28C00a7...f33751787
0 ETH0.0024996550
View all transactions

Latest 24 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-91891822019-12-31 4:23:062260 days ago1577766186
0xb28C00a7...f33751787
0.4868 ETH
-90097282019-11-27 12:08:452293 days ago1574856525
0xb28C00a7...f33751787
0.077 ETH
Transfer59885752018-07-18 21:35:352790 days ago1531949735
0xb28C00a7...f33751787
2.52904701 ETH
Transfer59885302018-07-18 21:25:352790 days ago1531949135
0xb28C00a7...f33751787
0.07 ETH
Transfer57639052018-06-10 9:33:412829 days ago1528623221
0xb28C00a7...f33751787
5.47 ETH
Transfer57638172018-06-10 9:14:012829 days ago1528622041
0xb28C00a7...f33751787
0.1 ETH
Transfer53888592018-04-06 3:32:442894 days ago1522985564
0xb28C00a7...f33751787
3.9123 ETH
Transfer53888432018-04-06 3:26:562894 days ago1522985216
0xb28C00a7...f33751787
0.3 ETH
Transfer53888212018-04-06 3:21:472894 days ago1522984907
0xb28C00a7...f33751787
0.1 ETH
Transfer53307062018-03-27 10:47:572904 days ago1522147677
0xb28C00a7...f33751787
0.3213 ETH
Transfer53306892018-03-27 10:43:302904 days ago1522147410
0xb28C00a7...f33751787
0.3 ETH
Transfer53306742018-03-27 10:39:282904 days ago1522147168
0xb28C00a7...f33751787
0.12 ETH
Transfer53269502018-03-26 19:30:322904 days ago1522092632
0xb28C00a7...f33751787
0.2596 ETH
Transfer53269222018-03-26 19:23:072904 days ago1522092187
0xb28C00a7...f33751787
0.12 ETH
Transfer53262382018-03-26 16:41:052904 days ago1522082465
0xb28C00a7...f33751787
0.2637 ETH
Transfer53262082018-03-26 16:33:482904 days ago1522082028
0xb28C00a7...f33751787
0.12 ETH
Transfer53256472018-03-26 14:13:162904 days ago1522073596
0xb28C00a7...f33751787
0.12 ETH
Transfer52900902018-03-20 16:19:482910 days ago1521562788
0xb28C00a7...f33751787
0.37 ETH
Transfer52900722018-03-20 16:14:182910 days ago1521562458
0xb28C00a7...f33751787
0.3 ETH
Transfer52900462018-03-20 16:09:382910 days ago1521562178
0xb28C00a7...f33751787
0.3 ETH
Transfer52899192018-03-20 15:36:332910 days ago1521560193
0xb28C00a7...f33751787
0.2309 ETH
Transfer52897932018-03-20 15:05:242910 days ago1521558324
0xb28C00a7...f33751787
0.23 ETH
Transfer52895242018-03-20 13:57:002910 days ago1521554220
0xb28C00a7...f33751787
0.1 ETH
Transfer49812702018-01-27 10:06:572963 days ago1517047617  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.