Sponsored Link:   Buy your 1st Ethereum in 5 minutes. Trusted by more than 100k buyers.
Contract Overview
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 90 txns
  Latest 25 txns from a total Of 90 transactions View All

TxHash Age From To Value [TxFee]
0x5e379dc3819f0909b3963965614b4b8fae3c33b2ccd9f45d67d61813bfad5dc41 day 9 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x242d2a5a5c31f1f0f46d83bcdf5f0cf992f01e3eb4a4398d9510454991e00c9c1 day 11 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x5b709dc18fab0cb6d007929cbe7c545ea8062929c8b2bcd11358c962b6f38f031 day 14 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0xdfae77af80c2e98ca2397b2b9efb1c2c77e0810b99b1bbb055c87923f91656842 days 11 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0xd05220df1537afa558da84dd14cc2ae2fddb880519e19c75631955a5a38645e54 days 7 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x68da565cce964d78a49acec9100efd9b1471a10c2f0f26128052939f61c1ac924 days 13 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0xae3eb36a2b9df4a4457702d9572e6e34b53974cdc8b736eca78dbd698080bf764 days 16 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0xab8d033db2cf766c35a595cd118efa3381682e17cf600d22c96ccf9f7be355f95 days 2 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x7ced06f6d46e1363e0af8f13708512054c82d030e738440513b70aa81c56c5785 days 7 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0xc80f2ef56d8d05c24e7a25549ea002a615f5ab16bb9f0a8fa6c52d89b1bc04105 days 8 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x17ea91c8a41b099705cd711057d66a338de5fb3cdf6536cc9e7fae2f5909c60c5 days 13 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x2a8399227feea152080606acca435bf6f515f48fc7da3e289c16da56159654915 days 13 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x8fdfd60af68ed492a756619e23d5ef614834aa6d134ef1478bcf4c04cd880e235 days 14 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x5cf9a9b6496780e329169d37d1b24d8c73ba00a1cd2f437cd088473c91cbf3665 days 15 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0xb298cf2abc8241a532054e91889a977726dda7f585b4a4ed68e44dc467885a5e5 days 16 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x6f8bb5bf5f429faa534aba62e23c9dc029edf5311c577a8133f332dbf4c4f1345 days 17 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x6e023aa3be648de578c5d7f0a40527857786391a4d38784eddb554033e8a75655 days 18 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x9e8adc73d3e41e8f4b6e584d0723330a2ec0e3797015c6d1696ff0bef6357d8c5 days 18 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x369ce005eee5a922731e9506e630a35bc525b3aa0b147fab0a8f4247c4e4f0e35 days 21 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x30c10bc226791a9d2815fd17d655a350bfb631094de38032984a59e3f73b83dd6 days 51 mins agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x01e0579b6ae8caf74e69dbf31ca1fcdf9dc6fc99dde3f2b5d6624b46ec76bd5b6 days 12 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x77bcfaba5cc9795a5edc355e4c633895e58f77f723a0871613eec4212f362dea6 days 13 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x82b1a8bc5a340a15ed8a62fdb392e872ee0196b80d2804471f5d7e752cc562f96 days 16 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x7d0613af8b46713bc9b2413b84211037b3f77a1059a9981c0ff432475cd489256 days 18 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
0x9e38c2b0c30d721e0a2e381a74aa58a75b1e2fddab8b3de6a0698a11b9f212a36 days 18 hrs agoBittrex  IN   0x2a6583f1c88a69c495c8fd7a82336151e49202860 Ether0.00094524
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 1 Internal Transaction

ParentTxHash Block Age From To Value
0x566e95237f06964dc23fb06379c044297f56d6355fe71d227e9e1c75e39fd6dc433523746 days 8 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.