ETH Price: $2,023.08 (+1.75%)

Contract

0xDB55c479C151e5EbaED893FCE82cD99eB86BAf40
 

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
Sweep64993252018-10-12 5:12:012724 days ago1539321121IN
0xDB55c479...eB86BAf40
0 ETH0.0024996550
Transfer64993032018-10-12 5:07:462724 days ago1539320866IN
0xDB55c479...eB86BAf40
0.2 ETH0.0008630941
Sweep64927222018-10-11 3:27:132725 days ago1539228433IN
0xDB55c479...eB86BAf40
0 ETH0.0025028550
Transfer64927082018-10-11 3:22:542725 days ago1539228174IN
0xDB55c479...eB86BAf40
0.07305632 ETH0.0003157615
Sweep61730982018-08-19 2:56:532778 days ago1534647413IN
0xDB55c479...eB86BAf40
0 ETH0.0050057100
Transfer61730752018-08-19 2:50:242778 days ago1534647024IN
0xDB55c479...eB86BAf40
0.529 ETH0.0008630941
Sweep61613622018-08-17 2:54:352780 days ago1534474475IN
0xDB55c479...eB86BAf40
0 ETH0.00502429100.5
Transfer61613472018-08-17 2:49:022780 days ago1534474142IN
0xDB55c479...eB86BAf40
0.25 ETH0.0008630941
Sweep61612652018-08-17 2:27:362780 days ago1534472856IN
0xDB55c479...eB86BAf40
0 ETH0.0049993100
Transfer61612252018-08-17 2:18:212780 days ago1534472301IN
0xDB55c479...eB86BAf40
0.4 ETH0.0008630941
Sweep59015382018-07-04 1:57:372824 days ago1530669457IN
0xDB55c479...eB86BAf40
0 ETH0.0049993100
Transfer59015222018-07-04 1:52:342824 days ago1530669154IN
0xDB55c479...eB86BAf40
0.2 ETH0.0008630941
Sweep58966262018-07-03 5:43:252825 days ago1530596605IN
0xDB55c479...eB86BAf40
0 ETH0.00559921112
Transfer58966042018-07-03 5:37:012825 days ago1530596221IN
0xDB55c479...eB86BAf40
0.0535865 ETH0.00221035105
Sweep58963562018-07-03 4:32:412825 days ago1530592361IN
0xDB55c479...eB86BAf40
0 ETH0.00663011132.6208942
Transfer58963302018-07-03 4:26:112825 days ago1530591971IN
0xDB55c479...eB86BAf40
0.1 ETH0.0008630941
Sweep58471892018-06-24 17:25:102833 days ago1529861110IN
0xDB55c479...eB86BAf40
0 ETH0.0025028550
Sweep58204412018-06-20 3:50:042838 days ago1529466604IN
0xDB55c479...eB86BAf40
0 ETH0.0025028550
Sweep57874602018-06-14 12:46:492844 days ago1528980409IN
0xDB55c479...eB86BAf40
0 ETH0.0024996550
Transfer57874322018-06-14 12:40:592844 days ago1528980059IN
0xDB55c479...eB86BAf40
0.02068657 ETH0.0002526112
Transfer57873622018-06-14 12:22:492844 days ago1528978969IN
0xDB55c479...eB86BAf40
0.040984 ETH0.0002105110
Sweep57873462018-06-14 12:20:092844 days ago1528978809IN
0xDB55c479...eB86BAf40
0 ETH0.0024964550
Transfer57873272018-06-14 12:15:042844 days ago1528978504IN
0xDB55c479...eB86BAf40
0.05 ETH0.0008630941
Sweep57848352018-06-14 1:46:312844 days ago1528940791IN
0xDB55c479...eB86BAf40
0 ETH0.0024996550
Transfer57848152018-06-14 1:41:222844 days ago1528940482IN
0xDB55c479...eB86BAf40
0.1 ETH0.0008630941
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer64993252018-10-12 5:12:012724 days ago1539321121
0xDB55c479...eB86BAf40
0.2 ETH
Transfer64927222018-10-11 3:27:132725 days ago1539228433
0xDB55c479...eB86BAf40
0.07305632 ETH
Transfer61730982018-08-19 2:56:532778 days ago1534647413
0xDB55c479...eB86BAf40
0.529 ETH
Transfer61613622018-08-17 2:54:352780 days ago1534474475
0xDB55c479...eB86BAf40
0.25 ETH
Transfer61612652018-08-17 2:27:362780 days ago1534472856
0xDB55c479...eB86BAf40
0.4 ETH
Transfer59015382018-07-04 1:57:372824 days ago1530669457
0xDB55c479...eB86BAf40
0.2 ETH
Transfer58966262018-07-03 5:43:252825 days ago1530596605
0xDB55c479...eB86BAf40
0.0535865 ETH
Transfer58963562018-07-03 4:32:412825 days ago1530592361
0xDB55c479...eB86BAf40
0.1 ETH
Transfer58471892018-06-24 17:25:102833 days ago1529861110
0xDB55c479...eB86BAf40
0.10480909 ETH
Transfer58471552018-06-24 17:17:392833 days ago1529860659
0xDB55c479...eB86BAf40
0.10480909 ETH
Transfer58204412018-06-20 3:50:042838 days ago1529466604
0xDB55c479...eB86BAf40
0.090649 ETH
Transfer58204052018-06-20 3:43:462838 days ago1529466226
0xDB55c479...eB86BAf40
0.090649 ETH
Transfer57874602018-06-14 12:46:492844 days ago1528980409
0xDB55c479...eB86BAf40
0.06167057 ETH
Transfer57873462018-06-14 12:20:092844 days ago1528978809
0xDB55c479...eB86BAf40
0.05 ETH
Transfer57848352018-06-14 1:46:312844 days ago1528940791
0xDB55c479...eB86BAf40
0.1 ETH
Transfer57064752018-05-31 5:00:422858 days ago1527742842
0xDB55c479...eB86BAf40
0.19 ETH
Transfer56670102018-05-24 5:12:392865 days ago1527138759
0xDB55c479...eB86BAf40
0.06 ETH
Transfer55181342018-04-28 2:12:382891 days ago1524881558
0xDB55c479...eB86BAf40
0.05723575 ETH
Transfer55176782018-04-28 0:24:192891 days ago1524875059
0xDB55c479...eB86BAf40
0.05763888 ETH
Transfer55010102018-04-25 3:22:312894 days ago1524626551
0xDB55c479...eB86BAf40
0.13396454 ETH
Transfer55009862018-04-25 3:17:372894 days ago1524626257
0xDB55c479...eB86BAf40
0.13396454 ETH
Transfer54757172018-04-20 19:02:232898 days ago1524250943
0xDB55c479...eB86BAf40
0.0842895 ETH
Transfer54690112018-04-19 15:09:002899 days ago1524150540
0xDB55c479...eB86BAf40
0.08485534 ETH
Transfer54645642018-04-18 20:43:172900 days ago1524084197
0xDB55c479...eB86BAf40
0.0574959 ETH
Transfer54578562018-04-17 17:02:372901 days ago1523984557
0xDB55c479...eB86BAf40
0.0593601 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.