ETH Price: $2,184.50 (-5.97%)
Gas: 0.06 Gwei

Contract

0x9917611A6710c3c25d87fC4deac8dA2CD7e1bD64
 

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
Sweep105736292020-08-01 11:34:262055 days ago1596281666IN
0x9917611A...CD7e1bD64
0 ETH0.0060567687
Sweep105483342020-07-28 13:37:052059 days ago1595943425IN
0x9917611A...CD7e1bD64
0 ETH0.0052984893
Transfer105483092020-07-28 13:31:592059 days ago1595943119IN
0x9917611A...CD7e1bD64
0.0349829 ETH0.0016630279
Transfer105468342020-07-28 8:05:072059 days ago1595923507IN
0x9917611A...CD7e1bD64
0.03 ETH0.0019577493
Sweep104380072020-07-11 11:38:042076 days ago1594467484IN
0x9917611A...CD7e1bD64
0 ETH0.0037402548
Sweep104380072020-07-11 11:38:042076 days ago1594467484IN
0x9917611A...CD7e1bD64
0 ETH0.002629148
Sweep103221382020-06-23 12:54:322094 days ago1592916872IN
0x9917611A...CD7e1bD64
0 ETH0.003778569
Sweep103221002020-06-23 12:46:542094 days ago1592916414IN
0x9917611A...CD7e1bD64
0 ETH0.004792261.5
Sweep102381492020-06-10 13:09:332107 days ago1591794573IN
0x9917611A...CD7e1bD64
0 ETH0.0019446436.00000185
Sweep101126832020-05-22 1:07:022127 days ago1590109622IN
0x9917611A...CD7e1bD64
0 ETH0.0025126636.00062027
Sweep101034662020-05-20 14:59:092128 days ago1589986749IN
0x9917611A...CD7e1bD64
0 ETH0.0034542549.5
Sweep91175252019-12-16 21:52:212284 days ago1576533141IN
0x9917611A...CD7e1bD64
0 ETH0.001253422
Transfer91175092019-12-16 21:48:112284 days ago1576532891IN
0x9917611A...CD7e1bD64
0.09 ETH0.000031571.5
Sweep91023032019-12-13 22:35:452287 days ago1576276545IN
0x9917611A...CD7e1bD64
0 ETH0.001253422
Transfer91022802019-12-13 22:32:152287 days ago1576276335IN
0x9917611A...CD7e1bD64
0.13 ETH0.000031571.5
Sweep89803772019-11-22 12:21:032308 days ago1574425263IN
0x9917611A...CD7e1bD64
0 ETH0.0010640222.5
Sweep86002032019-09-22 16:52:022369 days ago1569171122IN
0x9917611A...CD7e1bD64
0 ETH0.0010198922
Sweep85849692019-09-20 8:03:552371 days ago1568966635IN
0x9917611A...CD7e1bD64
0 ETH0.0014997930
Transfer85849532019-09-20 7:59:282371 days ago1568966368IN
0x9917611A...CD7e1bD64
0.078 ETH0.0004210220
Sweep85806002019-09-19 15:25:002372 days ago1568906700IN
0x9917611A...CD7e1bD64
0 ETH0.0015822731.65
Transfer85795262019-09-19 11:22:002372 days ago1568892120IN
0x9917611A...CD7e1bD64
0.1 ETH0.0009472945
Sweep85725112019-09-18 9:02:342373 days ago1568797354IN
0x9917611A...CD7e1bD64
0 ETH0.0022496845
Transfer85724982019-09-18 8:58:142373 days ago1568797094IN
0x9917611A...CD7e1bD64
0.132 ETH0.000805238.25
Sweep78079752019-05-22 6:15:582492 days ago1558505758IN
0x9917611A...CD7e1bD64
0 ETH0.0023450
Sweep77470872019-05-12 17:56:122502 days ago1557683772IN
0x9917611A...CD7e1bD64
0 ETH0.002343250
View all transactions

Latest 22 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-105483342020-07-28 13:37:052059 days ago1595943425
0x9917611A...CD7e1bD64
0.0649829 ETH
-91175252019-12-16 21:52:212284 days ago1576533141
0x9917611A...CD7e1bD64
0.09 ETH
-91023032019-12-13 22:35:452287 days ago1576276545
0x9917611A...CD7e1bD64
0.13 ETH
-85849692019-09-20 8:03:552371 days ago1568966635
0x9917611A...CD7e1bD64
0.078 ETH
-85806002019-09-19 15:25:002372 days ago1568906700
0x9917611A...CD7e1bD64
0.1 ETH
-85725112019-09-18 9:02:342373 days ago1568797354
0x9917611A...CD7e1bD64
0.132 ETH
-77396942019-05-11 14:21:192503 days ago1557584479
0x9917611A...CD7e1bD64
0.07 ETH
-77284512019-05-09 20:14:022505 days ago1557432842
0x9917611A...CD7e1bD64
0.054 ETH
-69026452018-12-17 10:25:512648 days ago1545042351
0x9917611A...CD7e1bD64
0.21294677 ETH
Transfer67715262018-11-25 18:16:412670 days ago1543169801
0x9917611A...CD7e1bD64
0.05 ETH
Transfer67657832018-11-24 19:51:142671 days ago1543089074
0x9917611A...CD7e1bD64
0.05 ETH
Transfer67596162018-11-23 19:42:382672 days ago1543002158
0x9917611A...CD7e1bD64
0.14 ETH
Transfer67355302018-11-19 20:42:142676 days ago1542660134
0x9917611A...CD7e1bD64
0.05 ETH
Transfer67340512018-11-19 14:37:562676 days ago1542638276
0x9917611A...CD7e1bD64
0.7 ETH
Transfer55453902018-05-02 20:37:212877 days ago1525293441
0x9917611A...CD7e1bD64
0.0565 ETH
Transfer55445292018-05-02 17:09:232877 days ago1525280963
0x9917611A...CD7e1bD64
0.139 ETH
Transfer55442062018-05-02 15:42:552877 days ago1525275775
0x9917611A...CD7e1bD64
0.06175245 ETH
Transfer53810132018-04-04 20:17:442905 days ago1522873064
0x9917611A...CD7e1bD64
0.1 ETH
Transfer53541842018-03-31 9:57:272909 days ago1522490247
0x9917611A...CD7e1bD64
0.1 ETH
Transfer53537232018-03-31 8:04:192909 days ago1522483459
0x9917611A...CD7e1bD64
0.16702679 ETH
Transfer53480532018-03-30 9:08:302910 days ago1522400910
0x9917611A...CD7e1bD64
0.45925791 ETH
Transfer47869802017-12-24 6:41:183006 days ago1514097678  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.