ETH Price: $2,097.55 (-10.63%)

Contract

0xAf0F8efaFf9ce834B414eef1379513e21B5aC93f
 

Overview

ETH Balance

0.020702808561886205 ETH

Eth Value

$43.43 (@ $2,097.55/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer62931742018-09-08 8:33:222369 days ago1536395602IN
0xAf0F8efa...21B5aC93f
0.01064816 ETH0.000021051
Transfer62514872018-09-01 8:35:002376 days ago1535790900IN
0xAf0F8efa...21B5aC93f
0.01005463 ETH0.000021051
Sweep61300702018-08-11 19:53:442396 days ago1534017224IN
0xAf0F8efa...21B5aC93f
0 ETH0.0049993100
Transfer61300512018-08-11 19:49:112396 days ago1534016951IN
0xAf0F8efa...21B5aC93f
0.05001243 ETH0.000021051
Sweep61098742018-08-08 10:09:562399 days ago1533722996IN
0xAf0F8efa...21B5aC93f
0 ETH0.0049993100
Transfer61098542018-08-08 10:03:012399 days ago1533722581IN
0xAf0F8efa...21B5aC93f
0.05005057 ETH0.000021051
Sweep60718482018-08-02 0:01:302406 days ago1533168090IN
0xAf0F8efa...21B5aC93f
0 ETH0.0049993100
Transfer60718242018-08-01 23:56:582406 days ago1533167818IN
0xAf0F8efa...21B5aC93f
0.05003291 ETH0.000021051
Sweep60401822018-07-27 16:28:342411 days ago1532708914IN
0xAf0F8efa...21B5aC93f
0 ETH0.0050057100
Transfer60401572018-07-27 16:23:342411 days ago1532708614IN
0xAf0F8efa...21B5aC93f
0.0500569 ETH0.000021051
Transfer60227082018-07-24 16:53:392414 days ago1532451219IN
0xAf0F8efa...21B5aC93f
0.04515688 ETH0.000021051
Sweep59816182018-07-17 16:55:182421 days ago1531846518IN
0xAf0F8efa...21B5aC93f
0 ETH0.0049993100
Transfer59815832018-07-17 16:46:522421 days ago1531846012IN
0xAf0F8efa...21B5aC93f
0.05000221 ETH0.000021051
Sweep59557752018-07-13 8:40:342426 days ago1531471234IN
0xAf0F8efa...21B5aC93f
0 ETH0.0049993100
Transfer59557342018-07-13 8:31:202426 days ago1531470680IN
0xAf0F8efa...21B5aC93f
0.05006716 ETH0.000021051
Sweep59224842018-07-07 16:07:512431 days ago1530979671IN
0xAf0F8efa...21B5aC93f
0 ETH0.0049993100
Transfer59224342018-07-07 15:57:492431 days ago1530979069IN
0xAf0F8efa...21B5aC93f
0.05001629 ETH0.000021051
Sweep59035652018-07-04 10:09:422434 days ago1530698982IN
0xAf0F8efa...21B5aC93f
0 ETH0.0049993100
Transfer59035332018-07-04 10:01:482434 days ago1530698508IN
0xAf0F8efa...21B5aC93f
0.05007825 ETH0.000021051
Sweep58909222018-07-02 6:19:192437 days ago1530512359IN
0xAf0F8efa...21B5aC93f
0 ETH0.00547423109.5
Transfer58909042018-07-02 6:14:332437 days ago1530512073IN
0xAf0F8efa...21B5aC93f
0.05014904 ETH0.000021051
Sweep58742352018-06-29 10:02:072439 days ago1530266527IN
0xAf0F8efa...21B5aC93f
0 ETH0.0024996550
Transfer58742152018-06-29 9:56:252439 days ago1530266185IN
0xAf0F8efa...21B5aC93f
0.05006633 ETH0.000021051
Sweep58566172018-06-26 8:59:062443 days ago1530003546IN
0xAf0F8efa...21B5aC93f
0 ETH0.0024996550
Transfer58565952018-06-26 8:51:312443 days ago1530003091IN
0xAf0F8efa...21B5aC93f
0.05014821 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
61300702018-08-11 19:53:442396 days ago1534017224
0xAf0F8efa...21B5aC93f
0.05001243 ETH
61098742018-08-08 10:09:562399 days ago1533722996
0xAf0F8efa...21B5aC93f
0.05005058 ETH
60718482018-08-02 0:01:302406 days ago1533168090
0xAf0F8efa...21B5aC93f
0.05003291 ETH
60401822018-07-27 16:28:342411 days ago1532708914
0xAf0F8efa...21B5aC93f
0.0952138 ETH
59816182018-07-17 16:55:182421 days ago1531846518
0xAf0F8efa...21B5aC93f
0.05000222 ETH
59557752018-07-13 8:40:342426 days ago1531471234
0xAf0F8efa...21B5aC93f
0.05006716 ETH
59224842018-07-07 16:07:512431 days ago1530979671
0xAf0F8efa...21B5aC93f
0.05001629 ETH
59035652018-07-04 10:09:422434 days ago1530698982
0xAf0F8efa...21B5aC93f
0.05007825 ETH
58909222018-07-02 6:19:192437 days ago1530512359
0xAf0F8efa...21B5aC93f
0.05014905 ETH
58742352018-06-29 10:02:072439 days ago1530266527
0xAf0F8efa...21B5aC93f
0.05006633 ETH
58566172018-06-26 8:59:062443 days ago1530003546
0xAf0F8efa...21B5aC93f
0.05014822 ETH
58419572018-06-23 20:06:362445 days ago1529784396
0xAf0F8efa...21B5aC93f
0.05008842 ETH
58263282018-06-21 3:55:512448 days ago1529553351
0xAf0F8efa...21B5aC93f
0.05004037 ETH
58116952018-06-18 15:59:352450 days ago1529337575
0xAf0F8efa...21B5aC93f
0.05010118 ETH
57950432018-06-15 20:15:182453 days ago1529093718
0xAf0F8efa...21B5aC93f
0.05002967 ETH
57792952018-06-13 2:36:352456 days ago1528857395
0xAf0F8efa...21B5aC93f
0.0500456 ETH
57607102018-06-09 19:52:142459 days ago1528573934
0xAf0F8efa...21B5aC93f
0.05002805 ETH
57475312018-06-07 11:55:212461 days ago1528372521
0xAf0F8efa...21B5aC93f
0.05000931 ETH
57335762018-06-05 0:17:092464 days ago1528157829
0xAf0F8efa...21B5aC93f
0.05011134 ETH
57194792018-06-02 12:19:482466 days ago1527941988
0xAf0F8efa...21B5aC93f
0.05003334 ETH
57030332018-05-30 14:23:102469 days ago1527690190
0xAf0F8efa...21B5aC93f
0.05006631 ETH
56909832018-05-28 10:59:042471 days ago1527505144
0xAf0F8efa...21B5aC93f
0.05008779 ETH
56786912018-05-26 7:14:352474 days ago1527318875
0xAf0F8efa...21B5aC93f
0.05011879 ETH
56666592018-05-24 3:34:542476 days ago1527132894
0xAf0F8efa...21B5aC93f
0.05004221 ETH
56537682018-05-21 20:38:562478 days ago1526935136
0xAf0F8efa...21B5aC93f
0.05001283 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

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"}]

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.