Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 10 txns
 Latest 10 txns

TxHash Age From To Value [TxFee]
0x1904736bbd21f85e9df0f984e6cfbe08546405e44b1e9b7fc3d7cb1353283b05138 days 18 hrs agoBittrex_1  IN   0x3cc94da1386856bb9a4bec40d19d93a5af6dbf650 Ether0.00249965
0x0f65e3cca18e40a84fa521457b58cf0d65a3830073c612066f9d180a265638c8138 days 18 hrs ago0xa59161f9ba120cf6d3189fe14ebc6e64616b670c  IN   0x3cc94da1386856bb9a4bec40d19d93a5af6dbf650.4 Ether0.000863091
0xab3360e225d64629c521a9f67e7b5f3cf692fa5421e500880141c70205ed0ff7160 days 11 hrs ago0x4cb27d2d415408cd1f4c23486a010a8ac9d90913  IN   0x3cc94da1386856bb9a4bec40d19d93a5af6dbf650.66302837 Ether0.000336
0xd44f37dbea427f2304f20208e675099af5813c3b9ffc1ae7403b59a62f7b3ae8168 days 20 hrs agoBittrex_1  IN   0x3cc94da1386856bb9a4bec40d19d93a5af6dbf650 Ether0.00249965
0x02591c2b7c759ff0a70c0c22fd005f812378c860b0616fef46b05cfee77e5b01168 days 20 hrs ago0xfdac1980553f396cf4d16c5735b404d736aeddde  IN   0x3cc94da1386856bb9a4bec40d19d93a5af6dbf650.5 Ether0.000442071
0x402cf7953784b7abe0969d8d2cb9509c0a7f02a020def01a5f5646f5598d2a72225 days 8 hrs agoBittrex_1  IN   0x3cc94da1386856bb9a4bec40d19d93a5af6dbf650 Ether0.00249965
0xef6530907586d16eb7ff78caba389d9954dc465bce696f0bb0e8d1037ec79885225 days 8 hrs ago0xab79ae3b779049e92c0e36b777bc684a82f34ece  IN   0x3cc94da1386856bb9a4bec40d19d93a5af6dbf651.7 Ether0.000126306
0x26c8315cb8e104ec88ad5a38eb695f0e3cabb907c5358776aa9551a3d02ffb21225 days 8 hrs agoBittrex_1  IN   0x3cc94da1386856bb9a4bec40d19d93a5af6dbf650 Ether0.00249965
0xe6532d88c4f8086677fd28c06a7f4db1f7b5689c130459706e06cc4f41d74be9225 days 8 hrs ago0x0321889bf39ed4ad80f04afe523c21bcd2fb2564  IN   0x3cc94da1386856bb9a4bec40d19d93a5af6dbf651.2 Ether0.000863091
0xe720c0fdc09e4c6c76d75b747b5d0db8842cbb1c16183cde1122ca7da6a19185228 days 10 hrs agoBittrex_1  IN   0x3cc94da1386856bb9a4bec40d19d93a5af6dbf650 Ether0.0023262
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 5 Internal Transactions

ParentTxHash Block Age From To Value
0x1904736bbd21f85e9df0f984e6cfbe08546405e44b1e9b7fc3d7cb1353283b055735576138 days 18 hrs ago0x3cc94da1386856bb9a4bec40d19d93a5af6dbf650xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.4 Ether
0xd44f37dbea427f2304f20208e675099af5813c3b9ffc1ae7403b59a62f7b3ae85564886168 days 20 hrs ago0x3cc94da1386856bb9a4bec40d19d93a5af6dbf650xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.5 Ether
0x402cf7953784b7abe0969d8d2cb9509c0a7f02a020def01a5f5646f5598d2a725231798225 days 8 hrs ago0x3cc94da1386856bb9a4bec40d19d93a5af6dbf650xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb981.7 Ether
0x26c8315cb8e104ec88ad5a38eb695f0e3cabb907c5358776aa9551a3d02ffb215231729225 days 8 hrs ago0x3cc94da1386856bb9a4bec40d19d93a5af6dbf650xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb981.2 Ether
0x2b9478baa3f9dfc0523803229d136660c385a92736636d97b60e77e50e859ea74962725270 days 20 hrs ago0xa3c1e324ca1ce40db73ed6026c4a177f099b5770  Contract Creation0 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), NestedArrayFunctionCallDecoder (medium-severity), ZeroFunctionSelector (very low-severity), DelegateCallReturnValue (low-severity), ECRecoverMalformedInput (medium-severity), SkipEmptyStringLiteral (low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Similar Match)
Note: Displaying Similar Match Verified Source Code At Contract 0xd1DD82d1dED8f40c200b89455050E9C18D918504(Excluding Constructor Arguments if_any)
Contract Name: UserWallet
Compiler Text: 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 transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.