ETH Price: $3,133.60 (-1.46%)

Contract

0xA86060Afee6b8D61665ab659db8cbfe8582B77f6
 

Overview

ETH Balance

0.020885065072709588 ETH

Eth Value

$65.45 (@ $3,133.60/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer59249262018-07-08 2:23:342318 days ago1531016614IN
0xA86060Af...8582B77f6
0.02088506 ETH0.000021051
Sweep58840612018-07-01 2:25:202325 days ago1530411920IN
0xA86060Af...8582B77f6
0 ETH0.0024996550
Transfer58840402018-07-01 2:19:312325 days ago1530411571IN
0xA86060Af...8582B77f6
0.05001752 ETH0.000021051
Sweep58478202018-06-24 19:51:162331 days ago1529869876IN
0xA86060Af...8582B77f6
0 ETH0.0025028550
Transfer58477952018-06-24 19:44:582331 days ago1529869498IN
0xA86060Af...8582B77f6
0.05001506 ETH0.000021051
Transfer58112862018-06-18 14:17:412337 days ago1529331461IN
0xA86060Af...8582B77f6
0.0100336 ETH0.000021051
Transfer57034622018-05-30 16:12:262356 days ago1527696746IN
0xA86060Af...8582B77f6
0.03729221 ETH0.000021051
Sweep56639182018-05-23 16:12:212363 days ago1527091941IN
0xA86060Af...8582B77f6
0 ETH0.0024964550
Transfer56638902018-05-23 16:05:182363 days ago1527091518IN
0xA86060Af...8582B77f6
0.05003299 ETH0.000021051
Sweep56328322018-05-18 3:40:542369 days ago1526614854IN
0xA86060Af...8582B77f6
0 ETH0.0024996550
Transfer56328172018-05-18 3:35:522369 days ago1526614552IN
0xA86060Af...8582B77f6
0.05003816 ETH0.000021051
Sweep56011752018-05-12 14:29:532374 days ago1526135393IN
0xA86060Af...8582B77f6
0 ETH0.0024996550
Transfer56011282018-05-12 14:15:572374 days ago1526134557IN
0xA86060Af...8582B77f6
0.05001939 ETH0.000021051
Sweep55686182018-05-06 22:17:412380 days ago1525645061IN
0xA86060Af...8582B77f6
0 ETH0.0024996550
Transfer55685922018-05-06 22:09:262380 days ago1525644566IN
0xA86060Af...8582B77f6
0.05002957 ETH0.000021051
Sweep55379502018-05-01 13:17:242385 days ago1525180644IN
0xA86060Af...8582B77f6
0 ETH0.0024996550
Transfer55379332018-05-01 13:14:072385 days ago1525180447IN
0xA86060Af...8582B77f6
0.05001666 ETH0.000021051
Sweep55070462018-04-26 4:14:062391 days ago1524716046IN
0xA86060Af...8582B77f6
0 ETH0.0024996550
Transfer55070312018-04-26 4:10:332391 days ago1524715833IN
0xA86060Af...8582B77f6
0.0500122 ETH0.000021051
Sweep54760972018-04-20 20:33:572396 days ago1524256437IN
0xA86060Af...8582B77f6
0 ETH0.0024996550
Transfer54760812018-04-20 20:29:322396 days ago1524256172IN
0xA86060Af...8582B77f6
0.05004358 ETH0.000021051
Sweep54453412018-04-15 13:58:332401 days ago1523800713IN
0xA86060Af...8582B77f6
0 ETH0.0024996550
Transfer54453102018-04-15 13:52:162401 days ago1523800336IN
0xA86060Af...8582B77f6
0.05005398 ETH0.000021051
Sweep54144432018-04-10 9:13:242406 days ago1523351604IN
0xA86060Af...8582B77f6
0 ETH0.0024996550
Transfer54144122018-04-10 9:04:392406 days ago1523351079IN
0xA86060Af...8582B77f6
0.05004708 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
58840612018-07-01 2:25:202325 days ago1530411920
0xA86060Af...8582B77f6
0.05001753 ETH
58478202018-06-24 19:51:162331 days ago1529869876
0xA86060Af...8582B77f6
0.09734088 ETH
56639182018-05-23 16:12:212363 days ago1527091941
0xA86060Af...8582B77f6
0.05003299 ETH
56328322018-05-18 3:40:542369 days ago1526614854
0xA86060Af...8582B77f6
0.05003817 ETH
56011752018-05-12 14:29:532374 days ago1526135393
0xA86060Af...8582B77f6
0.05001939 ETH
55686182018-05-06 22:17:412380 days ago1525645061
0xA86060Af...8582B77f6
0.05002957 ETH
55379502018-05-01 13:17:242385 days ago1525180644
0xA86060Af...8582B77f6
0.05001667 ETH
55070462018-04-26 4:14:062391 days ago1524716046
0xA86060Af...8582B77f6
0.05001221 ETH
54760972018-04-20 20:33:572396 days ago1524256437
0xA86060Af...8582B77f6
0.05004358 ETH
54453412018-04-15 13:58:332401 days ago1523800713
0xA86060Af...8582B77f6
0.05005398 ETH
54144432018-04-10 9:13:242406 days ago1523351604
0xA86060Af...8582B77f6
0.05004708 ETH
53815002018-04-04 22:22:382412 days ago1522880558
0xA86060Af...8582B77f6
0.05001369 ETH
53494522018-03-30 14:54:242417 days ago1522421664
0xA86060Af...8582B77f6
0.05001493 ETH
53172412018-03-25 4:40:272423 days ago1521952827
0xA86060Af...8582B77f6
0.05000812 ETH
52840372018-03-19 15:40:532428 days ago1521474053
0xA86060Af...8582B77f6
0.05003223 ETH
52525362018-03-14 7:20:542433 days ago1521012054
0xA86060Af...8582B77f6
0.05003281 ETH
52205932018-03-08 21:09:242439 days ago1520543364
0xA86060Af...8582B77f6
0.05002657 ETH
51892202018-03-03 13:33:582444 days ago1520084038
0xA86060Af...8582B77f6
0.05000354 ETH
51587532018-02-26 9:13:002449 days ago1519636380
0xA86060Af...8582B77f6
0.05001122 ETH
51294662018-02-21 9:36:102454 days ago1519205770
0xA86060Af...8582B77f6
0.05002455 ETH
51004192018-02-16 11:34:432459 days ago1518780883
0xA86060Af...8582B77f6
0.05001224 ETH
50718672018-02-11 16:21:002464 days ago1518366060
0xA86060Af...8582B77f6
0.05000557 ETH
50437962018-02-06 23:22:482469 days ago1517959368
0xA86060Af...8582B77f6
0.05003919 ETH
50172092018-02-02 12:18:022473 days ago1517573882
0xA86060Af...8582B77f6
0.0500478 ETH
49914162018-01-29 2:33:312478 days ago1517193211
0xA86060Af...8582B77f6
0.05000233 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.