ETH Price: $2,528.05 (+2.48%)

Contract

0xAF52e98955b97dDB5ead6e3130094F6837261d01
 

Overview

ETH Balance

0.000000007334713938 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep97229962020-03-22 18:39:291680 days ago1584902369IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer97229772020-03-22 18:35:051680 days ago1584902105IN
0xAF52e989...837261d01
0.33778967 ETH0.000021051
Sweep96777452020-03-15 18:35:261687 days ago1584297326IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer96777242020-03-15 18:31:301687 days ago1584297090IN
0xAF52e989...837261d01
1.50118252 ETH0.000021051
Sweep96576942020-03-12 16:07:151690 days ago1584029235IN
0xAF52e989...837261d01
0 ETH0.01521499267
Transfer96576792020-03-12 16:03:251690 days ago1584029005IN
0xAF52e989...837261d01
1.50046895 ETH0.000021051
Sweep96333132020-03-08 21:42:561694 days ago1583703776IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer96332892020-03-08 21:38:051694 days ago1583703485IN
0xAF52e989...837261d01
1.50015036 ETH0.000021051
Sweep96082082020-03-05 1:15:201698 days ago1583370920IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer96081902020-03-05 1:11:101698 days ago1583370670IN
0xAF52e989...837261d01
1.50129901 ETH0.000021051
Sweep95793622020-02-29 15:06:201702 days ago1582988780IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer95793442020-02-29 15:02:051702 days ago1582988525IN
0xAF52e989...837261d01
1.50009276 ETH0.000021051
Sweep95561502020-02-26 1:30:421706 days ago1582680642IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer95561322020-02-26 1:27:131706 days ago1582680433IN
0xAF52e989...837261d01
1.50072042 ETH0.000021051
Sweep95332612020-02-22 12:58:371709 days ago1582376317IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer95332462020-02-22 12:55:341709 days ago1582376134IN
0xAF52e989...837261d01
1.50182229 ETH0.000021051
Sweep95105572020-02-19 1:09:581713 days ago1582074598IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer95105412020-02-19 1:05:461713 days ago1582074346IN
0xAF52e989...837261d01
1.50276981 ETH0.000021051
Sweep94874272020-02-15 11:38:231716 days ago1581766703IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer94874132020-02-15 11:34:371716 days ago1581766477IN
0xAF52e989...837261d01
1.50130053 ETH0.000021051
Sweep94651742020-02-12 1:11:551720 days ago1581469915IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer94651562020-02-12 1:08:211720 days ago1581469701IN
0xAF52e989...837261d01
1.50325471 ETH0.000021051
Sweep94430572020-02-08 16:08:121723 days ago1581178092IN
0xAF52e989...837261d01
0 ETH0.0012536722
Transfer94430382020-02-08 16:03:301723 days ago1581177810IN
0xAF52e989...837261d01
1.50024605 ETH0.000021051
Sweep94224862020-02-05 11:55:291726 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:291680 days ago1584902369
0xAF52e989...837261d01
0.33778967 ETH
96777452020-03-15 18:35:261687 days ago1584297326
0xAF52e989...837261d01
1.50118253 ETH
96576942020-03-12 16:07:151690 days ago1584029235
0xAF52e989...837261d01
1.50046895 ETH
96333132020-03-08 21:42:561694 days ago1583703776
0xAF52e989...837261d01
1.50015037 ETH
96082082020-03-05 1:15:201698 days ago1583370920
0xAF52e989...837261d01
1.50129901 ETH
95793622020-02-29 15:06:201702 days ago1582988780
0xAF52e989...837261d01
1.50009277 ETH
95561502020-02-26 1:30:421706 days ago1582680642
0xAF52e989...837261d01
1.50072043 ETH
95332612020-02-22 12:58:371709 days ago1582376317
0xAF52e989...837261d01
1.50182229 ETH
95105572020-02-19 1:09:581713 days ago1582074598
0xAF52e989...837261d01
1.50276981 ETH
94874272020-02-15 11:38:231716 days ago1581766703
0xAF52e989...837261d01
1.50130053 ETH
94651742020-02-12 1:11:551720 days ago1581469915
0xAF52e989...837261d01
1.50325472 ETH
94430572020-02-08 16:08:121723 days ago1581178092
0xAF52e989...837261d01
1.50024605 ETH
94224862020-02-05 11:55:291726 days ago1580903729
0xAF52e989...837261d01
1.50118701 ETH
94010162020-02-02 4:57:001730 days ago1580619420
0xAF52e989...837261d01
1.5017725 ETH
93791922020-01-29 20:08:021733 days ago1580328482
0xAF52e989...837261d01
1.50055241 ETH
93577362020-01-26 13:34:491736 days ago1580045689
0xAF52e989...837261d01
1.50018113 ETH
93353552020-01-23 3:03:331740 days ago1579748613
0xAF52e989...837261d01
1.50056149 ETH
93131432020-01-19 17:29:171743 days ago1579454957
0xAF52e989...837261d01
1.50094066 ETH
92913602020-01-16 9:21:581747 days ago1579166518
0xAF52e989...837261d01
1.50242566 ETH
92696732020-01-13 1:33:451750 days ago1578879225
0xAF52e989...837261d01
1.50151181 ETH
92476042020-01-09 16:39:201753 days ago1578587960
0xAF52e989...837261d01
1.50149943 ETH
92261282020-01-06 9:31:031757 days ago1578303063
0xAF52e989...837261d01
1.5012059 ETH
92047452020-01-03 3:06:561760 days ago1578020816
0xAF52e989...837261d01
1.50164619 ETH
91844242019-12-30 5:39:101764 days ago1577684350
0xAF52e989...837261d01
1.50165151 ETH
91616872019-12-25 17:04:181768 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.