ETH Price: $2,028.59 (+1.29%)

Contract

0xCc2892E90BA5ebfC188b3a5dF2ada2A6eBeFCA2c
 

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
Sweep120297652021-03-13 10:51:511823 days ago1615632711IN
0xCc2892E9...6eBeFCA2c
0 ETH0.0119737169.4
Sweep72481842019-02-21 8:51:542574 days ago1550739114IN
0xCc2892E9...6eBeFCA2c
0 ETH0.0023545550
Sweep72256522019-02-16 0:48:562579 days ago1550278136IN
0xCc2892E9...6eBeFCA2c
0 ETH0.003865650
Sweep71482912019-01-30 9:55:502596 days ago1548842150IN
0xCc2892E9...6eBeFCA2c
0 ETH0.0023513550
Sweep68671162018-12-11 13:25:512646 days ago1544534751IN
0xCc2892E9...6eBeFCA2c
0 ETH0.0023545550
Sweep68376362018-12-06 16:38:272651 days ago1544114307IN
0xCc2892E9...6eBeFCA2c
0 ETH0.0023448550
Sweep55282512018-04-29 20:17:452872 days ago1525033065IN
0xCc2892E9...6eBeFCA2c
0 ETH0.002315450
Sweep55282292018-04-29 20:12:312872 days ago1525032751IN
0xCc2892E9...6eBeFCA2c
0 ETH0.0023352550
Sweep55281442018-04-29 19:51:462872 days ago1525031506IN
0xCc2892E9...6eBeFCA2c
0 ETH0.002335750
Sweep55280452018-04-29 19:29:202872 days ago1525030160IN
0xCc2892E9...6eBeFCA2c
0 ETH0.00234850
Sweep55279042018-04-29 18:56:432872 days ago1525028203IN
0xCc2892E9...6eBeFCA2c
0 ETH0.002370150
Sweep43340412017-10-03 19:08:183080 days ago1507057698IN
0xCc2892E9...6eBeFCA2c
0 ETH0.0015497831
Transfer43340292017-10-03 18:59:463080 days ago1507057186IN
0xCc2892E9...6eBeFCA2c
1.5 ETH0.0004420721
Sweep43250422017-09-30 15:35:283083 days ago1506785728IN
0xCc2892E9...6eBeFCA2c
0 ETH0.0015517631
Transfer43250372017-09-30 15:30:203083 days ago1506785420IN
0xCc2892E9...6eBeFCA2c
19 ETH0.0005052224
Sweep43020792017-09-22 15:39:023091 days ago1506094742IN
0xCc2892E9...6eBeFCA2c
0 ETH0.0025496451
Transfer43020722017-09-22 15:35:233091 days ago1506094523IN
0xCc2892E9...6eBeFCA2c
7 ETH0.0004420721
Sweep42922242017-09-19 20:06:313094 days ago1505851591IN
0xCc2892E9...6eBeFCA2c
0 ETH0.0025496451
Transfer42922112017-09-19 20:02:043094 days ago1505851324IN
0xCc2892E9...6eBeFCA2c
2 ETH0.0004631222
Transfer42921692017-09-19 19:43:423094 days ago1505850222IN
0xCc2892E9...6eBeFCA2c
2 ETH0.00027313
Sweep42811152017-09-16 18:16:593097 days ago1505585819IN
0xCc2892E9...6eBeFCA2c
0 ETH0.0025496451
Transfer42811052017-09-16 18:12:473097 days ago1505585567IN
0xCc2892E9...6eBeFCA2c
7 ETH0.0002736613
Sweep42743372017-09-14 20:53:333099 days ago1505422413IN
0xCc2892E9...6eBeFCA2c
0 ETH0.0025496451
Transfer42743282017-09-14 20:49:393099 days ago1505422179IN
0xCc2892E9...6eBeFCA2c
5 ETH0.0004420721
Sweep42694902017-09-13 12:26:553100 days ago1505305615IN
0xCc2892E9...6eBeFCA2c
0 ETH0.0025496451
View all transactions

Latest 18 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer43340412017-10-03 19:08:183080 days ago1507057698
0xCc2892E9...6eBeFCA2c
1.5 ETH
Transfer43250422017-09-30 15:35:283083 days ago1506785728
0xCc2892E9...6eBeFCA2c
19 ETH
Transfer43020792017-09-22 15:39:023091 days ago1506094742
0xCc2892E9...6eBeFCA2c
7 ETH
Transfer42922242017-09-19 20:06:313094 days ago1505851591
0xCc2892E9...6eBeFCA2c
2 ETH
Transfer42811152017-09-16 18:16:593097 days ago1505585819
0xCc2892E9...6eBeFCA2c
7 ETH
Transfer42743372017-09-14 20:53:333099 days ago1505422413
0xCc2892E9...6eBeFCA2c
5 ETH
Transfer42694902017-09-13 12:26:553100 days ago1505305615
0xCc2892E9...6eBeFCA2c
7 ETH
Transfer42628822017-09-11 16:05:153102 days ago1505145915
0xCc2892E9...6eBeFCA2c
3 ETH
Transfer42594922017-09-10 17:28:243103 days ago1505064504
0xCc2892E9...6eBeFCA2c
10 ETH
Transfer42402842017-09-05 7:34:313108 days ago1504596871
0xCc2892E9...6eBeFCA2c
10 ETH
Transfer42383592017-09-04 18:29:023109 days ago1504549742
0xCc2892E9...6eBeFCA2c
5 ETH
Transfer42138072017-08-28 19:18:583116 days ago1503947938
0xCc2892E9...6eBeFCA2c
2 ETH
Transfer42137932017-08-28 19:13:463116 days ago1503947626
0xCc2892E9...6eBeFCA2c
1.5 ETH
Transfer42031212017-08-25 17:57:393119 days ago1503683859
0xCc2892E9...6eBeFCA2c
3 ETH
Transfer42030582017-08-25 17:29:413119 days ago1503682181
0xCc2892E9...6eBeFCA2c
2 ETH
Transfer41910112017-08-22 18:09:473122 days ago1503425387
0xCc2892E9...6eBeFCA2c
1.8 ETH
Transfer41909602017-08-22 17:52:293122 days ago1503424349
0xCc2892E9...6eBeFCA2c
0.2 ETH
Transfer41832642017-08-20 21:37:193124 days ago1503265039  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.