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

TxHash Age From To Value [TxFee]
0x5f4a50ccbbcdb39839a9314e3b4016ce79303fd7c23b443d15360c9e2ed5024267 days 10 hrs agoBittrex  IN   0x87c9fc754f55f82c6333c6d680832d3602382f260 Ether0.002552907
0x88571ccd75707519d7a562bbfd6d3167c345fd6ee6f764bcc22a37031a0fc3da67 days 10 hrs ago0x0e3508c8de4a863c874918840894bc9e7d56d582  IN   0x87c9fc754f55f82c6333c6d680832d3602382f2610.3480624 Ether0.000526275
0x84363ba274ff560db7e1837deab99dea6fdee43ed537249cc48a70af131cb42e67 days 16 hrs agoBittrex  IN   0x87c9fc754f55f82c6333c6d680832d3602382f260 Ether0.002552907
0xbab464a10250b658f55d0731a8db160879c43c7a5ce72c0b54b0a40d8b17ea7667 days 16 hrs ago0x0e3508c8de4a863c874918840894bc9e7d56d582  IN   0x87c9fc754f55f82c6333c6d680832d3602382f265.472533 Ether0.000505224
0xd7d31b7c6ba465f8d944fca30d9362e814c7aa220cba1c470e85fec438f6db3767 days 17 hrs agoBittrex  IN   0x87c9fc754f55f82c6333c6d680832d3602382f260 Ether0.002552907
0x720bf9d7fee2b8f7ec161ebb11a2e47deb65d399816c7f316ce144ad29db215367 days 17 hrs ago0x0e3508c8de4a863c874918840894bc9e7d56d582  IN   0x87c9fc754f55f82c6333c6d680832d3602382f260.995006 Ether0.000505224
0x4a5db3fd985f1441426f5ba31c71e8edc5834339e5573c5473081d000bd9172070 days 4 hrs agoBittrex  IN   0x87c9fc754f55f82c6333c6d680832d3602382f260 Ether0.00304906548
0x18f60bcbb2662fa3b74af4219788a6c22ac0fddb96be497911ca08f7580c2c9a70 days 4 hrs ago0x1f6c9b47a7c811444c297798a3a9e0a714f539a9  IN   0x87c9fc754f55f82c6333c6d680832d3602382f269.7499 Ether0.000863091
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 5 Internal Transactions

ParentTxHash Block Age From To Value
0x5f4a50ccbbcdb39839a9314e3b4016ce79303fd7c23b443d15360c9e2ed50242428243667 days 10 hrs ago0x87c9fc754f55f82c6333c6d680832d3602382f260xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb9810.3480624 Ether
0x84363ba274ff560db7e1837deab99dea6fdee43ed537249cc48a70af131cb42e428145167 days 16 hrs ago0x87c9fc754f55f82c6333c6d680832d3602382f260xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb985.472533 Ether
0xd7d31b7c6ba465f8d944fca30d9362e814c7aa220cba1c470e85fec438f6db37428133167 days 17 hrs ago0x87c9fc754f55f82c6333c6d680832d3602382f260xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.995006 Ether
0x4a5db3fd985f1441426f5ba31c71e8edc5834339e5573c5473081d000bd91720427246970 days 4 hrs ago0x87c9fc754f55f82c6333c6d680832d3602382f260xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb989.7499 Ether
0x37872158d25616ef53f915431b066548ee52e3879124a0e787dc132f3c9f89a2425276275 days 17 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.