ETH Price: $3,164.24 (+3.03%)
Gas: 1 Gwei

Contract

0x99f9daD603453a8a4450fBBEa24122B0C068Da40
 

Overview

ETH Balance

0.000000006274262842 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep116099312021-01-07 21:25:181282 days ago1610054718IN
0x99f9daD6...0C068Da40
0 ETH0.00622276109.2
Transfer116099132021-01-07 21:21:481282 days ago1610054508IN
0x99f9daD6...0C068Da40
10.83969352 ETH0.0017682884.00000145
Transfer116096852021-01-07 20:27:311282 days ago1610051251IN
0x99f9daD6...0C068Da40
10.84406152 ETH0.002646126
Transfer115950202021-01-05 14:17:401284 days ago1609856260IN
0x99f9daD6...0C068Da40
10.84670752 ETH0.0021483102.3
Transfer115948672021-01-05 13:43:411284 days ago1609854221IN
0x99f9daD6...0C068Da40
10.84885582 ETH0.00155474
Transfer115889462021-01-04 16:00:171285 days ago1609776017IN
0x99f9daD6...0C068Da40
10.85040982 ETH0.00231110.00000023
Sweep115883892021-01-04 14:01:441285 days ago1609768904IN
0x99f9daD6...0C068Da40
0 ETH0.0088239154.84608
Transfer115883702021-01-04 13:57:551285 days ago1609768675IN
0x99f9daD6...0C068Da40
1.76330503 ETH0.00305239145
Sweep101535462020-05-28 9:59:241507 days ago1590659964IN
0x99f9daD6...0C068Da40
0 ETH0.002649846.5
Transfer101535252020-05-28 9:54:481507 days ago1590659688IN
0x99f9daD6...0C068Da40
0.08911901 ETH0.00012636
Sweep100178802020-05-07 7:59:311528 days ago1588838371IN
0x99f9daD6...0C068Da40
0 ETH0.0012821622.5
Transfer100178632020-05-07 7:55:031528 days ago1588838103IN
0x99f9daD6...0C068Da40
0.14955353 ETH0.00012636
Sweep99987752020-05-04 9:01:401531 days ago1588582900IN
0x99f9daD6...0C068Da40
0 ETH0.0012536722
Transfer99987542020-05-04 8:56:201531 days ago1588582580IN
0x99f9daD6...0C068Da40
0.10229382 ETH0.00012636
Sweep99857942020-05-02 8:56:491533 days ago1588409809IN
0x99f9daD6...0C068Da40
0 ETH0.0012536722
Transfer99857632020-05-02 8:52:121533 days ago1588409532IN
0x99f9daD6...0C068Da40
0.10502517 ETH0.00012636
Sweep99727592020-04-30 8:03:031535 days ago1588233783IN
0x99f9daD6...0C068Da40
0 ETH0.0018616932.67000035
Transfer99727402020-04-30 7:59:551535 days ago1588233595IN
0x99f9daD6...0C068Da40
0.1389766 ETH0.00012636
Sweep99533762020-04-27 8:16:541538 days ago1587975414IN
0x99f9daD6...0C068Da40
0 ETH0.0012536722
Transfer99533542020-04-27 8:11:001538 days ago1587975060IN
0x99f9daD6...0C068Da40
0.12861048 ETH0.00012636
Sweep99340292020-04-24 8:02:121541 days ago1587715332IN
0x99f9daD6...0C068Da40
0 ETH0.0012536722
Transfer99340052020-04-24 7:56:541541 days ago1587715014IN
0x99f9daD6...0C068Da40
0.13930189 ETH0.00012636
Sweep99147992020-04-21 8:44:531544 days ago1587458693IN
0x99f9daD6...0C068Da40
0 ETH0.0012536722
Transfer99147712020-04-21 8:39:281544 days ago1587458368IN
0x99f9daD6...0C068Da40
0.10488829 ETH0.00012636
Sweep99017882020-04-19 8:41:271546 days ago1587285687IN
0x99f9daD6...0C068Da40
0 ETH0.0012536722
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
116099312021-01-07 21:25:181282 days ago1610054718
0x99f9daD6...0C068Da40
10.83969352 ETH
115883892021-01-04 14:01:441285 days ago1609768904
0x99f9daD6...0C068Da40
1.76330504 ETH
101535462020-05-28 9:59:241507 days ago1590659964
0x99f9daD6...0C068Da40
0.08911902 ETH
100178802020-05-07 7:59:311528 days ago1588838371
0x99f9daD6...0C068Da40
0.14955353 ETH
99987752020-05-04 9:01:401531 days ago1588582900
0x99f9daD6...0C068Da40
0.10229383 ETH
99857942020-05-02 8:56:491533 days ago1588409809
0x99f9daD6...0C068Da40
0.10502517 ETH
99727592020-04-30 8:03:031535 days ago1588233783
0x99f9daD6...0C068Da40
0.13897661 ETH
99533762020-04-27 8:16:541538 days ago1587975414
0x99f9daD6...0C068Da40
0.12861048 ETH
99340292020-04-24 8:02:121541 days ago1587715332
0x99f9daD6...0C068Da40
0.13930189 ETH
99147992020-04-21 8:44:531544 days ago1587458693
0x99f9daD6...0C068Da40
0.10488829 ETH
99017882020-04-19 8:41:271546 days ago1587285687
0x99f9daD6...0C068Da40
0.1057307 ETH
98889172020-04-17 8:42:381548 days ago1587112958
0x99f9daD6...0C068Da40
0.10437618 ETH
98760352020-04-15 8:54:021550 days ago1586940842
0x99f9daD6...0C068Da40
0.10395415 ETH
98629752020-04-13 8:41:001552 days ago1586767260
0x99f9daD6...0C068Da40
0.10447491 ETH
98499352020-04-11 8:42:581554 days ago1586594578
0x99f9daD6...0C068Da40
0.10408166 ETH
98368372020-04-09 7:59:011556 days ago1586419141
0x99f9daD6...0C068Da40
0.14322704 ETH
98175042020-04-06 8:45:391559 days ago1586162739
0x99f9daD6...0C068Da40
0.10529577 ETH
98044862020-04-04 8:42:001561 days ago1585989720
0x99f9daD6...0C068Da40
0.10351596 ETH
97915592020-04-02 8:44:141563 days ago1585817054
0x99f9daD6...0C068Da40
0.10703594 ETH
97785772020-03-31 8:59:461565 days ago1585645186
0x99f9daD6...0C068Da40
0.10310173 ETH
97654902020-03-29 8:43:421567 days ago1585471422
0x99f9daD6...0C068Da40
0.10476181 ETH
97524372020-03-27 8:43:311569 days ago1585298611
0x99f9daD6...0C068Da40
0.10569032 ETH
97395672020-03-25 9:01:491571 days ago1585126909
0x99f9daD6...0C068Da40
0.10443688 ETH
97267672020-03-23 8:55:091573 days ago1584953709
0x99f9daD6...0C068Da40
0.10710066 ETH
97139912020-03-21 8:44:181575 days ago1584780258
0x99f9daD6...0C068Da40
0.10791688 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.