Sponsored Link:   Buy your 1st Ethereum in 5 minutes. Trusted by more than 100k buyers.
Contract Overview
ETH Balance: 0.0000000029 Ether
ETH USD Value: less than $0.01 (@ $674.63/ETH)
No Of Transactions: 11 txns
  Latest 11 txns

TxHash Age From To Value [TxFee]
0x99442e0e57601affbe7fcb526aa504eda61e6424201f3a8c835d4b329c28999532 days 4 hrs agoBittrex  IN   0xa7c53f9243cf99e8e965e66b520538e8e0c479610 Ether0.00100114
0x72a4e27b3aa5b2af8003fd519fca0205427432fe81371a07edf189444d14e8f932 days 4 hrs ago0x9460504aa41d99367c13ec3f5dfb407560fb7cbf  IN   0xa7c53f9243cf99e8e965e66b520538e8e0c479610.6027008229 Ether0.000442071
0x117aefeb10e9af28a361f21bc597677d1f6b63993246fb67d83fd06b5570072979 days 16 hrs agoBittrex  IN   0xa7c53f9243cf99e8e965e66b520538e8e0c479610 Ether0.002549643
0x89e864063da307dd64c87231a645ce201af770abac7db251bc58f1d343a7f2bb79 days 16 hrs ago0x65ee3eacb3036bb1285e1102d3089b962cce50ca  IN   0xa7c53f9243cf99e8e965e66b520538e8e0c479613.17 Ether0.000442071
0x37b1810006dabaacd7bc770c6df873c6197db238d186396a48f1dc1ace6127fb79 days 17 hrs ago0x65ee3eacb3036bb1285e1102d3089b962cce50ca  IN   0xa7c53f9243cf99e8e965e66b520538e8e0c479613.17 Ether0.000441
0x491b50346fb57a398d583caffad5197a07cc60d1d17c3b84f063c78f8bab51d099 days 21 hrs agoBittrex  IN   0xa7c53f9243cf99e8e965e66b520538e8e0c479610 Ether0.002549643
0x17f9220428ee8717b79aa216ca64eb1303ca53080d42815bb3f6c4e0201a548699 days 21 hrs ago0x877cf7ea51a6846434b55919c5456c420d2afc2a  IN   0xa7c53f9243cf99e8e965e66b520538e8e0c479613.85 Ether0.000442071
0xb4152103db361ace596b59a619c7e8ab88f0e1c7c8b72f846935d31755edaa93101 days 16 hrs agoBittrex  IN   0xa7c53f9243cf99e8e965e66b520538e8e0c479610 Ether0.002549643
0x85db51a81e0e05899f800884b94582cc3d3c709f42ef536f6135a83e48fd754a101 days 16 hrs ago0x877cf7ea51a6846434b55919c5456c420d2afc2a  IN   0xa7c53f9243cf99e8e965e66b520538e8e0c479611.9 Ether0.000442071
0x1c1c12767bf6b965ab098ee702a20e16a7ea5894776ca5b2e9841b6209f3b9db101 days 16 hrs agoBittrex  IN   0xa7c53f9243cf99e8e965e66b520538e8e0c479610 Ether0.002549643
0x2cfd580f57c4b8b68d82761bc9e96e3fa8b1653630456ac04e0746930fa14fcb101 days 16 hrs ago0x877cf7ea51a6846434b55919c5456c420d2afc2a  IN   0xa7c53f9243cf99e8e965e66b520538e8e0c479610.1 Ether0.000442071
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 6 Internal Transactions

ParentTxHash Block Age From To Value
0x99442e0e57601affbe7fcb526aa504eda61e6424201f3a8c835d4b329c289995453084832 days 4 hrs ago0xa7c53f9243cf99e8e965e66b520538e8e0c479610xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.60270082 Ether
0x117aefeb10e9af28a361f21bc597677d1f6b63993246fb67d83fd06b55700729430817579 days 16 hrs ago0xa7c53f9243cf99e8e965e66b520538e8e0c479610xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb983.17 Ether
0x491b50346fb57a398d583caffad5197a07cc60d1d17c3b84f063c78f8bab51d0423766299 days 21 hrs ago0xa7c53f9243cf99e8e965e66b520538e8e0c479610xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb983.85 Ether
0xb4152103db361ace596b59a619c7e8ab88f0e1c7c8b72f846935d31755edaa934231320101 days 16 hrs ago0xa7c53f9243cf99e8e965e66b520538e8e0c479610xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb981.9 Ether
0x1c1c12767bf6b965ab098ee702a20e16a7ea5894776ca5b2e9841b6209f3b9db4231315101 days 16 hrs ago0xa7c53f9243cf99e8e965e66b520538e8e0c479610xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.1 Ether
0x7b846da657cba1db0b5a564f2f56860ed9a20a4da2a8a77c9d5c7e75b3cfc9514229331102 days 5 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.