Contract Overview
Balance: 0.000000004540504501 Ether
Ether Value: Less Than $0.01 (@ $203.52/ETH)
Transactions: 7 txns
 Latest 7 txns

TxHash Age From To Value [TxFee]
0x8f35dcb061a308fbd829728c9df00f70018364837cf99b798631d3530b2ed4e7295 days 9 hrs agoBittrex_1  IN   0x9a58868c4346f73c5230ff8bc0f996988babe4ea0 Ether0.002549643
0x51e9a3b5d528f89abaa91f961b2f8f14a40e144c0e2fa304015c0fb34e6d721e295 days 9 hrs ago0x43f60f92b09b0c0c40134f56f5088ddc7d52d0be  IN   0x9a58868c4346f73c5230ff8bc0f996988babe4ea0.12 Ether0.00042102
0x6d442d97b0201bd9212be3f8f238d247c0b13114851567172bd31c59a4aa5ec8305 days 2 hrs agoBittrex_1  IN   0x9a58868c4346f73c5230ff8bc0f996988babe4ea0 Ether0.00300342
0x963c734188c6be3e3071abe1cb8bbc7873507103624b4ddaf6b888cde4b33ec2305 days 4 hrs ago0x33f8c9a5a96ba43130cab1992b3f7534241b453b  IN   0x9a58868c4346f73c5230ff8bc0f996988babe4ea0.1055 Ether0.00084204
0xaf62492a1050df3cea86b84c16a79f5dd1d52decd42bec36b7b425d58778a0d7318 days 23 hrs agoBittrex_1  IN   0x9a58868c4346f73c5230ff8bc0f996988babe4ea0 Ether0.004199412
0x5f88601fa14935e2118431d8db8ee8555b8c7ecf4c439dbb2522ba9ba22dc904319 days 3 hrs ago0x3672682b4192beda60d7bda873728dec1bc734d8  IN   0x9a58868c4346f73c5230ff8bc0f996988babe4ea0.027780864540504 Ether0.00126306
0x354cc57b2e1f4afac346d1fc147ff4c96d2d1c67d2dc77ab55347439aca00ea3320 days 10 hrs ago0x276008bda5a760554a7b4631956a1724cf7bea01  IN   0x9a58868c4346f73c5230ff8bc0f996988babe4ea0.0254991 Ether0.000736785
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 4 Internal Transactions

ParentTxHash Block Age From To Value
0x8f35dcb061a308fbd829728c9df00f70018364837cf99b798631d3530b2ed4e74829571295 days 9 hrs ago0x9a58868c4346f73c5230ff8bc0f996988babe4ea0xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.12 Ether
0x6d442d97b0201bd9212be3f8f238d247c0b13114851567172bd31c59a4aa5ec84772437305 days 2 hrs ago0x9a58868c4346f73c5230ff8bc0f996988babe4ea0xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.1055 Ether
0xaf62492a1050df3cea86b84c16a79f5dd1d52decd42bec36b7b425d58778a0d74692929318 days 23 hrs ago0x9a58868c4346f73c5230ff8bc0f996988babe4ea0xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.05327996 Ether
0x754c5cf3e97e80d664d47a633521f5aafd74dd4118975d068370cb9788a5fcdf4684105320 days 12 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.