ETH Price: $3,259.26 (-0.21%)

Contract

0x9E181B19c8Bc1BcC78fb07F23452fc4E10316bd8
 

Overview

ETH Balance

0.000000006097268512 ETH

Eth Value

Less Than $0.01 (@ $3,259.26/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep60824502018-08-03 19:23:572353 days ago1533324237IN
0x9E181B19...E10316bd8
0 ETH0.0049993100
Transfer60824332018-08-03 19:20:092353 days ago1533324009IN
0x9E181B19...E10316bd8
0.05208195 ETH0.000050522.4
Sweep60571332018-07-30 12:11:442358 days ago1532952704IN
0x9E181B19...E10316bd8
0 ETH0.0050057100
Transfer60571182018-07-30 12:07:222358 days ago1532952442IN
0x9E181B19...E10316bd8
0.07582877 ETH0.000033681.6
Sweep60488812018-07-29 3:07:252359 days ago1532833645IN
0x9E181B19...E10316bd8
0 ETH0.0049993100
Transfer60488592018-07-29 3:02:572359 days ago1532833377IN
0x9E181B19...E10316bd8
0.05085338 ETH0.000021261.01
Sweep60404602018-07-27 17:34:402360 days ago1532712880IN
0x9E181B19...E10316bd8
0 ETH0.0049929100
Transfer60404432018-07-27 17:29:442360 days ago1532712584IN
0x9E181B19...E10316bd8
0.05006848 ETH0.00004422.1
Sweep60293682018-07-25 20:09:192362 days ago1532549359IN
0x9E181B19...E10316bd8
0 ETH0.0049993100
Transfer60293372018-07-25 20:02:512362 days ago1532548971IN
0x9E181B19...E10316bd8
0.05283465 ETH0.000031571.5
Sweep60113902018-07-22 18:37:452365 days ago1532284665IN
0x9E181B19...E10316bd8
0 ETH0.0049993100
Transfer60113292018-07-22 18:25:322365 days ago1532283932IN
0x9E181B19...E10316bd8
0.05790243 ETH0.000063153
Sweep59960272018-07-20 4:21:272368 days ago1532060487IN
0x9E181B19...E10316bd8
0 ETH0.0049993100
Transfer59959992018-07-20 4:14:322368 days ago1532060072IN
0x9E181B19...E10316bd8
0.05028135 ETH0.000147357
Sweep59815332018-07-17 16:34:472370 days ago1531845287IN
0x9E181B19...E10316bd8
0 ETH0.0049993100
Transfer59814902018-07-17 16:24:302370 days ago1531844670IN
0x9E181B19...E10316bd8
0.0531873 ETH0.000147357
Sweep59519962018-07-12 17:28:132375 days ago1531416493IN
0x9E181B19...E10316bd8
0 ETH0.0049993100
Transfer59519672018-07-12 17:21:012375 days ago1531416061IN
0x9E181B19...E10316bd8
0.05538179 ETH0.000578927.5
Sweep59457182018-07-11 16:30:432376 days ago1531326643IN
0x9E181B19...E10316bd8
0 ETH0.0049993100
Transfer59456932018-07-11 16:24:382376 days ago1531326278IN
0x9E181B19...E10316bd8
0.06145553 ETH0.0002526112
Sweep59336942018-07-09 14:48:492378 days ago1531147729IN
0x9E181B19...E10316bd8
0 ETH0.0049993100
Transfer59336702018-07-09 14:43:192378 days ago1531147399IN
0x9E181B19...E10316bd8
0.05350229 ETH0.0004210220
Sweep59192882018-07-07 3:00:322381 days ago1530932432IN
0x9E181B19...E10316bd8
0 ETH0.0049993100
Transfer59192652018-07-07 2:54:492381 days ago1530932089IN
0x9E181B19...E10316bd8
0.05893836 ETH0.0012630660
Sweep58940012018-07-02 18:53:492385 days ago1530557629IN
0x9E181B19...E10316bd8
0 ETH0.00908872181.8
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
60824502018-08-03 19:23:572353 days ago1533324237
0x9E181B19...E10316bd8
0.05208196 ETH
60571332018-07-30 12:11:442358 days ago1532952704
0x9E181B19...E10316bd8
0.07582877 ETH
60488812018-07-29 3:07:252359 days ago1532833645
0x9E181B19...E10316bd8
0.05085339 ETH
60404602018-07-27 17:34:402360 days ago1532712880
0x9E181B19...E10316bd8
0.05006848 ETH
60293682018-07-25 20:09:192362 days ago1532549359
0x9E181B19...E10316bd8
0.05283466 ETH
60113902018-07-22 18:37:452365 days ago1532284665
0x9E181B19...E10316bd8
0.05790243 ETH
59960272018-07-20 4:21:272368 days ago1532060487
0x9E181B19...E10316bd8
0.05028135 ETH
59815332018-07-17 16:34:472370 days ago1531845287
0x9E181B19...E10316bd8
0.0531873 ETH
59519962018-07-12 17:28:132375 days ago1531416493
0x9E181B19...E10316bd8
0.0553818 ETH
59457182018-07-11 16:30:432376 days ago1531326643
0x9E181B19...E10316bd8
0.06145553 ETH
59336942018-07-09 14:48:492378 days ago1531147729
0x9E181B19...E10316bd8
0.05350229 ETH
59192882018-07-07 3:00:322381 days ago1530932432
0x9E181B19...E10316bd8
0.05893837 ETH
58940012018-07-02 18:53:492385 days ago1530557629
0x9E181B19...E10316bd8
0.05328496 ETH
58689192018-06-28 11:48:442390 days ago1530186524
0x9E181B19...E10316bd8
0.05732221 ETH
58575002018-06-26 12:40:322392 days ago1530016832
0x9E181B19...E10316bd8
0.05247934 ETH
58412212018-06-23 17:11:232394 days ago1529773883
0x9E181B19...E10316bd8
0.05864914 ETH
58252502018-06-20 23:36:592397 days ago1529537819
0x9E181B19...E10316bd8
0.05519344 ETH
58104472018-06-18 10:54:042400 days ago1529319244
0x9E181B19...E10316bd8
0.05297475 ETH
58040842018-06-17 9:10:172401 days ago1529226617
0x9E181B19...E10316bd8
0.05919546 ETH
57946462018-06-15 18:36:242402 days ago1529087784
0x9E181B19...E10316bd8
0.05924481 ETH
57838012018-06-13 21:32:342404 days ago1528925554
0x9E181B19...E10316bd8
0.0519961 ETH
57789582018-06-13 1:09:002405 days ago1528852140
0x9E181B19...E10316bd8
0.05048195 ETH
57592672018-06-09 13:41:292408 days ago1528551689
0x9E181B19...E10316bd8
0.05155698 ETH
57467982018-06-07 8:44:572411 days ago1528361097
0x9E181B19...E10316bd8
0.06622464 ETH
57236482018-06-03 6:05:352415 days ago1528005935
0x9E181B19...E10316bd8
0.0532397 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.