Sponsored Link:  Up to 2% Cryptocurrency Cashback - Reserve your card - Monaco App - www.mona.co
Contract Overview
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 10 txns
  Latest 10 txns

TxHash Age From To Value [TxFee]
0xab384cc57387a36d83831231309b24214658d15fcbd7e74a8e27c8eb6015ab9b10 days 9 hrs agoBittrex  IN   0x2a9e552dc980f9a5cd35b549076a7b7ab24844e10 Ether0.00350399
0x07d2b2bdac359fc923c1d571ae41a873380adc17dd65d4b24163c7ca624b9abd10 days 9 hrs ago0xd24400ae8bfebb18ca49be86258a3c749cf46853  IN   0x2a9e552dc980f9a5cd35b549076a7b7ab24844e10.351279 Ether0.00189459
0x13aae2199a18d15fbaa42fdc3857c0364dce4ea7e77eefc054034152da31c48216 days 13 hrs agoBittrex  IN   0x2a9e552dc980f9a5cd35b549076a7b7ab24844e10 Ether0.00099986
0xbcbab70892dcfd4d4c5dca30fd0b3121a9f80cce4ce7d13f9463227520eed10c16 days 13 hrs ago0xd24400ae8bfebb18ca49be86258a3c749cf46853  IN   0x2a9e552dc980f9a5cd35b549076a7b7ab24844e11 Ether0.000463122
0xc78188d9c1bdd14ed50b869ffb87720281f7d3184ea0419ff36f8a4668b86a1d36 days 18 hrs agoBittrex  IN   0x2a9e552dc980f9a5cd35b549076a7b7ab24844e10 Ether0.00100114
0x19428b96d8efbda181b7c07b7d35d1c57a71a46f1fc95960d808d4c433da399636 days 18 hrs ago0xd24400ae8bfebb18ca49be86258a3c749cf46853  IN   0x2a9e552dc980f9a5cd35b549076a7b7ab24844e10.874596 Ether0.000463122
0x40c06607bc7a5bfb401c2a6a964ed479760dae0ea56368e19d9c16cc77681e0c43 days 10 hrs agoBittrex  IN   0x2a9e552dc980f9a5cd35b549076a7b7ab24844e10 Ether0.00100114
0x4ea46d1841433e250554c541b6a7120375b023947def070051b0b3561dd0856643 days 10 hrs ago0xe789bdf14941b0508c949d7f52902b0c5c7586fa  IN   0x2a9e552dc980f9a5cd35b549076a7b7ab24844e10.99915 Ether0.00021051
0x71bb9e288ecbb8fb21e7d6139101ef56bf9002d0e35837c46f9304a12a72e33a44 days 12 hrs agoBittrex  IN   0x2a9e552dc980f9a5cd35b549076a7b7ab24844e10 Ether0.00099986
0xc8bddc15336e07a4aa0d8e9ff7149f0097b1194e671a2ab373d0ed12181ec85a44 days 12 hrs ago0xd24400ae8bfebb18ca49be86258a3c749cf46853  IN   0x2a9e552dc980f9a5cd35b549076a7b7ab24844e11 Ether0.0004799628
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 6 Internal Transactions

ParentTxHash Block Age From To Value
0xab384cc57387a36d83831231309b24214658d15fcbd7e74a8e27c8eb6015ab9b468885010 days 9 hrs ago0x2a9e552dc980f9a5cd35b549076a7b7ab24844e10xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.351279 Ether
0x13aae2199a18d15fbaa42fdc3857c0364dce4ea7e77eefc054034152da31c482465301016 days 13 hrs ago0x2a9e552dc980f9a5cd35b549076a7b7ab24844e10xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb981 Ether
0xc78188d9c1bdd14ed50b869ffb87720281f7d3184ea0419ff36f8a4668b86a1d452798536 days 18 hrs ago0x2a9e552dc980f9a5cd35b549076a7b7ab24844e10xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.874596 Ether
0x40c06607bc7a5bfb401c2a6a964ed479760dae0ea56368e19d9c16cc77681e0c448641043 days 10 hrs ago0x2a9e552dc980f9a5cd35b549076a7b7ab24844e10xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.99915 Ether
0x71bb9e288ecbb8fb21e7d6139101ef56bf9002d0e35837c46f9304a12a72e33a447967644 days 12 hrs ago0x2a9e552dc980f9a5cd35b549076a7b7ab24844e10xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb981 Ether
0x559c46ec85b1119f91ad54f8cc08e3875370bc28fd2b651d083dad514110225f443159352 days 7 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.