Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0xf44224e8Fc98Ecf360337fe1908e446C65e63Ae1
Balance 0 ETH
Nonce 1
Code Size 540 bytes
Last Active
Indexed Transactions 20 (10,739,78610,812,163)
Value (indexed) ↓ 2.9825 ETH
Gas Used (indexed) 289,663
External Etherscan · Sourcify

Contract Bytecode

540 bytes
0x60806040526004361061004b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663c0ee0b8a811461004d578063c18cfe86146100c3575b005b34801561005957600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261004b94823573ffffffffffffffffffffffffffffffffffffffff169460248035953695946064949201919081908401838280828437509497506101059650505050505050565b3480156100cf57600080fd5b506100f173ffffffffffffffffffffffffffffffffffffffff6004351661010a565b604080519115158252519081900360200190f35b505050565b60008054604080517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015291519190921691633c18d31891602480830192602092919082900301818787803b15801561017f57600080fd5b505af1158015610193573d6000803e3d6000fd5b505050506040513d60208110156101a957600080fd5b505160405173ffffffffffffffffffffffffffffffffffffffff90911690600090369080838380828437820191505092505050600060405180830381855af49493505050505600a165627a7a72305820ec90d4e55fb69f839fa555767145d6ac7a8f1aa98ed098b09c220c4a34f02ba10029

Verified Source Code Partial Match

Compiler: v0.4.24+commit.e67f0147 EVM: byzantium Optimization: Yes (200 runs)
UserWallet.sol 142 lines
pragma solidity ^0.4.24;

contract AbstractSweeper {
    function sweepAll(address token) public returns (bool);

    function() public { revert(); }

    Controller controller;

    constructor(address _controller) public {
        controller = Controller(_controller);
    }

    modifier canSweep() {
        if(msg.sender != controller.authorizedCaller() && msg.sender != controller.owner()){ revert(); }
        if(controller.halted()){ revert(); }
        _;
    }
}

contract Token {
    function balanceOf(address a) public pure returns (uint) {
        (a);
        return 0;
    }

    function transfer(address a, uint val) public pure returns (bool) {
        (a);
        (val);
        return false;
    }
}

contract DefaultSweeper is AbstractSweeper {
    constructor(address controller) AbstractSweeper(controller) public { }

    function sweepAll(address _token) public canSweep returns (bool) {
        bool success = false;
        address destination = controller.destination();

        if(_token != address(0)){
            Token token = Token(_token);
            success = token.transfer(destination, token.balanceOf(this));
        }else{
            success = destination.send(address(this).balance);
        }
        return success;
    }
}

contract UserWallet {
    AbstractSweeperList sweeperList;
    constructor(address _sweeperlist) public {
        sweeperList = AbstractSweeperList(_sweeperlist);
    }

    function() public payable { }

    function tokenFallback(address _from, uint _value, bytes _data) public pure {
        (_from);
        (_value);
        (_data);
    }

    function sweepAll(address _token) public returns (bool) {
        return sweeperList.sweeperOf(_token).delegatecall(msg.data);
    }
}

contract AbstractSweeperList {
    function sweeperOf(address _token) public returns (address);
}

contract Controller is AbstractSweeperList {
    address public owner;
    address public authorizedCaller;

    address public destination;

    bool public halted;

    event NewWalletCreated(address receiver);

    modifier onlyOwner() {
        if(msg.sender != owner){ revert(); }
        _;
    }

    modifier onlyAuthorizedCaller() {
        if(msg.sender != authorizedCaller){ revert(); }
        _;
    }

    modifier onlyAdmins() {
        if(msg.sender != authorizedCaller && msg.sender != owner){ revert(); } 
        _;
    }

    constructor() public {
        owner = msg.sender;
        destination = msg.sender;
        authorizedCaller = msg.sender;
    }

    function setAuthorizedCaller(address _newCaller) public onlyOwner {
        authorizedCaller = _newCaller;
    }

    function setDestination(address _dest) public onlyOwner {
        destination = _dest;
    }

    function setOwner(address _owner) public onlyOwner {
        owner = _owner;
    }

    function newWallet() public onlyAdmins returns (address wallet)  {
        wallet = address(new UserWallet(this));
        emit NewWalletCreated(wallet);
    }

    function halt() public onlyAdmins {
        halted = true;
    }

    function start() public onlyOwner {
        halted = false;
    }

    address public defaultSweeper = address(new DefaultSweeper(this));
    mapping (address => address) sweepers;

    function addSweeper(address _token, address _sweeper) public onlyOwner {
        sweepers[_token] = _sweeper;
    }

    function sweeperOf(address _token) public returns (address) {
        address sweeper = sweepers[_token];
        if(sweeper == 0){ sweeper = defaultSweeper; }
        return sweeper;
    }
}

Read Contract

tokenFallback 0xc0ee0b8a

Write Contract 1 functions

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

sweepAll 0xc18cfe86
address _token
returns: bool

Top Interactions

AddressTxnsSentReceived
0xEA674fdD...8ec8 7 7
0x5E38AD84...C422 3 3

Recent Transactions

CSV View All 20 Transactions →
|
Hash Method Block Age From/To Value Txn Fee Type
0x4095c30a...7a38d0 Transfer 10,812,163 IN 0xEA674fdD...8ec8 0.279397 ETH 0.000021040000 ETH Legacy
0x7b3c5101...b282e4 0xc18cfe86 10,805,675 IN 0x5E38AD84...C422 0 ETH 0.00435655 ETH Legacy
0x72a2dc6f...251c8c Transfer 10,805,591 IN 0xEA674fdD...8ec8 0.413023 ETH 0.000021040000 ETH Legacy
0x3e2f1385...01ae27 Transfer 10,798,997 IN 0xEA674fdD...8ec8 0.342659 ETH 0.000021040000 ETH Legacy
0x8ce8c789...8ca109 Transfer 10,792,240 IN 0xEA674fdD...8ec8 0.510227 ETH 0.000021040000 ETH Legacy
0x16d5888b...b9c12d Transfer 10,785,725 IN 0xEA674fdD...8ec8 0.585692 ETH 0.000021040000 ETH Legacy
0x615e959b...efbadb 0xc18cfe86 10,779,516 IN 0x5E38AD84...C422 0 ETH 0.02346213 ETH Legacy
0xe031b257...e38ea0 Transfer 10,779,180 IN 0xEA674fdD...8ec8 0.587672 ETH 0.000021040000 ETH Legacy
0x4ea9d999...6acfb3 0xc18cfe86 10,740,722 IN 0x5E38AD84...C422 0 ETH 0.00294885 ETH Legacy
0xc917d46a...76df73 Transfer 10,739,786 IN 0xEA674fdD...8ec8 0.263789 ETH 0.000021040000 ETH Legacy