Sponsored Link:   ARNA Genomics - FIRST BLOCKCHAIN BIOTECH ECOSYSTEM. Join ICO Now!
Contract Overview
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 8 txns
  Latest 8 txns

TxHash Age From To Value [TxFee]
0x46cb140639a836ae9cc3e40a09127db3d4e6cc41a706c1747b884debf78b3adb2 days 8 hrs agoBittrex  IN   0x4c76e174f896f4d90f6b448a48708eb46e6b21f40 Ether0.00099986
0xa1774cf34d7d0d5f26314f3b89d54969038efcee4a0e426e33e852274c91828f2 days 8 hrs ago0xe4446f31364bc90bfb86577b6ba06b7b620804cd  IN   0x4c76e174f896f4d90f6b448a48708eb46e6b21f40.6 Ether0.000442071
0x70c16e456e8b386027ef6e2cbec0f2659a65372d5c0b8abb3f7ba78c992206634 days 3 hrs ago0xe4446f31364bc90bfb86577b6ba06b7b620804cd  IN   0x4c76e174f896f4d90f6b448a48708eb46e6b21f40.5 Ether0.000441
0x9bb4395c6a5c25c4dcc6e5a2917545af49e01056590914ef727bb7e0458183e313 days 4 hrs agoBittrex  IN   0x4c76e174f896f4d90f6b448a48708eb46e6b21f40 Ether0.00099986
0xfaa1399249ca44a01aa5c615c03ba8752af2b05d88b22606f7a5aa23dccab43f13 days 4 hrs ago0xe4446f31364bc90bfb86577b6ba06b7b620804cd  IN   0x4c76e174f896f4d90f6b448a48708eb46e6b21f42 Ether0.000442071
0x24ae95fd1077236ef6756d44684f49c7b94c611066d8522dfa2bc5cf1b54757f70 days 4 hrs agoBittrex  IN   0x4c76e174f896f4d90f6b448a48708eb46e6b21f40 Ether0.003045167121
0x715cde1a2da3be02bcc2899b73d70669118edb1c649a64002a618b34d240850770 days 4 hrs ago0xe4446f31364bc90bfb86577b6ba06b7b620804cd  IN   0x4c76e174f896f4d90f6b448a48708eb46e6b21f42.5 Ether0.000442071
0x8d793fbbb4353194811da922016f9d0de98ebbc5a63114a0399028ad2658095370 days 4 hrs agoBittrex  IN   0x4c76e174f896f4d90f6b448a48708eb46e6b21f40 Ether0.002653989368
0xb654eb1ecf3f52059a1698d19d5b6d2499f37562340c2f1e20faf6bd1f0bce8570 days 4 hrs ago0xe4446f31364bc90bfb86577b6ba06b7b620804cd  IN   0x4c76e174f896f4d90f6b448a48708eb46e6b21f40.2 Ether0.000442071
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 5 Internal Transactions

ParentTxHash Block Age From To Value
0x46cb140639a836ae9cc3e40a09127db3d4e6cc41a706c1747b884debf78b3adb45923232 days 8 hrs ago0x4c76e174f896f4d90f6b448a48708eb46e6b21f40xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.6 Ether
0x9bb4395c6a5c25c4dcc6e5a2917545af49e01056590914ef727bb7e0458183e3452505813 days 4 hrs ago0x4c76e174f896f4d90f6b448a48708eb46e6b21f40xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb982 Ether
0x24ae95fd1077236ef6756d44684f49c7b94c611066d8522dfa2bc5cf1b54757f427248270 days 4 hrs ago0x4c76e174f896f4d90f6b448a48708eb46e6b21f40xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb982.5 Ether
0x8d793fbbb4353194811da922016f9d0de98ebbc5a63114a0399028ad26580953427241970 days 4 hrs ago0x4c76e174f896f4d90f6b448a48708eb46e6b21f40xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.2 Ether
0xecdf5396487fdfcf49be6d8272d7332211354f1a012c587a08fdd0352d182239426883671 days 4 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
Note: Displaying matching verified source code at contract 0xd1dd82d1ded8f40c200b89455050e9c18d918504
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.