ETH Price: $2,816.49 (+1.13%)
Gas: 0.87 Gwei

Contract

0x0AA4eA1adE269DC588d4b13EAE2cc216F47Ce1e4
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep60588952018-07-30 19:14:162399 days ago1532978056IN
0x0AA4eA1a...6F47Ce1e4
0 ETH0.0050057100
Transfer60588762018-07-30 19:08:562399 days ago1532977736IN
0x0AA4eA1a...6F47Ce1e4
4.24345794 ETH0.00004212
Sweep57566322018-06-09 2:31:212451 days ago1528511481IN
0x0AA4eA1a...6F47Ce1e4
0 ETH0.0025028550
Transfer57566112018-06-09 2:25:592451 days ago1528511159IN
0x0AA4eA1a...6F47Ce1e4
3.88918429 ETH0.00008424
Sweep57558262018-06-08 22:59:032451 days ago1528498743IN
0x0AA4eA1a...6F47Ce1e4
0 ETH0.0025028550
Transfer57558072018-06-08 22:53:232451 days ago1528498403IN
0x0AA4eA1a...6F47Ce1e4
0.082988 ETH0.00016848
Sweep49955912018-01-29 19:39:262581 days ago1517254766IN
0x0AA4eA1a...6F47Ce1e4
0 ETH0.0045051390
Transfer49955632018-01-29 19:34:312581 days ago1517254471IN
0x0AA4eA1a...6F47Ce1e4
0.09337557 ETH0.0007578336
Sweep49663312018-01-24 21:48:252586 days ago1516830505IN
0x0AA4eA1a...6F47Ce1e4
0 ETH0.0045051390
Transfer49662942018-01-24 21:40:312586 days ago1516830031IN
0x0AA4eA1a...6F47Ce1e4
0.08767051 ETH0.0008420440
Sweep49206542018-01-16 23:59:492594 days ago1516147189IN
0x0AA4eA1a...6F47Ce1e4
0 ETH0.0045051390
Transfer49206272018-01-16 23:51:382594 days ago1516146698IN
0x0AA4eA1a...6F47Ce1e4
0.16281223 ETH0.0010946552
Sweep48542442018-01-04 19:01:552606 days ago1515092515IN
0x0AA4eA1a...6F47Ce1e4
0 ETH0.002552951
Transfer48541982018-01-04 18:52:492606 days ago1515091969IN
0x0AA4eA1a...6F47Ce1e4
0.53875395 ETH0.0006315330
Sweep48517362018-01-04 8:07:092607 days ago1515053229IN
0x0AA4eA1a...6F47Ce1e4
0 ETH0.0025496451
Transfer48506302018-01-04 3:24:592607 days ago1515036299IN
0x0AA4eA1a...6F47Ce1e4
0.06477705 ETH0.0004420721
Sweep48502272018-01-04 1:30:182607 days ago1515029418IN
0x0AA4eA1a...6F47Ce1e4
0 ETH0.002552951
Transfer48496942018-01-03 23:05:582607 days ago1515020758IN
0x0AA4eA1a...6F47Ce1e4
0.48686307 ETH0.0004420721
Sweep48452292018-01-03 3:38:482608 days ago1514950728IN
0x0AA4eA1a...6F47Ce1e4
0 ETH0.002552951
Transfer48452002018-01-03 3:30:442608 days ago1514950244IN
0x0AA4eA1a...6F47Ce1e4
0.21450249 ETH0.0004210220
Sweep48451032018-01-03 3:07:232608 days ago1514948843IN
0x0AA4eA1a...6F47Ce1e4
0 ETH0.002552951
Transfer48450732018-01-03 2:58:532608 days ago1514948333IN
0x0AA4eA1a...6F47Ce1e4
0.12167639 ETH0.0004210220
Sweep48441592018-01-02 23:08:072608 days ago1514934487IN
0x0AA4eA1a...6F47Ce1e4
0 ETH0.002552951
Transfer48441322018-01-02 22:59:442608 days ago1514933984IN
0x0AA4eA1a...6F47Ce1e4
0.23404636 ETH0.0004210220
Sweep48434202018-01-02 20:07:392608 days ago1514923659IN
0x0AA4eA1a...6F47Ce1e4
0 ETH0.002552951
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
60588952018-07-30 19:14:162399 days ago1532978056
0x0AA4eA1a...6F47Ce1e4
4.24345794 ETH
57566322018-06-09 2:31:212451 days ago1528511481
0x0AA4eA1a...6F47Ce1e4
3.88918429 ETH
57558262018-06-08 22:59:032451 days ago1528498743
0x0AA4eA1a...6F47Ce1e4
0.082988 ETH
49955912018-01-29 19:39:262581 days ago1517254766
0x0AA4eA1a...6F47Ce1e4
0.09337557 ETH
49663312018-01-24 21:48:252586 days ago1516830505
0x0AA4eA1a...6F47Ce1e4
0.08767051 ETH
49206542018-01-16 23:59:492594 days ago1516147189
0x0AA4eA1a...6F47Ce1e4
0.16281223 ETH
48542442018-01-04 19:01:552606 days ago1515092515
0x0AA4eA1a...6F47Ce1e4
0.53875395 ETH
48517362018-01-04 8:07:092607 days ago1515053229
0x0AA4eA1a...6F47Ce1e4
0.06477705 ETH
48502272018-01-04 1:30:182607 days ago1515029418
0x0AA4eA1a...6F47Ce1e4
0.48686307 ETH
48452292018-01-03 3:38:482608 days ago1514950728
0x0AA4eA1a...6F47Ce1e4
0.21450249 ETH
48451032018-01-03 3:07:232608 days ago1514948843
0x0AA4eA1a...6F47Ce1e4
0.12167639 ETH
48441592018-01-02 23:08:072608 days ago1514934487
0x0AA4eA1a...6F47Ce1e4
0.23404636 ETH
48434202018-01-02 20:07:392608 days ago1514923659
0x0AA4eA1a...6F47Ce1e4
0.34438634 ETH
48295292017-12-31 11:05:202611 days ago1514718320
0x0AA4eA1a...6F47Ce1e4
0.09362584 ETH
47859152017-12-24 2:16:402618 days ago1514081800
0x0AA4eA1a...6F47Ce1e4
1.24488097 ETH
47788162017-12-22 21:27:412619 days ago1513978061
0x0AA4eA1a...6F47Ce1e4
0.71402051 ETH
47733732017-12-21 22:20:102620 days ago1513894810
0x0AA4eA1a...6F47Ce1e4
1.21911912 ETH
47723982017-12-21 18:04:082620 days ago1513879448
0x0AA4eA1a...6F47Ce1e4
4.37330593 ETH
47705612017-12-21 10:10:362621 days ago1513851036
0x0AA4eA1a...6F47Ce1e4
0.09837545 ETH
47474722017-12-17 8:16:252625 days ago1513498585
0x0AA4eA1a...6F47Ce1e4
0.13851921 ETH
47450712017-12-16 22:29:302625 days ago1513463370
0x0AA4eA1a...6F47Ce1e4
0.43954286 ETH
47401432017-12-16 1:56:312626 days ago1513389391
0x0AA4eA1a...6F47Ce1e4
2.98963248 ETH
47400812017-12-16 1:40:522626 days ago1513388452
0x0AA4eA1a...6F47Ce1e4
2 ETH
47400462017-12-16 1:32:582626 days ago1513387978
0x0AA4eA1a...6F47Ce1e4
1.41558 ETH
47400102017-12-16 1:22:012626 days ago1513387321
0x0AA4eA1a...6F47Ce1e4
1.42048 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.