ETH Price: $2,061.67 (+5.62%)
 

Overview

ETH Balance

0.00000000473331904 ETH

Eth Value

Less Than $0.01 (@ $2,061.67/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep43844862017-10-18 17:44:263058 days ago1508348666IN
0x8b8b9ef7...6F08Ea4bB
0 ETH0.0015517631
Transfer43844752017-10-18 17:42:353058 days ago1508348555IN
0x8b8b9ef7...6F08Ea4bB
0.20063387 ETH0.00008424
Sweep43748732017-10-17 3:54:143060 days ago1508212454IN
0x8b8b9ef7...6F08Ea4bB
0 ETH0.0015517631
Transfer43748602017-10-17 3:51:253060 days ago1508212285IN
0x8b8b9ef7...6F08Ea4bB
0.20070802 ETH0.00008424
Sweep43667902017-10-15 2:59:233062 days ago1508036363IN
0x8b8b9ef7...6F08Ea4bB
0 ETH0.0015497831
Transfer43667732017-10-15 2:48:013062 days ago1508035681IN
0x8b8b9ef7...6F08Ea4bB
0.20442879 ETH0.00008424
Sweep43604372017-10-12 22:29:213064 days ago1507847361IN
0x8b8b9ef7...6F08Ea4bB
0 ETH0.0015517631
Transfer43604192017-10-12 22:20:183064 days ago1507846818IN
0x8b8b9ef7...6F08Ea4bB
0.20305539 ETH0.00008424
Sweep43539842017-10-10 17:18:573066 days ago1507655937IN
0x8b8b9ef7...6F08Ea4bB
0 ETH0.0015517631
Transfer43539762017-10-10 17:12:463066 days ago1507655566IN
0x8b8b9ef7...6F08Ea4bB
0.20240137 ETH0.00008424
Sweep43482382017-10-08 17:27:483068 days ago1507483668IN
0x8b8b9ef7...6F08Ea4bB
0 ETH0.0015517631
Transfer43482312017-10-08 17:22:323068 days ago1507483352IN
0x8b8b9ef7...6F08Ea4bB
0.20151758 ETH0.00008424
Sweep43427192017-10-06 19:04:013070 days ago1507316641IN
0x8b8b9ef7...6F08Ea4bB
0 ETH0.0015517631
Transfer43427082017-10-06 18:55:453070 days ago1507316145IN
0x8b8b9ef7...6F08Ea4bB
0.20084103 ETH0.00008424
Sweep43369622017-10-04 19:22:503072 days ago1507144970IN
0x8b8b9ef7...6F08Ea4bB
0 ETH0.0015517631
Transfer43369502017-10-04 19:18:353072 days ago1507144715IN
0x8b8b9ef7...6F08Ea4bB
0.20326957 ETH0.00008424
Sweep43311482017-10-02 18:44:083074 days ago1506969848IN
0x8b8b9ef7...6F08Ea4bB
0 ETH0.0015517631
Transfer43311342017-10-02 18:36:573074 days ago1506969417IN
0x8b8b9ef7...6F08Ea4bB
0.20168624 ETH0.00008424
Sweep43259352017-09-30 22:59:523076 days ago1506812392IN
0x8b8b9ef7...6F08Ea4bB
0 ETH0.0015517631
Transfer43259242017-09-30 22:56:373076 days ago1506812197IN
0x8b8b9ef7...6F08Ea4bB
0.20226876 ETH0.00008424
Sweep43205052017-09-29 0:53:253078 days ago1506646405IN
0x8b8b9ef7...6F08Ea4bB
0 ETH0.002552951
Transfer43204932017-09-29 0:48:143078 days ago1506646094IN
0x8b8b9ef7...6F08Ea4bB
0.20062765 ETH0.00008424
Sweep43156782017-09-27 8:30:563080 days ago1506501056IN
0x8b8b9ef7...6F08Ea4bB
0 ETH0.0025496451
Transfer43156642017-09-27 8:21:493080 days ago1506500509IN
0x8b8b9ef7...6F08Ea4bB
0.20051819 ETH0.00008424
Sweep43101792017-09-25 10:53:473082 days ago1506336827IN
0x8b8b9ef7...6F08Ea4bB
0 ETH0.002552951
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer43844862017-10-18 17:44:263058 days ago1508348666
0x8b8b9ef7...6F08Ea4bB
0.20063387 ETH
Transfer43748732017-10-17 3:54:143060 days ago1508212454
0x8b8b9ef7...6F08Ea4bB
0.20070802 ETH
Transfer43667902017-10-15 2:59:233062 days ago1508036363
0x8b8b9ef7...6F08Ea4bB
0.2044288 ETH
Transfer43604372017-10-12 22:29:213064 days ago1507847361
0x8b8b9ef7...6F08Ea4bB
0.20305539 ETH
Transfer43539842017-10-10 17:18:573066 days ago1507655937
0x8b8b9ef7...6F08Ea4bB
0.20240138 ETH
Transfer43482382017-10-08 17:27:483068 days ago1507483668
0x8b8b9ef7...6F08Ea4bB
0.20151759 ETH
Transfer43427192017-10-06 19:04:013070 days ago1507316641
0x8b8b9ef7...6F08Ea4bB
0.20084103 ETH
Transfer43369622017-10-04 19:22:503072 days ago1507144970
0x8b8b9ef7...6F08Ea4bB
0.20326957 ETH
Transfer43311482017-10-02 18:44:083074 days ago1506969848
0x8b8b9ef7...6F08Ea4bB
0.20168625 ETH
Transfer43259352017-09-30 22:59:523076 days ago1506812392
0x8b8b9ef7...6F08Ea4bB
0.20226876 ETH
Transfer43205052017-09-29 0:53:253078 days ago1506646405
0x8b8b9ef7...6F08Ea4bB
0.20062765 ETH
Transfer43156782017-09-27 8:30:563080 days ago1506501056
0x8b8b9ef7...6F08Ea4bB
0.2005182 ETH
Transfer43101792017-09-25 10:53:473082 days ago1506336827
0x8b8b9ef7...6F08Ea4bB
0.20460765 ETH
Transfer43019602017-09-22 14:47:393084 days ago1506091659
0x8b8b9ef7...6F08Ea4bB
0.20049497 ETH
Transfer42960522017-09-20 21:27:303086 days ago1505942850
0x8b8b9ef7...6F08Ea4bB
0.2001828 ETH
Transfer42909452017-09-19 11:32:133088 days ago1505820733
0x8b8b9ef7...6F08Ea4bB
0.20173241 ETH
Transfer42857022017-09-18 0:17:373089 days ago1505693857
0x8b8b9ef7...6F08Ea4bB
0.20324367 ETH
Transfer42804052017-09-16 13:27:243090 days ago1505568444
0x8b8b9ef7...6F08Ea4bB
0.20210345 ETH
Transfer42755822017-09-15 5:12:373092 days ago1505452357
0x8b8b9ef7...6F08Ea4bB
0.20736007 ETH
Transfer42702462017-09-13 17:32:123093 days ago1505323932
0x8b8b9ef7...6F08Ea4bB
0.20415825 ETH
Transfer42653402017-09-12 8:28:593095 days ago1505204939
0x8b8b9ef7...6F08Ea4bB
0.20132128 ETH
Transfer42606152017-09-11 0:47:513096 days ago1505090871
0x8b8b9ef7...6F08Ea4bB
0.20002383 ETH
Transfer42550712017-09-09 11:28:503098 days ago1504956530
0x8b8b9ef7...6F08Ea4bB
0.20155874 ETH
Transfer42504152017-09-08 4:12:353099 days ago1504843955
0x8b8b9ef7...6F08Ea4bB
0.20267435 ETH
Transfer42445722017-09-06 13:04:373101 days ago1504703077
0x8b8b9ef7...6F08Ea4bB
0.20547198 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xd1DD82d1...18D918504
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
UserWallet

Compiler Version
v0.4.11+commit.68ef5810

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-08-15
*/

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 Security Audit

Contract ABI

API
[{"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"}]

0x6060604052341561000c57fe5b60405160208061026c83398101604052515b60008054600160a060020a031916600160a060020a0383161790555b505b6102218061004b6000396000f300606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029000000000000000000000000a3c1e324ca1ce40db73ed6026c4a177f099b5770

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.