ETH Price: $2,730.09 (-2.75%)
Gas: 0.76 Gwei

Contract

0xD2e86Fb18b53390c4FD573023154fd7aC90Bb8Ca
 

Overview

ETH Balance

0.027924707399832602 ETH

Eth Value

$76.24 (@ $2,730.09/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer78791202019-06-02 8:40:432092 days ago1559464843IN
0xD2e86Fb1...aC90Bb8Ca
0.02792469 ETH0.000021051
Sweep78342462019-05-26 8:44:192099 days ago1558860259IN
0xD2e86Fb1...aC90Bb8Ca
0 ETH0.0025028550
Transfer78342232019-05-26 8:38:382099 days ago1558859918IN
0xD2e86Fb1...aC90Bb8Ca
0.25278911 ETH0.000021051
Sweep77894812019-05-19 8:40:332106 days ago1558255233IN
0xD2e86Fb1...aC90Bb8Ca
0 ETH0.0025028550
Transfer77894602019-05-19 8:35:542106 days ago1558254954IN
0xD2e86Fb1...aC90Bb8Ca
0.2475089 ETH0.000021051
Sweep77446672019-05-12 8:34:452113 days ago1557650085IN
0xD2e86Fb1...aC90Bb8Ca
0 ETH0.0025028550
Transfer77446472019-05-12 8:30:342113 days ago1557649834IN
0xD2e86Fb1...aC90Bb8Ca
0.29188777 ETH0.000021051
Sweep76998592019-05-05 8:31:252120 days ago1557045085IN
0xD2e86Fb1...aC90Bb8Ca
0 ETH0.0025028550
Transfer76998442019-05-05 8:25:342120 days ago1557044734IN
0xD2e86Fb1...aC90Bb8Ca
0.27260954 ETH0.000021051
Sweep76548252019-04-28 8:24:432127 days ago1556439883IN
0xD2e86Fb1...aC90Bb8Ca
0 ETH0.0025028550
Transfer76548022019-04-28 8:19:422127 days ago1556439582IN
0xD2e86Fb1...aC90Bb8Ca
0.29442071 ETH0.000021051
Sweep76098302019-04-21 8:18:222134 days ago1555834702IN
0xD2e86Fb1...aC90Bb8Ca
0 ETH0.0025028550
Transfer76098112019-04-21 8:14:142134 days ago1555834454IN
0xD2e86Fb1...aC90Bb8Ca
0.28330918 ETH0.000021051
Sweep75649272019-04-14 8:15:232141 days ago1555229723IN
0xD2e86Fb1...aC90Bb8Ca
0 ETH0.0025028550
Transfer75649072019-04-14 8:11:092141 days ago1555229469IN
0xD2e86Fb1...aC90Bb8Ca
0.28727794 ETH0.000021051
Sweep75198952019-04-07 8:16:142148 days ago1554624974IN
0xD2e86Fb1...aC90Bb8Ca
0 ETH0.0025028550
Transfer75198772019-04-07 8:11:102148 days ago1554624670IN
0xD2e86Fb1...aC90Bb8Ca
0.3133608 ETH0.000021051
Sweep74750012019-03-31 8:12:292155 days ago1554019949IN
0xD2e86Fb1...aC90Bb8Ca
0 ETH0.0025028550
Transfer74749832019-03-31 8:08:172155 days ago1554019697IN
0xD2e86Fb1...aC90Bb8Ca
0.29869651 ETH0.000021051
Sweep74302242019-03-24 8:07:572162 days ago1553414877IN
0xD2e86Fb1...aC90Bb8Ca
0 ETH0.0025028550
Transfer74302012019-03-24 8:03:022162 days ago1553414582IN
0xD2e86Fb1...aC90Bb8Ca
0.10783733 ETH0.000021051
Sweep73853342019-03-17 8:07:452169 days ago1552810065IN
0xD2e86Fb1...aC90Bb8Ca
0 ETH0.0025028550
Transfer73853172019-03-17 8:04:272169 days ago1552809867IN
0xD2e86Fb1...aC90Bb8Ca
0.105525 ETH0.000021051
Sweep73402552019-03-10 8:02:222176 days ago1552204942IN
0xD2e86Fb1...aC90Bb8Ca
0 ETH0.0025028550
Transfer73402322019-03-10 7:58:572176 days ago1552204737IN
0xD2e86Fb1...aC90Bb8Ca
0.10303753 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
78342462019-05-26 8:44:192099 days ago1558860259
0xD2e86Fb1...aC90Bb8Ca
0.25278911 ETH
77894812019-05-19 8:40:332106 days ago1558255233
0xD2e86Fb1...aC90Bb8Ca
0.24750891 ETH
77446672019-05-12 8:34:452113 days ago1557650085
0xD2e86Fb1...aC90Bb8Ca
0.29188777 ETH
76998592019-05-05 8:31:252120 days ago1557045085
0xD2e86Fb1...aC90Bb8Ca
0.27260954 ETH
76548252019-04-28 8:24:432127 days ago1556439883
0xD2e86Fb1...aC90Bb8Ca
0.29442072 ETH
76098302019-04-21 8:18:222134 days ago1555834702
0xD2e86Fb1...aC90Bb8Ca
0.28330918 ETH
75649272019-04-14 8:15:232141 days ago1555229723
0xD2e86Fb1...aC90Bb8Ca
0.28727795 ETH
75198952019-04-07 8:16:142148 days ago1554624974
0xD2e86Fb1...aC90Bb8Ca
0.3133608 ETH
74750012019-03-31 8:12:292155 days ago1554019949
0xD2e86Fb1...aC90Bb8Ca
0.29869652 ETH
74302242019-03-24 8:07:572162 days ago1553414877
0xD2e86Fb1...aC90Bb8Ca
0.10783734 ETH
73853342019-03-17 8:07:452169 days ago1552810065
0xD2e86Fb1...aC90Bb8Ca
0.105525 ETH
73402552019-03-10 8:02:222176 days ago1552204942
0xD2e86Fb1...aC90Bb8Ca
0.10303754 ETH
72953502019-03-03 8:02:552183 days ago1551600175
0xD2e86Fb1...aC90Bb8Ca
0.10105863 ETH
72607902019-02-24 8:01:472190 days ago1550995307
0xD2e86Fb1...aC90Bb8Ca
0.10582363 ETH
72310982019-02-17 8:01:262197 days ago1550390486
0xD2e86Fb1...aC90Bb8Ca
0.10808397 ETH
72017352019-02-10 7:54:412204 days ago1549785281
0xD2e86Fb1...aC90Bb8Ca
0.12354686 ETH
71675172019-02-03 7:51:152211 days ago1549180275
0xD2e86Fb1...aC90Bb8Ca
0.11850526 ETH
71331012019-01-27 7:47:262218 days ago1548575246
0xD2e86Fb1...aC90Bb8Ca
0.08639505 ETH
70972952019-01-20 7:40:122225 days ago1547970012
0xD2e86Fb1...aC90Bb8Ca
0.11032709 ETH
70580492019-01-13 7:40:032232 days ago1547365203
0xD2e86Fb1...aC90Bb8Ca
0.09797947 ETH
70189412019-01-06 7:34:292239 days ago1546760069
0xD2e86Fb1...aC90Bb8Ca
0.08579338 ETH
69786532018-12-30 7:29:072246 days ago1546154947
0xD2e86Fb1...aC90Bb8Ca
0.10856082 ETH
69371012018-12-23 7:30:392253 days ago1545550239
0xD2e86Fb1...aC90Bb8Ca
0.13588305 ETH
68958972018-12-16 7:22:182260 days ago1544944938
0xD2e86Fb1...aC90Bb8Ca
0.20967723 ETH
68534032018-12-09 7:24:222267 days ago1544340262
0xD2e86Fb1...aC90Bb8Ca
0.20165553 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.