ETH Price: $2,315.35 (-6.90%)

Contract

0x02DfA97faE1af2742932Afee024E1213A6135B5a
 

Overview

ETH Balance

0.000000007009253241 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep67340012018-11-19 14:28:032291 days ago1542637683IN
0x02DfA97f...3A6135B5a
0 ETH0.0024996550
Transfer67339762018-11-19 14:22:562291 days ago1542637376IN
0x02DfA97f...3A6135B5a
0.05005131 ETH0.000021051
Sweep67181272018-11-17 0:05:312294 days ago1542413131IN
0x02DfA97f...3A6135B5a
0 ETH0.0024996550
Transfer67181092018-11-17 0:00:182294 days ago1542412818IN
0x02DfA97f...3A6135B5a
0.05008635 ETH0.000021051
Sweep67021692018-11-14 9:33:092296 days ago1542187989IN
0x02DfA97f...3A6135B5a
0 ETH0.0024996550
Transfer67021362018-11-14 9:24:542296 days ago1542187494IN
0x02DfA97f...3A6135B5a
0.05001478 ETH0.000021051
Sweep66832592018-11-11 7:13:032299 days ago1541920383IN
0x02DfA97f...3A6135B5a
0 ETH0.0024996550
Transfer66832382018-11-11 7:06:592299 days ago1541920019IN
0x02DfA97f...3A6135B5a
0.05000177 ETH0.000021051
Sweep66672822018-11-08 16:29:292302 days ago1541694569IN
0x02DfA97f...3A6135B5a
0 ETH0.0024996550
Transfer66672582018-11-08 16:25:112302 days ago1541694311IN
0x02DfA97f...3A6135B5a
0.050125 ETH0.000021051
Sweep66492672018-11-05 17:37:592305 days ago1541439479IN
0x02DfA97f...3A6135B5a
0 ETH0.0024996550
Transfer66492502018-11-05 17:34:212305 days ago1541439261IN
0x02DfA97f...3A6135B5a
0.05002163 ETH0.000021051
Sweep66336432018-11-03 4:08:412308 days ago1541218121IN
0x02DfA97f...3A6135B5a
0 ETH0.0024964550
Transfer66336282018-11-03 4:05:072308 days ago1541217907IN
0x02DfA97f...3A6135B5a
0.05006528 ETH0.000021051
Sweep66181432018-10-31 14:53:562310 days ago1540997636IN
0x02DfA97f...3A6135B5a
0 ETH0.0024996550
Transfer66181272018-10-31 14:49:542310 days ago1540997394IN
0x02DfA97f...3A6135B5a
0.05003977 ETH0.000021051
Sweep66017742018-10-28 22:27:192313 days ago1540765639IN
0x02DfA97f...3A6135B5a
0 ETH0.0024996550
Transfer66017542018-10-28 22:22:172313 days ago1540765337IN
0x02DfA97f...3A6135B5a
0.05008815 ETH0.000021051
Sweep65854082018-10-26 6:16:052315 days ago1540534565IN
0x02DfA97f...3A6135B5a
0 ETH0.0024996550
Transfer65853722018-10-26 6:04:242315 days ago1540533864IN
0x02DfA97f...3A6135B5a
0.05010998 ETH0.000021051
Sweep65695222018-10-23 16:07:522318 days ago1540310872IN
0x02DfA97f...3A6135B5a
0 ETH0.0024996550
Transfer65694842018-10-23 15:58:222318 days ago1540310302IN
0x02DfA97f...3A6135B5a
0.05006551 ETH0.000021051
Sweep65520432018-10-20 19:35:402321 days ago1540064140IN
0x02DfA97f...3A6135B5a
0 ETH0.0024996550
Transfer65520252018-10-20 19:31:412321 days ago1540063901IN
0x02DfA97f...3A6135B5a
0.05000465 ETH0.000021051
Sweep65348262018-10-17 23:57:592324 days ago1539820679IN
0x02DfA97f...3A6135B5a
0 ETH0.0024996550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
67340012018-11-19 14:28:032291 days ago1542637683
0x02DfA97f...3A6135B5a
0.05005132 ETH
67181272018-11-17 0:05:312294 days ago1542413131
0x02DfA97f...3A6135B5a
0.05008635 ETH
67021692018-11-14 9:33:092296 days ago1542187989
0x02DfA97f...3A6135B5a
0.05001478 ETH
66832592018-11-11 7:13:032299 days ago1541920383
0x02DfA97f...3A6135B5a
0.05000177 ETH
66672822018-11-08 16:29:292302 days ago1541694569
0x02DfA97f...3A6135B5a
0.050125 ETH
66492672018-11-05 17:37:592305 days ago1541439479
0x02DfA97f...3A6135B5a
0.05002164 ETH
66336432018-11-03 4:08:412308 days ago1541218121
0x02DfA97f...3A6135B5a
0.05006528 ETH
66181432018-10-31 14:53:562310 days ago1540997636
0x02DfA97f...3A6135B5a
0.05003977 ETH
66017742018-10-28 22:27:192313 days ago1540765639
0x02DfA97f...3A6135B5a
0.05008816 ETH
65854082018-10-26 6:16:052315 days ago1540534565
0x02DfA97f...3A6135B5a
0.05010998 ETH
65695222018-10-23 16:07:522318 days ago1540310872
0x02DfA97f...3A6135B5a
0.05006551 ETH
65520432018-10-20 19:35:402321 days ago1540064140
0x02DfA97f...3A6135B5a
0.05000465 ETH
65348262018-10-17 23:57:592324 days ago1539820679
0x02DfA97f...3A6135B5a
0.05002403 ETH
65166982018-10-15 0:49:242327 days ago1539564564
0x02DfA97f...3A6135B5a
0.05008853 ETH
64984242018-10-12 1:40:492330 days ago1539308449
0x02DfA97f...3A6135B5a
0.05006961 ETH
64804182018-10-09 3:24:412333 days ago1539055481
0x02DfA97f...3A6135B5a
0.05005267 ETH
64603632018-10-05 22:04:222336 days ago1538777062
0x02DfA97f...3A6135B5a
0.05001081 ETH
64407612018-10-02 17:19:282339 days ago1538500768
0x02DfA97f...3A6135B5a
0.05006047 ETH
64237332018-09-29 22:09:112342 days ago1538258951
0x02DfA97f...3A6135B5a
0.05005269 ETH
64063362018-09-27 1:40:522345 days ago1538012452
0x02DfA97f...3A6135B5a
0.06012212 ETH
63190532018-09-12 16:19:342359 days ago1536769174
0x02DfA97f...3A6135B5a
0.05004078 ETH
62923502018-09-08 5:13:162363 days ago1536383596
0x02DfA97f...3A6135B5a
0.05000407 ETH
62737352018-09-05 2:15:392367 days ago1536113739
0x02DfA97f...3A6135B5a
0.05002924 ETH
62549302018-09-01 22:32:252370 days ago1535841145
0x02DfA97f...3A6135B5a
0.05003061 ETH
62365572018-08-29 19:59:412373 days ago1535572781
0x02DfA97f...3A6135B5a
0.05002523 ETH
View All Internal Transactions
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
/**
 *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

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

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.