ETH Price: $1,973.33 (+1.34%)
 

Overview

ETH Balance

0.000000007686413456 ETH

Eth Value

Less Than $0.01 (@ $1,973.33/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep79957112019-06-20 14:49:452446 days ago1561042185IN
0xB6CdCC11...88cBcDC8b
0 ETH0.0014997930
Transfer79956892019-06-20 14:45:452446 days ago1561041945IN
0xB6CdCC11...88cBcDC8b
0.05004996 ETH0.0002105110
Sweep79720622019-06-16 21:50:112449 days ago1560721811IN
0xB6CdCC11...88cBcDC8b
0 ETH0.0024996550
Transfer79720422019-06-16 21:47:192449 days ago1560721639IN
0xB6CdCC11...88cBcDC8b
0.05005093 ETH0.0002105110
Sweep79476492019-06-13 2:27:122453 days ago1560392832IN
0xB6CdCC11...88cBcDC8b
0 ETH0.0024996550
Transfer79476342019-06-13 2:23:182453 days ago1560392598IN
0xB6CdCC11...88cBcDC8b
0.05003238 ETH0.0002105110
Sweep79247942019-06-09 12:40:082457 days ago1560084008IN
0xB6CdCC11...88cBcDC8b
0 ETH0.0024996550
Transfer79247642019-06-09 12:35:222457 days ago1560083722IN
0xB6CdCC11...88cBcDC8b
0.05014587 ETH0.0002105110
Sweep79008622019-06-05 18:41:512461 days ago1559760111IN
0xB6CdCC11...88cBcDC8b
0 ETH0.0024996550
Transfer79008492019-06-05 18:37:222461 days ago1559759842IN
0xB6CdCC11...88cBcDC8b
0.05001795 ETH0.0002105110
Sweep78802512019-06-02 13:06:592464 days ago1559480819IN
0xB6CdCC11...88cBcDC8b
0 ETH0.0024996550
Transfer78802372019-06-02 13:03:372464 days ago1559480617IN
0xB6CdCC11...88cBcDC8b
0.05002023 ETH0.0002105110
Sweep78581752019-05-30 2:03:092467 days ago1559181789IN
0xB6CdCC11...88cBcDC8b
0 ETH0.0024964550
Transfer78581492019-05-30 1:57:182467 days ago1559181438IN
0xB6CdCC11...88cBcDC8b
0.05003199 ETH0.0002105110
Sweep78167952019-05-23 15:36:412474 days ago1558625801IN
0xB6CdCC11...88cBcDC8b
0 ETH0.0024996550
Transfer78167742019-05-23 15:32:292474 days ago1558625549IN
0xB6CdCC11...88cBcDC8b
0.05005594 ETH0.0002105110
Sweep77949772019-05-20 5:17:152477 days ago1558329435IN
0xB6CdCC11...88cBcDC8b
0 ETH0.0024996550
Transfer77949542019-05-20 5:12:052477 days ago1558329125IN
0xB6CdCC11...88cBcDC8b
0.05010129 ETH0.0002105110
Sweep77694662019-05-16 5:25:032481 days ago1557984303IN
0xB6CdCC11...88cBcDC8b
0 ETH0.0024996550
Transfer77694452019-05-16 5:21:032481 days ago1557984063IN
0xB6CdCC11...88cBcDC8b
0.05003993 ETH0.0002105110
Sweep77248832019-05-09 6:40:172488 days ago1557384017IN
0xB6CdCC11...88cBcDC8b
0 ETH0.0024996550
Transfer77248582019-05-09 6:35:492488 days ago1557383749IN
0xB6CdCC11...88cBcDC8b
0.05007267 ETH0.0002105110
Sweep76975552019-05-04 23:41:512492 days ago1557013311IN
0xB6CdCC11...88cBcDC8b
0 ETH0.0024996550
Transfer76975382019-05-04 23:39:102492 days ago1557013150IN
0xB6CdCC11...88cBcDC8b
0.05004767 ETH0.0002105110
Sweep76724532019-05-01 2:14:072496 days ago1556676847IN
0xB6CdCC11...88cBcDC8b
0 ETH0.0024996550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-79957112019-06-20 14:49:452446 days ago1561042185
0xB6CdCC11...88cBcDC8b
0.05004996 ETH
-79720622019-06-16 21:50:112449 days ago1560721811
0xB6CdCC11...88cBcDC8b
0.05005093 ETH
-79476492019-06-13 2:27:122453 days ago1560392832
0xB6CdCC11...88cBcDC8b
0.05003238 ETH
-79247942019-06-09 12:40:082457 days ago1560084008
0xB6CdCC11...88cBcDC8b
0.05014588 ETH
-79008622019-06-05 18:41:512461 days ago1559760111
0xB6CdCC11...88cBcDC8b
0.05001795 ETH
-78802512019-06-02 13:06:592464 days ago1559480819
0xB6CdCC11...88cBcDC8b
0.05002024 ETH
-78581752019-05-30 2:03:092467 days ago1559181789
0xB6CdCC11...88cBcDC8b
0.050032 ETH
-78167952019-05-23 15:36:412474 days ago1558625801
0xB6CdCC11...88cBcDC8b
0.05005594 ETH
-77949772019-05-20 5:17:152477 days ago1558329435
0xB6CdCC11...88cBcDC8b
0.0501013 ETH
-77694662019-05-16 5:25:032481 days ago1557984303
0xB6CdCC11...88cBcDC8b
0.05003993 ETH
-77248832019-05-09 6:40:172488 days ago1557384017
0xB6CdCC11...88cBcDC8b
0.05007268 ETH
-76975552019-05-04 23:41:512492 days ago1557013311
0xB6CdCC11...88cBcDC8b
0.05004767 ETH
-76724532019-05-01 2:14:072496 days ago1556676847
0xB6CdCC11...88cBcDC8b
0.05006684 ETH
-76468772019-04-27 2:39:222500 days ago1556332762
0xB6CdCC11...88cBcDC8b
0.05000448 ETH
-76058322019-04-20 17:28:132507 days ago1555781293
0xB6CdCC11...88cBcDC8b
0.05004001 ETH
-75831162019-04-17 4:14:542510 days ago1555474494
0xB6CdCC11...88cBcDC8b
0.05002118 ETH
-75600972019-04-13 14:21:052514 days ago1555165265
0xB6CdCC11...88cBcDC8b
0.05015905 ETH
-75382732019-04-10 4:53:182517 days ago1554871998
0xB6CdCC11...88cBcDC8b
0.0500301 ETH
-75159292019-04-06 17:34:122521 days ago1554572052
0xB6CdCC11...88cBcDC8b
0.05006131 ETH
-74920102019-04-02 23:55:052524 days ago1554249305
0xB6CdCC11...88cBcDC8b
0.05010932 ETH
-74677682019-03-30 5:00:092528 days ago1553922009
0xB6CdCC11...88cBcDC8b
0.0501426 ETH
-74406752019-03-25 23:09:272532 days ago1553555367
0xB6CdCC11...88cBcDC8b
0.05005603 ETH
-74114692019-03-21 9:57:492537 days ago1553162269
0xB6CdCC11...88cBcDC8b
0.05001164 ETH
-73876682019-03-17 16:51:202541 days ago1552841480
0xB6CdCC11...88cBcDC8b
0.05006123 ETH
-73646482019-03-14 3:06:082544 days ago1552532768
0xB6CdCC11...88cBcDC8b
0.05012864 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.