Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 8 txns
Misc:
Address Watch: Add To Watch List
Contract Creator: 0xa3c1e324ca1ce40db73ed6026c4a177f099b5770at txn 0x043541d2c24052fd6f17726dc03f072b4e1d0de23b77804e5cca4d45e753dc19
 Latest 8 txns

TxHash Age From To Value [TxFee]
0xd35174d90c9954b88494dfce0b412e11b8a238a66e0a76fac5249b0842d0b5b4385 days 1 hr agoBittrex_1  IN   0x8b686f263e67a8168117d47b8b65c2bc899e34c30 Ether0.00100114
0x40d293736a6f5119a035e01e7c647545119cc0726871263fbcd14d0df4c5190b385 days 1 hr ago0x0dc1a8665112f82d29003f5ad717c48142b7f5a0  IN   0x8b686f263e67a8168117d47b8b65c2bc899e34c31.837 Ether0.00042102
0xe0391878e9cc3885c04f7eb81d97f7f5605526f4b5875ff29e009fc5853b0e55385 days 23 hrs agoBittrex_1  IN   0x8b686f263e67a8168117d47b8b65c2bc899e34c30 Ether0.00100114
0x08dd9c80a9f9930ad9b2faab0016bf29b6b79fd70e7b9fd3b2b8ae09b47d582f385 days 23 hrs ago0x701e0bfa8459f779bef2ac6c57a7cbd1eb3e185a  IN   0x8b686f263e67a8168117d47b8b65c2bc899e34c30.68494 Ether0.00042102
0x6058a4a1d2d2080f44740026c2501e82f25bf4e92dfac42094fd92a2a51c88ec390 days 4 hrs agoBittrex_1  IN   0x8b686f263e67a8168117d47b8b65c2bc899e34c30 Ether0.00100114
0x56735d6f8531bcce907f27f714eadd0e3cc14848e82d90e4bea2a3c82d8c7f6b390 days 4 hrs ago0x8f5c7a00beadc2340f6ec36f85f7be4115cbc103  IN   0x8b686f263e67a8168117d47b8b65c2bc899e34c30.61154 Ether0.00042102
0xf4909192a5719c548aff01ca14747a5b106a1c210450e50156fd5a31ffb6eba6391 days 22 hrs agoBittrex_1  IN   0x8b686f263e67a8168117d47b8b65c2bc899e34c30 Ether0.00100114
0x3b11f58bab6c3e4eb4155c03a473d2d8c7226d3b5f8cfd4fbab8a9279e4ccee4391 days 22 hrs ago0x068a4051acf24ee29d5a4dfc4e3dcf6ed1e08d54  IN   0x8b686f263e67a8168117d47b8b65c2bc899e34c30.1 Ether0.00042102
0x29782b6fd1342bb3762bee671675aeced878fb44a1955e556e456da7da9f1bcf392 days 4 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
0xd35174d90c9954b88494dfce0b412e11b8a238a66e0a76fac5249b0842d0b5b44595640385 days 1 hr ago0x8b686f263e67a8168117d47b8b65c2bc899e34c30xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb981.837 Ether
0xe0391878e9cc3885c04f7eb81d97f7f5605526f4b5875ff29e009fc5853b0e554590016385 days 23 hrs ago0x8b686f263e67a8168117d47b8b65c2bc899e34c30xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.68494 Ether
0x6058a4a1d2d2080f44740026c2501e82f25bf4e92dfac42094fd92a2a51c88ec4563820390 days 4 hrs ago0x8b686f263e67a8168117d47b8b65c2bc899e34c30xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.61154 Ether
0xf4909192a5719c548aff01ca14747a5b106a1c210450e50156fd5a31ffb6eba64552937391 days 22 hrs ago0x8b686f263e67a8168117d47b8b65c2bc899e34c30xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.11511 Ether
0x043541d2c24052fd6f17726dc03f072b4e1d0de23b77804e5cca4d45e753dc194467874405 days 15 hrs ago0xa3c1e324ca1ce40db73ed6026c4a177f099b5770  Contract Creation0 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), NestedArrayFunctionCallDecoder (medium-severity), ZeroFunctionSelector (very low-severity), DelegateCallReturnValue (low-severity), ECRecoverMalformedInput (medium-severity), SkipEmptyStringLiteral (low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Similar Match)
Note: Displaying Similar Match Verified Source Code At Contract 0xd1DD82d1dED8f40c200b89455050E9C18D918504(Excluding Constructor Arguments if any)
Contract Name: UserWallet
Compiler Text: 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 transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.