ETH Price: $2,895.51 (+0.76%)
 

Overview

ETH Balance

0.000000007334713938 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep97229962020-03-22 18:39:291779 days ago1584902369IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer97229772020-03-22 18:35:051779 days ago1584902105IN
0xAF52e989...837261d01
0.33778967 ETH0.000021051
Sweep96777452020-03-15 18:35:261786 days ago1584297326IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer96777242020-03-15 18:31:301786 days ago1584297090IN
0xAF52e989...837261d01
1.50118252 ETH0.000021051
Sweep96576942020-03-12 16:07:151789 days ago1584029235IN
0xAF52e989...837261d01
0 ETH0.01521499267
Transfer96576792020-03-12 16:03:251789 days ago1584029005IN
0xAF52e989...837261d01
1.50046895 ETH0.000021051
Sweep96333132020-03-08 21:42:561793 days ago1583703776IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer96332892020-03-08 21:38:051793 days ago1583703485IN
0xAF52e989...837261d01
1.50015036 ETH0.000021051
Sweep96082082020-03-05 1:15:201796 days ago1583370920IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer96081902020-03-05 1:11:101796 days ago1583370670IN
0xAF52e989...837261d01
1.50129901 ETH0.000021051
Sweep95793622020-02-29 15:06:201801 days ago1582988780IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer95793442020-02-29 15:02:051801 days ago1582988525IN
0xAF52e989...837261d01
1.50009276 ETH0.000021051
Sweep95561502020-02-26 1:30:421804 days ago1582680642IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer95561322020-02-26 1:27:131804 days ago1582680433IN
0xAF52e989...837261d01
1.50072042 ETH0.000021051
Sweep95332612020-02-22 12:58:371808 days ago1582376317IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer95332462020-02-22 12:55:341808 days ago1582376134IN
0xAF52e989...837261d01
1.50182229 ETH0.000021051
Sweep95105572020-02-19 1:09:581811 days ago1582074598IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer95105412020-02-19 1:05:461811 days ago1582074346IN
0xAF52e989...837261d01
1.50276981 ETH0.000021051
Sweep94874272020-02-15 11:38:231815 days ago1581766703IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer94874132020-02-15 11:34:371815 days ago1581766477IN
0xAF52e989...837261d01
1.50130053 ETH0.000021051
Sweep94651742020-02-12 1:11:551818 days ago1581469915IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer94651562020-02-12 1:08:211818 days ago1581469701IN
0xAF52e989...837261d01
1.50325471 ETH0.000021051
Sweep94430572020-02-08 16:08:121822 days ago1581178092IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer94430382020-02-08 16:03:301822 days ago1581177810IN
0xAF52e989...837261d01
1.50024605 ETH0.000021051
Sweep94224862020-02-05 11:55:291825 days ago1580903729IN
0xAF52e989...837261d01
0 ETH0.0012536722
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
97229962020-03-22 18:39:291779 days ago1584902369
0xAF52e989...837261d01
0.33778967 ETH
96777452020-03-15 18:35:261786 days ago1584297326
0xAF52e989...837261d01
1.50118253 ETH
96576942020-03-12 16:07:151789 days ago1584029235
0xAF52e989...837261d01
1.50046895 ETH
96333132020-03-08 21:42:561793 days ago1583703776
0xAF52e989...837261d01
1.50015037 ETH
96082082020-03-05 1:15:201796 days ago1583370920
0xAF52e989...837261d01
1.50129901 ETH
95793622020-02-29 15:06:201801 days ago1582988780
0xAF52e989...837261d01
1.50009277 ETH
95561502020-02-26 1:30:421804 days ago1582680642
0xAF52e989...837261d01
1.50072043 ETH
95332612020-02-22 12:58:371808 days ago1582376317
0xAF52e989...837261d01
1.50182229 ETH
95105572020-02-19 1:09:581811 days ago1582074598
0xAF52e989...837261d01
1.50276981 ETH
94874272020-02-15 11:38:231815 days ago1581766703
0xAF52e989...837261d01
1.50130053 ETH
94651742020-02-12 1:11:551818 days ago1581469915
0xAF52e989...837261d01
1.50325472 ETH
94430572020-02-08 16:08:121822 days ago1581178092
0xAF52e989...837261d01
1.50024605 ETH
94224862020-02-05 11:55:291825 days ago1580903729
0xAF52e989...837261d01
1.50118701 ETH
94010162020-02-02 4:57:001828 days ago1580619420
0xAF52e989...837261d01
1.5017725 ETH
93791922020-01-29 20:08:021832 days ago1580328482
0xAF52e989...837261d01
1.50055241 ETH
93577362020-01-26 13:34:491835 days ago1580045689
0xAF52e989...837261d01
1.50018113 ETH
93353552020-01-23 3:03:331838 days ago1579748613
0xAF52e989...837261d01
1.50056149 ETH
93131432020-01-19 17:29:171842 days ago1579454957
0xAF52e989...837261d01
1.50094066 ETH
92913602020-01-16 9:21:581845 days ago1579166518
0xAF52e989...837261d01
1.50242566 ETH
92696732020-01-13 1:33:451848 days ago1578879225
0xAF52e989...837261d01
1.50151181 ETH
92476042020-01-09 16:39:201852 days ago1578587960
0xAF52e989...837261d01
1.50149943 ETH
92261282020-01-06 9:31:031855 days ago1578303063
0xAF52e989...837261d01
1.5012059 ETH
92047452020-01-03 3:06:561858 days ago1578020816
0xAF52e989...837261d01
1.50164619 ETH
91844242019-12-30 5:39:101862 days ago1577684350
0xAF52e989...837261d01
1.50165151 ETH
91616872019-12-25 17:04:181867 days ago1577293458
0xAF52e989...837261d01
1.5014266 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.