ETH Price: $1,974.02 (+2.75%)
Gas: 0.06 Gwei
 

Overview

ETH Balance

0.0428920564625 ETH

Eth Value

$84.67 (@ $1,974.02/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer79645802019-06-15 17:52:372450 days ago1560621157IN
0x2593bcfc...21Bc962da
0.04289205 ETH0.000066313.15
Sweep79565552019-06-14 11:38:202451 days ago1560512300IN
0x2593bcfc...21Bc962da
0 ETH0.0025028550
Transfer79565402019-06-14 11:34:112451 days ago1560512051IN
0x2593bcfc...21Bc962da
0.04261968 ETH0.000132626.3
Transfer79508102019-06-13 14:20:142452 days ago1560435614IN
0x2593bcfc...21Bc962da
0.0426096 ETH0.000194519.24
Sweep79420082019-06-12 5:10:182453 days ago1560316218IN
0x2593bcfc...21Bc962da
0 ETH0.0025028550
Transfer79419872019-06-12 5:07:382453 days ago1560316058IN
0x2593bcfc...21Bc962da
0.04269837 ETH0.000132626.3
Transfer79383312019-06-11 15:24:552454 days ago1560266695IN
0x2593bcfc...21Bc962da
0.04211228 ETH0.0004420721
Sweep79323632019-06-10 16:54:162455 days ago1560185656IN
0x2593bcfc...21Bc962da
0 ETH0.0025028550
Transfer79323502019-06-10 16:51:322455 days ago1560185492IN
0x2593bcfc...21Bc962da
0.04188834 ETH0.0004420721
Transfer79245942019-06-09 11:56:072456 days ago1560081367IN
0x2593bcfc...21Bc962da
0.04114186 ETH0.000066313.15
Sweep79168332019-06-08 6:39:272457 days ago1559975967IN
0x2593bcfc...21Bc962da
0 ETH0.0025028550
Transfer79168152019-06-08 6:35:022457 days ago1559975702IN
0x2593bcfc...21Bc962da
0.04094011 ETH0.000198939.45
Transfer79117882019-06-07 11:33:282458 days ago1559907208IN
0x2593bcfc...21Bc962da
0.04098046 ETH0.0002210310.5
Sweep79057022019-06-06 12:40:462459 days ago1559824846IN
0x2593bcfc...21Bc962da
0 ETH0.0025028550
Transfer79056812019-06-06 12:36:272459 days ago1559824587IN
0x2593bcfc...21Bc962da
0.04246837 ETH0.000154727.35
Transfer78986282019-06-05 10:14:272460 days ago1559729667IN
0x2593bcfc...21Bc962da
0.04220105 ETH0.0002431311.55
Sweep78933402019-06-04 14:19:222461 days ago1559657962IN
0x2593bcfc...21Bc962da
0 ETH0.0025028550
Transfer78933212019-06-04 14:12:442461 days ago1559657564IN
0x2593bcfc...21Bc962da
0.04157563 ETH0.0002873413.65
Transfer78879092019-06-03 18:09:592462 days ago1559585399IN
0x2593bcfc...21Bc962da
0.04075854 ETH0.000132626.3
Sweep78813542019-06-02 17:10:132463 days ago1559495413IN
0x2593bcfc...21Bc962da
0 ETH0.0024996550
Transfer78813372019-06-02 17:05:262463 days ago1559495126IN
0x2593bcfc...21Bc962da
0.08031162 ETH0.000132626.3
Sweep78676092019-05-31 13:35:102465 days ago1559309710IN
0x2593bcfc...21Bc962da
0 ETH0.0025028550
Transfer78675922019-05-31 13:31:552465 days ago1559309515IN
0x2593bcfc...21Bc962da
0.0803893 ETH0.0003094414.7
Sweep78546222019-05-29 12:55:342467 days ago1559134534IN
0x2593bcfc...21Bc962da
0 ETH0.0024996550
Transfer78545932019-05-29 12:48:562467 days ago1559134136IN
0x2593bcfc...21Bc962da
0.04170676 ETH0.0003315515.75
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-79565552019-06-14 11:38:202451 days ago1560512300
0x2593bcfc...21Bc962da
0.08522929 ETH
-79420082019-06-12 5:10:182453 days ago1560316218
0x2593bcfc...21Bc962da
0.08481065 ETH
-79323632019-06-10 16:54:162455 days ago1560185656
0x2593bcfc...21Bc962da
0.08303021 ETH
-79168332019-06-08 6:39:272457 days ago1559975967
0x2593bcfc...21Bc962da
0.08192059 ETH
-79057022019-06-06 12:40:462459 days ago1559824846
0x2593bcfc...21Bc962da
0.08466943 ETH
-78933402019-06-04 14:19:222461 days ago1559657962
0x2593bcfc...21Bc962da
0.08233418 ETH
-78813542019-06-02 17:10:132463 days ago1559495413
0x2593bcfc...21Bc962da
0.08031163 ETH
-78676092019-05-31 13:35:102465 days ago1559309710
0x2593bcfc...21Bc962da
0.0803893 ETH
-78546222019-05-29 12:55:342467 days ago1559134534
0x2593bcfc...21Bc962da
0.0828335 ETH
-78415612019-05-27 11:57:372469 days ago1558958257
0x2593bcfc...21Bc962da
0.08326223 ETH
-78309152019-05-25 20:18:052471 days ago1558815485
0x2593bcfc...21Bc962da
0.085542 ETH
-78170362019-05-23 16:28:072473 days ago1558628887
0x2593bcfc...21Bc962da
0.08371112 ETH
-78039732019-05-21 15:11:372475 days ago1558451497
0x2593bcfc...21Bc962da
0.08232409 ETH
-77924582019-05-19 19:41:532477 days ago1558294913
0x2593bcfc...21Bc962da
0.08170875 ETH
-77783872019-05-17 14:53:382479 days ago1558104818
0x2593bcfc...21Bc962da
0.08575888 ETH
-77673932019-05-15 21:36:212481 days ago1557956181
0x2593bcfc...21Bc962da
0.0876064 ETH
-77540872019-05-13 20:15:412483 days ago1557778541
0x2593bcfc...21Bc962da
0.08854808 ETH
-77401472019-05-11 15:57:202485 days ago1557590240
0x2593bcfc...21Bc962da
0.08895157 ETH
-77268612019-05-09 14:11:182487 days ago1557411078
0x2593bcfc...21Bc962da
0.08777134 ETH
-77137782019-05-07 12:54:062489 days ago1557233646
0x2593bcfc...21Bc962da
0.08766542 ETH
-77007632019-05-05 11:59:132491 days ago1557057553
0x2593bcfc...21Bc962da
0.08924966 ETH
-76890312019-05-03 16:13:312493 days ago1556900011
0x2593bcfc...21Bc962da
0.08908776 ETH
-76772342019-05-01 19:59:312495 days ago1556740771
0x2593bcfc...21Bc962da
0.08994519 ETH
-76621042019-04-29 11:30:442497 days ago1556537444
0x2593bcfc...21Bc962da
0.09071991 ETH
-76491802019-04-27 11:21:432499 days ago1556364103
0x2593bcfc...21Bc962da
0.09136148 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.