ETH Price: $2,498.59 (-0.60%)

Contract

0x286f751e3089bc941C830CeBe826A6fC3344b32F
 

Overview

ETH Balance

0.000000009211772631 ETH

Eth Value

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

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep50551392018-02-08 21:15:472574 days ago1518124547IN
0x286f751e...C3344b32F
0 ETH0.0045051390
Transfer50551212018-02-08 21:11:192574 days ago1518124279IN
0x286f751e...C3344b32F
3.27369219 ETH0.0004841723
Transfer50551112018-02-08 21:09:232574 days ago1518124163IN
0x286f751e...C3344b32F
0.4 ETH0.0004841723
Sweep47564632017-12-18 21:30:572626 days ago1513632657IN
0x286f751e...C3344b32F
0 ETH0.0025496451
Transfer47564122017-12-18 21:16:462626 days ago1513631806IN
0x286f751e...C3344b32F
1.228 ETH0.0011788556
Sweep45889562017-11-20 14:43:132654 days ago1511188993IN
0x286f751e...C3344b32F
0 ETH0.0009998620
Transfer45889442017-11-20 14:40:012654 days ago1511188801IN
0x286f751e...C3344b32F
10 ETH0.00000210.1
Sweep45518752017-11-14 15:38:032660 days ago1510673883IN
0x286f751e...C3344b32F
0 ETH0.0010011420
Transfer*45518612017-11-14 15:34:162660 days ago1510673656IN
0x286f751e...C3344b32F
3.73359459 ETH0.000084474
Sweep45135282017-11-08 11:55:302666 days ago1510142130IN
0x286f751e...C3344b32F
0 ETH0.0009998620
Transfer45135192017-11-08 11:52:152666 days ago1510141935IN
0x286f751e...C3344b32F
13 ETH0.0004841723
Sweep44817142017-11-03 9:20:542671 days ago1509700854IN
0x286f751e...C3344b32F
0 ETH0.0010011420
Transfer44817062017-11-03 9:18:552671 days ago1509700735IN
0x286f751e...C3344b32F
25 ETH0.0009472945
Sweep43629212017-10-13 18:42:332692 days ago1507920153IN
0x286f751e...C3344b32F
0 ETH0.0015497831
Transfer43629182017-10-13 18:40:422692 days ago1507920042IN
0x286f751e...C3344b32F
2 ETH0.0005683727
Sweep43106622017-09-25 14:49:522710 days ago1506350992IN
0x286f751e...C3344b32F
0 ETH0.002552951
Transfer43106412017-09-25 14:43:142710 days ago1506350594IN
0x286f751e...C3344b32F
12.01313307 ETH0.0004420721
Sweep42766732017-09-15 12:29:552720 days ago1505478595IN
0x286f751e...C3344b32F
0 ETH0.002552951
Transfer*42766662017-09-15 12:27:372720 days ago1505478457IN
0x286f751e...C3344b32F
14.08880644 ETH0.000084474
Sweep42732042017-09-14 13:26:482721 days ago1505395608IN
0x286f751e...C3344b32F
0 ETH0.002552951
Transfer42731742017-09-14 13:16:162721 days ago1505394976IN
0x286f751e...C3344b32F
5.5406021 ETH0.0005894228
Sweep42477662017-09-07 10:39:262728 days ago1504780766IN
0x286f751e...C3344b32F
0 ETH0.0028184956.3778237
Transfer42477612017-09-07 10:36:422728 days ago1504780602IN
0x286f751e...C3344b32F
1.7 ETH0.0004420721
Sweep42368672017-09-04 8:09:182731 days ago1504512558IN
0x286f751e...C3344b32F
0 ETH0.002552951
Transfer42368582017-09-04 8:06:122731 days ago1504512372IN
0x286f751e...C3344b32F
1.93114663 ETH0.0012630660
View all transactions

Latest 18 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
50551392018-02-08 21:15:472574 days ago1518124547
0x286f751e...C3344b32F
3.67369219 ETH
47564632017-12-18 21:30:572626 days ago1513632657
0x286f751e...C3344b32F
1.228 ETH
45889562017-11-20 14:43:132654 days ago1511188993
0x286f751e...C3344b32F
10 ETH
45518752017-11-14 15:38:032660 days ago1510673883
0x286f751e...C3344b32F
3.73359459 ETH
45135282017-11-08 11:55:302666 days ago1510142130
0x286f751e...C3344b32F
13 ETH
44817142017-11-03 9:20:542671 days ago1509700854
0x286f751e...C3344b32F
25 ETH
43629212017-10-13 18:42:332692 days ago1507920153
0x286f751e...C3344b32F
2 ETH
43106622017-09-25 14:49:522710 days ago1506350992
0x286f751e...C3344b32F
12.01313307 ETH
42766732017-09-15 12:29:552720 days ago1505478595
0x286f751e...C3344b32F
14.08880644 ETH
42732042017-09-14 13:26:482721 days ago1505395608
0x286f751e...C3344b32F
5.5406021 ETH
42477662017-09-07 10:39:262728 days ago1504780766
0x286f751e...C3344b32F
1.7 ETH
42368672017-09-04 8:09:182731 days ago1504512558
0x286f751e...C3344b32F
1.93114663 ETH
42090762017-08-27 10:29:372739 days ago1503829777
0x286f751e...C3344b32F
0.88021751 ETH
42033342017-08-25 19:27:172741 days ago1503689237
0x286f751e...C3344b32F
0.31859344 ETH
41936232017-08-23 8:45:132743 days ago1503477913
0x286f751e...C3344b32F
2.028 ETH
41874432017-08-21 21:25:352745 days ago1503350735
0x286f751e...C3344b32F
4.541 ETH
41874332017-08-21 21:20:452745 days ago1503350445
0x286f751e...C3344b32F
0.2 ETH
41813592017-08-20 10:39:352746 days ago1503225575  Contract Creation0 ETH
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.