Sponsored Link:   ARNA Genomics - FIRST BLOCKCHAIN BIOTECH ECOSYSTEM. Join ICO Now!
Contract Overview
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 8 txns
  Latest 8 txns

TxHash Age From To Value [TxFee]
0xd35174d90c9954b88494dfce0b412e11b8a238a66e0a76fac5249b0842d0b5b41 day 3 hrs agoBittrex  IN   0x8b686f263e67a8168117d47b8b65c2bc899e34c30 Ether0.00100114
0x40d293736a6f5119a035e01e7c647545119cc0726871263fbcd14d0df4c5190b1 day 3 hrs ago0x0dc1a8665112f82d29003f5ad717c48142b7f5a0  IN   0x8b686f263e67a8168117d47b8b65c2bc899e34c31.837 Ether0.00042102
0xe0391878e9cc3885c04f7eb81d97f7f5605526f4b5875ff29e009fc5853b0e552 days 1 hr agoBittrex  IN   0x8b686f263e67a8168117d47b8b65c2bc899e34c30 Ether0.00100114
0x08dd9c80a9f9930ad9b2faab0016bf29b6b79fd70e7b9fd3b2b8ae09b47d582f2 days 1 hr ago0x701e0bfa8459f779bef2ac6c57a7cbd1eb3e185a  IN   0x8b686f263e67a8168117d47b8b65c2bc899e34c30.68494 Ether0.00042102
0x6058a4a1d2d2080f44740026c2501e82f25bf4e92dfac42094fd92a2a51c88ec6 days 6 hrs agoBittrex  IN   0x8b686f263e67a8168117d47b8b65c2bc899e34c30 Ether0.00100114
0x56735d6f8531bcce907f27f714eadd0e3cc14848e82d90e4bea2a3c82d8c7f6b6 days 6 hrs ago0x8f5c7a00beadc2340f6ec36f85f7be4115cbc103  IN   0x8b686f263e67a8168117d47b8b65c2bc899e34c30.61154 Ether0.00042102
0xf4909192a5719c548aff01ca14747a5b106a1c210450e50156fd5a31ffb6eba68 days 18 mins agoBittrex  IN   0x8b686f263e67a8168117d47b8b65c2bc899e34c30 Ether0.00100114
0x3b11f58bab6c3e4eb4155c03a473d2d8c7226d3b5f8cfd4fbab8a9279e4ccee48 days 20 mins ago0x068a4051acf24ee29d5a4dfc4e3dcf6ed1e08d54  IN   0x8b686f263e67a8168117d47b8b65c2bc899e34c30.1 Ether0.00042102
0x29782b6fd1342bb3762bee671675aeced878fb44a1955e556e456da7da9f1bcf8 days 6 hrs ago0xd109e6e552718fb6ae458bf5fea40f0aaf26257b  IN   0x8b686f263e67a8168117d47b8b65c2bc899e34c30.01511 Ether0.00042102
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 5 Internal Transactions

ParentTxHash Block Age From To Value
0xd35174d90c9954b88494dfce0b412e11b8a238a66e0a76fac5249b0842d0b5b445956401 day 3 hrs ago0x8b686f263e67a8168117d47b8b65c2bc899e34c30xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb981.837 Ether
0xe0391878e9cc3885c04f7eb81d97f7f5605526f4b5875ff29e009fc5853b0e5545900162 days 1 hr ago0x8b686f263e67a8168117d47b8b65c2bc899e34c30xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.68494 Ether
0x6058a4a1d2d2080f44740026c2501e82f25bf4e92dfac42094fd92a2a51c88ec45638206 days 6 hrs ago0x8b686f263e67a8168117d47b8b65c2bc899e34c30xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.61154 Ether
0xf4909192a5719c548aff01ca14747a5b106a1c210450e50156fd5a31ffb6eba645529378 days 18 mins ago0x8b686f263e67a8168117d47b8b65c2bc899e34c30xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.11511 Ether
0x043541d2c24052fd6f17726dc03f072b4e1d0de23b77804e5cca4d45e753dc19446787421 days 16 hrs ago0xa3c1e324ca1ce40db73ed6026c4a177f099b5770  Contract Creation0 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to ZeroFunctionSelector (very low-severity), DelegateCallReturnValue (low-severity), ECRecoverMalformedInput (medium-severity), SkipEmptyStringLiteral (low-severity) Solidity compiler bugs.

Contract Source Code Verified
Note: Displaying matching verified source code at contract 0xd1dd82d1ded8f40c200b89455050e9c18d918504
Contract Name: UserWallet
Compiler Version: v0.4.11+commit.68ef5810
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
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 ABI  
[{"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"}]

  Contract Creation Code Switch To Opcodes View
6060604052341561000c57fe5b60405160208061026c83398101604052515b60008054600160a060020a031916600160a060020a0383161790555b505b6102218061004b6000396000f300606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029000000000000000000000000a3c1e324ca1ce40db73ed6026c4a177f099b5770

   Swarm Source:
bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1
View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.