ETH Price: $2,004.88 (+0.43%)
 

Overview

ETH Balance

0.030371274708941386 ETH

Eth Value

$60.89 (@ $2,004.88/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer67435852018-11-21 4:36:102660 days ago1542774970IN
0xF1d7D2E6...773D0e2aE
0.03037127 ETH0.000021051
Sweep67009512018-11-14 4:39:542667 days ago1542170394IN
0xF1d7D2E6...773D0e2aE
0 ETH0.0024996550
Transfer67009342018-11-14 4:35:432667 days ago1542170143IN
0xF1d7D2E6...773D0e2aE
0.06192851 ETH0.000021051
Sweep66581552018-11-07 4:42:172674 days ago1541565737IN
0xF1d7D2E6...773D0e2aE
0 ETH0.0024996550
Transfer66581362018-11-07 4:39:242674 days ago1541565564IN
0xF1d7D2E6...773D0e2aE
0.06214351 ETH0.000021051
Sweep66155262018-10-31 4:37:112681 days ago1540960631IN
0xF1d7D2E6...773D0e2aE
0 ETH0.0024996550
Transfer66154822018-10-31 4:28:402681 days ago1540960120IN
0xF1d7D2E6...773D0e2aE
0.06187231 ETH0.000021051
Sweep65726752018-10-24 4:25:372688 days ago1540355137IN
0xF1d7D2E6...773D0e2aE
0 ETH0.0024996550
Transfer65726502018-10-24 4:18:252688 days ago1540354705IN
0xF1d7D2E6...773D0e2aE
0.05939285 ETH0.000021051
Sweep65298362018-10-17 4:23:592695 days ago1539750239IN
0xF1d7D2E6...773D0e2aE
0 ETH0.0024996550
Transfer65298052018-10-17 4:15:512695 days ago1539749751IN
0xF1d7D2E6...773D0e2aE
0.05779624 ETH0.000021051
Sweep64867672018-10-10 4:12:462702 days ago1539144766IN
0xF1d7D2E6...773D0e2aE
0 ETH0.0024996550
Transfer64867482018-10-10 4:08:292702 days ago1539144509IN
0xF1d7D2E6...773D0e2aE
0.05363792 ETH0.000021051
Sweep64436152018-10-03 4:16:582709 days ago1538540218IN
0xF1d7D2E6...773D0e2aE
0 ETH0.0024996550
Transfer64435812018-10-03 4:08:222709 days ago1538539702IN
0xF1d7D2E6...773D0e2aE
0.05565564 ETH0.000021051
Sweep64008732018-09-26 4:15:432716 days ago1537935343IN
0xF1d7D2E6...773D0e2aE
0 ETH0.0024996550
Transfer64008502018-09-26 4:10:232716 days ago1537935023IN
0xF1d7D2E6...773D0e2aE
0.05881445 ETH0.000021051
Sweep63583262018-09-19 4:14:232723 days ago1537330463IN
0xF1d7D2E6...773D0e2aE
0 ETH0.0024996550
Transfer63583062018-09-19 4:08:272723 days ago1537330107IN
0xF1d7D2E6...773D0e2aE
0.06029973 ETH0.000021051
Sweep63159682018-09-12 4:08:552730 days ago1536725335IN
0xF1d7D2E6...773D0e2aE
0 ETH0.0024996550
Transfer63159402018-09-12 4:04:382730 days ago1536725078IN
0xF1d7D2E6...773D0e2aE
0.05687136 ETH0.000021051
Sweep62741452018-09-05 3:57:402737 days ago1536119860IN
0xF1d7D2E6...773D0e2aE
0 ETH0.0024996550
Transfer62741272018-09-05 3:53:012737 days ago1536119581IN
0xF1d7D2E6...773D0e2aE
0.05392725 ETH0.000021051
Sweep62326332018-08-29 4:07:492744 days ago1535515669IN
0xF1d7D2E6...773D0e2aE
0 ETH0.0024996550
Transfer62326142018-08-29 4:03:412744 days ago1535515421IN
0xF1d7D2E6...773D0e2aE
0.05368632 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer67009512018-11-14 4:39:542667 days ago1542170394
0xF1d7D2E6...773D0e2aE
0.06192852 ETH
Transfer66581552018-11-07 4:42:172674 days ago1541565737
0xF1d7D2E6...773D0e2aE
0.06214351 ETH
Transfer66155262018-10-31 4:37:112681 days ago1540960631
0xF1d7D2E6...773D0e2aE
0.06187232 ETH
Transfer65726752018-10-24 4:25:372688 days ago1540355137
0xF1d7D2E6...773D0e2aE
0.05939285 ETH
Transfer65298362018-10-17 4:23:592695 days ago1539750239
0xF1d7D2E6...773D0e2aE
0.05779625 ETH
Transfer64867672018-10-10 4:12:462702 days ago1539144766
0xF1d7D2E6...773D0e2aE
0.05363792 ETH
Transfer64436152018-10-03 4:16:582709 days ago1538540218
0xF1d7D2E6...773D0e2aE
0.05565564 ETH
Transfer64008732018-09-26 4:15:432716 days ago1537935343
0xF1d7D2E6...773D0e2aE
0.05881446 ETH
Transfer63583262018-09-19 4:14:232723 days ago1537330463
0xF1d7D2E6...773D0e2aE
0.06029974 ETH
Transfer63159682018-09-12 4:08:552730 days ago1536725335
0xF1d7D2E6...773D0e2aE
0.05687137 ETH
Transfer62741452018-09-05 3:57:402737 days ago1536119860
0xF1d7D2E6...773D0e2aE
0.05392725 ETH
Transfer62326332018-08-29 4:07:492744 days ago1535515669
0xF1d7D2E6...773D0e2aE
0.05368632 ETH
Transfer61911742018-08-22 3:49:352751 days ago1534909775
0xF1d7D2E6...773D0e2aE
0.05352025 ETH
Transfer61497162018-08-15 3:51:012758 days ago1534305061
0xF1d7D2E6...773D0e2aE
0.05415605 ETH
Transfer61083132018-08-08 3:49:392765 days ago1533700179
0xF1d7D2E6...773D0e2aE
0.0546067 ETH
Transfer60668832018-08-01 3:40:152772 days ago1533094815
0xF1d7D2E6...773D0e2aE
0.05215666 ETH
Transfer60253572018-07-25 3:48:472779 days ago1532490527
0xF1d7D2E6...773D0e2aE
0.05661508 ETH
Transfer59842512018-07-18 3:44:512786 days ago1531885491
0xF1d7D2E6...773D0e2aE
0.05561512 ETH
Transfer59425642018-07-11 3:35:182793 days ago1531280118
0xF1d7D2E6...773D0e2aE
0.05595844 ETH
Transfer59019062018-07-04 3:28:362800 days ago1530674916
0xF1d7D2E6...773D0e2aE
0.05733667 ETH
Transfer58610652018-06-27 3:34:272807 days ago1530070467
0xF1d7D2E6...773D0e2aE
0.09004135 ETH
Transfer55980602018-05-12 1:16:532853 days ago1526087813
0xF1d7D2E6...773D0e2aE
0.05513636 ETH
Transfer55577702018-05-05 1:11:442860 days ago1525482704
0xF1d7D2E6...773D0e2aE
0.0580939 ETH
Transfer55178592018-04-28 1:05:522867 days ago1524877552
0xF1d7D2E6...773D0e2aE
0.05782493 ETH
Transfer54771712018-04-21 1:00:002874 days ago1524272400
0xF1d7D2E6...773D0e2aE
0.05989113 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.