ETH Price: $2,121.00 (-1.95%)

Contract

0x9bc20e5cB4e175D9D7A2E52124D3273EDd7f51bC
 

Overview

ETH Balance

0.000000008046254048 ETH

Eth Value

Less Than $0.01 (@ $2,121.00/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep75145762019-04-06 12:29:492545 days ago1554553789IN
0x9bc20e5c...EDd7f51bC
0 ETH0.0025028550
Transfer75145582019-04-06 12:25:282545 days ago1554553528IN
0x9bc20e5c...EDd7f51bC
3.637082 ETH0.00004212
Sweep66999322018-11-14 0:32:552689 days ago1542155575IN
0x9bc20e5c...EDd7f51bC
0 ETH0.0025028550
Transfer66999072018-11-14 0:27:282689 days ago1542155248IN
0x9bc20e5c...EDd7f51bC
0.20007124 ETH0.000063153
Sweep65828162018-10-25 20:06:232708 days ago1540497983IN
0x9bc20e5c...EDd7f51bC
0 ETH0.0025028550
Transfer65827902018-10-25 20:00:442708 days ago1540497644IN
0x9bc20e5c...EDd7f51bC
0.20004953 ETH0.000063153
Sweep64679662018-10-07 3:21:232727 days ago1538882483IN
0x9bc20e5c...EDd7f51bC
0 ETH0.0025028550
Transfer64679422018-10-07 3:16:582727 days ago1538882218IN
0x9bc20e5c...EDd7f51bC
0.20004437 ETH0.000063153
Sweep63547312018-09-18 13:50:372745 days ago1537278637IN
0x9bc20e5c...EDd7f51bC
0 ETH0.0025028550
Transfer63546852018-09-18 13:41:242745 days ago1537278084IN
0x9bc20e5c...EDd7f51bC
0.20001824 ETH0.000063153
Sweep62384912018-08-30 3:46:122765 days ago1535600772IN
0x9bc20e5c...EDd7f51bC
0 ETH0.0025028550
Transfer62384712018-08-30 3:41:402765 days ago1535600500IN
0x9bc20e5c...EDd7f51bC
0.20867028 ETH0.000105255
Sweep60652932018-07-31 21:18:542794 days ago1533071934IN
0x9bc20e5c...EDd7f51bC
0 ETH0.0050057100
Transfer60652772018-07-31 21:15:442794 days ago1533071744IN
0x9bc20e5c...EDd7f51bC
0.20022202 ETH0.000021051
Sweep59400732018-07-10 17:12:512815 days ago1531242771IN
0x9bc20e5c...EDd7f51bC
0 ETH0.0050057100
Transfer59400342018-07-10 17:05:192815 days ago1531242319IN
0x9bc20e5c...EDd7f51bC
0.20009765 ETH0.000021051
Sweep58229692018-06-20 14:28:492835 days ago1529504929IN
0x9bc20e5c...EDd7f51bC
0 ETH0.0025028550
Transfer58229372018-06-20 14:20:482835 days ago1529504448IN
0x9bc20e5c...EDd7f51bC
0.20007145 ETH0.000021051
Sweep56874812018-05-27 20:19:292859 days ago1527452369IN
0x9bc20e5c...EDd7f51bC
0 ETH0.0025028550
Transfer56874572018-05-27 20:13:402859 days ago1527452020IN
0x9bc20e5c...EDd7f51bC
0.20004887 ETH0.000021051
Sweep55761142018-05-08 5:12:312879 days ago1525756351IN
0x9bc20e5c...EDd7f51bC
0 ETH0.0025028550
Transfer55760792018-05-08 5:04:082879 days ago1525755848IN
0x9bc20e5c...EDd7f51bC
0.20002346 ETH0.000021051
Sweep54658792018-04-19 1:58:352898 days ago1524103115IN
0x9bc20e5c...EDd7f51bC
0 ETH0.0025028550
Transfer54658452018-04-19 1:49:152898 days ago1524102555IN
0x9bc20e5c...EDd7f51bC
0.20007814 ETH0.000021051
Sweep53521102018-03-31 1:35:272917 days ago1522460127IN
0x9bc20e5c...EDd7f51bC
0 ETH0.0025028550
View all transactions

Latest 18 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-75145762019-04-06 12:29:492545 days ago1554553789
0x9bc20e5c...EDd7f51bC
3.637082 ETH
Transfer66999322018-11-14 0:32:552689 days ago1542155575
0x9bc20e5c...EDd7f51bC
0.20007124 ETH
Transfer65828162018-10-25 20:06:232708 days ago1540497983
0x9bc20e5c...EDd7f51bC
0.20004954 ETH
Transfer64679662018-10-07 3:21:232727 days ago1538882483
0x9bc20e5c...EDd7f51bC
0.20004437 ETH
Transfer63547312018-09-18 13:50:372745 days ago1537278637
0x9bc20e5c...EDd7f51bC
0.20001825 ETH
Transfer62384912018-08-30 3:46:122765 days ago1535600772
0x9bc20e5c...EDd7f51bC
0.20867029 ETH
Transfer60652932018-07-31 21:18:542794 days ago1533071934
0x9bc20e5c...EDd7f51bC
0.20022202 ETH
Transfer59400732018-07-10 17:12:512815 days ago1531242771
0x9bc20e5c...EDd7f51bC
0.20009765 ETH
Transfer58229692018-06-20 14:28:492835 days ago1529504929
0x9bc20e5c...EDd7f51bC
0.20007146 ETH
Transfer56874812018-05-27 20:19:292859 days ago1527452369
0x9bc20e5c...EDd7f51bC
0.20004887 ETH
Transfer55761142018-05-08 5:12:312879 days ago1525756351
0x9bc20e5c...EDd7f51bC
0.20002347 ETH
Transfer54658792018-04-19 1:58:352898 days ago1524103115
0x9bc20e5c...EDd7f51bC
0.20007814 ETH
Transfer53521102018-03-31 1:35:272917 days ago1522460127
0x9bc20e5c...EDd7f51bC
0.20019638 ETH
Transfer52318652018-03-10 19:05:382937 days ago1520708738
0x9bc20e5c...EDd7f51bC
0.20059919 ETH
Transfer51204402018-02-19 20:10:222956 days ago1519071022
0x9bc20e5c...EDd7f51bC
0.20006726 ETH
Transfer50163252018-02-02 8:46:532973 days ago1517561213
0x9bc20e5c...EDd7f51bC
0.20023074 ETH
Transfer49299452018-01-18 16:04:072988 days ago1516291447
0x9bc20e5c...EDd7f51bC
0.20037303 ETH
Transfer46747732017-12-04 15:05:193033 days ago1512399919  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.