ETH Price: $2,002.61 (-2.86%)

Contract

0xEefFC7B335EeECF4a12AaF4f6AE97fE6c451f9F0
 

Overview

ETH Balance

0.000000005 ETH

Eth Value

Less Than $0.01 (@ $2,002.61/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep54950292018-04-24 2:16:572895 days ago1524536217IN
0xEefFC7B3...6c451f9F0
0 ETH0.0025028550
Transfer54950042018-04-24 2:11:332895 days ago1524535893IN
0xEefFC7B3...6c451f9F0
0.422345 ETH0.00008424
Sweep49523632018-01-22 12:55:482986 days ago1516625748IN
0xEefFC7B3...6c451f9F0
0 ETH0.0045051390
Transfer49523282018-01-22 12:48:142986 days ago1516625294IN
0xEefFC7B3...6c451f9F0
0.1406187 ETH0.0005262725
Sweep49334682018-01-19 7:11:282989 days ago1516345888IN
0xEefFC7B3...6c451f9F0
0 ETH0.0045051390
Transfer49334422018-01-19 7:03:392989 days ago1516345419IN
0xEefFC7B3...6c451f9F0
0.13903475 ETH0.0010946552
Sweep49243632018-01-17 15:53:022991 days ago1516204382IN
0xEefFC7B3...6c451f9F0
0 ETH0.0045051390
Transfer49243282018-01-17 15:45:252991 days ago1516203925IN
0xEefFC7B3...6c451f9F0
1.00428847 ETH0.001073651
Transfer49227872018-01-17 9:06:532991 days ago1516180013IN
0xEefFC7B3...6c451f9F0
1.00556347 ETH0.00107151
Sweep49172612018-01-16 9:03:502992 days ago1516093430IN
0xEefFC7B3...6c451f9F0
0 ETH0.0045051390
Transfer49172102018-01-16 8:53:182992 days ago1516092798IN
0xEefFC7B3...6c451f9F0
0.32235758 ETH0.001073651
Sweep48883002018-01-11 2:02:122998 days ago1515636132IN
0xEefFC7B3...6c451f9F0
0 ETH0.0044993790
Transfer48882712018-01-11 1:53:372998 days ago1515635617IN
0xEefFC7B3...6c451f9F0
0.99 ETH0.0019998495
Transfer48826852018-01-10 1:04:332999 days ago1515546273IN
0xEefFC7B3...6c451f9F0
1 ETH0.002436116
Transfer48775992018-01-09 2:27:253000 days ago1515464845IN
0xEefFC7B3...6c451f9F0
1 ETH0.00161777
Transfer48771592018-01-09 0:27:363000 days ago1515457656IN
0xEefFC7B3...6c451f9F0
1 ETH0.002205105
Sweep48026882017-12-26 21:11:583013 days ago1514322718IN
0xEefFC7B3...6c451f9F0
0 ETH0.002552951
Transfer48026562017-12-26 21:04:263013 days ago1514322266IN
0xEefFC7B3...6c451f9F0
0.19012684 ETH0.0004420721
Sweep47757222017-12-22 8:22:113017 days ago1513930931IN
0xEefFC7B3...6c451f9F0
0 ETH0.0030034260
Transfer47756822017-12-22 8:14:243017 days ago1513930464IN
0xEefFC7B3...6c451f9F0
0.18174524 ETH0.0008420440
Sweep47469092017-12-17 5:59:503023 days ago1513490390IN
0xEefFC7B3...6c451f9F0
0 ETH0.002552951
Transfer47468692017-12-17 5:51:273023 days ago1513489887IN
0xEefFC7B3...6c451f9F0
0.48672621 ETH0.0005262725
Sweep42829612017-09-17 6:15:453114 days ago1505628945IN
0xEefFC7B3...6c451f9F0
0 ETH0.0037494775
Transfer42829532017-09-17 6:12:063114 days ago1505628726IN
0xEefFC7B3...6c451f9F0
0.28 ETH0.0010525550
Sweep42579322017-09-10 6:47:543120 days ago1505026074IN
0xEefFC7B3...6c451f9F0
0 ETH0.002552951
View all transactions

Latest 15 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer54950292018-04-24 2:16:572895 days ago1524536217
0xEefFC7B3...6c451f9F0
0.422345 ETH
Transfer49523632018-01-22 12:55:482986 days ago1516625748
0xEefFC7B3...6c451f9F0
0.1406187 ETH
Transfer49334682018-01-19 7:11:282989 days ago1516345888
0xEefFC7B3...6c451f9F0
0.13903475 ETH
Transfer49243632018-01-17 15:53:022991 days ago1516204382
0xEefFC7B3...6c451f9F0
1.00428847 ETH
Transfer49172612018-01-16 9:03:502992 days ago1516093430
0xEefFC7B3...6c451f9F0
0.32235758 ETH
Transfer48883002018-01-11 2:02:122998 days ago1515636132
0xEefFC7B3...6c451f9F0
0.99 ETH
Transfer48026882017-12-26 21:11:583013 days ago1514322718
0xEefFC7B3...6c451f9F0
0.19012684 ETH
Transfer47757222017-12-22 8:22:113017 days ago1513930931
0xEefFC7B3...6c451f9F0
0.18174524 ETH
Transfer47469092017-12-17 5:59:503023 days ago1513490390
0xEefFC7B3...6c451f9F0
0.48672621 ETH
Transfer42829612017-09-17 6:15:453114 days ago1505628945
0xEefFC7B3...6c451f9F0
0.28 ETH
Transfer42579322017-09-10 6:47:543120 days ago1505026074
0xEefFC7B3...6c451f9F0
0.1283 ETH
Transfer42579032017-09-10 6:34:323120 days ago1505025272
0xEefFC7B3...6c451f9F0
0.12862 ETH
Transfer42333122017-09-03 8:25:393127 days ago1504427139
0xEefFC7B3...6c451f9F0
0.09 ETH
Transfer42301942017-09-02 11:09:273128 days ago1504350567
0xEefFC7B3...6c451f9F0
0.0982 ETH
Transfer41776232017-08-19 13:11:583142 days ago1503148318  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.