Sponsored Link:   COVESTING - EU-based digital asset exchange. Aggregated liquidity. Algorithmic & Copy-trading features. 24/7 support. Get access!
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 7 txns
 Latest 7 txns


TxHash Age From To Value [TxFee]
0x5f4a50ccbbcdb39839a9314e3b4016ce79303fd7c23b443d15360c9e2ed50242275 days 15 hrs agoBittrex  IN   0x87c9fc754f55f82c6333c6d680832d3602382f260 Ether0.002552907
0x88571ccd75707519d7a562bbfd6d3167c345fd6ee6f764bcc22a37031a0fc3da275 days 15 hrs ago0x0e3508c8de4a863c874918840894bc9e7d56d582  IN   0x87c9fc754f55f82c6333c6d680832d3602382f2610.3480624 Ether0.000526275
0x84363ba274ff560db7e1837deab99dea6fdee43ed537249cc48a70af131cb42e275 days 21 hrs agoBittrex  IN   0x87c9fc754f55f82c6333c6d680832d3602382f260 Ether0.002552907
0xbab464a10250b658f55d0731a8db160879c43c7a5ce72c0b54b0a40d8b17ea76275 days 21 hrs ago0x0e3508c8de4a863c874918840894bc9e7d56d582  IN   0x87c9fc754f55f82c6333c6d680832d3602382f265.472533 Ether0.000505224
0xd7d31b7c6ba465f8d944fca30d9362e814c7aa220cba1c470e85fec438f6db37275 days 22 hrs agoBittrex  IN   0x87c9fc754f55f82c6333c6d680832d3602382f260 Ether0.002552907
0x720bf9d7fee2b8f7ec161ebb11a2e47deb65d399816c7f316ce144ad29db2153275 days 22 hrs ago0x0e3508c8de4a863c874918840894bc9e7d56d582  IN   0x87c9fc754f55f82c6333c6d680832d3602382f260.995006 Ether0.000505224
0x4a5db3fd985f1441426f5ba31c71e8edc5834339e5573c5473081d000bd91720278 days 9 hrs agoBittrex  IN   0x87c9fc754f55f82c6333c6d680832d3602382f260 Ether0.00304906548
0x18f60bcbb2662fa3b74af4219788a6c22ac0fddb96be497911ca08f7580c2c9a278 days 9 hrs ago0x1f6c9b47a7c811444c297798a3a9e0a714f539a9  IN   0x87c9fc754f55f82c6333c6d680832d3602382f269.7499 Ether0.000863091
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 5 Internal Transactions

ParentTxHash Block Age From To Value
0x5f4a50ccbbcdb39839a9314e3b4016ce79303fd7c23b443d15360c9e2ed502424282436275 days 15 hrs ago0x87c9fc754f55f82c6333c6d680832d3602382f260xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb9810.3480624 Ether
0x84363ba274ff560db7e1837deab99dea6fdee43ed537249cc48a70af131cb42e4281451275 days 21 hrs ago0x87c9fc754f55f82c6333c6d680832d3602382f260xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb985.472533 Ether
0xd7d31b7c6ba465f8d944fca30d9362e814c7aa220cba1c470e85fec438f6db374281331275 days 22 hrs ago0x87c9fc754f55f82c6333c6d680832d3602382f260xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.995006 Ether
0x4a5db3fd985f1441426f5ba31c71e8edc5834339e5573c5473081d000bd917204272469278 days 9 hrs ago0x87c9fc754f55f82c6333c6d680832d3602382f260xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb989.7499 Ether
0x37872158d25616ef53f915431b066548ee52e3879124a0e787dc132f3c9f89a24252762283 days 22 hrs ago0xa3c1e324ca1ce40db73ed6026c4a177f099b5770  Contract Creation0 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to 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.