ETH Price: $1,925.11 (-4.92%)

Contract

0xd0d2e4428E7883e8875085A220155c8B360fd1D5
 

Overview

ETH Balance

0.039207903696694666 ETH

Eth Value

$75.48 (@ $1,925.11/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer103495182020-06-27 18:50:131734 days ago1593283813IN
0xd0d2e442...B360fd1D5
0.03920789 ETH0.000021051
Sweep103043222020-06-20 18:48:511741 days ago1592678931IN
0xd0d2e442...B360fd1D5
0 ETH0.0015382727
Transfer103043042020-06-20 18:43:351741 days ago1592678615IN
0xd0d2e442...B360fd1D5
0.05001213 ETH0.000021051
Sweep102723062020-06-15 19:42:011746 days ago1592250121IN
0xd0d2e442...B360fd1D5
0 ETH0.002649846.5
Transfer102722862020-06-15 19:37:461746 days ago1592249866IN
0xd0d2e442...B360fd1D5
0.08383606 ETH0.000021051
Sweep102402702020-06-10 21:05:541751 days ago1591823154IN
0xd0d2e442...B360fd1D5
0 ETH0.0020510236
Transfer102402512020-06-10 21:02:161751 days ago1591822936IN
0xd0d2e442...B360fd1D5
0.05001569 ETH0.000021051
Sweep102063462020-06-05 14:47:521756 days ago1591368472IN
0xd0d2e442...B360fd1D5
0 ETH0.0033322158.5
Transfer102063232020-06-05 14:43:461756 days ago1591368226IN
0xd0d2e442...B360fd1D5
0.05001919 ETH0.000021051
Sweep101742592020-05-31 15:04:341761 days ago1590937474IN
0xd0d2e442...B360fd1D5
0 ETH0.0025637845
Transfer101742412020-05-31 14:59:561761 days ago1590937196IN
0xd0d2e442...B360fd1D5
0.05000855 ETH0.000021051
Sweep101417952020-05-26 14:07:531766 days ago1590502073IN
0xd0d2e442...B360fd1D5
0 ETH0.0028201649.5
Transfer101417792020-05-26 14:04:371766 days ago1590501877IN
0xd0d2e442...B360fd1D5
0.05001452 ETH0.000021051
Sweep101103512020-05-21 16:37:321771 days ago1590079052IN
0xd0d2e442...B360fd1D5
0 ETH0.0029910852.5
Transfer101103342020-05-21 16:34:301771 days ago1590078870IN
0xd0d2e442...B360fd1D5
0.05001929 ETH0.000021051
Sweep100798372020-05-16 22:39:161776 days ago1589668756IN
0xd0d2e442...B360fd1D5
0 ETH0.001253422
Transfer100798242020-05-16 22:36:171776 days ago1589668577IN
0xd0d2e442...B360fd1D5
0.05000841 ETH0.000021051
Sweep100375672020-05-10 9:12:101782 days ago1589101930IN
0xd0d2e442...B360fd1D5
0 ETH0.001253422
Transfer100375512020-05-10 9:08:131782 days ago1589101693IN
0xd0d2e442...B360fd1D5
0.0500134 ETH0.000021051
Sweep100031382020-05-05 0:57:431788 days ago1588640263IN
0xd0d2e442...B360fd1D5
0 ETH0.001253422
Transfer100031182020-05-05 0:53:491788 days ago1588640029IN
0xd0d2e442...B360fd1D5
0.05002413 ETH0.000021051
Sweep99698312020-04-29 21:07:451793 days ago1588194465IN
0xd0d2e442...B360fd1D5
0 ETH0.001253422
Transfer99698062020-04-29 21:02:171793 days ago1588194137IN
0xd0d2e442...B360fd1D5
0.05000784 ETH0.000021051
Sweep99366482020-04-24 17:45:061798 days ago1587750306IN
0xd0d2e442...B360fd1D5
0 ETH0.001253422
Transfer99366172020-04-24 17:39:241798 days ago1587749964IN
0xd0d2e442...B360fd1D5
0.05001918 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-103043222020-06-20 18:48:511741 days ago1592678931
0xd0d2e442...B360fd1D5
0.05001213 ETH
-102723062020-06-15 19:42:011746 days ago1592250121
0xd0d2e442...B360fd1D5
0.08383607 ETH
-102402702020-06-10 21:05:541751 days ago1591823154
0xd0d2e442...B360fd1D5
0.05001569 ETH
-102063462020-06-05 14:47:521756 days ago1591368472
0xd0d2e442...B360fd1D5
0.0500192 ETH
-101742592020-05-31 15:04:341761 days ago1590937474
0xd0d2e442...B360fd1D5
0.05000855 ETH
-101417952020-05-26 14:07:531766 days ago1590502073
0xd0d2e442...B360fd1D5
0.05001453 ETH
-101103512020-05-21 16:37:321771 days ago1590079052
0xd0d2e442...B360fd1D5
0.05001929 ETH
-100798372020-05-16 22:39:161776 days ago1589668756
0xd0d2e442...B360fd1D5
0.05000841 ETH
-100375672020-05-10 9:12:101782 days ago1589101930
0xd0d2e442...B360fd1D5
0.05001341 ETH
-100031382020-05-05 0:57:431788 days ago1588640263
0xd0d2e442...B360fd1D5
0.05002413 ETH
-99698312020-04-29 21:07:451793 days ago1588194465
0xd0d2e442...B360fd1D5
0.05000785 ETH
-99366482020-04-24 17:45:061798 days ago1587750306
0xd0d2e442...B360fd1D5
0.05001918 ETH
-99003992020-04-19 3:31:071804 days ago1587267067
0xd0d2e442...B360fd1D5
0.05003489 ETH
-98585942020-04-12 16:30:361810 days ago1586709036
0xd0d2e442...B360fd1D5
0.05000952 ETH
-98214692020-04-06 23:34:111816 days ago1586216051
0xd0d2e442...B360fd1D5
0.0500306 ETH
-97885462020-04-01 21:43:411821 days ago1585777421
0xd0d2e442...B360fd1D5
0.05001201 ETH
-97557662020-03-27 20:58:491826 days ago1585342729
0xd0d2e442...B360fd1D5
0.05000293 ETH
-97229852020-03-22 18:36:551831 days ago1584902215
0xd0d2e442...B360fd1D5
0.05004739 ETH
-96908312020-03-17 19:04:191836 days ago1584471859
0xd0d2e442...B360fd1D5
0.05001424 ETH
-96599292020-03-13 0:17:491841 days ago1584058669
0xd0d2e442...B360fd1D5
0.05010099 ETH
-96237442020-03-07 10:39:451846 days ago1583577585
0xd0d2e442...B360fd1D5
0.05003321 ETH
-95887652020-03-02 1:46:441852 days ago1583113604
0xd0d2e442...B360fd1D5
0.05004142 ETH
-95545052020-02-25 19:28:051857 days ago1582658885
0xd0d2e442...B360fd1D5
0.05003087 ETH
-95202642020-02-20 13:05:101862 days ago1582203910
0xd0d2e442...B360fd1D5
0.05001943 ETH
-94867242020-02-15 9:04:071867 days ago1581757447
0xd0d2e442...B360fd1D5
0.05001873 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

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"}]

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.