ETH Price: $2,051.86 (-4.50%)

Contract

0xaE9da3FD8128028dc2d2bf840E24eDcD7293623c
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep72416542019-02-19 20:04:012592 days ago1550606641IN
0xaE9da3FD...D7293623c
0 ETH0.0025028550
Transfer72416522019-02-19 20:03:102592 days ago1550606590IN
0xaE9da3FD...D7293623c
0.52300312 ETH0.0010525550
Sweep72416252019-02-19 19:51:092592 days ago1550605869IN
0xaE9da3FD...D7293623c
0 ETH0.0025028550
Transfer72416092019-02-19 19:46:472592 days ago1550605607IN
0xaE9da3FD...D7293623c
1.44020355 ETH0.0003473416.5
Sweep71949762019-02-08 22:10:512603 days ago1549663851IN
0xaE9da3FD...D7293623c
0 ETH0.0025028550
Transfer71949612019-02-08 22:06:292603 days ago1549663589IN
0xaE9da3FD...D7293623c
7.00303201 ETH0.000105255
Sweep71948482019-02-08 21:34:022603 days ago1549661642IN
0xaE9da3FD...D7293623c
0 ETH0.0025028550
0x0000000071948342019-02-08 21:30:482603 days ago1549661448IN
0xaE9da3FD...D7293623c
3.30156609 ETH0.000105975
Sweep71947462019-02-08 21:03:412603 days ago1549659821IN
0xaE9da3FD...D7293623c
0 ETH0.0024996550
0x0000000071947332019-02-08 21:00:062603 days ago1549659606IN
0xaE9da3FD...D7293623c
6.99 ETH0.000127176
Sweep71945192019-02-08 20:01:032603 days ago1549656063IN
0xaE9da3FD...D7293623c
0 ETH0.0024996550
0x0000000071944972019-02-08 19:56:062603 days ago1549655766IN
0xaE9da3FD...D7293623c
6.976 ETH0.000127176
Sweep71944262019-02-08 19:34:292603 days ago1549654469IN
0xaE9da3FD...D7293623c
0 ETH0.0024996550
0x0000000071944082019-02-08 19:31:292603 days ago1549654289IN
0xaE9da3FD...D7293623c
6.976 ETH0.0002638712.45
Sweep71942032019-02-08 18:30:502603 days ago1549650650IN
0xaE9da3FD...D7293623c
0 ETH0.0024996550
0x0000000071941872019-02-08 18:26:212603 days ago1549650381IN
0xaE9da3FD...D7293623c
6.976 ETH0.000127176
Sweep71927592019-02-08 11:21:402603 days ago1549624900IN
0xaE9da3FD...D7293623c
0 ETH0.0025028550
Transfer71927432019-02-08 11:16:392603 days ago1549624599IN
0xaE9da3FD...D7293623c
6.99957201 ETH0.00016848
Sweep71040752019-01-21 14:14:222621 days ago1548080062IN
0xaE9da3FD...D7293623c
0 ETH0.0025028550
Transfer71040562019-01-21 14:08:352621 days ago1548079715IN
0xaE9da3FD...D7293623c
12.6831097 ETH0.0004210220
Sweep70378622019-01-09 16:56:152633 days ago1547052975IN
0xaE9da3FD...D7293623c
0 ETH0.0025028550
Transfer70378472019-01-09 16:53:272633 days ago1547052807IN
0xaE9da3FD...D7293623c
6.0064791 ETH0.0004210220
Sweep70362122019-01-09 9:44:032633 days ago1547027043IN
0xaE9da3FD...D7293623c
0 ETH0.0025028550
Transfer70361962019-01-09 9:39:092633 days ago1547026749IN
0xaE9da3FD...D7293623c
5.983 ETH0.0004210220
Sweep70160692019-01-05 19:25:022637 days ago1546716302IN
0xaE9da3FD...D7293623c
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-72416542019-02-19 20:04:012592 days ago1550606641
0xaE9da3FD...D7293623c
0.52300312 ETH
-72416252019-02-19 19:51:092592 days ago1550605869
0xaE9da3FD...D7293623c
1.44020355 ETH
-71949762019-02-08 22:10:512603 days ago1549663851
0xaE9da3FD...D7293623c
7.00303201 ETH
-71948482019-02-08 21:34:022603 days ago1549661642
0xaE9da3FD...D7293623c
3.30156609 ETH
-71947462019-02-08 21:03:412603 days ago1549659821
0xaE9da3FD...D7293623c
6.99 ETH
-71945192019-02-08 20:01:032603 days ago1549656063
0xaE9da3FD...D7293623c
6.976 ETH
-71944262019-02-08 19:34:292603 days ago1549654469
0xaE9da3FD...D7293623c
6.976 ETH
-71942032019-02-08 18:30:502603 days ago1549650650
0xaE9da3FD...D7293623c
6.976 ETH
-71927592019-02-08 11:21:402603 days ago1549624900
0xaE9da3FD...D7293623c
6.99957201 ETH
-71040752019-01-21 14:14:222621 days ago1548080062
0xaE9da3FD...D7293623c
12.6831097 ETH
-70378622019-01-09 16:56:152633 days ago1547052975
0xaE9da3FD...D7293623c
6.0064791 ETH
-70362122019-01-09 9:44:032633 days ago1547027043
0xaE9da3FD...D7293623c
5.983 ETH
-70160692019-01-05 19:25:022637 days ago1546716302
0xaE9da3FD...D7293623c
2.98999 ETH
-70160472019-01-05 19:20:542637 days ago1546716054
0xaE9da3FD...D7293623c
2.99777774 ETH
-69405032018-12-23 21:15:382650 days ago1545599738
0xaE9da3FD...D7293623c
4.95379558 ETH
-69095842018-12-18 14:58:552655 days ago1545145135
0xaE9da3FD...D7293623c
6.25511175 ETH
-69051722018-12-17 20:35:132656 days ago1545078913
0xaE9da3FD...D7293623c
6.99889713 ETH
-69046672018-12-17 18:37:042656 days ago1545071824
0xaE9da3FD...D7293623c
5.79441065 ETH
-68027252018-11-30 21:49:242673 days ago1543614564
0xaE9da3FD...D7293623c
5.500653 ETH
-68023872018-11-30 20:23:352673 days ago1543609415
0xaE9da3FD...D7293623c
2.503351 ETH
Transfer66044772018-10-29 9:12:502705 days ago1540804370
0xaE9da3FD...D7293623c
8 ETH
Transfer54290972018-04-12 19:55:092905 days ago1523562909
0xaE9da3FD...D7293623c
6.16030736 ETH
Transfer53774092018-04-04 5:48:082913 days ago1522820888
0xaE9da3FD...D7293623c
3.75353412 ETH
Transfer53773372018-04-04 5:31:402913 days ago1522819900
0xaE9da3FD...D7293623c
3.47969044 ETH
Transfer53735312018-04-03 14:32:502914 days ago1522765970
0xaE9da3FD...D7293623c
2.47322827 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.