ETH Price: $3,483.99 (-0.20%)

Contract

0xcA9f8B981743b973356843b52959259f686F66ad
 

Overview

ETH Balance

0.00000000821663613 ETH

Eth Value

Less Than $0.01 (@ $3,483.99/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep109750552020-10-02 6:37:061545 days ago1601620626IN
0xcA9f8B98...f686F66ad
0 ETH0.00936833164.4
Transfer109750372020-10-02 6:32:041545 days ago1601620324IN
0xcA9f8B98...f686F66ad
0.20033484 ETH0.0006336330.1
Sweep109671432020-10-01 1:00:241546 days ago1601514024IN
0xcA9f8B98...f686F66ad
0 ETH0.0047183582.8
Transfer109671242020-10-01 0:56:411546 days ago1601513801IN
0xcA9f8B98...f686F66ad
0.21234635 ETH0.0006336330.1
Sweep109648412020-09-30 16:33:021547 days ago1601483582IN
0xcA9f8B98...f686F66ad
0 ETH0.0068382120.00000161
Transfer109648142020-09-30 16:27:121547 days ago1601483232IN
0xcA9f8B98...f686F66ad
0.20970946 ETH0.0006336330.1
Sweep109629312020-09-30 9:28:051547 days ago1601458085IN
0xcA9f8B98...f686F66ad
0 ETH0.00962818168.96
Transfer109629132020-09-30 9:24:521547 days ago1601457892IN
0xcA9f8B98...f686F66ad
0.21343528 ETH0.0006336330.1
Sweep109607092020-09-30 0:53:591547 days ago1601427239IN
0xcA9f8B98...f686F66ad
0 ETH0.0038061466.79200211
Transfer109604752020-09-30 0:00:581547 days ago1601424058IN
0xcA9f8B98...f686F66ad
0.21071523 ETH0.0006336330.1
Sweep109587472020-09-29 17:40:321548 days ago1601401232IN
0xcA9f8B98...f686F66ad
0 ETH0.00656467115.20000175
Transfer109587272020-09-29 17:35:141548 days ago1601400914IN
0xcA9f8B98...f686F66ad
0.2093655 ETH0.0006336330.1
Sweep109571202020-09-29 11:25:371548 days ago1601378737IN
0xcA9f8B98...f686F66ad
0 ETH0.00663305116.40000175
Transfer109570982020-09-29 11:21:301548 days ago1601378490IN
0xcA9f8B98...f686F66ad
0.20726178 ETH0.0006336330.1
Sweep109552092020-09-29 4:18:491548 days ago1601353129IN
0xcA9f8B98...f686F66ad
0 ETH0.00581247102
Transfer109551902020-09-29 4:15:251548 days ago1601352925IN
0xcA9f8B98...f686F66ad
0.21216638 ETH0.0006336330.1
Sweep109534522020-09-28 21:45:151549 days ago1601329515IN
0xcA9f8B98...f686F66ad
0 ETH0.00574408100.8
Transfer109534372020-09-28 21:42:061549 days ago1601329326IN
0xcA9f8B98...f686F66ad
0.20202007 ETH0.0006336330.1
Sweep109514312020-09-28 14:12:141549 days ago1601302334IN
0xcA9f8B98...f686F66ad
0 ETH0.00854775150
Transfer109514142020-09-28 14:06:101549 days ago1601301970IN
0xcA9f8B98...f686F66ad
0.22525437 ETH0.0006336330.1
Sweep109491402020-09-28 5:32:261549 days ago1601271146IN
0xcA9f8B98...f686F66ad
0 ETH0.00692025121.44
Transfer109491222020-09-28 5:26:011549 days ago1601270761IN
0xcA9f8B98...f686F66ad
0.20608442 ETH0.0006336330.1
Sweep109467802020-09-27 20:29:011550 days ago1601238541IN
0xcA9f8B98...f686F66ad
0 ETH0.0029404251.60000175
Transfer109467572020-09-27 20:25:121550 days ago1601238312IN
0xcA9f8B98...f686F66ad
0.20216614 ETH0.0006336330.1
Sweep109445362020-09-27 12:07:161550 days ago1601208436IN
0xcA9f8B98...f686F66ad
0 ETH0.0033507158.80000187
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
109750552020-10-02 6:37:061545 days ago1601620626
0xcA9f8B98...f686F66ad
0.20033484 ETH
109671432020-10-01 1:00:241546 days ago1601514024
0xcA9f8B98...f686F66ad
0.21234636 ETH
109648412020-09-30 16:33:021547 days ago1601483582
0xcA9f8B98...f686F66ad
0.20970946 ETH
109629312020-09-30 9:28:051547 days ago1601458085
0xcA9f8B98...f686F66ad
0.21343529 ETH
109607092020-09-30 0:53:591547 days ago1601427239
0xcA9f8B98...f686F66ad
0.21071523 ETH
109587472020-09-29 17:40:321548 days ago1601401232
0xcA9f8B98...f686F66ad
0.20936551 ETH
109571202020-09-29 11:25:371548 days ago1601378737
0xcA9f8B98...f686F66ad
0.20726178 ETH
109552092020-09-29 4:18:491548 days ago1601353129
0xcA9f8B98...f686F66ad
0.21216639 ETH
109534522020-09-28 21:45:151549 days ago1601329515
0xcA9f8B98...f686F66ad
0.20202007 ETH
109514312020-09-28 14:12:141549 days ago1601302334
0xcA9f8B98...f686F66ad
0.22525437 ETH
109491402020-09-28 5:32:261549 days ago1601271146
0xcA9f8B98...f686F66ad
0.20608442 ETH
109467802020-09-27 20:29:011550 days ago1601238541
0xcA9f8B98...f686F66ad
0.20216615 ETH
109445362020-09-27 12:07:161550 days ago1601208436
0xcA9f8B98...f686F66ad
0.22108476 ETH
109420822020-09-27 2:58:301550 days ago1601175510
0xcA9f8B98...f686F66ad
0.20111258 ETH
109397372020-09-26 18:00:531551 days ago1601143253
0xcA9f8B98...f686F66ad
0.20087384 ETH
109375132020-09-26 9:46:291551 days ago1601113589
0xcA9f8B98...f686F66ad
0.21060037 ETH
109350282020-09-26 0:31:501551 days ago1601080310
0xcA9f8B98...f686F66ad
0.21370498 ETH
109327372020-09-25 15:59:011552 days ago1601049541
0xcA9f8B98...f686F66ad
0.21346746 ETH
109304802020-09-25 7:23:291552 days ago1601018609
0xcA9f8B98...f686F66ad
0.20779049 ETH
109285862020-09-25 0:29:331552 days ago1600993773
0xcA9f8B98...f686F66ad
0.20626927 ETH
109267882020-09-24 17:58:051553 days ago1600970285
0xcA9f8B98...f686F66ad
0.21628109 ETH
109248482020-09-24 10:44:481553 days ago1600944288
0xcA9f8B98...f686F66ad
0.21474564 ETH
109222392020-09-24 1:08:591553 days ago1600909739
0xcA9f8B98...f686F66ad
0.21324645 ETH
109203212020-09-23 17:52:291554 days ago1600883549
0xcA9f8B98...f686F66ad
0.21058227 ETH
109187152020-09-23 11:51:571554 days ago1600861917
0xcA9f8B98...f686F66ad
0.20798071 ETH
View All Internal Transactions
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
/**
 *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

[{"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"}]

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.