ETH Price: $2,141.37 (+7.92%)
 

Overview

ETH Balance

0.000000006854376296 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep94815632020-02-14 14:10:112210 days ago1581689411IN
0xaeAE9a2D...cb68dB52a
0 ETH0.001253422
Transfer94815482020-02-14 14:06:432210 days ago1581689203IN
0xaeAE9a2D...cb68dB52a
0.05005145 ETH0.0003157615
Sweep94322502020-02-07 0:01:112217 days ago1581033671IN
0xaeAE9a2D...cb68dB52a
0 ETH0.0012531422
Transfer94322272020-02-06 23:55:532217 days ago1581033353IN
0xaeAE9a2D...cb68dB52a
0.05000063 ETH0.0003157615
Sweep93413282020-01-24 0:49:012231 days ago1579826941IN
0xaeAE9a2D...cb68dB52a
0 ETH0.001253422
Transfer93413072020-01-24 0:46:132231 days ago1579826773IN
0xaeAE9a2D...cb68dB52a
0.05000274 ETH0.0003157615
Sweep92635592020-01-12 3:03:072243 days ago1578798187IN
0xaeAE9a2D...cb68dB52a
0 ETH0.001253422
Transfer92635412020-01-12 2:59:332243 days ago1578797973IN
0xaeAE9a2D...cb68dB52a
0.05002734 ETH0.0003157615
Sweep91634392019-12-26 1:19:372260 days ago1577323177IN
0xaeAE9a2D...cb68dB52a
0 ETH0.001253422
Transfer91634232019-12-26 1:14:202260 days ago1577322860IN
0xaeAE9a2D...cb68dB52a
0.05006169 ETH0.0003157615
Sweep90944152019-12-12 12:50:052274 days ago1576155005IN
0xaeAE9a2D...cb68dB52a
0 ETH0.001253422
Transfer90943982019-12-12 12:46:232274 days ago1576154783IN
0xaeAE9a2D...cb68dB52a
0.05004761 ETH0.0003157615
Sweep90302602019-12-01 3:18:472285 days ago1575170327IN
0xaeAE9a2D...cb68dB52a
0 ETH0.0010998422
Transfer90302402019-12-01 3:14:202285 days ago1575170060IN
0xaeAE9a2D...cb68dB52a
0.05001281 ETH0.0003157615
Sweep89658562019-11-20 2:18:242296 days ago1574216304IN
0xaeAE9a2D...cb68dB52a
0 ETH0.0010998422
Transfer89658412019-11-20 2:14:342296 days ago1574216074IN
0xaeAE9a2D...cb68dB52a
0.05002009 ETH0.0003157615
Sweep88684252019-11-04 1:00:562312 days ago1572829256IN
0xaeAE9a2D...cb68dB52a
0 ETH0.0010998422
Transfer88684062019-11-04 0:56:302312 days ago1572828990IN
0xaeAE9a2D...cb68dB52a
0.05000302 ETH0.0003157615
Sweep88152512019-10-26 11:54:562321 days ago1572090896IN
0xaeAE9a2D...cb68dB52a
0 ETH0.0010998422
Transfer88152312019-10-26 11:49:562321 days ago1572090596IN
0xaeAE9a2D...cb68dB52a
0.05001823 ETH0.0003157615
Sweep87606212019-10-17 20:18:262329 days ago1571343506IN
0xaeAE9a2D...cb68dB52a
0 ETH0.0010998422
Transfer87605922019-10-17 20:13:432329 days ago1571343223IN
0xaeAE9a2D...cb68dB52a
0.05001176 ETH0.0003157615
Sweep86588282019-10-01 21:10:322345 days ago1569964232IN
0xaeAE9a2D...cb68dB52a
0 ETH0.0010998422
Transfer86588062019-10-01 21:06:252345 days ago1569963985IN
0xaeAE9a2D...cb68dB52a
0.05003022 ETH0.0003157615
Sweep86048322019-09-23 10:15:022354 days ago1569233702IN
0xaeAE9a2D...cb68dB52a
0 ETH0.0014997930
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-94815632020-02-14 14:10:112210 days ago1581689411
0xaeAE9a2D...cb68dB52a
0.05005145 ETH
-94322502020-02-07 0:01:112217 days ago1581033671
0xaeAE9a2D...cb68dB52a
0.05000064 ETH
-93413282020-01-24 0:49:012231 days ago1579826941
0xaeAE9a2D...cb68dB52a
0.05000275 ETH
-92635592020-01-12 3:03:072243 days ago1578798187
0xaeAE9a2D...cb68dB52a
0.05002734 ETH
-91634392019-12-26 1:19:372260 days ago1577323177
0xaeAE9a2D...cb68dB52a
0.0500617 ETH
-90944152019-12-12 12:50:052274 days ago1576155005
0xaeAE9a2D...cb68dB52a
0.05004761 ETH
-90302602019-12-01 3:18:472285 days ago1575170327
0xaeAE9a2D...cb68dB52a
0.05001282 ETH
-89658562019-11-20 2:18:242296 days ago1574216304
0xaeAE9a2D...cb68dB52a
0.05002009 ETH
-88684252019-11-04 1:00:562312 days ago1572829256
0xaeAE9a2D...cb68dB52a
0.05000303 ETH
-88152512019-10-26 11:54:562321 days ago1572090896
0xaeAE9a2D...cb68dB52a
0.05001823 ETH
-87606212019-10-17 20:18:262329 days ago1571343506
0xaeAE9a2D...cb68dB52a
0.05001177 ETH
-86588282019-10-01 21:10:322345 days ago1569964232
0xaeAE9a2D...cb68dB52a
0.05003022 ETH
-86048322019-09-23 10:15:022354 days ago1569233702
0xaeAE9a2D...cb68dB52a
0.05124378 ETH
-85449182019-09-14 2:06:092363 days ago1568426769
0xaeAE9a2D...cb68dB52a
0.05000685 ETH
-84965172019-09-06 12:54:042371 days ago1567774444
0xaeAE9a2D...cb68dB52a
0.0500238 ETH
-84557852019-08-31 4:28:342377 days ago1567225714
0xaeAE9a2D...cb68dB52a
0.05005501 ETH
-84069122019-08-23 13:58:012385 days ago1566568681
0xaeAE9a2D...cb68dB52a
0.05006451 ETH
-83631182019-08-16 18:26:122391 days ago1565979972
0xaeAE9a2D...cb68dB52a
0.05000565 ETH
-83172242019-08-09 15:35:332399 days ago1565364933
0xaeAE9a2D...cb68dB52a
0.05005886 ETH
-82780062019-08-03 13:33:032405 days ago1564839183
0xaeAE9a2D...cb68dB52a
0.05016591 ETH
-82540692019-07-30 20:11:452408 days ago1564517505
0xaeAE9a2D...cb68dB52a
0.05013021 ETH
-82304092019-07-27 4:06:132412 days ago1564200373
0xaeAE9a2D...cb68dB52a
0.05014847 ETH
-82110162019-07-24 3:34:572415 days ago1563939297
0xaeAE9a2D...cb68dB52a
0.05006232 ETH
-81956812019-07-21 18:42:222417 days ago1563734542
0xaeAE9a2D...cb68dB52a
0.0501 ETH
-81917742019-07-21 4:10:542418 days ago1563682254
0xaeAE9a2D...cb68dB52a
0.20049793 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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

Contract Source Code (Solidity)

/**
 *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

API
[{"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"}]

0x6060604052341561000c57fe5b60405160208061026c83398101604052515b60008054600160a060020a031916600160a060020a0383161790555b505b6102218061004b6000396000f300606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029000000000000000000000000a3c1e324ca1ce40db73ed6026c4a177f099b5770

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.