ETH Price: $2,757.40 (+0.98%)

Contract

0xFf9EE79d7F916dc542944AeA4C19Ed3cb2B0ef1e
 

Overview

ETH Balance

0.000000003317226328 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep58506312018-06-25 7:38:442433 days ago1529912324IN
0xFf9EE79d...cb2B0ef1e
0 ETH0.0024996550
Transfer58506042018-06-25 7:31:012433 days ago1529911861IN
0xFf9EE79d...cb2B0ef1e
0.0500859 ETH0.000021051
Sweep57868062018-06-14 9:56:492443 days ago1528970209IN
0xFf9EE79d...cb2B0ef1e
0 ETH0.0024996550
Transfer57867832018-06-14 9:52:012443 days ago1528969921IN
0xFf9EE79d...cb2B0ef1e
0.05000143 ETH0.000021051
Sweep57327452018-06-04 20:40:512453 days ago1528144851IN
0xFf9EE79d...cb2B0ef1e
0 ETH0.0024996550
Transfer57327242018-06-04 20:35:432453 days ago1528144543IN
0xFf9EE79d...cb2B0ef1e
0.05000946 ETH0.000021051
Sweep56823472018-05-26 22:30:072462 days ago1527373807IN
0xFf9EE79d...cb2B0ef1e
0 ETH0.0024964550
Transfer56823282018-05-26 22:25:352462 days ago1527373535IN
0xFf9EE79d...cb2B0ef1e
0.05010363 ETH0.000021051
Sweep56443912018-05-20 4:58:522469 days ago1526792332IN
0xFf9EE79d...cb2B0ef1e
0 ETH0.0024996550
Transfer56443742018-05-20 4:54:132469 days ago1526792053IN
0xFf9EE79d...cb2B0ef1e
0.05011636 ETH0.000021051
Sweep56010332018-05-12 13:50:412476 days ago1526133041IN
0xFf9EE79d...cb2B0ef1e
0 ETH0.0024996550
Transfer56009802018-05-12 13:39:152476 days ago1526132355IN
0xFf9EE79d...cb2B0ef1e
0.05007051 ETH0.000021051
Sweep55603182018-05-05 11:45:162483 days ago1525520716IN
0xFf9EE79d...cb2B0ef1e
0 ETH0.0024996550
Transfer55602842018-05-05 11:37:272483 days ago1525520247IN
0xFf9EE79d...cb2B0ef1e
0.05011841 ETH0.000021051
Sweep54576742018-04-17 16:18:452501 days ago1523981925IN
0xFf9EE79d...cb2B0ef1e
0 ETH0.0024996550
Transfer54576422018-04-17 16:10:282501 days ago1523981428IN
0xFf9EE79d...cb2B0ef1e
0.0502489 ETH0.000021051
Sweep54190622018-04-11 3:23:442508 days ago1523417024IN
0xFf9EE79d...cb2B0ef1e
0 ETH0.0024996550
Transfer54190172018-04-11 3:15:142508 days ago1523416514IN
0xFf9EE79d...cb2B0ef1e
0.05005998 ETH0.000021051
Sweep53858722018-04-05 15:56:392513 days ago1522943799IN
0xFf9EE79d...cb2B0ef1e
0 ETH0.0024996550
Transfer53858352018-04-05 15:46:002513 days ago1522943160IN
0xFf9EE79d...cb2B0ef1e
0.0501231 ETH0.000021051
Sweep53462332018-03-30 1:37:172520 days ago1522373837IN
0xFf9EE79d...cb2B0ef1e
0 ETH0.0024996550
Transfer53462092018-03-30 1:31:592520 days ago1522373519IN
0xFf9EE79d...cb2B0ef1e
0.05011602 ETH0.000021051
Sweep53153202018-03-24 21:06:532525 days ago1521925613IN
0xFf9EE79d...cb2B0ef1e
0 ETH0.0024996550
Transfer53152942018-03-24 21:00:162525 days ago1521925216IN
0xFf9EE79d...cb2B0ef1e
0.05011732 ETH0.000021051
Sweep52812802018-03-19 4:32:572531 days ago1521433977IN
0xFf9EE79d...cb2B0ef1e
0 ETH0.0024996550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
58506312018-06-25 7:38:442433 days ago1529912324
0xFf9EE79d...cb2B0ef1e
0.0500859 ETH
57868062018-06-14 9:56:492443 days ago1528970209
0xFf9EE79d...cb2B0ef1e
0.05000144 ETH
57327452018-06-04 20:40:512453 days ago1528144851
0xFf9EE79d...cb2B0ef1e
0.05000946 ETH
56823472018-05-26 22:30:072462 days ago1527373807
0xFf9EE79d...cb2B0ef1e
0.05010363 ETH
56443912018-05-20 4:58:522469 days ago1526792332
0xFf9EE79d...cb2B0ef1e
0.05011637 ETH
56010332018-05-12 13:50:412476 days ago1526133041
0xFf9EE79d...cb2B0ef1e
0.05007052 ETH
55603182018-05-05 11:45:162483 days ago1525520716
0xFf9EE79d...cb2B0ef1e
0.05011841 ETH
54576742018-04-17 16:18:452501 days ago1523981925
0xFf9EE79d...cb2B0ef1e
0.05024891 ETH
54190622018-04-11 3:23:442508 days ago1523417024
0xFf9EE79d...cb2B0ef1e
0.05005998 ETH
53858722018-04-05 15:56:392513 days ago1522943799
0xFf9EE79d...cb2B0ef1e
0.0501231 ETH
53462332018-03-30 1:37:172520 days ago1522373837
0xFf9EE79d...cb2B0ef1e
0.05011603 ETH
53153202018-03-24 21:06:532525 days ago1521925613
0xFf9EE79d...cb2B0ef1e
0.05011732 ETH
52812802018-03-19 4:32:572531 days ago1521433977
0xFf9EE79d...cb2B0ef1e
0.05012882 ETH
52457962018-03-13 3:45:482537 days ago1520912748
0xFf9EE79d...cb2B0ef1e
0.05004825 ETH
51938252018-03-04 8:07:432545 days ago1520150863
0xFf9EE79d...cb2B0ef1e
0.05001388 ETH
51578522018-02-26 5:23:062552 days ago1519622586
0xFf9EE79d...cb2B0ef1e
0.05003677 ETH
51194852018-02-19 16:11:562558 days ago1519056716
0xFf9EE79d...cb2B0ef1e
0.05007848 ETH
50927712018-02-15 5:00:152563 days ago1518670815
0xFf9EE79d...cb2B0ef1e
0.05010958 ETH
50623762018-02-10 2:18:342568 days ago1518229114
0xFf9EE79d...cb2B0ef1e
0.05010561 ETH
50358602018-02-05 15:17:522572 days ago1517843872
0xFf9EE79d...cb2B0ef1e
0.0501633 ETH
49992912018-01-30 10:42:072578 days ago1517308927
0xFf9EE79d...cb2B0ef1e
0.05361213 ETH
49625682018-01-24 6:22:372585 days ago1516774957
0xFf9EE79d...cb2B0ef1e
0.05014087 ETH
49272192018-01-18 4:21:332591 days ago1516249293
0xFf9EE79d...cb2B0ef1e
0.0501866 ETH
49015062018-01-13 12:27:192595 days ago1515846439
0xFf9EE79d...cb2B0ef1e
0.05009709 ETH
48781182018-01-09 4:44:162600 days ago1515473056
0xFf9EE79d...cb2B0ef1e
0.05287037 ETH
View All Internal Transactions
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
/**
 *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

[{"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"}]

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.