ETH Price: $3,480.62 (+0.92%)

Contract

0xCF9ffF222D32a82FcA534F9Dde46801BD25d096E
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep185875152023-11-16 22:45:59404 days ago1700174759IN
0xCF9ffF22...BD25d096E
0 ETH0.0021907832.48158804
Sweep185724532023-11-14 20:13:35406 days ago1699992815IN
0xCF9ffF22...BD25d096E
0 ETH0.0023876442.20474121
Transfer185724362023-11-14 20:09:59406 days ago1699992599IN
0xCF9ffF22...BD25d096E
2 ETH0.0008585240.78316917
Sweep184975372023-11-04 8:39:11417 days ago1699087151IN
0xCF9ffF22...BD25d096E
0 ETH0.002083930.89686878
Sweep184870072023-11-02 21:15:47418 days ago1698959747IN
0xCF9ffF22...BD25d096E
0 ETH0.0020234130
Sweep184062382023-10-22 13:48:59429 days ago1697982539IN
0xCF9ffF22...BD25d096E
0 ETH0.0020108430
Sweep183801392023-10-18 22:11:59433 days ago1697667119IN
0xCF9ffF22...BD25d096E
0 ETH0.0020234130
Sweep183666362023-10-17 0:51:47435 days ago1697503907IN
0xCF9ffF22...BD25d096E
0 ETH0.0020108430
Sweep183612112023-10-16 6:41:23436 days ago1697438483IN
0xCF9ffF22...BD25d096E
0 ETH0.0020108430
Sweep183253072023-10-11 6:05:47441 days ago1697004347IN
0xCF9ffF22...BD25d096E
0 ETH0.002106330
Sweep183059032023-10-08 12:56:11444 days ago1696769771IN
0xCF9ffF22...BD25d096E
0 ETH0.002106330
Sweep181833572023-09-21 9:28:11461 days ago1695288491IN
0xCF9ffF22...BD25d096E
0 ETH0.0020234130
Sweep181737842023-09-20 1:18:59462 days ago1695172739IN
0xCF9ffF22...BD25d096E
0 ETH0.002106330
Sweep181730432023-09-19 22:49:47462 days ago1695163787IN
0xCF9ffF22...BD25d096E
0 ETH0.0020234130
Sweep181423222023-09-15 14:51:11466 days ago1694789471IN
0xCF9ffF22...BD25d096E
0 ETH0.0020234130
Sweep181188602023-09-12 7:47:23470 days ago1694504843IN
0xCF9ffF22...BD25d096E
0 ETH0.0020234130
Sweep180816122023-09-07 2:36:47475 days ago1694054207IN
0xCF9ffF22...BD25d096E
0 ETH0.0016971930
Transfer180815972023-09-07 2:33:47475 days ago1694054027IN
0xCF9ffF22...BD25d096E
2 ETH0.000209989.97526903
Sweep180592482023-09-03 23:29:47478 days ago1693783787IN
0xCF9ffF22...BD25d096E
0 ETH0.0016971930
Transfer180592322023-09-03 23:26:35478 days ago1693783595IN
0xCF9ffF22...BD25d096E
2 ETH0.000206259.7978551
Sweep179290382023-08-16 18:00:35496 days ago1692208835IN
0xCF9ffF22...BD25d096E
0 ETH0.0023189934.5859868
Sweep178682432023-08-08 5:53:59505 days ago1691474039IN
0xCF9ffF22...BD25d096E
0 ETH0.0020552736.32958121
Transfer178682272023-08-08 5:50:47505 days ago1691473847IN
0xCF9ffF22...BD25d096E
1.5 ETH0.0007054533.51154228
Sweep177123442023-07-17 10:20:35527 days ago1689589235IN
0xCF9ffF22...BD25d096E
0 ETH0.0020234130
Sweep176984022023-07-15 11:09:35529 days ago1689419375IN
0xCF9ffF22...BD25d096E
0 ETH0.002081730
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
185724532023-11-14 20:13:35406 days ago1699992815
0xCF9ffF22...BD25d096E
2 ETH
180816122023-09-07 2:36:47475 days ago1694054207
0xCF9ffF22...BD25d096E
2 ETH
180592482023-09-03 23:29:47478 days ago1693783787
0xCF9ffF22...BD25d096E
2 ETH
178682432023-08-08 5:53:59505 days ago1691474039
0xCF9ffF22...BD25d096E
1.5 ETH
175265692023-06-21 7:32:11553 days ago1687332731
0xCF9ffF22...BD25d096E
2 ETH
174678082023-06-13 1:26:47561 days ago1686619607
0xCF9ffF22...BD25d096E
2.27 ETH
174077702023-06-04 14:16:11569 days ago1685888171
0xCF9ffF22...BD25d096E
2 ETH
173196082023-05-23 4:35:35582 days ago1684816535
0xCF9ffF22...BD25d096E
2 ETH
171404402023-04-27 22:20:47607 days ago1682634047
0xCF9ffF22...BD25d096E
1.38 ETH
171263602023-04-25 22:51:59609 days ago1682463119
0xCF9ffF22...BD25d096E
2 ETH
171090362023-04-23 12:32:59612 days ago1682253179
0xCF9ffF22...BD25d096E
2 ETH
170842232023-04-20 0:35:35615 days ago1681950935
0xCF9ffF22...BD25d096E
2 ETH
170838192023-04-19 23:13:23615 days ago1681946003
0xCF9ffF22...BD25d096E
2 ETH
170592332023-04-16 11:44:35619 days ago1681645475
0xCF9ffF22...BD25d096E
1.90678346 ETH
170448162023-04-14 10:25:35621 days ago1681467935
0xCF9ffF22...BD25d096E
1 ETH
168990322023-03-24 18:06:11641 days ago1679681171
0xCF9ffF22...BD25d096E
1.2 ETH
168598732023-03-19 6:05:47647 days ago1679205947
0xCF9ffF22...BD25d096E
0.8 ETH
168594942023-03-19 4:49:23647 days ago1679201363
0xCF9ffF22...BD25d096E
0.8 ETH
167833762023-03-08 11:56:11658 days ago1678276571
0xCF9ffF22...BD25d096E
1.75 ETH
167518702023-03-04 1:37:59662 days ago1677893879
0xCF9ffF22...BD25d096E
2 ETH
167509612023-03-03 22:33:35662 days ago1677882815
0xCF9ffF22...BD25d096E
0.9 ETH
167509292023-03-03 22:26:59662 days ago1677882419
0xCF9ffF22...BD25d096E
0.98540266 ETH
166263772023-02-14 10:25:35680 days ago1676370335
0xCF9ffF22...BD25d096E
2 ETH
165473252023-02-03 9:21:59691 days ago1675416119
0xCF9ffF22...BD25d096E
2 ETH
165266472023-01-31 11:56:23694 days ago1675166183
0xCF9ffF22...BD25d096E
1.6 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.