ETH Price: $2,201.43 (-5.03%)

Contract

0xeEA9Cd038C4E17A4Bb80Df36F8DbDFFC07352C89
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep68087722018-12-01 21:45:022664 days ago1543700702IN
0xeEA9Cd03...C07352C89
0 ETH0.0024996550
Transfer68087532018-12-01 21:41:242664 days ago1543700484IN
0xeEA9Cd03...C07352C89
5 ETH0.000185248.8
Transfer68087492018-12-01 21:40:122664 days ago1543700412IN
0xeEA9Cd03...C07352C89
5.58 ETH0.000185248.8
Sweep67795972018-11-27 2:05:172668 days ago1543284317IN
0xeEA9Cd03...C07352C89
0 ETH0.0024996550
Transfer67795812018-11-27 2:00:332668 days ago1543284033IN
0xeEA9Cd03...C07352C89
9 ETH0.000147357
Sweep67664552018-11-24 22:24:202671 days ago1543098260IN
0xeEA9Cd03...C07352C89
0 ETH0.0025028550
Transfer67664082018-11-24 22:15:022671 days ago1543097702IN
0xeEA9Cd03...C07352C89
3.99403762 ETH0.000189459
Sweep67645342018-11-24 14:56:242671 days ago1543071384IN
0xeEA9Cd03...C07352C89
0 ETH0.0024996550
Transfer67645302018-11-24 14:55:032671 days ago1543071303IN
0xeEA9Cd03...C07352C89
8 ETH0.00016848
Transfer67645202018-11-24 14:52:302671 days ago1543071150IN
0xeEA9Cd03...C07352C89
8 ETH0.0001688
Sweep67606482018-11-23 23:40:132671 days ago1543016413IN
0xeEA9Cd03...C07352C89
0 ETH0.0024996550
Transfer67606432018-11-23 23:38:462671 days ago1543016326IN
0xeEA9Cd03...C07352C89
6 ETH0.000147357
Sweep67606362018-11-23 23:37:252671 days ago1543016245IN
0xeEA9Cd03...C07352C89
0 ETH0.0024996550
Transfer67606102018-11-23 23:34:342672 days ago1543016074IN
0xeEA9Cd03...C07352C89
6 ETH0.000147357
Transfer67604892018-11-23 23:03:172672 days ago1543014197IN
0xeEA9Cd03...C07352C89
6 ETH0.00013656.5
Transfer67604832018-11-23 23:02:122672 days ago1543014132IN
0xeEA9Cd03...C07352C89
6 ETH0.00013656.5
Sweep67282382018-11-18 15:47:112677 days ago1542556031IN
0xeEA9Cd03...C07352C89
0 ETH0.0025028550
Transfer67282092018-11-18 15:39:392677 days ago1542555579IN
0xeEA9Cd03...C07352C89
11.70249368 ETH0.0002526112
Sweep64711662018-10-07 15:46:152719 days ago1538927175IN
0xeEA9Cd03...C07352C89
0 ETH0.0023259550
Sweep64426632018-10-03 0:29:372723 days ago1538526577IN
0xeEA9Cd03...C07352C89
0 ETH0.0023259550
Sweep64426452018-10-03 0:26:392723 days ago1538526399IN
0xeEA9Cd03...C07352C89
0 ETH0.0023227550
Sweep62487962018-08-31 21:34:242756 days ago1535751264IN
0xeEA9Cd03...C07352C89
0 ETH0.0024996550
Transfer62487702018-08-31 21:27:582756 days ago1535750878IN
0xeEA9Cd03...C07352C89
1.57 ETH0.00012636
Sweep62467932018-08-31 13:24:262756 days ago1535721866IN
0xeEA9Cd03...C07352C89
0 ETH0.0025028550
Transfer62467702018-08-31 13:20:212756 days ago1535721621IN
0xeEA9Cd03...C07352C89
0.79098437 ETH0.00016848
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-68087722018-12-01 21:45:022664 days ago1543700702
0xeEA9Cd03...C07352C89
10.58 ETH
Transfer67795972018-11-27 2:05:172668 days ago1543284317
0xeEA9Cd03...C07352C89
9 ETH
Transfer67664552018-11-24 22:24:202671 days ago1543098260
0xeEA9Cd03...C07352C89
3.99403762 ETH
Transfer67645342018-11-24 14:56:242671 days ago1543071384
0xeEA9Cd03...C07352C89
8 ETH
Transfer67606482018-11-23 23:40:132671 days ago1543016413
0xeEA9Cd03...C07352C89
6 ETH
Transfer67606362018-11-23 23:37:252671 days ago1543016245
0xeEA9Cd03...C07352C89
6 ETH
Transfer67282382018-11-18 15:47:112677 days ago1542556031
0xeEA9Cd03...C07352C89
11.70249368 ETH
Transfer62487962018-08-31 21:34:242756 days ago1535751264
0xeEA9Cd03...C07352C89
1.57 ETH
Transfer62467932018-08-31 13:24:262756 days ago1535721866
0xeEA9Cd03...C07352C89
0.79098437 ETH
Transfer62467332018-08-31 13:10:462756 days ago1535721046
0xeEA9Cd03...C07352C89
1.5 ETH
Transfer62169582018-08-26 12:33:152761 days ago1535286795
0xeEA9Cd03...C07352C89
3 ETH
Transfer62118992018-08-25 16:19:302762 days ago1535213970
0xeEA9Cd03...C07352C89
3 ETH
Transfer54684862018-04-19 12:56:202890 days ago1524142580
0xeEA9Cd03...C07352C89
0.0927 ETH
Transfer54332042018-04-13 12:41:012896 days ago1523623261
0xeEA9Cd03...C07352C89
0.096 ETH
Transfer54280422018-04-12 15:39:502897 days ago1523547590
0xeEA9Cd03...C07352C89
0.108 ETH
Transfer54159442018-04-10 15:07:432899 days ago1523372863
0xeEA9Cd03...C07352C89
0.125 ETH
Transfer53800142018-04-04 16:17:482905 days ago1522858668
0xeEA9Cd03...C07352C89
0.3339 ETH
Transfer53678342018-04-02 15:48:432907 days ago1522684123
0xeEA9Cd03...C07352C89
0.32 ETH
Transfer53438952018-03-29 16:15:492911 days ago1522340149
0xeEA9Cd03...C07352C89
0.183 ETH
Transfer53094312018-03-23 21:30:342917 days ago1521840634
0xeEA9Cd03...C07352C89
0.1423 ETH
Transfer50772882018-02-12 14:10:132956 days ago1518444613
0xeEA9Cd03...C07352C89
0.17557468 ETH
Transfer50534352018-02-08 14:28:182960 days ago1518100098
0xeEA9Cd03...C07352C89
0.3246528 ETH
Transfer50419412018-02-06 15:59:162962 days ago1517932756
0xeEA9Cd03...C07352C89
0.2 ETH
Transfer50177552018-02-02 14:34:402966 days ago1517582080
0xeEA9Cd03...C07352C89
0.16 ETH
Transfer50123292018-02-01 16:08:422967 days ago1517501322
0xeEA9Cd03...C07352C89
0.13268825 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code (Solidity)

/**
 *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

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

0x6060604052341561000c57fe5b60405160208061026c83398101604052515b60008054600160a060020a031916600160a060020a0383161790555b505b6102218061004b6000396000f300606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029000000000000000000000000a3c1e324ca1ce40db73ed6026c4a177f099b5770

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.