Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 12 txns
Misc:
Address Watch: Add To Watch List
Contract Creator: 0xa3c1e324ca1ce40db73ed6026c4a177f099b5770at txn 0xfa4ce7d8f5f0a9641bdd62ecc38faae161843110ef41698d2b06956e79330835
 Latest 12 txns

TxHash Age From To Value [TxFee]
0xc4e4058019aabc70a5dc1072180c08211276ca5adbdd76848cf1a8b53afea061239 days 10 hrs agoBittrex_1  IN   0x8ba977684a4dfb1746caa958e50d11acc22ec1f60 Ether0.00250285
0xaca4f2cf0554fdc9b6195e614dc298eee069a97d42a2b134797095950e99a22f239 days 10 hrs ago0xd4aa4d3246c99d333366eb99067a7040055d2a1e  IN   0x8ba977684a4dfb1746caa958e50d11acc22ec1f60.10427043 Ether0.000105255
0x18b1d7ef26b4ccf659d2aa4479eef29434cb188032db3ab96947cb2b4c24bfaa245 days 14 hrs agoBittrex_1  IN   0x8ba977684a4dfb1746caa958e50d11acc22ec1f60 Ether0.00250285
0xb3b4dead507c8a0365acffdf83f2272192264108632326376b48a8043d9681c9245 days 14 hrs ago0x232bc596f6fa8953f910f40f112d38b9eaed3c39  IN   0x8ba977684a4dfb1746caa958e50d11acc22ec1f60.51455845 Ether0.000063153
0xccc29dda49144c41fc828c3a24c838dcf5e69d1732e712ba23e8723e425ace0d354 days 10 hrs agoBittrex_1  IN   0x8ba977684a4dfb1746caa958e50d11acc22ec1f60 Ether0.002552907
0xcf75a3300033b20a9c2486a1fb21d908edb3bbf79a4138f954dc218670433feb354 days 10 hrs ago0x1048a210401c0e78665f3ce1f708797ba29adb66  IN   0x8ba977684a4dfb1746caa958e50d11acc22ec1f60.68366209 Ether0.00042102
0x4a773b626b04f0dce4c519e360e4f80125e2b600539c5843fa8c7ccf5649779e360 days 4 hrs agoBittrex_1  IN   0x8ba977684a4dfb1746caa958e50d11acc22ec1f60 Ether0.002552907
0xd1ae6f29f8e08974d03c31392b4d274af0ce2d9275dd849ec90ddf444e7d7739360 days 5 hrs ago0xace1e54ea740483e549509ccac397e9e270659ba  IN   0x8ba977684a4dfb1746caa958e50d11acc22ec1f60.17788964 Ether0.00063153
0x7eed272c61aa669e69787ecdd874d4149951792f620bc83319d351d4fcb22755365 days 11 hrs agoBittrex_1  IN   0x8ba977684a4dfb1746caa958e50d11acc22ec1f60 Ether0.002552907
0xbf65d25009c2c8ec449cb64c23ff5daa7fc4f0b557736c6123004fad7e0c07a4365 days 13 hrs ago0x7e396571a917590bc157fb89172c4fc04f6e0836  IN   0x8ba977684a4dfb1746caa958e50d11acc22ec1f60.17241 Ether0.000442071
0xd2773d94e8412878d473a9390852741eaa170202d9d474d11e1d0a163d7eba55368 days 3 hrs agoBittrex_1  IN   0x8ba977684a4dfb1746caa958e50d11acc22ec1f60 Ether0.002549643
0x8e80179b2009cbb43ff947affea177b54792677f89805ad8d95273372905561e368 days 3 hrs ago0x034865575e14f1fb355f52aa105bc058b61d6883  IN   0x8ba977684a4dfb1746caa958e50d11acc22ec1f60.07207 Ether0.0005283801
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 7 Internal Transactions

ParentTxHash Block Age From To Value
0xc4e4058019aabc70a5dc1072180c08211276ca5adbdd76848cf1a8b53afea0615492922239 days 10 hrs ago0x8ba977684a4dfb1746caa958e50d11acc22ec1f60xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.10427043 Ether
0x18b1d7ef26b4ccf659d2aa4479eef29434cb188032db3ab96947cb2b4c24bfaa5456962245 days 14 hrs ago0x8ba977684a4dfb1746caa958e50d11acc22ec1f60xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.51455845 Ether
0xccc29dda49144c41fc828c3a24c838dcf5e69d1732e712ba23e8723e425ace0d4819422354 days 10 hrs ago0x8ba977684a4dfb1746caa958e50d11acc22ec1f60xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.68366209 Ether
0x4a773b626b04f0dce4c519e360e4f80125e2b600539c5843fa8c7ccf5649779e4785162360 days 4 hrs ago0x8ba977684a4dfb1746caa958e50d11acc22ec1f60xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.17788964 Ether
0x7eed272c61aa669e69787ecdd874d4149951792f620bc83319d351d4fcb227554755227365 days 11 hrs ago0x8ba977684a4dfb1746caa958e50d11acc22ec1f60xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.17241 Ether
0xd2773d94e8412878d473a9390852741eaa170202d9d474d11e1d0a163d7eba554739912368 days 3 hrs ago0x8ba977684a4dfb1746caa958e50d11acc22ec1f60xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.07207 Ether
0xfa4ce7d8f5f0a9641bdd62ecc38faae161843110ef41698d2b06956e793308354735627368 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.