ETH Price: $1,988.96 (-4.38%)

Contract

0xCC4D8B67b8029555e12F7746b612eAa76868ccCF
 

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
Sweep49380752018-01-20 2:30:352988 days ago1516415435IN
0xCC4D8B67...76868ccCF
0 ETH0.0045051390
Transfer49380442018-01-20 2:22:482988 days ago1516414968IN
0xCC4D8B67...76868ccCF
0.60901012 ETH0.0010525550
Sweep48785512018-01-09 6:41:052999 days ago1515480065IN
0xCC4D8B67...76868ccCF
0 ETH0.0045051390
Transfer48783852018-01-09 5:52:442999 days ago1515477164IN
0xCC4D8B67...76868ccCF
2.27956201 ETH0.0013472664
Sweep48543562018-01-04 19:30:333003 days ago1515094233IN
0xCC4D8B67...76868ccCF
0 ETH0.002552951
Transfer48543102018-01-04 19:17:573003 days ago1515093477IN
0xCC4D8B67...76868ccCF
0.29173108 ETH0.0006315330
Sweep48220622017-12-30 4:28:413009 days ago1514608121IN
0xCC4D8B67...76868ccCF
0 ETH0.002552951
Transfer48220042017-12-30 4:12:133009 days ago1514607133IN
0xCC4D8B67...76868ccCF
5.96834066 ETH0.0004210220
Sweep47917172017-12-25 1:23:303014 days ago1514165010IN
0xCC4D8B67...76868ccCF
0 ETH0.002552951
Transfer47916862017-12-25 1:16:023014 days ago1514164562IN
0xCC4D8B67...76868ccCF
1.02639027 ETH0.0004420721
Sweep47746112017-12-22 3:34:213017 days ago1513913661IN
0xCC4D8B67...76868ccCF
0 ETH0.0030034260
Transfer47742452017-12-22 2:04:483017 days ago1513908288IN
0xCC4D8B67...76868ccCF
0.93804 ETH0.0008420440
Sweep47735752017-12-21 23:11:503017 days ago1513897910IN
0xCC4D8B67...76868ccCF
0 ETH0.0030034260
Transfer47735352017-12-21 23:02:253017 days ago1513897345IN
0xCC4D8B67...76868ccCF
0.19440436 ETH0.0008420440
Sweep47732582017-12-21 21:46:263017 days ago1513892786IN
0xCC4D8B67...76868ccCF
0 ETH0.0029995860
Transfer47731842017-12-21 21:27:023017 days ago1513891622IN
0xCC4D8B67...76868ccCF
0.3988 ETH0.0008420440
Sweep47727792017-12-21 19:42:023017 days ago1513885322IN
0xCC4D8B67...76868ccCF
0 ETH0.0030034260
Transfer47726732017-12-21 19:16:553017 days ago1513883815IN
0xCC4D8B67...76868ccCF
1.27793894 ETH0.0008420440
Sweep47677892017-12-20 22:19:293018 days ago1513808369IN
0xCC4D8B67...76868ccCF
0 ETH0.0028031956
Transfer47675492017-12-20 21:19:263018 days ago1513804766IN
0xCC4D8B67...76868ccCF
0.12448649 ETH0.0008420440
Sweep47600202017-12-19 12:47:073020 days ago1513687627IN
0xCC4D8B67...76868ccCF
0 ETH0.0025496451
Transfer47599412017-12-19 12:25:273020 days ago1513686327IN
0xCC4D8B67...76868ccCF
1 ETH0.0007115233.8
Sweep47583082017-12-19 5:36:583020 days ago1513661818IN
0xCC4D8B67...76868ccCF
0 ETH0.0025496451
Transfer47582682017-12-19 5:26:183020 days ago1513661178IN
0xCC4D8B67...76868ccCF
0.02429838 ETH0.0004420721
Transfer47578512017-12-19 3:37:263020 days ago1513654646IN
0xCC4D8B67...76868ccCF
0.03699137 ETH0.0004420721
View all transactions

Latest 20 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer49380752018-01-20 2:30:352988 days ago1516415435
0xCC4D8B67...76868ccCF
0.60901012 ETH
Transfer48785512018-01-09 6:41:052999 days ago1515480065
0xCC4D8B67...76868ccCF
2.27956201 ETH
Transfer48543562018-01-04 19:30:333003 days ago1515094233
0xCC4D8B67...76868ccCF
0.29173108 ETH
Transfer48220622017-12-30 4:28:413009 days ago1514608121
0xCC4D8B67...76868ccCF
5.96834066 ETH
Transfer47917172017-12-25 1:23:303014 days ago1514165010
0xCC4D8B67...76868ccCF
1.02639027 ETH
Transfer47746112017-12-22 3:34:213017 days ago1513913661
0xCC4D8B67...76868ccCF
0.93804 ETH
Transfer47735752017-12-21 23:11:503017 days ago1513897910
0xCC4D8B67...76868ccCF
0.19440436 ETH
Transfer47732582017-12-21 21:46:263017 days ago1513892786
0xCC4D8B67...76868ccCF
0.3988 ETH
Transfer47727792017-12-21 19:42:023017 days ago1513885322
0xCC4D8B67...76868ccCF
1.27793894 ETH
Transfer47677892017-12-20 22:19:293018 days ago1513808369
0xCC4D8B67...76868ccCF
0.12448649 ETH
Transfer47600202017-12-19 12:47:073020 days ago1513687627
0xCC4D8B67...76868ccCF
1 ETH
Transfer47583082017-12-19 5:36:583020 days ago1513661818
0xCC4D8B67...76868ccCF
0.06128975 ETH
Transfer47565202017-12-18 21:46:103020 days ago1513633570
0xCC4D8B67...76868ccCF
0.46343975 ETH
Transfer47526692017-12-18 5:44:323021 days ago1513575872
0xCC4D8B67...76868ccCF
0.26785689 ETH
Transfer47521252017-12-18 3:38:093021 days ago1513568289
0xCC4D8B67...76868ccCF
0.07884109 ETH
Transfer47438702017-12-16 17:30:193022 days ago1513445419
0xCC4D8B67...76868ccCF
0.21638754 ETH
Transfer47350112017-12-15 4:41:063024 days ago1513312866
0xCC4D8B67...76868ccCF
0.9 ETH
Transfer47349182017-12-15 4:18:453024 days ago1513311525
0xCC4D8B67...76868ccCF
0.1 ETH
Transfer47227122017-12-13 0:45:483026 days ago1513125948
0xCC4D8B67...76868ccCF
0.11 ETH
Transfer47105362017-12-10 21:58:143028 days ago1512943094  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.