Contract Overview
Balance: 0.00000000684638099 Ether
Ether Value: Less Than $0.01 (@ $202.32/ETH)
Transactions: 10 txns
 Latest 10 txns

TxHash Age From To Value [TxFee]
0x15b20d33ad0728764913b91f126bfd2c34a766feb6f98ef8db95010d596bc1a3273 days 10 hrs agoBittrex_1  IN   0x359ce748a6f5a1a3f4fd5a8e6d8a14e7019e3d8e0 Ether0.00450513
0x6be9af638dc76fed6d07f0abbc7b89dc824e0223d5dcfb2acddbf1869b8c36a0273 days 10 hrs ago0x73b23e032182fffbd6de4a6a1e64dc678e3d8b4a  IN   0x359ce748a6f5a1a3f4fd5a8e6d8a14e7019e3d8e0.91735043 Ether0.000736785
0x5347b4c3c8b4a23b72bebc7bce911be3a35a8fa4812480b2a54713fed0479d29320 days 8 hrs agoBittrex_1  IN   0x359ce748a6f5a1a3f4fd5a8e6d8a14e7019e3d8e0 Ether0.00350399
0xe5751a20931b4b98ebac2dc43fd386588ebd5d7a542b185e1d71c72deb721951320 days 8 hrs agoGemini_1  IN   0x359ce748a6f5a1a3f4fd5a8e6d8a14e7019e3d8e0.44235309 Ether0.00189459
0x5a0e3bbc63a0a04aa93ac6960007c543b1514362e65b737c0e612128af004ea6378 days 8 hrs agoBittrex_1  IN   0x359ce748a6f5a1a3f4fd5a8e6d8a14e7019e3d8e0 Ether0.001549783
0xc5ce8c4628c8fe2a906520243ce26dca048a03c0b095aa257bfae905dd0fc913378 days 8 hrs ago0xb121bf5b26c6d6e7f190e52d399560ccd46b5817  IN   0x359ce748a6f5a1a3f4fd5a8e6d8a14e7019e3d8e0.06150602684638 Ether0.000442071
0x3edb2ddb5ab30c3f3b93d1092620213a956b6c58fabbbf936830d34d91e224ee378 days 8 hrs agoBittrex_1  IN   0x359ce748a6f5a1a3f4fd5a8e6d8a14e7019e3d8e0 Ether0.001551767
0x5cfbb19403689881991ad2f77221ce751bb1687c52c7f54fc8f61f614b7c4c4a378 days 8 hrs ago0xc7604dc9d67f5cd260306aa484738be73ba0bcb7  IN   0x359ce748a6f5a1a3f4fd5a8e6d8a14e7019e3d8e0.075 Ether0.000517796091
0x793f0e5efa2566f0b1d1f6c7f551d6947254fa62c480fb53af3817b42970a716381 days 18 hrs agoBittrex_1  IN   0x359ce748a6f5a1a3f4fd5a8e6d8a14e7019e3d8e0 Ether0.001549783
0x4cce25b75e8753382eb7ee3de1984eec25850a7a2b42e1ef8c66f9ce35a0af7f381 days 18 hrs ago0x63445f635a7e27f694ec13fbeee8375277cab349  IN   0x359ce748a6f5a1a3f4fd5a8e6d8a14e7019e3d8e0.11 Ether0.000252612
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 6 Internal Transactions

ParentTxHash Block Age From To Value
0x15b20d33ad0728764913b91f126bfd2c34a766feb6f98ef8db95010d596bc1a34955583273 days 10 hrs ago0x359ce748a6f5a1a3f4fd5a8e6d8a14e7019e3d8e0xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.91735043 Ether
0x5347b4c3c8b4a23b72bebc7bce911be3a35a8fa4812480b2a54713fed0479d294688850320 days 8 hrs ago0x359ce748a6f5a1a3f4fd5a8e6d8a14e7019e3d8e0xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.44235309 Ether
0x5a0e3bbc63a0a04aa93ac6960007c543b1514362e65b737c0e612128af004ea64352454378 days 8 hrs ago0x359ce748a6f5a1a3f4fd5a8e6d8a14e7019e3d8e0xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.06150602 Ether
0x3edb2ddb5ab30c3f3b93d1092620213a956b6c58fabbbf936830d34d91e224ee4352444378 days 8 hrs ago0x359ce748a6f5a1a3f4fd5a8e6d8a14e7019e3d8e0xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.075 Ether
0x793f0e5efa2566f0b1d1f6c7f551d6947254fa62c480fb53af3817b42970a7164342636381 days 18 hrs ago0x359ce748a6f5a1a3f4fd5a8e6d8a14e7019e3d8e0xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.11 Ether
0x5ce0be9f990b9e3d8a96cea15a792c9032a3841d477e66cb6a711a6a7bea3ddb4334576384 days 13 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.