ETH Price: $2,084.21 (-3.23%)

Contract

0x42aF9c7c36dBAA8f0042C8B8aB4e0Ce8d4Fea8d9
 

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
Sweep105182862020-07-23 22:03:222067 days ago1595541802IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.0055156379.5
Sweep104166742020-07-08 4:22:332083 days ago1594182153IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.003064654
Sweep103445022020-06-26 23:58:122094 days ago1593215892IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.0018756634.5
Sweep98371332020-04-09 9:07:212173 days ago1586423241IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.001248822
Sweep98370492020-04-09 8:49:412173 days ago1586422181IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.0012482822
Sweep98368722020-04-09 8:09:302173 days ago1586419770IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.0012482822
Sweep96817352020-03-16 9:27:192197 days ago1584350839IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.0013131122
Sweep96592162020-03-12 21:43:562200 days ago1584049436IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.0037602863
Sweep95071092020-02-18 12:23:162223 days ago1582028596IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.0012082822
Sweep94455252020-02-09 1:09:372233 days ago1581210577IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.0012485422
Sweep94077302020-02-03 5:40:142239 days ago1580708414IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.001248822
Sweep91627162019-12-25 21:54:452278 days ago1577310885IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.0012485422
Sweep91266042019-12-18 17:19:372285 days ago1576689577IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.0012485422
Sweep90957012019-12-12 18:05:172291 days ago1576173917IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.0012485422
Sweep90668622019-12-07 15:22:512296 days ago1575732171IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.0010475522
Sweep90600642019-12-06 10:38:282297 days ago1575628708IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.0010475522
Sweep90490472019-12-04 11:30:572299 days ago1575459057IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.0010489622
Sweep84674312019-09-01 23:56:332393 days ago1567382193IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.0011012522
Transfer84674142019-09-01 23:54:122393 days ago1567382052IN
0x42aF9c7c...8d4Fea8d9
5.98933077 ETH0.0008420440
Sweep79982922019-06-21 0:29:082466 days ago1561076948IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.0014284830
Sweep74066222019-03-20 15:54:072558 days ago1553097247IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.002352150
Sweep73924552019-03-18 10:50:232560 days ago1552906223IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.002343250
Sweep73803622019-03-16 13:33:032562 days ago1552743183IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.002352150
Sweep73699632019-03-14 23:08:152564 days ago1552604895IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.002348950
Sweep73699262019-03-14 22:59:022564 days ago1552604342IN
0x42aF9c7c...8d4Fea8d9
0 ETH0.002355350
View all transactions

Latest 6 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-84674312019-09-01 23:56:332393 days ago1567382193
0x42aF9c7c...8d4Fea8d9
5.98933077 ETH
-72212082019-02-14 23:15:152592 days ago1550186115
0x42aF9c7c...8d4Fea8d9
0.49 ETH
Transfer45581362017-11-15 15:57:593048 days ago1510761479
0x42aF9c7c...8d4Fea8d9
13.5 ETH
Transfer44363952017-10-27 1:35:393068 days ago1509068139
0x42aF9c7c...8d4Fea8d9
5 ETH
Transfer44340852017-10-26 16:42:533068 days ago1509036173
0x42aF9c7c...8d4Fea8d9
10 ETH
Transfer42384252017-09-04 18:54:323120 days ago1504551272  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.