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: 10 txns
  Latest 10 txns

TxHash Age From To Value [TxFee]
0x8a71e14f35d81306033a72e607da846af616d1c082005e25138acbd622c02cf81 day 4 hrs agoBittrex  IN   0xc2bbb58af446bd6da54144a70b4d5fa664ec9e970 Ether0.002552907
0xd21ba75580948be0fa082a7403cd94c30a2437d32b9f8e9e02825270f300897f1 day 4 hrs agoPoloniex Wallet  IN   0xc2bbb58af446bd6da54144a70b4d5fa664ec9e976.995 Ether0.000884142
0xb8897110e03c5361a0e6310ee22472011dfb95000f46fdf34ce93d58c04cdcbb9 days 22 hrs agoBittrex  IN   0xc2bbb58af446bd6da54144a70b4d5fa664ec9e970 Ether0.002552907
0xa929c717103ce9c8dbd816cf95b17aaa9f56f7178aacafcfbb4c41b31c8e86b59 days 22 hrs agoPoloniex Wallet  IN   0xc2bbb58af446bd6da54144a70b4d5fa664ec9e976.995 Ether0.001726182
0xa21d125e97cdca61031910ec826f3689fd32e08b26cd8410cb421305e0e655b315 days 1 hr agoBittrex  IN   0xc2bbb58af446bd6da54144a70b4d5fa664ec9e970 Ether0.002552907
0x127ef82eb5a075febb809139fe453d422420b7a21408c643c9484458c88775a515 days 1 hr agoPoloniex Wallet  IN   0xc2bbb58af446bd6da54144a70b4d5fa664ec9e974.995 Ether0.000632176487
0x532e957cdd729cbd16955546119bdcfdb201a3a152efc5ede7c1331f2ba4153515 days 9 hrs agoBittrex  IN   0xc2bbb58af446bd6da54144a70b4d5fa664ec9e970 Ether0.00371673225
0x6382e77600c2a696fa954757d5d1ea1ba4d8cf0099cfe27ae2354e1c3d46c41715 days 9 hrs agoPoloniex Wallet  IN   0xc2bbb58af446bd6da54144a70b4d5fa664ec9e970.995 Ether0.001339351541
0x168d3d3c86873ed936afd3d75fa4d8436892641c3734b75c3081b7cc5e96e17f17 days 22 hrs agoBittrex  IN   0xc2bbb58af446bd6da54144a70b4d5fa664ec9e970 Ether0.002552907
0x17bf0873b486092d41b27d2838446c62f9e209b8bb4f2b4395f5785596b40b4417 days 22 hrs agoPoloniex Wallet  IN   0xc2bbb58af446bd6da54144a70b4d5fa664ec9e975.795 Ether0.000681340452
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 6 Internal Transactions

ParentTxHash Block Age From To Value
0x8a71e14f35d81306033a72e607da846af616d1c082005e25138acbd622c02cf843025291 day 4 hrs ago0xc2bbb58af446bd6da54144a70b4d5fa664ec9e970xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb986.995 Ether
0xb8897110e03c5361a0e6310ee22472011dfb95000f46fdf34ce93d58c04cdcbb42713259 days 22 hrs ago0xc2bbb58af446bd6da54144a70b4d5fa664ec9e970xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb986.995 Ether
0xa21d125e97cdca61031910ec826f3689fd32e08b26cd8410cb421305e0e655b3425310215 days 1 hr ago0xc2bbb58af446bd6da54144a70b4d5fa664ec9e970xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb984.995 Ether
0x532e957cdd729cbd16955546119bdcfdb201a3a152efc5ede7c1331f2ba41535425194015 days 9 hrs ago0xc2bbb58af446bd6da54144a70b4d5fa664ec9e970xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.995 Ether
0x168d3d3c86873ed936afd3d75fa4d8436892641c3734b75c3081b7cc5e96e17f424286417 days 22 hrs ago0xc2bbb58af446bd6da54144a70b4d5fa664ec9e970xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb985.795 Ether
0x6ef221b1f63d8e1613346326e0b1d6a978688ecb4c37bd5f324099e3ee7bd467423854819 days 4 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.