Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x596AD05Ad0FF26dd0576bc4f80fa05d9c249e3cf
Balance 0.000000007 ETH ($0.00)
Nonce 1
Code Size 545 bytes
Last Active
Indexed Transactions 8 (10,610,06510,694,744)
Value (indexed) ↓ 0.651926 ETH
Gas Used (indexed) 312,144
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
0xFBb1b73C...BB98 4 4
0xB0Cf943C...EA3D 2 2
0xdCEb51B0...C5e1 2 2

Recent Transactions

CSV
|
Hash Method Block Age From/To Value Txn Fee Type
0xad58cb25...56f992 0x6ea056a9 10,694,744 IN 0xFBb1b73C...BB98 0 ETH 0.00651908 ETH Legacy
0x35bdcc4e...4f7176 Transfer 10,694,722 IN 0xB0Cf943C...EA3D 0.284141 ETH 0.00336816 ETH Legacy
0x261e40fd...6ffb9a 0x6ea056a9 10,652,541 IN 0xFBb1b73C...BB98 0 ETH 0.02849250 ETH Legacy
0x588a900f...d5eac3 Transfer 10,650,910 IN 0xB0Cf943C...EA3D 0.144533 ETH 0.01136754 ETH Legacy
0xa9174b6b...517c8d 0x6ea056a9 10,623,506 IN 0xFBb1b73C...BB98 0 ETH 0.00449860 ETH Legacy
0x451830c4...c20585 Transfer 10,623,492 IN 0xdCEb51B0...C5e1 0.102548 ETH 0.000947295000 ETH Legacy
0xc2be5945...5627ed 0x6ea056a9 10,610,086 IN 0xFBb1b73C...BB98 0 ETH 0.00316267 ETH Legacy
0x040cfda8...47ffc4 Transfer 10,610,065 IN 0xdCEb51B0...C5e1 0.120705 ETH 0.000947295000 ETH Legacy