ETH Price: $2,070.95 (-4.30%)

Contract

0x28E852Ee5C93C454E59eBCD0b3cCf33b9AbDFD12
 

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
Sweep62293192018-08-28 14:37:292767 days ago1535467049IN
0x28E852Ee...b9AbDFD12
0 ETH0.0025028550
Transfer62292992018-08-28 14:32:102767 days ago1535466730IN
0x28E852Ee...b9AbDFD12
0.75417781 ETH0.0012630660
Sweep62289542018-08-28 13:13:152767 days ago1535461995IN
0x28E852Ee...b9AbDFD12
0 ETH0.0025028550
Transfer62289352018-08-28 13:07:562767 days ago1535461676IN
0x28E852Ee...b9AbDFD12
0.74917358 ETH0.0012630660
Sweep62256522018-08-27 23:37:322768 days ago1535413052IN
0x28E852Ee...b9AbDFD12
0 ETH0.0025028550
Transfer62256312018-08-27 23:33:002768 days ago1535412780IN
0x28E852Ee...b9AbDFD12
0.7326454 ETH0.0012630660
Transfer62256312018-08-27 23:33:002768 days ago1535412780IN
0x28E852Ee...b9AbDFD12
0.7326454 ETH0.0012630660
Sweep62210652018-08-27 5:09:132768 days ago1535346553IN
0x28E852Ee...b9AbDFD12
0 ETH0.0025028550
Transfer62210392018-08-27 5:02:262768 days ago1535346146IN
0x28E852Ee...b9AbDFD12
0.76014394 ETH0.0012630660
Sweep62196002018-08-26 23:08:492769 days ago1535324929IN
0x28E852Ee...b9AbDFD12
0 ETH0.0025028550
Transfer62195742018-08-26 23:02:082769 days ago1535324528IN
0x28E852Ee...b9AbDFD12
0.7301668 ETH0.0012630660
Sweep49100532018-01-15 1:30:202993 days ago1515979820IN
0x28E852Ee...b9AbDFD12
0 ETH0.0045051390
Transfer49100132018-01-15 1:21:312993 days ago1515979291IN
0x28E852Ee...b9AbDFD12
0.9747666 ETH0.0021051100
Sweep49041682018-01-14 0:20:532994 days ago1515889253IN
0x28E852Ee...b9AbDFD12
0 ETH0.00743346148.5
Transfer49040782018-01-13 23:58:432994 days ago1515887923IN
0x28E852Ee...b9AbDFD12
1.01852273 ETH0.0021051100
Sweep48983772018-01-12 22:42:092995 days ago1515796929IN
0x28E852Ee...b9AbDFD12
0 ETH0.0045051390
Transfer48983452018-01-12 22:32:362995 days ago1515796356IN
0x28E852Ee...b9AbDFD12
1.01993226 ETH0.0021051100
Sweep48881442018-01-11 1:21:292997 days ago1515633689IN
0x28E852Ee...b9AbDFD12
0 ETH0.0045051390
Transfer48881102018-01-11 1:11:272997 days ago1515633087IN
0x28E852Ee...b9AbDFD12
1.02149772 ETH0.0021051100
Sweep48878392018-01-10 23:59:442997 days ago1515628784IN
0x28E852Ee...b9AbDFD12
0 ETH0.0045051390
Transfer48878062018-01-10 23:50:272997 days ago1515628227IN
0x28E852Ee...b9AbDFD12
0.60567199 ETH0.0010525550
Sweep48846242018-01-10 9:54:592997 days ago1515578099IN
0x28E852Ee...b9AbDFD12
0 ETH0.0044993790
Transfer*48845932018-01-10 9:45:582997 days ago1515577558IN
0x28E852Ee...b9AbDFD12
0.44247967 ETH0.00304113144
Sweep48843722018-01-10 8:46:452997 days ago1515574005IN
0x28E852Ee...b9AbDFD12
0 ETH0.00600684120
Transfer*48843342018-01-10 8:37:142997 days ago1515573434IN
0x28E852Ee...b9AbDFD12
0.61869752 ETH0.00361134171
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer62293192018-08-28 14:37:292767 days ago1535467049
0x28E852Ee...b9AbDFD12
0.75417781 ETH
Transfer62289542018-08-28 13:13:152767 days ago1535461995
0x28E852Ee...b9AbDFD12
0.74917358 ETH
Transfer62256522018-08-27 23:37:322768 days ago1535413052
0x28E852Ee...b9AbDFD12
1.4652908 ETH
Transfer62210652018-08-27 5:09:132768 days ago1535346553
0x28E852Ee...b9AbDFD12
0.76014394 ETH
Transfer62196002018-08-26 23:08:492769 days ago1535324929
0x28E852Ee...b9AbDFD12
0.7301668 ETH
Transfer49100532018-01-15 1:30:202993 days ago1515979820
0x28E852Ee...b9AbDFD12
0.9747666 ETH
Transfer49041682018-01-14 0:20:532994 days ago1515889253
0x28E852Ee...b9AbDFD12
1.01852273 ETH
Transfer48983772018-01-12 22:42:092995 days ago1515796929
0x28E852Ee...b9AbDFD12
1.01993226 ETH
Transfer48881442018-01-11 1:21:292997 days ago1515633689
0x28E852Ee...b9AbDFD12
1.02149772 ETH
Transfer48878392018-01-10 23:59:442997 days ago1515628784
0x28E852Ee...b9AbDFD12
0.60567199 ETH
Transfer48846242018-01-10 9:54:592997 days ago1515578099
0x28E852Ee...b9AbDFD12
0.44247967 ETH
Transfer48843722018-01-10 8:46:452997 days ago1515574005
0x28E852Ee...b9AbDFD12
0.61869752 ETH
Transfer48839852018-01-10 6:58:002997 days ago1515567480
0x28E852Ee...b9AbDFD12
0.62385535 ETH
Transfer48829952018-01-10 2:28:112997 days ago1515551291
0x28E852Ee...b9AbDFD12
0.05405322 ETH
Transfer48807032018-01-09 16:19:212998 days ago1515514761
0x28E852Ee...b9AbDFD12
0.67680717 ETH
Transfer48805562018-01-09 15:37:522998 days ago1515512272
0x28E852Ee...b9AbDFD12
0.64845937 ETH
Transfer48789112018-01-09 8:17:452998 days ago1515485865
0x28E852Ee...b9AbDFD12
0.31005417 ETH
Transfer48782132018-01-09 5:07:432998 days ago1515474463
0x28E852Ee...b9AbDFD12
0.31464662 ETH
Transfer48772412018-01-09 0:48:092999 days ago1515458889
0x28E852Ee...b9AbDFD12
0.3025062 ETH
Transfer48769312018-01-08 23:24:522999 days ago1515453892
0x28E852Ee...b9AbDFD12
0.46954008 ETH
Transfer48764832018-01-08 21:27:082999 days ago1515446828
0x28E852Ee...b9AbDFD12
0.47702166 ETH
Transfer48762532018-01-08 20:23:452999 days ago1515443025
0x28E852Ee...b9AbDFD12
0.43321251 ETH
Transfer48752562018-01-08 16:08:352999 days ago1515427715
0x28E852Ee...b9AbDFD12
0.28735393 ETH
Transfer48749642018-01-08 14:48:342999 days ago1515422914
0x28E852Ee...b9AbDFD12
1.0166465 ETH
Transfer48742982018-01-08 11:41:052999 days ago1515411665
0x28E852Ee...b9AbDFD12
1.02334762 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.