Sponsored:   Ubex.com - Additional 17% of tokens are available for purchase! Trading on exchanges already started.
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 8 txns
 Latest 8 txns

TxHash Age From To Value [TxFee]
0x96f135373a75da96fc34009992acf579601a8968a886e33eb3203468a357ad8f66 days 14 hrs agoBittrex_1  IN   0x34966d43a88aa953e023208a734708158d5f3ab20 Ether0.0023054
0x3c4d6708e3a814881c0cd9fcccbb9aa7374332243c2f545b01e00fb1482ed27166 days 14 hrs agoBittrex_1  IN   0x34966d43a88aa953e023208a734708158d5f3ab20 Ether0.00235185
0x3e1ef251fc5766f764ebbd719a4059dde8cc660a6d6e4fa7fcbda5123f68652c255 days 12 hrs agoBittrex_1  IN   0x34966d43a88aa953e023208a734708158d5f3ab20 Ether0.00349951
0x8546972db04f4748290065c2225871adb290a8dd82f2f09e58dc9d1504450869255 days 12 hrs ago0x9708471b467df8e69a90871413e0bf0b1df9f0ec  IN   0x34966d43a88aa953e023208a734708158d5f3ab25 Ether0.00105255
0x0be1af7628a4a3621c35ec64e49d3f95ab36ac07ca5c42f4750d4f86ffb1b736259 days 14 hrs agoBittrex_1  IN   0x34966d43a88aa953e023208a734708158d5f3ab20 Ether0.00099986
0x14206103d8412142d75c8bb53cb33155e4da0607507f492dd3912d9a3c925b20259 days 14 hrs ago0x382eb4a8225cc2d46d253e1ddbfc19a58e000339  IN   0x34966d43a88aa953e023208a734708158d5f3ab21.99 Ether0.00042102
0xc359924337a9cab8dc8d054ddef8844997c7fc5f0756725f0a6d0160994ce306264 days 7 hrs agoBittrex_1  IN   0x34966d43a88aa953e023208a734708158d5f3ab20 Ether0.00099986
0x3fdacac9e450f4c7bf3ad482c520c994efc46e570042da0c1a016a91b0ef7fff264 days 7 hrs ago0xd325526ee430a586c2b1db82a9e260c969b01cc2  IN   0x34966d43a88aa953e023208a734708158d5f3ab22 Ether0.0002210355
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 4 Internal Transactions

ParentTxHash Block Age From To Value
0x3e1ef251fc5766f764ebbd719a4059dde8cc660a6d6e4fa7fcbda5123f68652c4689097255 days 12 hrs ago0x34966d43a88aa953e023208a734708158d5f3ab20xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb985 Ether
0x0be1af7628a4a3621c35ec64e49d3f95ab36ac07ca5c42f4750d4f86ffb1b7364665792259 days 14 hrs ago0x34966d43a88aa953e023208a734708158d5f3ab20xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb981.99 Ether
0xc359924337a9cab8dc8d054ddef8844997c7fc5f0756725f0a6d0160994ce3064637115264 days 7 hrs ago0x34966d43a88aa953e023208a734708158d5f3ab20xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb982 Ether
0x83cb98f11f42c16f65cba0d46f834b5a86e7e20fb9e83fe216f5fb74c84b29404610563268 days 15 hrs ago0xa3c1e324ca1ce40db73ed6026c4a177f099b5770  Contract Creation0 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to NestedArrayFunctionCallDecoder (medium-severity), ZeroFunctionSelector (very low-severity), DelegateCallReturnValue (low-severity), ECRecoverMalformedInput (medium-severity), SkipEmptyStringLiteral (low-severity) Solidity compiler bugs.

Contract Source Code Verified (Similar match)
Note: Displaying similar matching verified source code at contract 0xd1DD82d1dED8f40c200b89455050E9C18D918504(excluding Constructor Arguments if any)
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.