ETH Price: $2,017.82 (+5.09%)
 

Overview

ETH Balance

0.021731916635867503 ETH

Eth Value

$43.85 (@ $2,017.82/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer55860062018-05-09 22:41:252852 days ago1525905685IN
0xbD0F9efC...1DBDF430c
0.02173191 ETH0.0002105110
Sweep52516002018-03-14 3:37:452909 days ago1520998665IN
0xbD0F9efC...1DBDF430c
0 ETH0.0024996550
Transfer52515492018-03-14 3:28:052909 days ago1520998085IN
0xbD0F9efC...1DBDF430c
0.05088641 ETH0.000021051
Sweep50732992018-02-11 22:09:072939 days ago1518386947IN
0xbD0F9efC...1DBDF430c
0 ETH0.0045051390
Transfer50732662018-02-11 22:00:092939 days ago1518386409IN
0xbD0F9efC...1DBDF430c
0.08604435 ETH0.000021051
Sweep50627322018-02-10 3:43:132941 days ago1518234193IN
0xbD0F9efC...1DBDF430c
0 ETH0.0044993790
Transfer50627042018-02-10 3:34:472941 days ago1518233687IN
0xbD0F9efC...1DBDF430c
0.05003839 ETH0.000021051
Sweep50587022018-02-09 11:19:282941 days ago1518175168IN
0xbD0F9efC...1DBDF430c
0 ETH0.0044993790
Transfer50586742018-02-09 11:12:432941 days ago1518174763IN
0xbD0F9efC...1DBDF430c
0.05031773 ETH0.000021051
Sweep50559872018-02-09 0:27:532942 days ago1518136073IN
0xbD0F9efC...1DBDF430c
0 ETH0.0044993790
Transfer50559572018-02-09 0:21:312942 days ago1518135691IN
0xbD0F9efC...1DBDF430c
0.05002472 ETH0.000021051
Sweep50540842018-02-08 16:59:172942 days ago1518109157IN
0xbD0F9efC...1DBDF430c
0 ETH0.0044993790
Transfer50540512018-02-08 16:50:482942 days ago1518108648IN
0xbD0F9efC...1DBDF430c
0.05299433 ETH0.000021051
Sweep50525392018-02-08 10:51:442942 days ago1518087104IN
0xbD0F9efC...1DBDF430c
0 ETH0.0044993790
Transfer50525142018-02-08 10:45:012942 days ago1518086701IN
0xbD0F9efC...1DBDF430c
0.05204348 ETH0.000021051
Sweep50511432018-02-08 5:10:112942 days ago1518066611IN
0xbD0F9efC...1DBDF430c
0 ETH0.0044993790
Transfer50511112018-02-08 5:02:192943 days ago1518066139IN
0xbD0F9efC...1DBDF430c
0.0502875 ETH0.000021051
Sweep50498212018-02-07 23:50:512943 days ago1518047451IN
0xbD0F9efC...1DBDF430c
0 ETH0.0044993790
Transfer50497822018-02-07 23:40:262943 days ago1518046826IN
0xbD0F9efC...1DBDF430c
0.05252222 ETH0.000021051
Sweep50484702018-02-07 18:11:092943 days ago1518027069IN
0xbD0F9efC...1DBDF430c
0 ETH0.0044993790
Transfer50484342018-02-07 18:02:172943 days ago1518026537IN
0xbD0F9efC...1DBDF430c
0.05390986 ETH0.000021051
Sweep50473032018-02-07 13:36:092943 days ago1518010569IN
0xbD0F9efC...1DBDF430c
0 ETH0.0044993790
Transfer50472772018-02-07 13:31:112943 days ago1518010271IN
0xbD0F9efC...1DBDF430c
0.05113022 ETH0.000021051
Sweep50464642018-02-07 10:13:232943 days ago1517998403IN
0xbD0F9efC...1DBDF430c
0 ETH0.0045051390
Transfer50464292018-02-07 10:03:262943 days ago1517997806IN
0xbD0F9efC...1DBDF430c
0.07911474 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer52516002018-03-14 3:37:452909 days ago1520998665
0xbD0F9efC...1DBDF430c
0.05088641 ETH
Transfer50732992018-02-11 22:09:072939 days ago1518386947
0xbD0F9efC...1DBDF430c
0.08604436 ETH
Transfer50627322018-02-10 3:43:132941 days ago1518234193
0xbD0F9efC...1DBDF430c
0.05003839 ETH
Transfer50587022018-02-09 11:19:282941 days ago1518175168
0xbD0F9efC...1DBDF430c
0.05031774 ETH
Transfer50559872018-02-09 0:27:532942 days ago1518136073
0xbD0F9efC...1DBDF430c
0.05002472 ETH
Transfer50540842018-02-08 16:59:172942 days ago1518109157
0xbD0F9efC...1DBDF430c
0.05299433 ETH
Transfer50525392018-02-08 10:51:442942 days ago1518087104
0xbD0F9efC...1DBDF430c
0.05204348 ETH
Transfer50511432018-02-08 5:10:112942 days ago1518066611
0xbD0F9efC...1DBDF430c
0.05028751 ETH
Transfer50498212018-02-07 23:50:512943 days ago1518047451
0xbD0F9efC...1DBDF430c
0.05252223 ETH
Transfer50484702018-02-07 18:11:092943 days ago1518027069
0xbD0F9efC...1DBDF430c
0.05390986 ETH
Transfer50473032018-02-07 13:36:092943 days ago1518010569
0xbD0F9efC...1DBDF430c
0.05113023 ETH
Transfer50464642018-02-07 10:13:232943 days ago1517998403
0xbD0F9efC...1DBDF430c
0.07911475 ETH
Transfer50456372018-02-07 6:55:562943 days ago1517986556
0xbD0F9efC...1DBDF430c
0.13294654 ETH
Transfer50448292018-02-07 3:35:362944 days ago1517974536
0xbD0F9efC...1DBDF430c
0.08228452 ETH
Transfer50440302018-02-07 0:18:412944 days ago1517962721
0xbD0F9efC...1DBDF430c
0.05782149 ETH
Transfer50423782018-02-06 17:46:332944 days ago1517939193
0xbD0F9efC...1DBDF430c
0.05421691 ETH
Transfer50404222018-02-06 9:50:392944 days ago1517910639
0xbD0F9efC...1DBDF430c
0.05366818 ETH
Transfer50384412018-02-06 1:45:592945 days ago1517881559
0xbD0F9efC...1DBDF430c
0.05022029 ETH
Transfer50366852018-02-05 18:40:052945 days ago1517856005
0xbD0F9efC...1DBDF430c
0.051369 ETH
Transfer50352002018-02-05 12:37:122945 days ago1517834232
0xbD0F9efC...1DBDF430c
0.05052326 ETH
Transfer50317452018-02-04 22:55:262946 days ago1517784926
0xbD0F9efC...1DBDF430c
0.2012487 ETH
Transfer50213032018-02-03 4:59:162948 days ago1517633956
0xbD0F9efC...1DBDF430c
0.15520321 ETH
Transfer50158392018-02-02 6:50:502948 days ago1517554250
0xbD0F9efC...1DBDF430c
0.08278084 ETH
Transfer47705382017-12-21 10:05:392991 days ago1513850739
0xbD0F9efC...1DBDF430c
1.10723896 ETH
Transfer44614512017-10-31 2:45:293043 days ago1509417929  Contract Creation0 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.