ETH Price: $2,526.20 (+0.14%)

Contract

0xEAB1ddad01E599e3f31aFFcA4596AD1404bC04E2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep50601482018-02-09 17:10:532393 days ago1518196253IN
0xEAB1ddad...404bC04E2
0 ETH0.0044993790
Transfer50601102018-02-09 17:03:492393 days ago1518195829IN
0xEAB1ddad...404bC04E2
6 ETH0.00008424
Sweep48416902018-01-02 12:44:562431 days ago1514897096IN
0xEAB1ddad...404bC04E2
0 ETH0.002552951
Transfer48416572018-01-02 12:36:532431 days ago1514896613IN
0xEAB1ddad...404bC04E2
0.8494 ETH0.00008424
Sweep48273562017-12-31 2:14:382433 days ago1514686478IN
0xEAB1ddad...404bC04E2
0 ETH0.002552951
Transfer48273242017-12-31 2:06:272433 days ago1514685987IN
0xEAB1ddad...404bC04E2
3.29433615 ETH0.0004420721
Sweep48137212017-12-28 17:49:142436 days ago1514483354IN
0xEAB1ddad...404bC04E2
0 ETH0.0025496451
Transfer48137082017-12-28 17:45:322436 days ago1514483132IN
0xEAB1ddad...404bC04E2
2.6116 ETH0.0004210220
Sweep48137042017-12-28 17:44:512436 days ago1514483091IN
0xEAB1ddad...404bC04E2
0 ETH0.002552951
Transfer48136892017-12-28 17:40:452436 days ago1514482845IN
0xEAB1ddad...404bC04E2
1.0154 ETH0.0004210220
Sweep48136642017-12-28 17:34:332436 days ago1514482473IN
0xEAB1ddad...404bC04E2
0 ETH0.0025496451
Transfer48136242017-12-28 17:21:452436 days ago1514481705IN
0xEAB1ddad...404bC04E2
2.7368 ETH0.0002526112
Sweep47788082017-12-22 21:26:032442 days ago1513977963IN
0xEAB1ddad...404bC04E2
0 ETH0.0029995860
Transfer47781572017-12-22 18:41:522442 days ago1513968112IN
0xEAB1ddad...404bC04E2
1.028 ETH0.0005052224
Sweep47338862017-12-15 0:02:072450 days ago1513296127IN
0xEAB1ddad...404bC04E2
0 ETH0.0028031956
Transfer47338442017-12-14 23:49:412450 days ago1513295381IN
0xEAB1ddad...404bC04E2
0.9889 ETH0.0010104448
Sweep46908162017-12-07 12:17:552457 days ago1512649075IN
0xEAB1ddad...404bC04E2
0 ETH0.0041994184
Transfer46905182017-12-07 11:03:112457 days ago1512644591IN
0xEAB1ddad...404bC04E2
10 ETH0.0010525550
Transfer46903702017-12-07 10:27:302457 days ago1512642450IN
0xEAB1ddad...404bC04E2
5 ETH0.0010525550
Sweep46848382017-12-06 10:51:142458 days ago1512557474IN
0xEAB1ddad...404bC04E2
0 ETH0.002552951
Transfer46848112017-12-06 10:44:322458 days ago1512557072IN
0xEAB1ddad...404bC04E2
10 ETH0.0009893947
Transfer46848052017-12-06 10:42:222458 days ago1512556942IN
0xEAB1ddad...404bC04E2
7.479 ETH0.0009472945
Sweep46821242017-12-05 22:51:592459 days ago1512514319IN
0xEAB1ddad...404bC04E2
0 ETH0.0025496451
Transfer46818222017-12-05 21:38:452459 days ago1512509925IN
0xEAB1ddad...404bC04E2
12 ETH0.0005473226
Sweep46809462017-12-05 18:02:042459 days ago1512496924IN
0xEAB1ddad...404bC04E2
0 ETH0.0017497535
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
50601482018-02-09 17:10:532393 days ago1518196253
0xEAB1ddad...404bC04E2
6 ETH
48416902018-01-02 12:44:562431 days ago1514897096
0xEAB1ddad...404bC04E2
0.8494 ETH
48273562017-12-31 2:14:382433 days ago1514686478
0xEAB1ddad...404bC04E2
3.29433615 ETH
48137212017-12-28 17:49:142436 days ago1514483354
0xEAB1ddad...404bC04E2
2.6116 ETH
48137042017-12-28 17:44:512436 days ago1514483091
0xEAB1ddad...404bC04E2
1.0154 ETH
48136642017-12-28 17:34:332436 days ago1514482473
0xEAB1ddad...404bC04E2
2.7368 ETH
47788082017-12-22 21:26:032442 days ago1513977963
0xEAB1ddad...404bC04E2
1.028 ETH
47338862017-12-15 0:02:072450 days ago1513296127
0xEAB1ddad...404bC04E2
0.9889 ETH
46908162017-12-07 12:17:552457 days ago1512649075
0xEAB1ddad...404bC04E2
15 ETH
46848382017-12-06 10:51:142458 days ago1512557474
0xEAB1ddad...404bC04E2
17.479 ETH
46821242017-12-05 22:51:592459 days ago1512514319
0xEAB1ddad...404bC04E2
12 ETH
46809462017-12-05 18:02:042459 days ago1512496924
0xEAB1ddad...404bC04E2
0.1 ETH
46387212017-11-28 16:16:582466 days ago1511885818
0xEAB1ddad...404bC04E2
2.4833 ETH
46346132017-11-28 0:09:452467 days ago1511827785
0xEAB1ddad...404bC04E2
2.4743 ETH
46330192017-11-27 17:54:502467 days ago1511805290
0xEAB1ddad...404bC04E2
1.6606 ETH
46283172017-11-26 23:16:582468 days ago1511738218
0xEAB1ddad...404bC04E2
1 ETH
46281902017-11-26 22:49:512468 days ago1511736591
0xEAB1ddad...404bC04E2
2.9231 ETH
46272862017-11-26 19:18:052468 days ago1511723885
0xEAB1ddad...404bC04E2
3.4 ETH
45692872017-11-17 11:04:392477 days ago1510916679
0xEAB1ddad...404bC04E2
13 ETH
45651182017-11-16 19:04:082478 days ago1510859048
0xEAB1ddad...404bC04E2
0.5271 ETH
45649762017-11-16 18:25:072478 days ago1510856707
0xEAB1ddad...404bC04E2
9.3 ETH
45163782017-11-08 22:58:152486 days ago1510181895
0xEAB1ddad...404bC04E2
5 ETH
44851592017-11-03 22:38:242491 days ago1509748704
0xEAB1ddad...404bC04E2
9.7871 ETH
44847592017-11-03 21:07:342491 days ago1509743254
0xEAB1ddad...404bC04E2
10 ETH
43708552017-10-16 10:48:022509 days ago1508150882
0xEAB1ddad...404bC04E2
0.1176 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.