ETH Price: $2,440.49 (+6.29%)

Contract

0xf78e11A8a5571a69bA84A8B6c36B40696126861C
 

Overview

ETH Balance

0.000000003 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep81431482019-07-13 14:14:341895 days ago1563027274IN
0xf78e11A8...96126861C
0 ETH0.0010998422
Transfer81431242019-07-13 14:10:031895 days ago1563027003IN
0xf78e11A8...96126861C
0.0507534 ETH0.000021051
Sweep81369052019-07-12 14:52:131896 days ago1562943133IN
0xf78e11A8...96126861C
0 ETH0.0010998422
Transfer81368892019-07-12 14:48:201896 days ago1562942900IN
0xf78e11A8...96126861C
0.05133097 ETH0.000021051
Sweep81274222019-07-11 3:04:541897 days ago1562814294IN
0xf78e11A8...96126861C
0 ETH0.0010998422
Transfer81274072019-07-11 3:00:421897 days ago1562814042IN
0xf78e11A8...96126861C
0.05186358 ETH0.000021051
Sweep81231002019-07-10 11:00:421898 days ago1562756442IN
0xf78e11A8...96126861C
0 ETH0.0010998422
Transfer81230832019-07-10 10:57:141898 days ago1562756234IN
0xf78e11A8...96126861C
0.05022136 ETH0.000021051
Sweep81199962019-07-09 23:23:391898 days ago1562714619IN
0xf78e11A8...96126861C
0 ETH0.0010998422
Transfer81199782019-07-09 23:20:131898 days ago1562714413IN
0xf78e11A8...96126861C
0.05211549 ETH0.000021051
Sweep81179952019-07-09 15:53:341899 days ago1562687614IN
0xf78e11A8...96126861C
0 ETH0.0010998422
Transfer81179722019-07-09 15:49:411899 days ago1562687381IN
0xf78e11A8...96126861C
0.05238278 ETH0.000021051
Sweep81149092019-07-09 4:28:371899 days ago1562646517IN
0xf78e11A8...96126861C
0 ETH0.0010998422
Transfer81148882019-07-09 4:24:421899 days ago1562646282IN
0xf78e11A8...96126861C
0.05631366 ETH0.000021051
Sweep81112402019-07-08 14:54:321900 days ago1562597672IN
0xf78e11A8...96126861C
0 ETH0.0010998422
Transfer81112202019-07-08 14:49:371900 days ago1562597377IN
0xf78e11A8...96126861C
0.05124514 ETH0.000021051
Sweep81077602019-07-08 1:50:541900 days ago1562550654IN
0xf78e11A8...96126861C
0 ETH0.0010998422
Transfer81077372019-07-08 1:46:251900 days ago1562550385IN
0xf78e11A8...96126861C
0.05110514 ETH0.000021051
Sweep81049142019-07-07 15:15:111901 days ago1562512511IN
0xf78e11A8...96126861C
0 ETH0.0010998422
Transfer81048962019-07-07 15:12:061901 days ago1562512326IN
0xf78e11A8...96126861C
0.05111676 ETH0.000021051
Sweep81017812019-07-07 3:39:221901 days ago1562470762IN
0xf78e11A8...96126861C
0 ETH0.0010998422
Transfer81017652019-07-07 3:36:091901 days ago1562470569IN
0xf78e11A8...96126861C
0.05078497 ETH0.000021051
Sweep80988482019-07-06 16:43:161901 days ago1562431396IN
0xf78e11A8...96126861C
0 ETH0.0010998422
Transfer80988242019-07-06 16:39:071901 days ago1562431147IN
0xf78e11A8...96126861C
0.05234349 ETH0.000021051
Sweep80948262019-07-06 1:49:391902 days ago1562377779IN
0xf78e11A8...96126861C
0 ETH0.0010998422
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
81431482019-07-13 14:14:341895 days ago1563027274
0xf78e11A8...96126861C
0.0507534 ETH
81369052019-07-12 14:52:131896 days ago1562943133
0xf78e11A8...96126861C
0.05133098 ETH
81274222019-07-11 3:04:541897 days ago1562814294
0xf78e11A8...96126861C
0.05186358 ETH
81231002019-07-10 11:00:421898 days ago1562756442
0xf78e11A8...96126861C
0.05022136 ETH
81199962019-07-09 23:23:391898 days ago1562714619
0xf78e11A8...96126861C
0.05211549 ETH
81179952019-07-09 15:53:341899 days ago1562687614
0xf78e11A8...96126861C
0.05238279 ETH
81149092019-07-09 4:28:371899 days ago1562646517
0xf78e11A8...96126861C
0.05631366 ETH
81112402019-07-08 14:54:321900 days ago1562597672
0xf78e11A8...96126861C
0.05124515 ETH
81077602019-07-08 1:50:541900 days ago1562550654
0xf78e11A8...96126861C
0.05110514 ETH
81049142019-07-07 15:15:111901 days ago1562512511
0xf78e11A8...96126861C
0.05111677 ETH
81017812019-07-07 3:39:221901 days ago1562470762
0xf78e11A8...96126861C
0.05078497 ETH
80988482019-07-06 16:43:161901 days ago1562431396
0xf78e11A8...96126861C
0.0523435 ETH
80948262019-07-06 1:49:391902 days ago1562377779
0xf78e11A8...96126861C
0.0501287 ETH
80919042019-07-05 14:39:111903 days ago1562337551
0xf78e11A8...96126861C
0.05241685 ETH
80882422019-07-05 1:06:561903 days ago1562288816
0xf78e11A8...96126861C
0.05196798 ETH
80802562019-07-03 19:17:381904 days ago1562181458
0xf78e11A8...96126861C
0.05386427 ETH
80763342019-07-03 4:32:171905 days ago1562128337
0xf78e11A8...96126861C
0.05259288 ETH
80720082019-07-02 12:16:111906 days ago1562069771
0xf78e11A8...96126861C
0.05396574 ETH
80678812019-07-01 20:54:021906 days ago1562014442
0xf78e11A8...96126861C
0.05208652 ETH
80646362019-07-01 8:46:041907 days ago1561970764
0xf78e11A8...96126861C
0.0523996 ETH
80624782019-07-01 0:43:051907 days ago1561941785
0xf78e11A8...96126861C
0.05353178 ETH
80598752019-06-30 14:48:351908 days ago1561906115
0xf78e11A8...96126861C
0.05312744 ETH
80561452019-06-30 1:01:051908 days ago1561856465
0xf78e11A8...96126861C
0.05238304 ETH
80534882019-06-29 15:10:421909 days ago1561821042
0xf78e11A8...96126861C
0.05058684 ETH
80498892019-06-29 1:41:161909 days ago1561772476
0xf78e11A8...96126861C
0.05010329 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.