Sponsored Link: Crowdsale has finished. Check out the KICKICO platform to find new ICOs to start.
Contract Overview
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 8 txns
  Latest 8 txns

TxHash Age From To Value [TxFee]
0xc2b3a10dee187d42d2a4fe3c7a1abda04812700c4735d616e4b4ef6dc7af18139 days 6 hrs agoBittrex  IN   0x75bba57d6bf46ca742237469c9783482369e3a0f0 Ether0.002549643
0x40b683083250a1795a76607862ff6ad4bd8bf02fbbb9fb0acee783764b43eb909 days 6 hrs agoPoloniex Wallet  IN   0x75bba57d6bf46ca742237469c9783482369e3a0f1 Ether0.001726182
0x670ccb0f1cfedfaaa6c342e07f91ebc29d989b987b59c83dd2d138e97e0278f121 days 13 hrs agoBittrex  IN   0x75bba57d6bf46ca742237469c9783482369e3a0f0 Ether0.002176525793
0xa0c95f5dd55700a9e22f2c306266f820bdd2bbf2c97b810ff6d2590fced4d45921 days 13 hrs agoPoloniex Wallet  IN   0x75bba57d6bf46ca742237469c9783482369e3a0f0.74200795 Ether0.00063153
0x8adef39f468175a115c872ae0f5b3ae7d5e035d18a376ed8d7c9ab3baef4a64321 days 13 hrs agoBittrex  IN   0x75bba57d6bf46ca742237469c9783482369e3a0f0 Ether0.002173743012
0xbf603292bc24506f7f1598d0e828b479676d29da38d551758b006cf80f3cf31221 days 13 hrs agoPoloniex Wallet  IN   0x75bba57d6bf46ca742237469c9783482369e3a0f7 Ether0.00063153
0x4750c4904cccf2cd5c63af798dc526650f6745c5beca19033dfef9987cf8ab0830 days 6 hrs agoBittrex  IN   0x75bba57d6bf46ca742237469c9783482369e3a0f0 Ether0.00149979
0x3a5c1cec13c42d80cf57043ecb19a51f239b314405edf78e06ce16f66e702cb730 days 6 hrs agoPoloniex Wallet  IN   0x75bba57d6bf46ca742237469c9783482369e3a0f0.2 Ether0.00063153
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 5 Internal Transactions

ParentTxHash Block Age From To Value
0xc2b3a10dee187d42d2a4fe3c7a1abda04812700c4735d616e4b4ef6dc7af181342713479 days 6 hrs ago0x75bba57d6bf46ca742237469c9783482369e3a0f0xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb981 Ether
0x670ccb0f1cfedfaaa6c342e07f91ebc29d989b987b59c83dd2d138e97e0278f1422768421 days 13 hrs ago0x75bba57d6bf46ca742237469c9783482369e3a0f0xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.74200795 Ether
0x8adef39f468175a115c872ae0f5b3ae7d5e035d18a376ed8d7c9ab3baef4a643422767521 days 13 hrs ago0x75bba57d6bf46ca742237469c9783482369e3a0f0xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb987 Ether
0x4750c4904cccf2cd5c63af798dc526650f6745c5beca19033dfef9987cf8ab08419642830 days 6 hrs ago0x75bba57d6bf46ca742237469c9783482369e3a0f0xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.2 Ether
0xcb138ca70440f05dbac5ec09a8bbba6b3cc999a4e9c7a9332adfedba8aaec9a5418937431 days 22 hrs ago0xa3c1e324ca1ce40db73ed6026c4a177f099b5770  Contract Creation0 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to 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.