ETH Price: $2,815.07 (+0.59%)
 

Overview

ETH Balance

0.000000008532702205 ETH

Eth Value

Less Than $0.01 (@ $2,815.07/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep124584042021-05-18 12:32:561359 days ago1621341176IN
0xAdCEEe69...47B064146
0 ETH0.003936969.575
Transfer124583872021-05-18 12:28:121359 days ago1621340892IN
0xAdCEEe69...47B064146
0.0599996 ETH0.0015998776
Transfer124390352021-05-15 12:43:171362 days ago1621082597IN
0xAdCEEe69...47B064146
0.04575845 ETH0.0019366992
Sweep122674402021-04-19 0:53:181388 days ago1618793598IN
0xAdCEEe69...47B064146
0 ETH0.00722307127.65
Transfer122674172021-04-19 0:48:381388 days ago1618793318IN
0xAdCEEe69...47B064146
0.05 ETH0.00307344146
Transfer121828162021-04-06 0:00:321401 days ago1617667232IN
0xAdCEEe69...47B064146
0.03803963 ETH0.00324185154
Sweep119540622021-03-01 18:58:501436 days ago1614625130IN
0xAdCEEe69...47B064146
0 ETH0.00608029106.7
Transfer119540342021-03-01 18:53:251436 days ago1614624805IN
0xAdCEEe69...47B064146
0.18662214 ETH0.00290503138
Sweep113340212020-11-26 12:31:011532 days ago1606393861IN
0xAdCEEe69...47B064146
0 ETH0.00601761105.6
Transfer113339952020-11-26 12:26:141532 days ago1606393574IN
0xAdCEEe69...47B064146
0.62756409 ETH0.0018524888.00000171
Sweep112133942020-11-07 23:58:321550 days ago1604793512IN
0xAdCEEe69...47B064146
0 ETH0.0017095530
Transfer112133892020-11-07 23:56:381550 days ago1604793398IN
0xAdCEEe69...47B064146
0.16836821 ETH0.0004841723
Transfer112133802020-11-07 23:54:121550 days ago1604793252IN
0xAdCEEe69...47B064146
0.39200656 ETH0.0005052224
Sweep109773032020-10-02 15:03:041586 days ago1601650984IN
0xAdCEEe69...47B064146
0 ETH0.00581247102
Transfer109772762020-10-02 14:58:551586 days ago1601650735IN
0xAdCEEe69...47B064146
0.61127638 ETH0.00221035105
Sweep109642312020-09-30 14:14:361588 days ago1601475276IN
0xAdCEEe69...47B064146
0 ETH0.00786393138.00000175
Transfer109642152020-09-30 14:10:431588 days ago1601475043IN
0xAdCEEe69...47B064146
0.4354402 ETH0.00282083134
Sweep107130462020-08-22 23:30:131627 days ago1598139013IN
0xAdCEEe69...47B064146
0 ETH0.0037610166
Transfer107130282020-08-22 23:27:001627 days ago1598138820IN
0xAdCEEe69...47B064146
0.36879118 ETH0.0017261882
Sweep106219742020-08-08 22:53:371641 days ago1596927217IN
0xAdCEEe69...47B064146
0 ETH0.003384959.4
Transfer106219572020-08-08 22:48:471641 days ago1596926927IN
0xAdCEEe69...47B064146
0.62588477 ETH0.0010314949
Sweep104023032020-07-05 23:10:061675 days ago1593990606IN
0xAdCEEe69...47B064146
0 ETH0.0015385927
Transfer104022862020-07-05 23:06:281675 days ago1593990388IN
0xAdCEEe69...47B064146
1.07538079 ETH0.0004420721
Sweep102800802020-06-17 0:38:031694 days ago1592354283IN
0xAdCEEe69...47B064146
0 ETH0.001880533
Transfer102800662020-06-17 0:35:181694 days ago1592354118IN
0xAdCEEe69...47B064146
0.79334283 ETH0.0005473226
View all transactions

Latest 18 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
124584042021-05-18 12:32:561359 days ago1621341176
0xAdCEEe69...47B064146
0.10575805 ETH
122674402021-04-19 0:53:181388 days ago1618793598
0xAdCEEe69...47B064146
0.08803963 ETH
119540622021-03-01 18:58:501436 days ago1614625130
0xAdCEEe69...47B064146
0.18662214 ETH
113340212020-11-26 12:31:011532 days ago1606393861
0xAdCEEe69...47B064146
0.62756409 ETH
112133942020-11-07 23:58:321550 days ago1604793512
0xAdCEEe69...47B064146
0.56037477 ETH
109773032020-10-02 15:03:041586 days ago1601650984
0xAdCEEe69...47B064146
0.61127638 ETH
109642312020-09-30 14:14:361588 days ago1601475276
0xAdCEEe69...47B064146
0.4354402 ETH
107130462020-08-22 23:30:131627 days ago1598139013
0xAdCEEe69...47B064146
0.36879118 ETH
106219742020-08-08 22:53:371641 days ago1596927217
0xAdCEEe69...47B064146
0.62588477 ETH
104023032020-07-05 23:10:061675 days ago1593990606
0xAdCEEe69...47B064146
1.07538079 ETH
102800802020-06-17 0:38:031694 days ago1592354283
0xAdCEEe69...47B064146
0.79334283 ETH
102592962020-06-13 19:39:111697 days ago1592077151
0xAdCEEe69...47B064146
0.67729882 ETH
101833152020-06-02 0:53:491709 days ago1591059229
0xAdCEEe69...47B064146
0.82865376 ETH
101247092020-05-23 22:02:221718 days ago1590271342
0xAdCEEe69...47B064146
0.70246998 ETH
49182572018-01-16 13:27:472577 days ago1516109267
0xAdCEEe69...47B064146
0.0500828 ETH
42659992017-09-12 12:53:382703 days ago1505220818
0xAdCEEe69...47B064146
0.18176601 ETH
42414852017-09-05 15:52:132709 days ago1504626733
0xAdCEEe69...47B064146
0.11 ETH
42400802017-09-05 6:06:542710 days ago1504591614  Contract Creation0 ETH
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.