ETH Price: $1,971.96 (+0.11%)
 

Overview

ETH Balance

0.000000004 ETH

Eth Value

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

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer120858262021-03-22 2:07:261798 days ago1616378846IN
0x906D9529...068C02d7a
0.11580289 ETH0.003339159
Transfer116708852021-01-17 5:41:181862 days ago1610862078IN
0x906D9529...068C02d7a
0.04035431 ETH0.0012574859.88
Transfer116687972021-01-16 21:53:121862 days ago1610833992IN
0x906D9529...068C02d7a
0.04035431 ETH0.0015341173.05289117
Sweep116258332021-01-10 7:54:061869 days ago1610265246IN
0x906D9529...068C02d7a
0 ETH0.0038969568.4
Transfer116258082021-01-10 7:47:311869 days ago1610264851IN
0x906D9529...068C02d7a
0.5 ETH0.0012933761.44000183
Sweep116118162021-01-08 4:18:441871 days ago1610079524IN
0x906D9529...068C02d7a
0 ETH0.00664673116.64
0x906d9529116117902021-01-08 4:13:021871 days ago1610079182IN
0x906D9529...068C02d7a
0.40750721 ETH0.0017576782.00000145
Sweep107397612020-08-27 1:56:242005 days ago1598493384IN
0x906D9529...068C02d7a
0 ETH0.0044495978.1
Transfer107397362020-08-27 1:52:082005 days ago1598493128IN
0x906D9529...068C02d7a
2 ETH0.0014714669.90000102
Transfer107395262020-08-27 1:02:182005 days ago1598490138IN
0x906D9529...068C02d7a
2 ETH0.001329363.3
Transfer107382332020-08-26 20:13:002005 days ago1598472780IN
0x906D9529...068C02d7a
6 ETH0.001690580.50000056
Sweep82815812019-08-04 2:44:322394 days ago1564886672IN
0x906D9529...068C02d7a
0 ETH0.0011012522
Transfer82815612019-08-04 2:39:382394 days ago1564886378IN
0x906D9529...068C02d7a
0.56327873 ETH0.000105255
Transfer79931602019-06-20 5:13:552439 days ago1561007635IN
0x906D9529...068C02d7a
0.03938906 ETH0.0004220
Transfer79930752019-06-20 4:56:582439 days ago1561006618IN
0x906D9529...068C02d7a
0.03885 ETH0.0004220
Transfer79929682019-06-20 4:32:322439 days ago1561005152IN
0x906D9529...068C02d7a
1.52 ETH0.0004220
Sweep43323192017-10-03 4:40:393064 days ago1507005639IN
0x906D9529...068C02d7a
0 ETH0.0015497831
Transfer43323102017-10-03 4:37:203064 days ago1507005440IN
0x906D9529...068C02d7a
0.58528 ETH0.0004803222.81738295
Sweep43010432017-09-22 7:30:423075 days ago1506065442IN
0x906D9529...068C02d7a
0 ETH0.002552951
Transfer43010332017-09-22 7:26:523075 days ago1506065212IN
0x906D9529...068C02d7a
0.2255 ETH0.001073651
Sweep43001682017-09-22 0:34:353075 days ago1506040475IN
0x906D9529...068C02d7a
0 ETH0.002552951
Transfer43001522017-09-22 0:30:393075 days ago1506040239IN
0x906D9529...068C02d7a
0.355 ETH0.001073651
Sweep42866612017-09-18 6:59:593079 days ago1505717999IN
0x906D9529...068C02d7a
0 ETH0.002552951
Transfer42866522017-09-18 6:55:063079 days ago1505717706IN
0x906D9529...068C02d7a
0.68913 ETH0.0005449925.8893328
Sweep42256572017-09-01 4:10:093096 days ago1504239009IN
0x906D9529...068C02d7a
0 ETH0.0022525645
View all transactions

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-116258332021-01-10 7:54:061869 days ago1610265246
0x906D9529...068C02d7a
0.5 ETH
-116118162021-01-08 4:18:441871 days ago1610079524
0x906D9529...068C02d7a
0.40750721 ETH
-107397612020-08-27 1:56:242005 days ago1598493384
0x906D9529...068C02d7a
2 ETH
-82815812019-08-04 2:44:322394 days ago1564886672
0x906D9529...068C02d7a
0.56327873 ETH
Transfer43323192017-10-03 4:40:393064 days ago1507005639
0x906D9529...068C02d7a
0.58528 ETH
Transfer43010432017-09-22 7:30:423075 days ago1506065442
0x906D9529...068C02d7a
0.2255 ETH
Transfer43001682017-09-22 0:34:353075 days ago1506040475
0x906D9529...068C02d7a
0.355 ETH
Transfer42866612017-09-18 6:59:593079 days ago1505717999
0x906D9529...068C02d7a
0.68913 ETH
Transfer42256572017-09-01 4:10:093096 days ago1504239009
0x906D9529...068C02d7a
0.41811 ETH
Transfer42094882017-08-27 13:21:393100 days ago1503840099
0x906D9529...068C02d7a
0.3255 ETH
Transfer42072392017-08-26 22:00:423101 days ago1503784842
0x906D9529...068C02d7a
1.55 ETH
Transfer41846332017-08-21 5:34:003107 days ago1503293640
0x906D9529...068C02d7a
0.425 ETH
Transfer41778102017-08-19 14:16:023108 days ago1503152162  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.