Sponsored Link: Defeat FB+GOOG with Wolk's Decentralized Data ExchangeDownload Whitepaper and Participate in Token Event 8/28.
Contract Overview
ETH Balance: 0.000000007 Ether
ETH USD Value: less than $0.01 (@ $302.21/ETH)
No Of Transactions: 8 txns
  Latest 8 txns

TxHash Age From To Value [TxFee]
0x03256bb08b6f8503e5840c5422a72900420f96088c10448747f49a51406f32de3 days 18 hrs agoBittrex  IN   0xa224c56bf31fdce81ace15195bc95de5a6e5c8f30 Ether0.001052541
0xa2ddb0d63fa71cb3004345b7cbbddf2f624d267c10ed3d0147fb029b01a850103 days 18 hrs ago0x3333d72a99459929853de3d591972bef37179699  IN   0xa224c56bf31fdce81ace15195bc95de5a6e5c8f3248.984115837 Ether0.000442071
0xc751225bfba4d970e7e66cf078aacdec08f78392a2bf8d728cfe48b8534669023 days 18 hrs agoBittrex  IN   0xa224c56bf31fdce81ace15195bc95de5a6e5c8f30 Ether0.001284732068
0x06c560de33362b528f1d1641ddd7563315966d6fb459d8fee2ddc8e76bfbea823 days 18 hrs ago0x3333d72a99459929853de3d591972bef37179699  IN   0xa224c56bf31fdce81ace15195bc95de5a6e5c8f31 Ether0.000442071
0x45c2a19107be7beeabef1212e6ef7c2f060de4dfd7248624b80c309254e904744 days 14 hrs agoBittrex  IN   0xa224c56bf31fdce81ace15195bc95de5a6e5c8f30 Ether0.00241077
0x4d3dd56612334371d197aff07f8d75cd8a52501020a2ef4bdf4287e5f0abbfe24 days 14 hrs agoPoloniex Wallet  IN   0xa224c56bf31fdce81ace15195bc95de5a6e5c8f328.97751307 Ether0.00063153
0x37a31fd9df2f04f23f8afa1d45dfe041d7e042cc342df2487ad6ba79d890b8d24 days 14 hrs agoBittrex  IN   0xa224c56bf31fdce81ace15195bc95de5a6e5c8f30 Ether0.002407506
0x9ba4d68feec1ecdc1c9604482e33a855f938c369689d236062a0c653d7184e164 days 14 hrs agoPoloniex Wallet  IN   0xa224c56bf31fdce81ace15195bc95de5a6e5c8f30.095 Ether0.00063153
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 5 Internal Transactions

ParentTxHash Block Age From To Value
0x03256bb08b6f8503e5840c5422a72900420f96088c10448747f49a51406f32de41554223 days 18 hrs ago0xa224c56bf31fdce81ace15195bc95de5a6e5c8f30xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb98248.98411583 Ether
0xc751225bfba4d970e7e66cf078aacdec08f78392a2bf8d728cfe48b85346690241553853 days 18 hrs ago0xa224c56bf31fdce81ace15195bc95de5a6e5c8f30xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb981 Ether
0x45c2a19107be7beeabef1212e6ef7c2f060de4dfd7248624b80c309254e9047441519244 days 14 hrs ago0xa224c56bf31fdce81ace15195bc95de5a6e5c8f30xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb9828.97751307 Ether
0x37a31fd9df2f04f23f8afa1d45dfe041d7e042cc342df2487ad6ba79d890b8d241519134 days 14 hrs ago0xa224c56bf31fdce81ace15195bc95de5a6e5c8f30xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.095 Ether
0xe453fcbedfef22a9ddf1467482a07f9cbc35a24fac869a82c0719528fe5afb6c41516804 days 15 hrs ago0xa3c1e324ca1ce40db73ed6026c4a177f099b5770  Contract Creation0 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to 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.