ETH Price: $1,883.00 (-4.69%)
 

Overview

ETH Balance

0.019928300988904358 ETH

Eth Value

$37.52 (@ $1,883.00/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer89352802019-11-14 23:42:412292 days ago1573774961IN
0xaE488E96...Ca1140374
0.01992829 ETH0.000021051
Sweep88929192019-11-07 23:44:162299 days ago1573170256IN
0xaE488E96...Ca1140374
0 ETH0.0010998422
Transfer88929062019-11-07 23:42:082299 days ago1573170128IN
0xaE488E96...Ca1140374
0.07001685 ETH0.000021051
Sweep88527772019-11-01 12:53:412305 days ago1572612821IN
0xaE488E96...Ca1140374
0 ETH0.0010998422
Transfer88527592019-11-01 12:49:162305 days ago1572612556IN
0xaE488E96...Ca1140374
0.07001047 ETH0.000021051
Sweep88126722019-10-26 2:12:482312 days ago1572055968IN
0xaE488E96...Ca1140374
0 ETH0.0010998422
Transfer88126432019-10-26 2:06:572312 days ago1572055617IN
0xaE488E96...Ca1140374
0.07003446 ETH0.000021051
Sweep87713682019-10-19 12:52:172318 days ago1571489537IN
0xaE488E96...Ca1140374
0 ETH0.0010998422
Transfer87713482019-10-19 12:48:472318 days ago1571489327IN
0xaE488E96...Ca1140374
0.07005279 ETH0.000021051
Sweep87281922019-10-12 17:59:082325 days ago1570903148IN
0xaE488E96...Ca1140374
0 ETH0.0010998422
Transfer87281722019-10-12 17:53:572325 days ago1570902837IN
0xaE488E96...Ca1140374
0.07000938 ETH0.000021051
Sweep86872792019-10-06 7:46:322331 days ago1570347992IN
0xaE488E96...Ca1140374
0 ETH0.0010998422
Transfer86872642019-10-06 7:42:102331 days ago1570347730IN
0xaE488E96...Ca1140374
0.07002882 ETH0.000021051
Sweep86460142019-09-29 21:12:252338 days ago1569791545IN
0xaE488E96...Ca1140374
0 ETH0.0010998422
Transfer86459922019-09-29 21:07:252338 days ago1569791245IN
0xaE488E96...Ca1140374
0.07007547 ETH0.000021051
Sweep86058332019-09-23 13:59:342344 days ago1569247174IN
0xaE488E96...Ca1140374
0 ETH0.0014997930
Transfer86058132019-09-23 13:53:592344 days ago1569246839IN
0xaE488E96...Ca1140374
0.07002541 ETH0.000021051
Sweep85660272019-09-17 9:04:332350 days ago1568711073IN
0xaE488E96...Ca1140374
0 ETH0.0014997930
Transfer85660082019-09-17 9:02:122350 days ago1568710932IN
0xaE488E96...Ca1140374
0.07002871 ETH0.000021051
Sweep85271862019-09-11 7:30:322357 days ago1568187032IN
0xaE488E96...Ca1140374
0 ETH0.0013498127
Transfer85271722019-09-11 7:26:302357 days ago1568186790IN
0xaE488E96...Ca1140374
0.07000134 ETH0.000021051
Sweep84894912019-09-05 10:20:392362 days ago1567678839IN
0xaE488E96...Ca1140374
0 ETH0.0013498127
Transfer84894712019-09-05 10:17:052362 days ago1567678625IN
0xaE488E96...Ca1140374
0.07000578 ETH0.000021051
Sweep84502152019-08-30 7:31:062369 days ago1567150266IN
0xaE488E96...Ca1140374
0 ETH0.0010998422
Transfer84501932019-08-30 7:26:092369 days ago1567149969IN
0xaE488E96...Ca1140374
0.07001381 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-88929192019-11-07 23:44:162299 days ago1573170256
0xaE488E96...Ca1140374
0.07001685 ETH
-88527772019-11-01 12:53:412305 days ago1572612821
0xaE488E96...Ca1140374
0.07001048 ETH
-88126722019-10-26 2:12:482312 days ago1572055968
0xaE488E96...Ca1140374
0.07003447 ETH
-87713682019-10-19 12:52:172318 days ago1571489537
0xaE488E96...Ca1140374
0.07005279 ETH
-87281922019-10-12 17:59:082325 days ago1570903148
0xaE488E96...Ca1140374
0.07000939 ETH
-86872792019-10-06 7:46:322331 days ago1570347992
0xaE488E96...Ca1140374
0.07002883 ETH
-86460142019-09-29 21:12:252338 days ago1569791545
0xaE488E96...Ca1140374
0.07007547 ETH
-86058332019-09-23 13:59:342344 days ago1569247174
0xaE488E96...Ca1140374
0.07002542 ETH
-85660272019-09-17 9:04:332350 days ago1568711073
0xaE488E96...Ca1140374
0.07002871 ETH
-85271862019-09-11 7:30:322357 days ago1568187032
0xaE488E96...Ca1140374
0.07000134 ETH
-84894912019-09-05 10:20:392362 days ago1567678839
0xaE488E96...Ca1140374
0.07000579 ETH
-84502152019-08-30 7:31:062369 days ago1567150266
0xaE488E96...Ca1140374
0.07001381 ETH
-84112892019-08-24 6:06:462375 days ago1566626806
0xaE488E96...Ca1140374
0.07001073 ETH
-83728132019-08-18 6:40:182381 days ago1566110418
0xaE488E96...Ca1140374
0.07004908 ETH
-83328732019-08-12 1:51:132387 days ago1565574673
0xaE488E96...Ca1140374
0.0700301 ETH
-82912062019-08-05 14:34:552393 days ago1565015695
0xaE488E96...Ca1140374
0.0700236 ETH
-82496122019-07-30 3:46:102400 days ago1564458370
0xaE488E96...Ca1140374
0.07002533 ETH
-82109062019-07-24 3:09:432406 days ago1563937783
0xaE488E96...Ca1140374
0.07008493 ETH
-81703462019-07-17 20:23:302412 days ago1563395010
0xaE488E96...Ca1140374
0.07003857 ETH
-81319072019-07-11 19:53:252418 days ago1562874805
0xaE488E96...Ca1140374
0.07002051 ETH
-80934402019-07-05 20:37:332424 days ago1562359053
0xaE488E96...Ca1140374
0.07001948 ETH
-80543422019-06-29 18:19:252430 days ago1561832365
0xaE488E96...Ca1140374
0.07001796 ETH
-80185002019-06-24 4:09:282436 days ago1561349368
0xaE488E96...Ca1140374
0.07002333 ETH
-79841292019-06-18 19:13:132441 days ago1560885193
0xaE488E96...Ca1140374
0.07001695 ETH
-79501922019-06-13 11:49:342446 days ago1560426574
0xaE488E96...Ca1140374
0.07002863 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.