ETH Price: $1,899.40 (-2.26%)
 

Overview

ETH Balance

0.003538054423306061 ETH

Eth Value

$6.72 (@ $1,899.40/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer155831762022-09-21 17:17:111255 days ago1663780631IN
0x20e6f4b7...b38AD3Fd6
0.00353805 ETH0.0002973814.12689224
Sweep117683112021-02-01 4:58:111853 days ago1612155491IN
0x20e6f4b7...b38AD3Fd6
0 ETH0.01146049183.6
Sweep106393052020-08-11 15:05:512026 days ago1597158351IN
0x20e6f4b7...b38AD3Fd6
0 ETH0.01299258228
Transfer106392902020-08-11 15:00:552026 days ago1597158055IN
0x20e6f4b7...b38AD3Fd6
0.20229714 ETH0.0006336330.1
Sweep105216802020-07-24 10:35:292045 days ago1595586929IN
0x20e6f4b7...b38AD3Fd6
0 ETH0.00692367121.5
Transfer105216502020-07-24 10:29:392045 days ago1595586579IN
0x20e6f4b7...b38AD3Fd6
0.20006118 ETH0.0010546550.1
Sweep104426852020-07-12 4:58:562057 days ago1594529936IN
0x20e6f4b7...b38AD3Fd6
0 ETH0.0012821622.5
Transfer104426572020-07-12 4:53:562057 days ago1594529636IN
0x20e6f4b7...b38AD3Fd6
0.20027572 ETH0.0006315330
Sweep103201272020-06-23 5:21:042076 days ago1592889664IN
0x20e6f4b7...b38AD3Fd6
0 ETH0.0030771954
Transfer103201142020-06-23 5:18:552076 days ago1592889535IN
0x20e6f4b7...b38AD3Fd6
0.20027094 ETH0.0006315330
Sweep102354242020-06-10 3:02:582089 days ago1591758178IN
0x20e6f4b7...b38AD3Fd6
0 ETH0.0028201649.50000404
Transfer102354052020-06-10 2:59:192089 days ago1591757959IN
0x20e6f4b7...b38AD3Fd6
0.02644796 ETH0.0007386735.09000028
Transfer102287882020-06-09 2:13:572090 days ago1591668837IN
0x20e6f4b7...b38AD3Fd6
0.02669754 ETH0.0007409935.2
Sweep102224132020-06-08 2:26:472091 days ago1591583207IN
0x20e6f4b7...b38AD3Fd6
0 ETH0.0023928642
Transfer102223912020-06-08 2:21:292091 days ago1591582889IN
0x20e6f4b7...b38AD3Fd6
0.02610796 ETH0.0006483730.8
Transfer102162172020-06-07 3:24:352092 days ago1591500275IN
0x20e6f4b7...b38AD3Fd6
0.02645363 ETH0.0004399620.90000123
Sweep102098302020-06-06 3:37:072093 days ago1591414627IN
0x20e6f4b7...b38AD3Fd6
0 ETH0.0015576227.33962045
Transfer102098092020-06-06 3:33:302093 days ago1591414410IN
0x20e6f4b7...b38AD3Fd6
0.02367141 ETH0.0004323620.53878281
Transfer102028822020-06-05 1:57:572094 days ago1591322277IN
0x20e6f4b7...b38AD3Fd6
0.02005333 ETH0.0004584921.78
Transfer101968152020-06-04 3:13:072095 days ago1591240387IN
0x20e6f4b7...b38AD3Fd6
0.02460788 ETH0.0005557426.4
Sweep101903242020-06-03 2:56:282096 days ago1591152988IN
0x20e6f4b7...b38AD3Fd6
0 ETH0.0017177330.15
Transfer101903022020-06-03 2:51:462096 days ago1591152706IN
0x20e6f4b7...b38AD3Fd6
0.0246391 ETH0.0005094324.2
Transfer101838672020-06-02 3:04:292097 days ago1591067069IN
0x20e6f4b7...b38AD3Fd6
0.02593634 ETH0.000787337.4
Sweep101773332020-06-01 2:28:362098 days ago1590978516IN
0x20e6f4b7...b38AD3Fd6
0 ETH0.0021364837.5
Transfer101773082020-06-01 2:22:162098 days ago1590978136IN
0x20e6f4b7...b38AD3Fd6
0.02527742 ETH0.0005302725.19
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-106393052020-08-11 15:05:512026 days ago1597158351
0x20e6f4b7...b38AD3Fd6
0.20229715 ETH
-105216802020-07-24 10:35:292045 days ago1595586929
0x20e6f4b7...b38AD3Fd6
0.20006118 ETH
-104426852020-07-12 4:58:562057 days ago1594529936
0x20e6f4b7...b38AD3Fd6
0.20027573 ETH
-103201272020-06-23 5:21:042076 days ago1592889664
0x20e6f4b7...b38AD3Fd6
0.20027095 ETH
-102354242020-06-10 3:02:582089 days ago1591758178
0x20e6f4b7...b38AD3Fd6
0.05314551 ETH
-102224132020-06-08 2:26:472091 days ago1591583207
0x20e6f4b7...b38AD3Fd6
0.0525616 ETH
-102098302020-06-06 3:37:072093 days ago1591414627
0x20e6f4b7...b38AD3Fd6
0.06833264 ETH
-101903242020-06-03 2:56:282096 days ago1591152988
0x20e6f4b7...b38AD3Fd6
0.05057545 ETH
-101773332020-06-01 2:28:362098 days ago1590978516
0x20e6f4b7...b38AD3Fd6
0.05115956 ETH
-101652012020-05-30 5:21:592100 days ago1590816119
0x20e6f4b7...b38AD3Fd6
0.05399182 ETH
-101517162020-05-28 3:00:022102 days ago1590634802
0x20e6f4b7...b38AD3Fd6
0.05416297 ETH
-101392372020-05-26 4:30:552104 days ago1590467455
0x20e6f4b7...b38AD3Fd6
0.05428146 ETH
-101261452020-05-24 3:28:572106 days ago1590290937
0x20e6f4b7...b38AD3Fd6
0.05478666 ETH
-101130112020-05-22 2:22:232108 days ago1590114143
0x20e6f4b7...b38AD3Fd6
0.05420819 ETH
-101004522020-05-20 3:38:132110 days ago1589945893
0x20e6f4b7...b38AD3Fd6
0.05520164 ETH
-100873292020-05-18 2:32:412112 days ago1589769161
0x20e6f4b7...b38AD3Fd6
0.05312866 ETH
-100745102020-05-16 2:45:192114 days ago1589597119
0x20e6f4b7...b38AD3Fd6
0.05349854 ETH
-100615942020-05-14 2:25:322116 days ago1589423132
0x20e6f4b7...b38AD3Fd6
0.0666488 ETH
-100358742020-05-10 2:51:412120 days ago1589079101
0x20e6f4b7...b38AD3Fd6
0.05538179 ETH
-100033622020-05-05 1:45:252125 days ago1588643125
0x20e6f4b7...b38AD3Fd6
0.05246401 ETH
-99905042020-05-03 2:15:402127 days ago1588472140
0x20e6f4b7...b38AD3Fd6
0.05377278 ETH
-99773622020-05-01 1:32:402129 days ago1588296760
0x20e6f4b7...b38AD3Fd6
0.05544531 ETH
-99646222020-04-29 2:01:462131 days ago1588125706
0x20e6f4b7...b38AD3Fd6
0.05774414 ETH
-99518442020-04-27 2:28:282133 days ago1587954508
0x20e6f4b7...b38AD3Fd6
0.05665684 ETH
-99394142020-04-25 4:16:132135 days ago1587788173
0x20e6f4b7...b38AD3Fd6
0.05544136 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.