ETH Price: $1,993.55 (-1.57%)

Contract

0x366BB78bC92fe9268CbDC3A0a4Bb6A98AF6E7c46
 

Overview

ETH Balance

0.021728934928692755 ETH

Eth Value

$43.32 (@ $1,993.55/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer83696072019-08-17 18:23:292415 days ago1566066209IN
0x366BB78b...8AF6E7c46
0.02172893 ETH0.000021051
Sweep83244622019-08-10 18:24:012422 days ago1565461441IN
0x366BB78b...8AF6E7c46
0 ETH0.0010998422
Transfer83244482019-08-10 18:19:422422 days ago1565461182IN
0x366BB78b...8AF6E7c46
0.05804392 ETH0.000021051
Sweep82792642019-08-03 18:18:232429 days ago1564856303IN
0x366BB78b...8AF6E7c46
0 ETH0.0011012522
Transfer82792452019-08-03 18:14:222429 days ago1564856062IN
0x366BB78b...8AF6E7c46
0.04723112 ETH0.000021051
Transfer82342342019-07-27 18:12:382436 days ago1564251158IN
0x366BB78b...8AF6E7c46
0.04686742 ETH0.000021051
Sweep81891062019-07-20 18:11:072443 days ago1563646267IN
0x366BB78b...8AF6E7c46
0 ETH0.0010998422
Transfer81890892019-07-20 18:07:222443 days ago1563646042IN
0x366BB78b...8AF6E7c46
0.05000521 ETH0.000021051
Sweep81525882019-07-15 0:59:512449 days ago1563152391IN
0x366BB78b...8AF6E7c46
0 ETH0.0010998422
Transfer81525732019-07-15 0:56:452449 days ago1563152205IN
0x366BB78b...8AF6E7c46
0.05002306 ETH0.000021051
Sweep81110692019-07-08 14:13:222456 days ago1562595202IN
0x366BB78b...8AF6E7c46
0 ETH0.0010998422
Transfer81110552019-07-08 14:10:292456 days ago1562595029IN
0x366BB78b...8AF6E7c46
0.05002336 ETH0.000021051
Transfer80728902019-07-02 15:30:182461 days ago1562081418IN
0x366BB78b...8AF6E7c46
0.01002852 ETH0.000021051
Sweep77589882019-05-14 14:27:522511 days ago1557844072IN
0x366BB78b...8AF6E7c46
0 ETH0.0025028550
Transfer77589632019-05-14 14:23:462511 days ago1557843826IN
0x366BB78b...8AF6E7c46
0.02974904 ETH0.000021051
Transfer77141722019-05-07 14:18:552518 days ago1557238735IN
0x366BB78b...8AF6E7c46
0.04698783 ETH0.000021051
Sweep76692862019-04-30 14:20:042525 days ago1556634004IN
0x366BB78b...8AF6E7c46
0 ETH0.0024996550
Transfer76692722019-04-30 14:16:332525 days ago1556633793IN
0x366BB78b...8AF6E7c46
0.05003428 ETH0.000021051
Sweep76336692019-04-25 1:38:052530 days ago1556156285IN
0x366BB78b...8AF6E7c46
0 ETH0.0025028550
Transfer76336532019-04-25 1:34:052530 days ago1556156045IN
0x366BB78b...8AF6E7c46
0.03381472 ETH0.000021051
Transfer75887942019-04-18 1:27:472537 days ago1555550867IN
0x366BB78b...8AF6E7c46
0.04612746 ETH0.000021051
Sweep75438502019-04-11 1:29:052544 days ago1554946145IN
0x366BB78b...8AF6E7c46
0 ETH0.0024996550
Transfer75438372019-04-11 1:26:082544 days ago1554945968IN
0x366BB78b...8AF6E7c46
0.05004563 ETH0.000021051
Sweep75070352019-04-05 8:39:492550 days ago1554453589IN
0x366BB78b...8AF6E7c46
0 ETH0.0024996550
Transfer75070152019-04-05 8:36:102550 days ago1554453370IN
0x366BB78b...8AF6E7c46
0.05003319 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-83244622019-08-10 18:24:012422 days ago1565461441
0x366BB78b...8AF6E7c46
0.05804393 ETH
-82792642019-08-03 18:18:232429 days ago1564856303
0x366BB78b...8AF6E7c46
0.09409855 ETH
-81891062019-07-20 18:11:072443 days ago1563646267
0x366BB78b...8AF6E7c46
0.05000521 ETH
-81525882019-07-15 0:59:512449 days ago1563152391
0x366BB78b...8AF6E7c46
0.05002306 ETH
-81110692019-07-08 14:13:222456 days ago1562595202
0x366BB78b...8AF6E7c46
0.06005189 ETH
-77589882019-05-14 14:27:522511 days ago1557844072
0x366BB78b...8AF6E7c46
0.07673689 ETH
-76692862019-04-30 14:20:042525 days ago1556634004
0x366BB78b...8AF6E7c46
0.05003428 ETH
-76336692019-04-25 1:38:052530 days ago1556156285
0x366BB78b...8AF6E7c46
0.07994219 ETH
-75438502019-04-11 1:29:052544 days ago1554946145
0x366BB78b...8AF6E7c46
0.05004564 ETH
-75070352019-04-05 8:39:492550 days ago1554453589
0x366BB78b...8AF6E7c46
0.0500332 ETH
-74688022019-03-30 9:00:092556 days ago1553936409
0x366BB78b...8AF6E7c46
0.05000243 ETH
-74243292019-03-23 10:13:512563 days ago1553336031
0x366BB78b...8AF6E7c46
0.05002989 ETH
-73902452019-03-18 2:24:202568 days ago1552875860
0x366BB78b...8AF6E7c46
0.05000474 ETH
-73514042019-03-12 1:34:252574 days ago1552354465
0x366BB78b...8AF6E7c46
0.05001449 ETH
-73152432019-03-06 10:38:282580 days ago1551868708
0x366BB78b...8AF6E7c46
0.08625381 ETH
-72442262019-02-20 10:38:292594 days ago1550659109
0x366BB78b...8AF6E7c46
0.05002738 ETH
-72221792019-02-15 4:51:152599 days ago1550206275
0x366BB78b...8AF6E7c46
0.05003639 ETH
-71991152019-02-09 18:23:272604 days ago1549736607
0x366BB78b...8AF6E7c46
0.05002513 ETH
-71756702019-02-04 23:48:032609 days ago1549324083
0x366BB78b...8AF6E7c46
0.05003975 ETH
-71522882019-01-31 5:23:582614 days ago1548912238
0x366BB78b...8AF6E7c46
0.0500335 ETH
-71274902019-01-26 5:05:252619 days ago1548479125
0x366BB78b...8AF6E7c46
0.05000238 ETH
-70933142019-01-19 14:36:472626 days ago1547908607
0x366BB78b...8AF6E7c46
0.05003286 ETH
-70641082019-01-14 9:38:272631 days ago1547458707
0x366BB78b...8AF6E7c46
0.05000935 ETH
-70342072019-01-09 1:16:492636 days ago1546996609
0x366BB78b...8AF6E7c46
0.0500058 ETH
-70042412019-01-03 16:20:442641 days ago1546532444
0x366BB78b...8AF6E7c46
0.05000692 ETH
View All Internal Transactions
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.