ETH Price: $1,983.65 (-3.92%)

Contract

0x2593bcfcfee07b89710e71f9Ffd62cf21Bc962da
 

Overview

ETH Balance

0.0428920564625 ETH

Eth Value

$85.08 (@ $1,983.65/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer79645802019-06-15 17:52:372477 days ago1560621157IN
0x2593bcfc...21Bc962da
0.04289205 ETH0.000066313.15
Sweep79565552019-06-14 11:38:202478 days ago1560512300IN
0x2593bcfc...21Bc962da
0 ETH0.0025028550
Transfer79565402019-06-14 11:34:112478 days ago1560512051IN
0x2593bcfc...21Bc962da
0.04261968 ETH0.000132626.3
Transfer79508102019-06-13 14:20:142479 days ago1560435614IN
0x2593bcfc...21Bc962da
0.0426096 ETH0.000194519.24
Sweep79420082019-06-12 5:10:182480 days ago1560316218IN
0x2593bcfc...21Bc962da
0 ETH0.0025028550
Transfer79419872019-06-12 5:07:382480 days ago1560316058IN
0x2593bcfc...21Bc962da
0.04269837 ETH0.000132626.3
Transfer79383312019-06-11 15:24:552481 days ago1560266695IN
0x2593bcfc...21Bc962da
0.04211228 ETH0.0004420721
Sweep79323632019-06-10 16:54:162482 days ago1560185656IN
0x2593bcfc...21Bc962da
0 ETH0.0025028550
Transfer79323502019-06-10 16:51:322482 days ago1560185492IN
0x2593bcfc...21Bc962da
0.04188834 ETH0.0004420721
Transfer79245942019-06-09 11:56:072483 days ago1560081367IN
0x2593bcfc...21Bc962da
0.04114186 ETH0.000066313.15
Sweep79168332019-06-08 6:39:272484 days ago1559975967IN
0x2593bcfc...21Bc962da
0 ETH0.0025028550
Transfer79168152019-06-08 6:35:022484 days ago1559975702IN
0x2593bcfc...21Bc962da
0.04094011 ETH0.000198939.45
Transfer79117882019-06-07 11:33:282485 days ago1559907208IN
0x2593bcfc...21Bc962da
0.04098046 ETH0.0002210310.5
Sweep79057022019-06-06 12:40:462486 days ago1559824846IN
0x2593bcfc...21Bc962da
0 ETH0.0025028550
Transfer79056812019-06-06 12:36:272486 days ago1559824587IN
0x2593bcfc...21Bc962da
0.04246837 ETH0.000154727.35
Transfer78986282019-06-05 10:14:272487 days ago1559729667IN
0x2593bcfc...21Bc962da
0.04220105 ETH0.0002431311.55
Sweep78933402019-06-04 14:19:222488 days ago1559657962IN
0x2593bcfc...21Bc962da
0 ETH0.0025028550
Transfer78933212019-06-04 14:12:442488 days ago1559657564IN
0x2593bcfc...21Bc962da
0.04157563 ETH0.0002873413.65
Transfer78879092019-06-03 18:09:592489 days ago1559585399IN
0x2593bcfc...21Bc962da
0.04075854 ETH0.000132626.3
Sweep78813542019-06-02 17:10:132490 days ago1559495413IN
0x2593bcfc...21Bc962da
0 ETH0.0024996550
Transfer78813372019-06-02 17:05:262490 days ago1559495126IN
0x2593bcfc...21Bc962da
0.08031162 ETH0.000132626.3
Sweep78676092019-05-31 13:35:102492 days ago1559309710IN
0x2593bcfc...21Bc962da
0 ETH0.0025028550
Transfer78675922019-05-31 13:31:552492 days ago1559309515IN
0x2593bcfc...21Bc962da
0.0803893 ETH0.0003094414.7
Sweep78546222019-05-29 12:55:342494 days ago1559134534IN
0x2593bcfc...21Bc962da
0 ETH0.0024996550
Transfer78545932019-05-29 12:48:562494 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:202478 days ago1560512300
0x2593bcfc...21Bc962da
0.08522929 ETH
-79420082019-06-12 5:10:182480 days ago1560316218
0x2593bcfc...21Bc962da
0.08481065 ETH
-79323632019-06-10 16:54:162482 days ago1560185656
0x2593bcfc...21Bc962da
0.08303021 ETH
-79168332019-06-08 6:39:272484 days ago1559975967
0x2593bcfc...21Bc962da
0.08192059 ETH
-79057022019-06-06 12:40:462486 days ago1559824846
0x2593bcfc...21Bc962da
0.08466943 ETH
-78933402019-06-04 14:19:222488 days ago1559657962
0x2593bcfc...21Bc962da
0.08233418 ETH
-78813542019-06-02 17:10:132490 days ago1559495413
0x2593bcfc...21Bc962da
0.08031163 ETH
-78676092019-05-31 13:35:102492 days ago1559309710
0x2593bcfc...21Bc962da
0.0803893 ETH
-78546222019-05-29 12:55:342494 days ago1559134534
0x2593bcfc...21Bc962da
0.0828335 ETH
-78415612019-05-27 11:57:372496 days ago1558958257
0x2593bcfc...21Bc962da
0.08326223 ETH
-78309152019-05-25 20:18:052498 days ago1558815485
0x2593bcfc...21Bc962da
0.085542 ETH
-78170362019-05-23 16:28:072500 days ago1558628887
0x2593bcfc...21Bc962da
0.08371112 ETH
-78039732019-05-21 15:11:372502 days ago1558451497
0x2593bcfc...21Bc962da
0.08232409 ETH
-77924582019-05-19 19:41:532504 days ago1558294913
0x2593bcfc...21Bc962da
0.08170875 ETH
-77783872019-05-17 14:53:382506 days ago1558104818
0x2593bcfc...21Bc962da
0.08575888 ETH
-77673932019-05-15 21:36:212508 days ago1557956181
0x2593bcfc...21Bc962da
0.0876064 ETH
-77540872019-05-13 20:15:412510 days ago1557778541
0x2593bcfc...21Bc962da
0.08854808 ETH
-77401472019-05-11 15:57:202512 days ago1557590240
0x2593bcfc...21Bc962da
0.08895157 ETH
-77268612019-05-09 14:11:182514 days ago1557411078
0x2593bcfc...21Bc962da
0.08777134 ETH
-77137782019-05-07 12:54:062516 days ago1557233646
0x2593bcfc...21Bc962da
0.08766542 ETH
-77007632019-05-05 11:59:132518 days ago1557057553
0x2593bcfc...21Bc962da
0.08924966 ETH
-76890312019-05-03 16:13:312520 days ago1556900011
0x2593bcfc...21Bc962da
0.08908776 ETH
-76772342019-05-01 19:59:312522 days ago1556740771
0x2593bcfc...21Bc962da
0.08994519 ETH
-76621042019-04-29 11:30:442524 days ago1556537444
0x2593bcfc...21Bc962da
0.09071991 ETH
-76491802019-04-27 11:21:432526 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.