ETH Price: $2,810.27 (+0.90%)

Contract

0xf73781471481c00c6c14Aa461Ae48Dfd2F287271
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep80735232019-07-02 17:50:552062 days ago1562089855IN
0xf7378147...d2F287271
0 ETH0.0015017130
Transfer80734982019-07-02 17:45:192062 days ago1562089519IN
0xf7378147...d2F287271
4.99958 ETH0.0004210220
Sweep72331702019-02-17 19:43:082197 days ago1550432588IN
0xf7378147...d2F287271
0 ETH0.0025060550
Transfer72331542019-02-17 19:38:382197 days ago1550432318IN
0xf7378147...d2F287271
19.99983156 ETH0.000189459
Sweep71605182019-02-01 21:37:002213 days ago1549057020IN
0xf7378147...d2F287271
0 ETH0.0025028550
Transfer71604992019-02-01 21:29:402213 days ago1549056580IN
0xf7378147...d2F287271
1.99968544 ETH0.00012636
Sweep71474792019-01-30 5:55:092216 days ago1548827709IN
0xf7378147...d2F287271
0 ETH0.0024996550
Transfer71474652019-01-30 5:50:452216 days ago1548827445IN
0xf7378147...d2F287271
8 ETH0.00016848
Sweep70882782019-01-18 17:31:292227 days ago1547832689IN
0xf7378147...d2F287271
0 ETH0.0025028550
Transfer70882622019-01-18 17:27:012228 days ago1547832421IN
0xf7378147...d2F287271
5.999832 ETH0.000147357
Sweep70401002019-01-10 2:35:562236 days ago1547087756IN
0xf7378147...d2F287271
0 ETH0.0025028550
Transfer70400812019-01-10 2:32:262236 days ago1547087546IN
0xf7378147...d2F287271
8.89351373 ETH0.00012636
Sweep69708992018-12-29 0:11:122248 days ago1546042272IN
0xf7378147...d2F287271
0 ETH0.0025028550
Transfer69708852018-12-29 0:08:272248 days ago1546042107IN
0xf7378147...d2F287271
8.70670775 ETH0.00016848
Sweep67810012018-11-27 7:41:292280 days ago1543304489IN
0xf7378147...d2F287271
0 ETH0.0024996550
Transfer67809852018-11-27 7:36:422280 days ago1543304202IN
0xf7378147...d2F287271
10 ETH0.0002105110
Sweep67798862018-11-27 3:08:422280 days ago1543288122IN
0xf7378147...d2F287271
0 ETH0.0024996550
Transfer67798662018-11-27 3:02:402280 days ago1543287760IN
0xf7378147...d2F287271
7.8 ETH0.000147357
Sweep67774332018-11-26 17:34:372280 days ago1543253677IN
0xf7378147...d2F287271
0 ETH0.0024996550
Transfer67774142018-11-26 17:29:082281 days ago1543253348IN
0xf7378147...d2F287271
1 ETH0.0002105110
Sweep63199422018-09-12 19:57:392355 days ago1536782259IN
0xf7378147...d2F287271
0 ETH0.0024996550
Transfer63199192018-09-12 19:52:412355 days ago1536781961IN
0xf7378147...d2F287271
1.6 ETH0.00016848
Sweep49197652018-01-16 20:06:552594 days ago1516133215IN
0xf7378147...d2F287271
0 ETH0.0045051390
Transfer49197312018-01-16 19:58:092594 days ago1516132689IN
0xf7378147...d2F287271
0.1311867 ETH0.0010946552
Sweep49171962018-01-16 8:49:562595 days ago1516092596IN
0xf7378147...d2F287271
0 ETH0.0045051390
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
80735232019-07-02 17:50:552062 days ago1562089855
0xf7378147...d2F287271
4.99958 ETH
72331702019-02-17 19:43:082197 days ago1550432588
0xf7378147...d2F287271
19.99983156 ETH
71605182019-02-01 21:37:002213 days ago1549057020
0xf7378147...d2F287271
1.99968544 ETH
71474792019-01-30 5:55:092216 days ago1548827709
0xf7378147...d2F287271
8 ETH
70882782019-01-18 17:31:292227 days ago1547832689
0xf7378147...d2F287271
5.999832 ETH
70401002019-01-10 2:35:562236 days ago1547087756
0xf7378147...d2F287271
8.89351373 ETH
69708992018-12-29 0:11:122248 days ago1546042272
0xf7378147...d2F287271
8.70670775 ETH
67810012018-11-27 7:41:292280 days ago1543304489
0xf7378147...d2F287271
10 ETH
67798862018-11-27 3:08:422280 days ago1543288122
0xf7378147...d2F287271
7.8 ETH
67774332018-11-26 17:34:372280 days ago1543253677
0xf7378147...d2F287271
1 ETH
63199422018-09-12 19:57:392355 days ago1536782259
0xf7378147...d2F287271
1.6 ETH
49197652018-01-16 20:06:552594 days ago1516133215
0xf7378147...d2F287271
0.1311867 ETH
49171962018-01-16 8:49:562595 days ago1516092596
0xf7378147...d2F287271
0.10756377 ETH
48897632018-01-11 8:27:522600 days ago1515659272
0xf7378147...d2F287271
0.12492773 ETH
48833092018-01-10 3:54:332601 days ago1515556473
0xf7378147...d2F287271
0.10151788 ETH
48822082018-01-09 22:55:332601 days ago1515538533
0xf7378147...d2F287271
0.08482607 ETH
48760932018-01-08 19:41:412602 days ago1515440501
0xf7378147...d2F287271
2.16132593 ETH
48707532018-01-07 20:13:082603 days ago1515355988
0xf7378147...d2F287271
0.14771354 ETH
48619632018-01-06 5:46:052605 days ago1515217565
0xf7378147...d2F287271
0.18116156 ETH
48609992018-01-06 1:25:422605 days ago1515201942
0xf7378147...d2F287271
3.06876346 ETH
48585342018-01-05 14:18:062606 days ago1515161886
0xf7378147...d2F287271
0.39829422 ETH
48537302018-01-04 16:45:192607 days ago1515084319
0xf7378147...d2F287271
0.0707947 ETH
48522882018-01-04 10:26:292607 days ago1515061589
0xf7378147...d2F287271
5.32101286 ETH
48448682018-01-03 2:03:242608 days ago1514945004
0xf7378147...d2F287271
0.48706918 ETH
48403652018-01-02 7:08:472609 days ago1514876927
0xf7378147...d2F287271
0.36930848 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.