ETH Price: $2,245.85 (-3.03%)

Contract

0x60Ff444981d5952Ee38F34c9D2e736AE9E748E4E
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep119406532021-02-27 17:21:151844 days ago1614446475IN
0x60Ff4449...E9E748E4E
0 ETH0.00670713117.7
Transfer119406352021-02-27 17:17:161844 days ago1614446236IN
0x60Ff4449...E9E748E4E
0.33984014 ETH0.00311554148
Sweep118899582021-02-19 22:03:171852 days ago1613772197IN
0x60Ff4449...E9E748E4E
0 ETH0.01182759207.6
Transfer118899432021-02-19 21:59:481852 days ago1613771988IN
0x60Ff4449...E9E748E4E
0.05101156 ETH0.00505224240
Sweep118748652021-02-17 14:22:061854 days ago1613571726IN
0x60Ff4449...E9E748E4E
0 ETH0.00957348168
Sweep118748542021-02-17 14:20:181854 days ago1613571618IN
0x60Ff4449...E9E748E4E
0 ETH0.00950309166.8
Transfer118748542021-02-17 14:20:181854 days ago1613571618IN
0x60Ff4449...E9E748E4E
0.16470123 ETH0.00351551167
Transfer118748322021-02-17 14:15:401854 days ago1613571340IN
0x60Ff4449...E9E748E4E
0.05486637 ETH0.00345236164
Sweep118702352021-02-16 21:21:111855 days ago1613510471IN
0x60Ff4449...E9E748E4E
0 ETH0.0103235181.2
Transfer118701442021-02-16 20:57:501855 days ago1613509070IN
0x60Ff4449...E9E748E4E
0.05750035 ETH0.00353656168
Sweep118651712021-02-16 2:46:061856 days ago1613443566IN
0x60Ff4449...E9E748E4E
0 ETH0.01346841236.40000175
Transfer118651502021-02-16 2:41:571856 days ago1613443317IN
0x60Ff4449...E9E748E4E
0.05485433 ETH0.00469437223
Sweep118489722021-02-13 14:58:151858 days ago1613228295IN
0x60Ff4449...E9E748E4E
0 ETH0.00752043132
Transfer118489512021-02-13 14:54:461858 days ago1613228086IN
0x60Ff4449...E9E748E4E
0.0556483 ETH0.00307344146
Sweep118466312021-02-13 6:12:011859 days ago1613196721IN
0x60Ff4449...E9E748E4E
0 ETH0.00820584144
Transfer118466122021-02-13 6:06:551859 days ago1613196415IN
0x60Ff4449...E9E748E4E
0.05396625 ETH0.00376812179
Transfer118451512021-02-13 0:42:151859 days ago1613176935IN
0x60Ff4449...E9E748E4E
0.04290395 ETH0.00530485252
Sweep118367152021-02-11 17:49:111860 days ago1613065751IN
0x60Ff4449...E9E748E4E
0 ETH0.01301035228.36
Transfer118366882021-02-11 17:43:421860 days ago1613065422IN
0x60Ff4449...E9E748E4E
0.05591278 ETH0.00642055305
Sweep118314452021-02-10 22:13:501861 days ago1612995230IN
0x60Ff4449...E9E748E4E
0 ETH0.00950509166.8
Transfer118314252021-02-10 22:08:241861 days ago1612994904IN
0x60Ff4449...E9E748E4E
0.11590306 ETH0.00368392175
Sweep118232142021-02-09 15:56:441862 days ago1612886204IN
0x60Ff4449...E9E748E4E
0 ETH0.01675006294
Transfer118231942021-02-09 15:51:261862 days ago1612885886IN
0x60Ff4449...E9E748E4E
0.05702262 ETH0.00530485252
Sweep118193092021-02-09 1:30:341863 days ago1612834234IN
0x60Ff4449...E9E748E4E
0 ETH0.00932534163.68
Transfer118192942021-02-09 1:27:251863 days ago1612834045IN
0x60Ff4449...E9E748E4E
0.05747126 ETH0.00602058286
View all transactions

Latest 16 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-119406532021-02-27 17:21:151844 days ago1614446475
0x60Ff4449...E9E748E4E
0.33984014 ETH
-118899582021-02-19 22:03:171852 days ago1613772197
0x60Ff4449...E9E748E4E
0.05101156 ETH
-118748652021-02-17 14:22:061854 days ago1613571726
0x60Ff4449...E9E748E4E
0.16470123 ETH
-118748542021-02-17 14:20:181854 days ago1613571618
0x60Ff4449...E9E748E4E
0.05486637 ETH
-118702352021-02-16 21:21:111855 days ago1613510471
0x60Ff4449...E9E748E4E
0.05750035 ETH
-118651712021-02-16 2:46:061856 days ago1613443566
0x60Ff4449...E9E748E4E
0.05485433 ETH
-118489722021-02-13 14:58:151858 days ago1613228295
0x60Ff4449...E9E748E4E
0.0556483 ETH
-118466312021-02-13 6:12:011859 days ago1613196721
0x60Ff4449...E9E748E4E
0.0968702 ETH
-118367152021-02-11 17:49:111860 days ago1613065751
0x60Ff4449...E9E748E4E
0.05591278 ETH
-118314452021-02-10 22:13:501861 days ago1612995230
0x60Ff4449...E9E748E4E
0.11590306 ETH
-118232142021-02-09 15:56:441862 days ago1612886204
0x60Ff4449...E9E748E4E
0.05702262 ETH
-118193092021-02-09 1:30:341863 days ago1612834234
0x60Ff4449...E9E748E4E
0.05747126 ETH
-118181012021-02-08 21:03:101863 days ago1612818190
0x60Ff4449...E9E748E4E
0.05815441 ETH
-104595352020-07-14 19:34:222072 days ago1594755262
0x60Ff4449...E9E748E4E
0.41545492 ETH
Transfer53880772018-04-06 0:24:252903 days ago1522974265
0x60Ff4449...E9E748E4E
0.06296375 ETH
Transfer49609422018-01-23 23:59:002975 days ago1516751940  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.