ETH Price: $2,165.93 (+1.00%)

Contract

0x0168ce4c2CA0dA20c7c63BdD57bf0DA3e6eB9d9D
 

Overview

ETH Balance

0.025208416139412749 ETH

Eth Value

$54.60 (@ $2,165.93/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer64735492018-10-08 0:47:542725 days ago1538959674IN
0x0168ce4c...3e6eB9d9D
0.02520841 ETH0.000021051
Sweep64304622018-10-01 0:50:342732 days ago1538355034IN
0x0168ce4c...3e6eB9d9D
0 ETH0.0024996550
Transfer64304372018-10-01 0:45:292732 days ago1538354729IN
0x0168ce4c...3e6eB9d9D
0.01001414 ETH0.000021051
Transfer59496672018-07-12 8:10:112813 days ago1531383011IN
0x0168ce4c...3e6eB9d9D
0.04317254 ETH0.000021051
Sweep59088562018-07-05 8:10:322820 days ago1530778232IN
0x0168ce4c...3e6eB9d9D
0 ETH0.0049993100
Transfer59088372018-07-05 8:05:542820 days ago1530777954IN
0x0168ce4c...3e6eB9d9D
0.05003967 ETH0.000021051
Sweep58884492018-07-01 20:26:052824 days ago1530476765IN
0x0168ce4c...3e6eB9d9D
0 ETH0.0029470858.95
Transfer58884312018-07-01 20:22:422824 days ago1530476562IN
0x0168ce4c...3e6eB9d9D
0.05003633 ETH0.000021051
Sweep58553512018-06-26 3:42:122829 days ago1529984532IN
0x0168ce4c...3e6eB9d9D
0 ETH0.0024996550
Transfer58553232018-06-26 3:35:412829 days ago1529984141IN
0x0168ce4c...3e6eB9d9D
0.05001595 ETH0.000021051
Sweep58331562018-06-22 8:06:132833 days ago1529654773IN
0x0168ce4c...3e6eB9d9D
0 ETH0.0024996550
Transfer58331202018-06-22 7:56:362833 days ago1529654196IN
0x0168ce4c...3e6eB9d9D
0.05006512 ETH0.000021051
Sweep58109362018-06-18 12:56:412837 days ago1529326601IN
0x0168ce4c...3e6eB9d9D
0 ETH0.0024996550
Transfer58109022018-06-18 12:47:082837 days ago1529326028IN
0x0168ce4c...3e6eB9d9D
0.05000778 ETH0.000021051
Sweep57766402018-06-12 15:37:312843 days ago1528817851IN
0x0168ce4c...3e6eB9d9D
0 ETH0.0024996550
Transfer57766242018-06-12 15:33:252843 days ago1528817605IN
0x0168ce4c...3e6eB9d9D
0.0500171 ETH0.000021051
Sweep57561052018-06-09 0:16:182846 days ago1528503378IN
0x0168ce4c...3e6eB9d9D
0 ETH0.0024996550
Transfer57560882018-06-09 0:10:462846 days ago1528503046IN
0x0168ce4c...3e6eB9d9D
0.05002967 ETH0.000021051
Sweep57364062018-06-05 12:14:402850 days ago1528200880IN
0x0168ce4c...3e6eB9d9D
0 ETH0.0024996550
Transfer57363892018-06-05 12:10:462850 days ago1528200646IN
0x0168ce4c...3e6eB9d9D
0.05002207 ETH0.000021051
Sweep57052372018-05-30 23:40:202855 days ago1527723620IN
0x0168ce4c...3e6eB9d9D
0 ETH0.0024996550
Transfer57052222018-05-30 23:36:422855 days ago1527723402IN
0x0168ce4c...3e6eB9d9D
0.05001951 ETH0.000021051
Sweep56847762018-05-27 8:57:342859 days ago1527411454IN
0x0168ce4c...3e6eB9d9D
0 ETH0.0024996550
Transfer56847532018-05-27 8:52:592859 days ago1527411179IN
0x0168ce4c...3e6eB9d9D
0.05006167 ETH0.000021051
Sweep56619922018-05-23 7:58:452863 days ago1527062325IN
0x0168ce4c...3e6eB9d9D
0 ETH0.0024996550
View all transactions

Latest 24 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer64304622018-10-01 0:50:342732 days ago1538355034
0x0168ce4c...3e6eB9d9D
0.05318669 ETH
Transfer59088562018-07-05 8:10:322820 days ago1530778232
0x0168ce4c...3e6eB9d9D
0.05003967 ETH
Transfer58884492018-07-01 20:26:052824 days ago1530476765
0x0168ce4c...3e6eB9d9D
0.05003634 ETH
Transfer58553512018-06-26 3:42:122829 days ago1529984532
0x0168ce4c...3e6eB9d9D
0.05001595 ETH
Transfer58331562018-06-22 8:06:132833 days ago1529654773
0x0168ce4c...3e6eB9d9D
0.05006513 ETH
Transfer58109362018-06-18 12:56:412837 days ago1529326601
0x0168ce4c...3e6eB9d9D
0.05000778 ETH
Transfer57766402018-06-12 15:37:312843 days ago1528817851
0x0168ce4c...3e6eB9d9D
0.05001711 ETH
Transfer57561052018-06-09 0:16:182846 days ago1528503378
0x0168ce4c...3e6eB9d9D
0.05002967 ETH
Transfer57364062018-06-05 12:14:402850 days ago1528200880
0x0168ce4c...3e6eB9d9D
0.05002208 ETH
Transfer57052372018-05-30 23:40:202855 days ago1527723620
0x0168ce4c...3e6eB9d9D
0.05001951 ETH
Transfer56847762018-05-27 8:57:342859 days ago1527411454
0x0168ce4c...3e6eB9d9D
0.05006168 ETH
Transfer56619922018-05-23 7:58:452863 days ago1527062325
0x0168ce4c...3e6eB9d9D
0.05000377 ETH
Transfer56314712018-05-17 21:51:452869 days ago1526593905
0x0168ce4c...3e6eB9d9D
0.05004437 ETH
Transfer56113042018-05-14 8:39:272872 days ago1526287167
0x0168ce4c...3e6eB9d9D
0.05000519 ETH
Transfer55826392018-05-09 8:46:322877 days ago1525855592
0x0168ce4c...3e6eB9d9D
0.05003744 ETH
Transfer55598452018-05-05 9:44:452881 days ago1525513485
0x0168ce4c...3e6eB9d9D
0.05007123 ETH
Transfer55315632018-04-30 10:11:322886 days ago1525083092
0x0168ce4c...3e6eB9d9D
0.05001781 ETH
Transfer55114162018-04-26 22:11:092889 days ago1524780669
0x0168ce4c...3e6eB9d9D
0.05010713 ETH
Transfer54913392018-04-23 10:55:252893 days ago1524480925
0x0168ce4c...3e6eB9d9D
0.05005196 ETH
Transfer54713872018-04-20 0:44:102896 days ago1524185050
0x0168ce4c...3e6eB9d9D
0.05006421 ETH
Transfer54418492018-04-14 23:49:262901 days ago1523749766
0x0168ce4c...3e6eB9d9D
0.05001367 ETH
Transfer54223322018-04-11 16:42:422905 days ago1523464962
0x0168ce4c...3e6eB9d9D
0.05000608 ETH
Transfer54020092018-04-08 7:39:162908 days ago1523173156
0x0168ce4c...3e6eB9d9D
0.09923373 ETH
Transfer49556542018-01-23 2:31:012983 days ago1516674661  Contract Creation0 ETH
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.