ETH Price: $2,149.32 (+8.51%)
 

Overview

ETH Balance

0.00000000576219104 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep54620952018-04-18 10:23:562877 days ago1524047036IN
0xcB2F3fE2...d3f37A082
0 ETH0.0024996550
Transfer54620662018-04-18 10:17:272877 days ago1524046647IN
0xcB2F3fE2...d3f37A082
0.7 ETH0.0010525550
Sweep51689502018-02-28 2:52:342926 days ago1519786354IN
0xcB2F3fE2...d3f37A082
0 ETH0.0025028550
Transfer51689062018-02-28 2:43:112926 days ago1519785791IN
0xcB2F3fE2...d3f37A082
0.20026517 ETH0.000021051
Sweep51378302018-02-22 19:37:252931 days ago1519328245IN
0xcB2F3fE2...d3f37A082
0 ETH0.0025028550
Transfer51377722018-02-22 19:23:552931 days ago1519327435IN
0xcB2F3fE2...d3f37A082
0.20109028 ETH0.000021051
Sweep51064512018-02-17 11:42:182937 days ago1518867738IN
0xcB2F3fE2...d3f37A082
0 ETH0.0025028550
Transfer51064132018-02-17 11:32:402937 days ago1518867160IN
0xcB2F3fE2...d3f37A082
0.20079395 ETH0.000021051
Sweep50757112018-02-12 7:42:462942 days ago1518421366IN
0xcB2F3fE2...d3f37A082
0 ETH0.0045051390
Transfer50756792018-02-12 7:34:082942 days ago1518420848IN
0xcB2F3fE2...d3f37A082
0.20050222 ETH0.000021051
Sweep50485102018-02-07 18:21:562946 days ago1518027716IN
0xcB2F3fE2...d3f37A082
0 ETH0.0045051390
Transfer50484802018-02-07 18:13:302946 days ago1518027210IN
0xcB2F3fE2...d3f37A082
0.499 ETH0.0002105110
Sweep50455672018-02-07 6:39:092947 days ago1517985549IN
0xcB2F3fE2...d3f37A082
0 ETH0.0045051390
Transfer50455412018-02-07 6:31:132947 days ago1517985073IN
0xcB2F3fE2...d3f37A082
0.20012849 ETH0.000021051
Transfer50392502018-02-06 5:06:162948 days ago1517893576IN
0xcB2F3fE2...d3f37A082
0.9985 ETH0.0004220
Transfer50392332018-02-06 5:00:302948 days ago1517893230IN
0xcB2F3fE2...d3f37A082
0.999 ETH0.0004220
Sweep50170022018-02-02 11:28:592952 days ago1517570939IN
0xcB2F3fE2...d3f37A082
0 ETH0.0045051390
Transfer50169792018-02-02 11:23:262952 days ago1517570606IN
0xcB2F3fE2...d3f37A082
0.20091052 ETH0.000021051
Sweep50128652018-02-01 18:23:212952 days ago1517509401IN
0xcB2F3fE2...d3f37A082
0 ETH0.0044993790
Transfer50128262018-02-01 18:14:162952 days ago1517508856IN
0xcB2F3fE2...d3f37A082
0.398 ETH0.0010525550
Sweep49907022018-01-28 23:49:342956 days ago1517183374IN
0xcB2F3fE2...d3f37A082
0 ETH0.0045051390
Transfer49906732018-01-28 23:39:492956 days ago1517182789IN
0xcB2F3fE2...d3f37A082
0.20029268 ETH0.000021051
Sweep49650612018-01-24 16:39:122961 days ago1516811952IN
0xcB2F3fE2...d3f37A082
0 ETH0.0045051390
Transfer49650272018-01-24 16:27:542961 days ago1516811274IN
0xcB2F3fE2...d3f37A082
0.20085349 ETH0.000021051
Sweep49406032018-01-20 12:54:012965 days ago1516452841IN
0xcB2F3fE2...d3f37A082
0 ETH0.0045051390
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer54620952018-04-18 10:23:562877 days ago1524047036
0xcB2F3fE2...d3f37A082
0.7 ETH
Transfer51689502018-02-28 2:52:342926 days ago1519786354
0xcB2F3fE2...d3f37A082
0.20026517 ETH
Transfer51378302018-02-22 19:37:252931 days ago1519328245
0xcB2F3fE2...d3f37A082
0.20109028 ETH
Transfer51064512018-02-17 11:42:182937 days ago1518867738
0xcB2F3fE2...d3f37A082
0.20079396 ETH
Transfer50757112018-02-12 7:42:462942 days ago1518421366
0xcB2F3fE2...d3f37A082
0.20050223 ETH
Transfer50485102018-02-07 18:21:562946 days ago1518027716
0xcB2F3fE2...d3f37A082
0.499 ETH
Transfer50455672018-02-07 6:39:092947 days ago1517985549
0xcB2F3fE2...d3f37A082
0.20012849 ETH
Transfer50170022018-02-02 11:28:592952 days ago1517570939
0xcB2F3fE2...d3f37A082
0.20091053 ETH
Transfer50128652018-02-01 18:23:212952 days ago1517509401
0xcB2F3fE2...d3f37A082
0.398 ETH
Transfer49907022018-01-28 23:49:342956 days ago1517183374
0xcB2F3fE2...d3f37A082
0.20029268 ETH
Transfer49650612018-01-24 16:39:122961 days ago1516811952
0xcB2F3fE2...d3f37A082
0.2008535 ETH
Transfer49406032018-01-20 12:54:012965 days ago1516452841
0xcB2F3fE2...d3f37A082
0.20123352 ETH
Transfer49185992018-01-16 14:57:082969 days ago1516114628
0xcB2F3fE2...d3f37A082
0.20105874 ETH
Transfer49164912018-01-16 5:47:362969 days ago1516081656
0xcB2F3fE2...d3f37A082
5.9 ETH
Transfer49164222018-01-16 5:30:252969 days ago1516080625
0xcB2F3fE2...d3f37A082
0.085 ETH
Transfer48984102018-01-12 22:49:432972 days ago1515797383
0xcB2F3fE2...d3f37A082
0.20117412 ETH
Transfer48805772018-01-09 15:43:232976 days ago1515512603
0xcB2F3fE2...d3f37A082
0.20961209 ETH
Transfer48618042018-01-06 5:02:272979 days ago1515214947
0xcB2F3fE2...d3f37A082
0.21527822 ETH
Transfer48423492018-01-02 15:33:092983 days ago1514907189
0xcB2F3fE2...d3f37A082
0.20008334 ETH
Transfer48226142017-12-30 6:52:402986 days ago1514616760
0xcB2F3fE2...d3f37A082
0.20395822 ETH
Transfer47865692017-12-24 5:01:392992 days ago1514091699
0xcB2F3fE2...d3f37A082
0.20021147 ETH
Transfer47255322017-12-13 12:32:153003 days ago1513168335
0xcB2F3fE2...d3f37A082
0.20111043 ETH
Transfer47066782017-12-10 5:56:423006 days ago1512885402
0xcB2F3fE2...d3f37A082
0.62 ETH
Transfer46779512017-12-05 5:01:593011 days ago1512450119
0xcB2F3fE2...d3f37A082
0.20379446 ETH
Transfer46280252017-11-26 22:13:203019 days ago1511734400
0xcB2F3fE2...d3f37A082
0.20006457 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.