ETH Price: $2,035.01 (+0.83%)

Contract

0xeaAb798eA1de65776641D5F7F4fA6dA7cA7FD0E8
 

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
Sweep48736042018-01-08 8:43:332983 days ago1515401013IN
0xeaAb798e...7cA7FD0E8
0 ETH0.0025496451
Transfer48735252018-01-08 8:23:252983 days ago1515399805IN
0xeaAb798e...7cA7FD0E8
0.5 ETH0.0013262163
Sweep48671822018-01-07 4:40:232984 days ago1515300023IN
0xeaAb798e...7cA7FD0E8
0 ETH0.00749895150
Transfer48671552018-01-07 4:32:492984 days ago1515299569IN
0xeaAb798e...7cA7FD0E8
0.44 ETH0.00231561110
Sweep48085982017-12-27 21:08:432994 days ago1514408923IN
0xeaAb798e...7cA7FD0E8
0 ETH0.0025496451
Transfer48085632017-12-27 20:59:372994 days ago1514408377IN
0xeaAb798e...7cA7FD0E8
1 ETH0.0004210220
Sweep47628472017-12-20 0:59:213002 days ago1513731561IN
0xeaAb798e...7cA7FD0E8
0 ETH0.0025496451
Transfer47627862017-12-20 0:44:373002 days ago1513730677IN
0xeaAb798e...7cA7FD0E8
1 ETH0.0007115233.8
Sweep47340372017-12-15 0:39:073007 days ago1513298347IN
0xeaAb798e...7cA7FD0E8
0 ETH0.0033665367.340098
Transfer47339912017-12-15 0:28:043007 days ago1513297684IN
0xeaAb798e...7cA7FD0E8
1.5 ETH0.0010125548.10007
Sweep47323542017-12-14 17:35:073007 days ago1513272907IN
0xeaAb798e...7cA7FD0E8
0 ETH0.0033665367.340098
Transfer47321962017-12-14 16:54:583007 days ago1513270498IN
0xeaAb798e...7cA7FD0E8
1 ETH0.0010125548.10007
Sweep43688792017-10-15 20:10:353067 days ago1508098235IN
0xeaAb798e...7cA7FD0E8
0 ETH0.0015497831
Transfer43688712017-10-15 20:03:163067 days ago1508097796IN
0xeaAb798e...7cA7FD0E8
1 ETH0.0004420721
Sweep43454742017-10-07 18:19:093075 days ago1507400349IN
0xeaAb798e...7cA7FD0E8
0 ETH0.0015497831
Transfer43454582017-10-07 18:11:523075 days ago1507399912IN
0xeaAb798e...7cA7FD0E8
1 ETH0.0004420721
Sweep42758532017-09-15 7:05:263098 days ago1505459126IN
0xeaAb798e...7cA7FD0E8
0 ETH0.0029620859.25
Transfer42758282017-09-15 6:56:563098 days ago1505458616IN
0xeaAb798e...7cA7FD0E8
0.3 ETH0.0010127248.10825194
Sweep42755182017-09-15 4:46:373098 days ago1505450797IN
0xeaAb798e...7cA7FD0E8
0 ETH0.002552951
Transfer42755122017-09-15 4:44:353098 days ago1505450675IN
0xeaAb798e...7cA7FD0E8
0.77645794 ETH0.000498923.69996794
Sweep42721982017-09-14 6:41:393099 days ago1505371299IN
0xeaAb798e...7cA7FD0E8
0 ETH0.0025496451
Transfer42721912017-09-14 6:38:313099 days ago1505371111IN
0xeaAb798e...7cA7FD0E8
1 ETH0.0004420721
Sweep42499922017-09-08 1:28:423105 days ago1504834122IN
0xeaAb798e...7cA7FD0E8
0 ETH0.002552951
Transfer42499802017-09-08 1:25:293105 days ago1504833929IN
0xeaAb798e...7cA7FD0E8
0.59882 ETH0.0004420721
Sweep42419852017-09-05 19:14:263107 days ago1504638866IN
0xeaAb798e...7cA7FD0E8
0 ETH0.0025496451
View all transactions

Latest 19 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer48736042018-01-08 8:43:332983 days ago1515401013
0xeaAb798e...7cA7FD0E8
0.5 ETH
Transfer48671822018-01-07 4:40:232984 days ago1515300023
0xeaAb798e...7cA7FD0E8
0.44 ETH
Transfer48085982017-12-27 21:08:432994 days ago1514408923
0xeaAb798e...7cA7FD0E8
1 ETH
Transfer47628472017-12-20 0:59:213002 days ago1513731561
0xeaAb798e...7cA7FD0E8
1 ETH
Transfer47340372017-12-15 0:39:073007 days ago1513298347
0xeaAb798e...7cA7FD0E8
1.5 ETH
Transfer47323542017-12-14 17:35:073007 days ago1513272907
0xeaAb798e...7cA7FD0E8
1 ETH
Transfer43688792017-10-15 20:10:353067 days ago1508098235
0xeaAb798e...7cA7FD0E8
1 ETH
Transfer43454742017-10-07 18:19:093075 days ago1507400349
0xeaAb798e...7cA7FD0E8
1 ETH
Transfer42758532017-09-15 7:05:263098 days ago1505459126
0xeaAb798e...7cA7FD0E8
0.3 ETH
Transfer42755182017-09-15 4:46:373098 days ago1505450797
0xeaAb798e...7cA7FD0E8
0.77645794 ETH
Transfer42721982017-09-14 6:41:393099 days ago1505371299
0xeaAb798e...7cA7FD0E8
1 ETH
Transfer42499922017-09-08 1:28:423105 days ago1504834122
0xeaAb798e...7cA7FD0E8
0.59882 ETH
Transfer42419852017-09-05 19:14:263107 days ago1504638866
0xeaAb798e...7cA7FD0E8
1 ETH
Transfer42324782017-09-03 2:28:533110 days ago1504405733
0xeaAb798e...7cA7FD0E8
1 ETH
Transfer42175062017-08-29 20:32:413114 days ago1504038761
0xeaAb798e...7cA7FD0E8
1 ETH
Transfer41762532017-08-19 5:20:593125 days ago1503120059
0xeaAb798e...7cA7FD0E8
2 ETH
Transfer41626322017-08-15 22:43:083128 days ago1502836988
0xeaAb798e...7cA7FD0E8
2 ETH
Transfer41578462017-08-14 18:54:343129 days ago1502736874
0xeaAb798e...7cA7FD0E8
0.2 ETH
Transfer41569092017-08-14 13:33:203130 days ago1502717600  Contract Creation0 ETH
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.