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

TxHash Age From To Value [TxFee]
0x6dac2a204cf4ad4329cbbd1bdbc0db9a872401b36f9cb316fe220d4d3a8dd56e12 days 12 hrs agoBittrex  IN   0x2247e22b3ee9dd2c0a5bb4b8d512abff7ed5de830 Ether0.00100242
0x8c49557cb43f0e8fd9d5a942d9ff5877d3f30c0b34b0bb8f6931000cc9b5081912 days 12 hrs agoKraken_4  IN   0x2247e22b3ee9dd2c0a5bb4b8d512abff7ed5de8329.9945 Ether0.000105820745
0x6f47cd041298e466d646655039d8fbcea0de01b7002897f6ab79cc2c91e0852b36 days 3 hrs agoBittrex  IN   0x2247e22b3ee9dd2c0a5bb4b8d512abff7ed5de830 Ether0.001551767
0xe9ddad333faec25dcc5f6925ddfd2ad5486c0577aaa7e9bf04a1f3edb2562f9b36 days 3 hrs agoKraken_4  IN   0x2247e22b3ee9dd2c0a5bb4b8d512abff7ed5de839.995 Ether0.00046417455
0xd2c682e3046bee7a005b4cee6a77faff0b82516f41de46602600a1fa951a26c155 days 16 hrs agoBittrex  IN   0x2247e22b3ee9dd2c0a5bb4b8d512abff7ed5de830 Ether0.002552907
0xc36e671f876ed6a916ece3dffdc7d1ff082569b5b2041a2326a4fed4f4b630ed55 days 16 hrs agoKraken_4  IN   0x2247e22b3ee9dd2c0a5bb4b8d512abff7ed5de833.60651 Ether0.000545736466
0x79c9c0035d6a2611b3cc10fd20c8b1d929554a33004dbab916a150a3910de5b863 days 12 hrs agoBittrex  IN   0x2247e22b3ee9dd2c0a5bb4b8d512abff7ed5de830 Ether0.002549643
0x82f9b9801701a0199dab49274bda9d5ff97c81e1372890bedf11c552c3b5e5e263 days 12 hrs agoKraken_4  IN   0x2247e22b3ee9dd2c0a5bb4b8d512abff7ed5de835 Ether0.000572246162
0x106eafc4fee5c319fc5bc29f0477e4b54954dc76c7908afd2d83f5e2fe75d38867 days 14 hrs agoBittrex  IN   0x2247e22b3ee9dd2c0a5bb4b8d512abff7ed5de830 Ether0.00304906548
0x1e04abf1b79c01d0ab08c79f5a0884602206230baa34962af9759601634f6a2867 days 14 hrs agoKraken_4  IN   0x2247e22b3ee9dd2c0a5bb4b8d512abff7ed5de832.995 Ether0.000897579044
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 6 Internal Transactions

ParentTxHash Block Age From To Value
0x6dac2a204cf4ad4329cbbd1bdbc0db9a872401b36f9cb316fe220d4d3a8dd56e451299312 days 12 hrs ago0x2247e22b3ee9dd2c0a5bb4b8d512abff7ed5de830xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb9829.9945 Ether
0x6f47cd041298e466d646655039d8fbcea0de01b7002897f6ab79cc2c91e0852b436880736 days 3 hrs ago0x2247e22b3ee9dd2c0a5bb4b8d512abff7ed5de830xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb989.995 Ether
0xd2c682e3046bee7a005b4cee6a77faff0b82516f41de46602600a1fa951a26c1431254055 days 16 hrs ago0x2247e22b3ee9dd2c0a5bb4b8d512abff7ed5de830xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb983.60651 Ether
0x79c9c0035d6a2611b3cc10fd20c8b1d929554a33004dbab916a150a3910de5b8428713163 days 12 hrs ago0x2247e22b3ee9dd2c0a5bb4b8d512abff7ed5de830xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb985 Ether
0x106eafc4fee5c319fc5bc29f0477e4b54954dc76c7908afd2d83f5e2fe75d388427246967 days 14 hrs ago0x2247e22b3ee9dd2c0a5bb4b8d512abff7ed5de830xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb982.995 Ether
0x43be7225c778c654e173fa629587aa9e5f8498b34bf9848d8c03aa0dfaf4428b426884368 days 14 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.