Sponsored Link:  Download the Monaco app for Android and iOS on Aug 31 - www.mona.co
Contract Overview
ETH Balance: 0.000000004 Ether
ETH USD Value: less than $0.01 (@ $306.66/ETH)
No Of Transactions: 8 txns
  Latest 8 txns

TxHash Age From To Value [TxFee]
0x03437f332662dc7bb52ca72ffd21cc92fb0b17edb7ca9a7eec04e056743c199f1 day 13 hrs agoBittrex  IN   0xe7d142ea959f18607f6af8ab74a164c85b326a620 Ether0.001551767
0xefee47f6cf5d7d7ceb034b56c7572b7be3eadf24693e11a9007457d2170319fe1 day 13 hrs agocoinexchange.io  IN   0xe7d142ea959f18607f6af8ab74a164c85b326a623.72674823 Ether0.000315765
0x439fa5c513e7d97bcf0ba49ba38c121448ae7d39c30399c0aaaf63d91414d85511 days 1 hr agoBittrex  IN   0xe7d142ea959f18607f6af8ab74a164c85b326a620 Ether0.001551767
0x97fa89d4be931ebf81c0ab6c1444b50b507e7a84b88895bcde1cbe507c34575111 days 1 hr ago0x070682ec71319ff71fb2675b2d324b89a8bf94dd  IN   0xe7d142ea959f18607f6af8ab74a164c85b326a629.002091971 Ether0.000442071
0x30e66a81235b1f74dbdddd5dd8b620a53ee76be94660fa4aadbb39757560ae1c52 days 7 hrs agoBittrex  IN   0xe7d142ea959f18607f6af8ab74a164c85b326a620 Ether0.002176525793
0x8a7fd6713184b587ad6871b05e6b010e3d4bf1c18a5cc82c2495137fdde0ca7c52 days 8 hrs ago0x070682ec71319ff71fb2675b2d324b89a8bf94dd  IN   0xe7d142ea959f18607f6af8ab74a164c85b326a623.163303343 Ether0.000442071
0x0e73884cde1b0493b036ac3f322db328839cb0c8865f9e91905ae284d7a78d7052 days 8 hrs agoBittrex  IN   0xe7d142ea959f18607f6af8ab74a164c85b326a620 Ether0.002173743012
0xa262300512094615ee889fc40782aa11b20ee2aaea59c5b6e2e5c3cb01b831bb52 days 8 hrs ago0x070682ec71319ff71fb2675b2d324b89a8bf94dd  IN   0xe7d142ea959f18607f6af8ab74a164c85b326a620.1 Ether0.000442071
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 5 Internal Transactions

ParentTxHash Block Age From To Value
0x03437f332662dc7bb52ca72ffd21cc92fb0b17edb7ca9a7eec04e056743c199f44102291 day 13 hrs ago0xe7d142ea959f18607f6af8ab74a164c85b326a620xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb983.72674823 Ether
0x439fa5c513e7d97bcf0ba49ba38c121448ae7d39c30399c0aaaf63d91414d855436164411 days 1 hr ago0xe7d142ea959f18607f6af8ab74a164c85b326a620xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb989.00209197 Ether
0x30e66a81235b1f74dbdddd5dd8b620a53ee76be94660fa4aadbb39757560ae1c422883452 days 7 hrs ago0xe7d142ea959f18607f6af8ab74a164c85b326a620xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb983.16330334 Ether
0x0e73884cde1b0493b036ac3f322db328839cb0c8865f9e91905ae284d7a78d70422874252 days 8 hrs ago0xe7d142ea959f18607f6af8ab74a164c85b326a620xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.1 Ether
0x72df997bdb71e4817ceba64d25de7e066cdad2cb93cbb6806615e6d4f676573b422635953 days 38 mins 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.