ETH Price: $2,649.50 (-4.80%)

Contract

0xaA0649Fa95B7F38352c0568F683Ef3BC87b3EB20
 

Overview

ETH Balance

0.000000003 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep59281482018-07-08 16:04:222422 days ago1531065862IN
0xaA0649Fa...C87b3EB20
0 ETH0.0046903100
Sweep46270352017-11-26 18:18:132646 days ago1511720293IN
0xaA0649Fa...C87b3EB20
0 ETH0.0010011420
Transfer46270232017-11-26 18:15:112646 days ago1511720111IN
0xaA0649Fa...C87b3EB20
5.72475733 ETH0.0004420721
Sweep46089852017-11-23 20:36:212649 days ago1511469381IN
0xaA0649Fa...C87b3EB20
0 ETH0.0010011420
Transfer46089732017-11-23 20:34:102649 days ago1511469250IN
0xaA0649Fa...C87b3EB20
2.3592347 ETH0.0004210220
Sweep45847742017-11-19 22:50:112653 days ago1511131811IN
0xaA0649Fa...C87b3EB20
0 ETH0.0010011420
Transfer45847682017-11-19 22:48:252653 days ago1511131705IN
0xaA0649Fa...C87b3EB20
1.32365711 ETH0.0004210220
Sweep45552632017-11-15 4:48:052658 days ago1510721285IN
0xaA0649Fa...C87b3EB20
0 ETH0.0010011420
Transfer45552432017-11-15 4:43:482658 days ago1510721028IN
0xaA0649Fa...C87b3EB20
16.26821655 ETH0.0004210220
Sweep45360032017-11-12 2:19:472661 days ago1510453187IN
0xaA0649Fa...C87b3EB20
0 ETH0.0010011420
Transfer45359822017-11-12 2:15:472661 days ago1510452947IN
0xaA0649Fa...C87b3EB20
10.40160111 ETH0.0004210220
Sweep45154882017-11-08 19:27:272664 days ago1510169247IN
0xaA0649Fa...C87b3EB20
0 ETH0.0010011420
Transfer45154792017-11-08 19:25:342664 days ago1510169134IN
0xaA0649Fa...C87b3EB20
17.83232267 ETH0.0004210220
Sweep44675362017-11-01 2:04:152672 days ago1509501855IN
0xaA0649Fa...C87b3EB20
0 ETH0.0009998620
Transfer44675202017-11-01 2:00:432672 days ago1509501643IN
0xaA0649Fa...C87b3EB20
4 ETH0.0004210220
Sweep44225562017-10-24 19:47:552679 days ago1508874475IN
0xaA0649Fa...C87b3EB20
0 ETH0.0015517631
Transfer44225452017-10-24 19:45:282679 days ago1508874328IN
0xaA0649Fa...C87b3EB20
16.43497839 ETH0.0004420721
Sweep44159602017-10-23 18:35:392680 days ago1508783739IN
0xaA0649Fa...C87b3EB20
0 ETH0.0015517631
Transfer44159582017-10-23 18:34:462680 days ago1508783686IN
0xaA0649Fa...C87b3EB20
7.05 ETH0.0004420721
Transfer44159502017-10-23 18:32:322680 days ago1508783552IN
0xaA0649Fa...C87b3EB20
6.23513139 ETH0.0004420721
Sweep44032142017-10-21 17:40:142682 days ago1508607614IN
0xaA0649Fa...C87b3EB20
0 ETH0.0015497831
Transfer44032062017-10-21 17:37:402682 days ago1508607460IN
0xaA0649Fa...C87b3EB20
4.272 ETH0.0004631222
Sweep43667562017-10-15 2:40:442689 days ago1508035244IN
0xaA0649Fa...C87b3EB20
0 ETH0.0015517631
Transfer43667472017-10-15 2:38:302689 days ago1508035110IN
0xaA0649Fa...C87b3EB20
1.44225193 ETH0.0004420721
Sweep43321852017-10-03 3:39:262701 days ago1507001966IN
0xaA0649Fa...C87b3EB20
0 ETH0.0015497831
View all transactions

Latest 17 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
46270352017-11-26 18:18:132646 days ago1511720293
0xaA0649Fa...C87b3EB20
5.72475733 ETH
46089852017-11-23 20:36:212649 days ago1511469381
0xaA0649Fa...C87b3EB20
2.3592347 ETH
45847742017-11-19 22:50:112653 days ago1511131811
0xaA0649Fa...C87b3EB20
1.32365711 ETH
45552632017-11-15 4:48:052658 days ago1510721285
0xaA0649Fa...C87b3EB20
16.26821655 ETH
45360032017-11-12 2:19:472661 days ago1510453187
0xaA0649Fa...C87b3EB20
10.40160111 ETH
45154882017-11-08 19:27:272664 days ago1510169247
0xaA0649Fa...C87b3EB20
17.83232267 ETH
44675362017-11-01 2:04:152672 days ago1509501855
0xaA0649Fa...C87b3EB20
4 ETH
44225562017-10-24 19:47:552679 days ago1508874475
0xaA0649Fa...C87b3EB20
16.4349784 ETH
44159602017-10-23 18:35:392680 days ago1508783739
0xaA0649Fa...C87b3EB20
13.28513139 ETH
44032142017-10-21 17:40:142682 days ago1508607614
0xaA0649Fa...C87b3EB20
4.272 ETH
43667562017-10-15 2:40:442689 days ago1508035244
0xaA0649Fa...C87b3EB20
1.44225193 ETH
43321852017-10-03 3:39:262701 days ago1507001966
0xaA0649Fa...C87b3EB20
1 ETH
42896182017-09-19 2:48:462715 days ago1505789326
0xaA0649Fa...C87b3EB20
4.96 ETH
42521482017-09-08 15:48:062726 days ago1504885686
0xaA0649Fa...C87b3EB20
0.8 ETH
42460292017-09-06 22:33:012727 days ago1504737181
0xaA0649Fa...C87b3EB20
3 ETH
42459972017-09-06 22:20:142727 days ago1504736414
0xaA0649Fa...C87b3EB20
0.2 ETH
42453162017-09-06 17:55:032727 days ago1504720503  Contract Creation0 ETH
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.