ETH Price: $3,209.75 (-3.50%)
 

Overview

ETH Balance

0.000000003121407776 ETH

Eth Value

Less Than $0.01 (@ $3,209.75/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep96841992020-03-16 18:27:141773 days ago1584383234IN
0x4038FF2D...37a88bc00
0 ETH0.0012536722
Transfer96841722020-03-16 18:21:501773 days ago1584382910IN
0x4038FF2D...37a88bc00
0.20022688 ETH0.0002105110
Sweep96541512020-03-12 2:44:581778 days ago1583981098IN
0x4038FF2D...37a88bc00
0 ETH0.001253422
Transfer96541372020-03-12 2:42:051778 days ago1583980925IN
0x4038FF2D...37a88bc00
0.20011071 ETH0.0003157615
Sweep96062552020-03-04 18:09:321785 days ago1583345372IN
0x4038FF2D...37a88bc00
0 ETH0.0012536722
Transfer96062302020-03-04 18:04:521785 days ago1583345092IN
0x4038FF2D...37a88bc00
0.2001028 ETH0.0003157615
Sweep95193562020-02-20 9:42:281799 days ago1582191748IN
0x4038FF2D...37a88bc00
0 ETH0.0012536722
Transfer95193352020-02-20 9:37:371799 days ago1582191457IN
0x4038FF2D...37a88bc00
0.20029307 ETH0.0003157615
Sweep94421142020-02-08 12:33:151810 days ago1581165195IN
0x4038FF2D...37a88bc00
0 ETH0.0012536722
Transfer94420922020-02-08 12:28:561810 days ago1581164936IN
0x4038FF2D...37a88bc00
0.20013927 ETH0.0003157615
Sweep93870662020-01-31 1:30:031819 days ago1580434203IN
0x4038FF2D...37a88bc00
0 ETH0.0012536722
Transfer93870512020-01-31 1:25:341819 days ago1580433934IN
0x4038FF2D...37a88bc00
0.20003443 ETH0.0003157615
Sweep93479542020-01-25 1:16:571825 days ago1579915017IN
0x4038FF2D...37a88bc00
0 ETH0.0012536722
Transfer93479342020-01-25 1:11:191825 days ago1579914679IN
0x4038FF2D...37a88bc00
0.20054965 ETH0.0003157615
Sweep92884962020-01-15 22:51:531834 days ago1579128713IN
0x4038FF2D...37a88bc00
0 ETH0.001253422
Transfer92884752020-01-15 22:47:051834 days ago1579128425IN
0x4038FF2D...37a88bc00
0.20041072 ETH0.0003157615
Sweep92212822020-01-05 15:45:261844 days ago1578239126IN
0x4038FF2D...37a88bc00
0 ETH0.0012536722
Transfer92212622020-01-05 15:40:401844 days ago1578238840IN
0x4038FF2D...37a88bc00
0.2000139 ETH0.0003157615
Sweep91848382019-12-30 7:41:071851 days ago1577691667IN
0x4038FF2D...37a88bc00
0 ETH0.0012536722
Transfer91848252019-12-30 7:37:281851 days ago1577691448IN
0x4038FF2D...37a88bc00
0.20043989 ETH0.0003157615
Sweep91495722019-12-23 7:04:051858 days ago1577084645IN
0x4038FF2D...37a88bc00
0 ETH0.0012536722
Transfer91495562019-12-23 7:01:321858 days ago1577084492IN
0x4038FF2D...37a88bc00
0.20000934 ETH0.0003157615
Sweep90958802019-12-12 18:52:021868 days ago1576176722IN
0x4038FF2D...37a88bc00
0 ETH0.0012536722
Transfer90958632019-12-12 18:45:461868 days ago1576176346IN
0x4038FF2D...37a88bc00
0.20015867 ETH0.0003157615
Sweep89922152019-11-24 11:38:491887 days ago1574595529IN
0x4038FF2D...37a88bc00
0 ETH0.0011012522
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
96841992020-03-16 18:27:141773 days ago1584383234
0x4038FF2D...37a88bc00
0.20022688 ETH
96541512020-03-12 2:44:581778 days ago1583981098
0x4038FF2D...37a88bc00
0.20011072 ETH
96062552020-03-04 18:09:321785 days ago1583345372
0x4038FF2D...37a88bc00
0.20010281 ETH
95193562020-02-20 9:42:281799 days ago1582191748
0x4038FF2D...37a88bc00
0.20029307 ETH
94421142020-02-08 12:33:151810 days ago1581165195
0x4038FF2D...37a88bc00
0.20013927 ETH
93870662020-01-31 1:30:031819 days ago1580434203
0x4038FF2D...37a88bc00
0.20003443 ETH
93479542020-01-25 1:16:571825 days ago1579915017
0x4038FF2D...37a88bc00
0.20054966 ETH
92884962020-01-15 22:51:531834 days ago1579128713
0x4038FF2D...37a88bc00
0.20041072 ETH
92212822020-01-05 15:45:261844 days ago1578239126
0x4038FF2D...37a88bc00
0.2000139 ETH
91848382019-12-30 7:41:071851 days ago1577691667
0x4038FF2D...37a88bc00
0.2004399 ETH
91495722019-12-23 7:04:051858 days ago1577084645
0x4038FF2D...37a88bc00
0.20000934 ETH
90958802019-12-12 18:52:021868 days ago1576176722
0x4038FF2D...37a88bc00
0.20015868 ETH
89922152019-11-24 11:38:491887 days ago1574595529
0x4038FF2D...37a88bc00
0.20017011 ETH
89370022019-11-15 6:48:271896 days ago1573800507
0x4038FF2D...37a88bc00
0.20028005 ETH
88889212019-11-07 8:06:401904 days ago1573114000
0x4038FF2D...37a88bc00
0.20006545 ETH
88301632019-10-28 21:27:421913 days ago1572298062
0x4038FF2D...37a88bc00
0.20004531 ETH
87766842019-10-20 9:09:551922 days ago1571562595
0x4038FF2D...37a88bc00
0.20000939 ETH
87313192019-10-13 5:32:501929 days ago1570944770
0x4038FF2D...37a88bc00
0.20007018 ETH
86768772019-10-04 16:57:201937 days ago1570208240
0x4038FF2D...37a88bc00
0.20040875 ETH
86237572019-09-26 9:42:371946 days ago1569490957
0x4038FF2D...37a88bc00
0.2002562 ETH
85352792019-09-12 13:49:511959 days ago1568296191
0x4038FF2D...37a88bc00
0.20013272 ETH
83966322019-08-21 23:29:121981 days ago1566430152
0x4038FF2D...37a88bc00
0.20036895 ETH
83551262019-08-15 12:35:271987 days ago1565872527
0x4038FF2D...37a88bc00
0.20036529 ETH
83185942019-08-09 20:47:471993 days ago1565383667
0x4038FF2D...37a88bc00
0.20022119 ETH
82764452019-08-03 7:48:162000 days ago1564818496
0x4038FF2D...37a88bc00
0.20042371 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.