ETH Price: $2,112.65 (+1.25%)

Contract

0xCF0969CD6968Eb4e428078e48d2c4B38f39e3673
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep45312022017-11-11 8:05:583046 days ago1510387558IN
0xCF0969CD...8f39e3673
0 ETH0.0010011420
0x66726f6d45311912017-11-11 8:02:413046 days ago1510387361IN
0xCF0969CD...8f39e3673
0.213145 ETH0.0004562621
Sweep43743012017-10-17 1:30:063071 days ago1508203806IN
0xCF0969CD...8f39e3673
0 ETH0.0015517631
Transfer43742922017-10-17 1:26:583071 days ago1508203618IN
0xCF0969CD...8f39e3673
2.02899788 ETH0.0004210220
Sweep43263602017-10-01 2:40:443087 days ago1506825644IN
0xCF0969CD...8f39e3673
0 ETH0.0015497831
Transfer43263562017-10-01 2:38:343087 days ago1506825514IN
0xCF0969CD...8f39e3673
5 ETH0.0004420721
Sweep42680382017-09-13 2:42:513105 days ago1505270571IN
0xCF0969CD...8f39e3673
0 ETH0.002552951
Transfer42680262017-09-13 2:40:403105 days ago1505270440IN
0xCF0969CD...8f39e3673
1.59564328 ETH0.0004420721
Sweep42470032017-09-07 5:23:533111 days ago1504761833IN
0xCF0969CD...8f39e3673
0 ETH0.0032044964.09882638
Transfer42469942017-09-07 5:17:593111 days ago1504761479IN
0xCF0969CD...8f39e3673
2 ETH0.0007578336
Sweep42139262017-08-28 20:20:163121 days ago1503951616IN
0xCF0969CD...8f39e3673
0 ETH0.0015747731.5
Transfer42139172017-08-28 20:17:073121 days ago1503951427IN
0xCF0969CD...8f39e3673
5 ETH0.0004420721
Sweep41751642017-08-18 23:16:013130 days ago1503098161IN
0xCF0969CD...8f39e3673
0 ETH0.0015747731.5
Transfer41751482017-08-18 23:11:393130 days ago1503097899IN
0xCF0969CD...8f39e3673
5 ETH0.0006315330
Sweep41741762017-08-18 17:31:263131 days ago1503077486IN
0xCF0969CD...8f39e3673
0 ETH0.0022496845
Transfer41741612017-08-18 17:25:563131 days ago1503077156IN
0xCF0969CD...8f39e3673
5 ETH0.0006315330
Sweep41701122017-08-17 17:59:283132 days ago1502992768IN
0xCF0969CD...8f39e3673
0 ETH0.0016497633.000002
Transfer41700992017-08-17 17:56:553132 days ago1502992615IN
0xCF0969CD...8f39e3673
5 ETH0.0004631222.00000133
Sweep41584902017-08-14 22:38:493134 days ago1502750329IN
0xCF0969CD...8f39e3673
0 ETH0.0010498521
Transfer41584772017-08-14 22:35:433134 days ago1502750143IN
0xCF0969CD...8f39e3673
5 ETH0.0004420721
Sweep41543022017-08-13 22:20:223135 days ago1502662822IN
0xCF0969CD...8f39e3673
0 ETH0.0010511921
Transfer41542932017-08-13 22:16:553135 days ago1502662615IN
0xCF0969CD...8f39e3673
9.490666 ETH0.0004420721
Sweep41542852017-08-13 22:15:013135 days ago1502662501IN
0xCF0969CD...8f39e3673
0 ETH0.0010498521
Transfer41542732017-08-13 22:09:483135 days ago1502662188IN
0xCF0969CD...8f39e3673
0.5 ETH0.0004420721

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer45312022017-11-11 8:05:583046 days ago1510387558
0xCF0969CD...8f39e3673
0.213145 ETH
Transfer43743012017-10-17 1:30:063071 days ago1508203806
0xCF0969CD...8f39e3673
2.02899788 ETH
Transfer43263602017-10-01 2:40:443087 days ago1506825644
0xCF0969CD...8f39e3673
5 ETH
Transfer42680382017-09-13 2:42:513105 days ago1505270571
0xCF0969CD...8f39e3673
1.59564328 ETH
Transfer42470032017-09-07 5:23:533111 days ago1504761833
0xCF0969CD...8f39e3673
2 ETH
Transfer42139262017-08-28 20:20:163121 days ago1503951616
0xCF0969CD...8f39e3673
5 ETH
Transfer41751642017-08-18 23:16:013130 days ago1503098161
0xCF0969CD...8f39e3673
5 ETH
Transfer41741762017-08-18 17:31:263131 days ago1503077486
0xCF0969CD...8f39e3673
5 ETH
Transfer41701122017-08-17 17:59:283132 days ago1502992768
0xCF0969CD...8f39e3673
5 ETH
Transfer41584902017-08-14 22:38:493134 days ago1502750329
0xCF0969CD...8f39e3673
5 ETH
Transfer41543022017-08-13 22:20:223135 days ago1502662822
0xCF0969CD...8f39e3673
9.490666 ETH
Transfer41542852017-08-13 22:15:013135 days ago1502662501
0xCF0969CD...8f39e3673
0.5 ETH
Transfer41539332017-08-13 20:23:503135 days ago1502655830  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.