Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x6532F11914bB8Ad7fCFD8158c4a4ecBb50Dbb548
Balance 0.000000010 ETH ($0.00)
Nonce 1
Code Size 545 bytes
Last Active
Indexed Transactions 22 (10,651,56310,702,983)
Value (indexed) ↓ 1.3948 ETH
Gas Used (indexed) 354,246
External Etherscan · Sourcify

Contract Bytecode

545 bytes
0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Verified Source Code Partial Match

Compiler: v0.4.11+commit.68ef5810 Optimization: Yes (200 runs)
UserWallet.sol 170 lines
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);
    }
}

Write Contract 2 functions

These functions modify contract state and require a wallet transaction to execute.

sweep 0x6ea056a9
address _token
uint256 _amount
returns: bool
tokenFallback 0xc0ee0b8a
address _from
uint256 _value
bytes _data

Top Interactions

AddressTxnsSentReceived
0x52bc44d5...E3b5 6 6
0xFBb1b73C...BB98 4 4

Recent Transactions

CSV View All 22 Transactions →
|
Hash Method Block Age From/To Value Txn Fee Type
0xc1a68786...e3ff3b 0x6ea056a9 10,702,983 IN 0xFBb1b73C...BB98 0 ETH 0.01109498 ETH Legacy
0x5bb0892f...ec8515 Transfer 10,702,956 IN 0x52bc44d5...E3b5 0.204541 ETH 0.000633635100 ETH Legacy
0x1661458c...ba9286 0x6ea056a9 10,698,990 IN 0xFBb1b73C...BB98 0 ETH 0.00532810 ETH Legacy
0x045e8767...49c9e3 Transfer 10,698,974 IN 0x52bc44d5...E3b5 0.205116 ETH 0.000633635100 ETH Legacy
0xca09d78f...4c1b18 0x6ea056a9 10,694,661 IN 0xFBb1b73C...BB98 0 ETH 0.00668833 ETH Legacy
0x48eafb43...7c17b5 Transfer 10,694,638 IN 0x52bc44d5...E3b5 0.209170 ETH 0.000633635100 ETH Legacy
0x3647c13c...8d2714 Transfer 10,658,188 IN 0x52bc44d5...E3b5 0.215757 ETH 0.000633635100 ETH Legacy
0xab2b69e8...88e3cc Transfer 10,655,232 IN 0x52bc44d5...E3b5 0.233663 ETH 0.000633635100 ETH Legacy
0x5e21ffc4...db5534 0x6ea056a9 10,652,583 IN 0xFBb1b73C...BB98 0 ETH 0.01757755 ETH Legacy
0xe6bf75f7...9b8775 Transfer 10,651,563 IN 0x52bc44d5...E3b5 0.326562 ETH 0.000633635100 ETH Legacy