ETH Price: $2,563.70 (+0.69%)

Contract

0x888A0ff0736218C4f6E2D1DBF051c3675B0Ef75d
 

Overview

ETH Balance

0.000000007431322457 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep61322752018-08-12 5:00:572232 days ago1534050057IN
0x888A0ff0...75B0Ef75d
0 ETH0.0050057100
Transfer61322542018-08-12 4:54:112232 days ago1534049651IN
0x888A0ff0...75B0Ef75d
0.10192483 ETH0.00008634.1
Sweep61212302018-08-10 8:13:482234 days ago1533888828IN
0x888A0ff0...75B0Ef75d
0 ETH0.0050057100
Transfer61211942018-08-10 8:04:292234 days ago1533888269IN
0x888A0ff0...75B0Ef75d
0.10275479 ETH0.0006525831
Sweep61115172018-08-08 16:46:402236 days ago1533746800IN
0x888A0ff0...75B0Ef75d
0 ETH0.0050057100
Transfer61114992018-08-08 16:42:262236 days ago1533746546IN
0x888A0ff0...75B0Ef75d
0.10338144 ETH0.0012841161
Sweep60971362018-08-06 6:33:242238 days ago1533537204IN
0x888A0ff0...75B0Ef75d
0 ETH0.0050057100
Transfer60971142018-08-06 6:28:412238 days ago1533536921IN
0x888A0ff0...75B0Ef75d
0.10348567 ETH0.000065253.1
Sweep60849002018-08-04 5:06:522240 days ago1533359212IN
0x888A0ff0...75B0Ef75d
0 ETH0.0050057100
Transfer60848832018-08-04 5:02:232240 days ago1533358943IN
0x888A0ff0...75B0Ef75d
0.10495645 ETH0.000065253.1
Sweep60731232018-08-02 5:03:452242 days ago1533186225IN
0x888A0ff0...75B0Ef75d
0 ETH0.0050057100
Transfer60731092018-08-02 4:59:022242 days ago1533185942IN
0x888A0ff0...75B0Ef75d
0.10369526 ETH0.00004422.1
Sweep60609602018-07-31 3:39:462244 days ago1533008386IN
0x888A0ff0...75B0Ef75d
0 ETH0.0049993100
Transfer60609432018-07-31 3:36:112244 days ago1533008171IN
0x888A0ff0...75B0Ef75d
0.12108864 ETH0.00004422.1
Sweep60430922018-07-28 3:58:382247 days ago1532750318IN
0x888A0ff0...75B0Ef75d
0 ETH0.0050057100
Transfer60430732018-07-28 3:53:292247 days ago1532750009IN
0x888A0ff0...75B0Ef75d
0.12921921 ETH0.000079993.8
Sweep60259972018-07-25 6:29:572250 days ago1532500197IN
0x888A0ff0...75B0Ef75d
0 ETH0.0050057100
Transfer60259582018-07-25 6:21:172250 days ago1532499677IN
0x888A0ff0...75B0Ef75d
0.13256274 ETH0.000111575.3
Sweep60087152018-07-22 7:51:112253 days ago1532245871IN
0x888A0ff0...75B0Ef75d
0 ETH0.0050057100
Transfer60086852018-07-22 7:43:232253 days ago1532245403IN
0x888A0ff0...75B0Ef75d
0.13696579 ETH0.000107365.1
Sweep59903182018-07-19 4:57:062256 days ago1531976226IN
0x888A0ff0...75B0Ef75d
0 ETH0.0049993100
Transfer59902872018-07-19 4:47:192256 days ago1531975639IN
0x888A0ff0...75B0Ef75d
0.14213887 ETH0.000128416.1
Sweep59739642018-07-16 9:22:032259 days ago1531732923IN
0x888A0ff0...75B0Ef75d
0 ETH0.0050057100
Transfer59738902018-07-16 9:06:282259 days ago1531731988IN
0x888A0ff0...75B0Ef75d
0.1104082 ETH0.000170518.1
Sweep59645582018-07-14 19:51:062261 days ago1531597866IN
0x888A0ff0...75B0Ef75d
0 ETH0.0050057100
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
61322752018-08-12 5:00:572232 days ago1534050057
0x888A0ff0...75B0Ef75d
0.10192483 ETH
61212302018-08-10 8:13:482234 days ago1533888828
0x888A0ff0...75B0Ef75d
0.10275479 ETH
61115172018-08-08 16:46:402236 days ago1533746800
0x888A0ff0...75B0Ef75d
0.10338145 ETH
60971362018-08-06 6:33:242238 days ago1533537204
0x888A0ff0...75B0Ef75d
0.10348567 ETH
60849002018-08-04 5:06:522240 days ago1533359212
0x888A0ff0...75B0Ef75d
0.10495646 ETH
60731232018-08-02 5:03:452242 days ago1533186225
0x888A0ff0...75B0Ef75d
0.10369527 ETH
60609602018-07-31 3:39:462244 days ago1533008386
0x888A0ff0...75B0Ef75d
0.12108864 ETH
60430922018-07-28 3:58:382247 days ago1532750318
0x888A0ff0...75B0Ef75d
0.12921921 ETH
60259972018-07-25 6:29:572250 days ago1532500197
0x888A0ff0...75B0Ef75d
0.13256275 ETH
60087152018-07-22 7:51:112253 days ago1532245871
0x888A0ff0...75B0Ef75d
0.13696579 ETH
59903182018-07-19 4:57:062256 days ago1531976226
0x888A0ff0...75B0Ef75d
0.14213888 ETH
59739642018-07-16 9:22:032259 days ago1531732923
0x888A0ff0...75B0Ef75d
0.1104082 ETH
59645582018-07-14 19:51:062261 days ago1531597866
0x888A0ff0...75B0Ef75d
0.10931291 ETH
59520212018-07-12 17:36:032263 days ago1531416963
0x888A0ff0...75B0Ef75d
0.1028537 ETH
59385802018-07-10 10:58:302265 days ago1531220310
0x888A0ff0...75B0Ef75d
0.10487766 ETH
59264062018-07-08 8:42:392267 days ago1531039359
0x888A0ff0...75B0Ef75d
0.11506628 ETH
59160242018-07-06 13:33:482269 days ago1530884028
0x888A0ff0...75B0Ef75d
0.16187391 ETH
59033702018-07-04 9:22:492271 days ago1530696169
0x888A0ff0...75B0Ef75d
0.15713002 ETH
58942962018-07-02 20:09:402273 days ago1530562180
0x888A0ff0...75B0Ef75d
0.1517364 ETH
58789482018-06-30 5:23:172275 days ago1530336197
0x888A0ff0...75B0Ef75d
0.16558739 ETH
58683942018-06-28 9:40:392277 days ago1530178839
0x888A0ff0...75B0Ef75d
0.16435185 ETH
58556672018-06-26 5:00:592279 days ago1529989259
0x888A0ff0...75B0Ef75d
0.1531983 ETH
58441002018-06-24 4:39:082281 days ago1529815148
0x888A0ff0...75B0Ef75d
0.15539801 ETH
58324162018-06-22 4:56:592283 days ago1529643419
0x888A0ff0...75B0Ef75d
0.15795761 ETH
58208362018-06-20 5:28:422285 days ago1529472522
0x888A0ff0...75B0Ef75d
0.15776772 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.