ETH Price: $3,428.46 (+2.53%)

Contract

0x93875F0Fe03116630e1022845bBf4b960D69428e
 

Overview

ETH Balance

0.00000000880436539 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep67816292018-11-27 10:22:362243 days ago1543314156IN
0x93875F0F...60D69428e
0 ETH0.0025028550
Transfer67816122018-11-27 10:19:162243 days ago1543313956IN
0x93875F0F...60D69428e
0.35198907 ETH0.000021051
Sweep67389562018-11-20 10:13:442250 days ago1542708824IN
0x93875F0F...60D69428e
0 ETH0.0025028550
Transfer67389422018-11-20 10:09:532250 days ago1542708593IN
0x93875F0F...60D69428e
0.50192352 ETH0.000021051
Sweep66962622018-11-13 10:10:202257 days ago1542103820IN
0x93875F0F...60D69428e
0 ETH0.0025028550
Transfer66962412018-11-13 10:04:582257 days ago1542103498IN
0x93875F0F...60D69428e
0.46225626 ETH0.000021051
Sweep66534602018-11-06 10:07:552264 days ago1541498875IN
0x93875F0F...60D69428e
0 ETH0.0025028550
Transfer66534372018-11-06 10:03:392264 days ago1541498619IN
0x93875F0F...60D69428e
0.48429509 ETH0.000021051
Sweep66108182018-10-30 10:01:202271 days ago1540893680IN
0x93875F0F...60D69428e
0 ETH0.0025028550
Transfer66107952018-10-30 9:56:382271 days ago1540893398IN
0x93875F0F...60D69428e
0.45154109 ETH0.000021051
Sweep65679892018-10-23 10:02:592278 days ago1540288979IN
0x93875F0F...60D69428e
0 ETH0.0025028550
Transfer65679562018-10-23 9:55:152278 days ago1540288515IN
0x93875F0F...60D69428e
0.44602308 ETH0.000021051
Sweep65251162018-10-16 9:57:302285 days ago1539683850IN
0x93875F0F...60D69428e
0 ETH0.0025028550
Transfer65250812018-10-16 9:48:252285 days ago1539683305IN
0x93875F0F...60D69428e
0.38892285 ETH0.000021051
Sweep64820522018-10-09 9:51:292292 days ago1539078689IN
0x93875F0F...60D69428e
0 ETH0.0025028550
Transfer64820342018-10-09 9:47:532292 days ago1539078473IN
0x93875F0F...60D69428e
0.35263493 ETH0.000021051
Sweep64388612018-10-02 9:59:012299 days ago1538474341IN
0x93875F0F...60D69428e
0 ETH0.0025028550
Transfer64388412018-10-02 9:51:052299 days ago1538473865IN
0x93875F0F...60D69428e
0.40861799 ETH0.000021051
Sweep63962202018-09-25 10:00:132306 days ago1537869613IN
0x93875F0F...60D69428e
0 ETH0.0025028550
Transfer63961832018-09-25 9:53:042306 days ago1537869184IN
0x93875F0F...60D69428e
0.38384099 ETH0.000021051
Sweep63537442018-09-18 9:51:172313 days ago1537264277IN
0x93875F0F...60D69428e
0 ETH0.0025028550
Transfer63537092018-09-18 9:43:472313 days ago1537263827IN
0x93875F0F...60D69428e
0.4531096 ETH0.000021051
Sweep63114122018-09-11 9:52:162320 days ago1536659536IN
0x93875F0F...60D69428e
0 ETH0.0025028550
Transfer63113692018-09-11 9:40:352320 days ago1536658835IN
0x93875F0F...60D69428e
0.45505994 ETH0.000021051
Sweep62695472018-09-04 9:32:422327 days ago1536053562IN
0x93875F0F...60D69428e
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
67816292018-11-27 10:22:362243 days ago1543314156
0x93875F0F...60D69428e
0.35198907 ETH
67389562018-11-20 10:13:442250 days ago1542708824
0x93875F0F...60D69428e
0.50192353 ETH
66962622018-11-13 10:10:202257 days ago1542103820
0x93875F0F...60D69428e
0.46225626 ETH
66534602018-11-06 10:07:552264 days ago1541498875
0x93875F0F...60D69428e
0.4842951 ETH
66108182018-10-30 10:01:202271 days ago1540893680
0x93875F0F...60D69428e
0.4515411 ETH
65679892018-10-23 10:02:592278 days ago1540288979
0x93875F0F...60D69428e
0.44602309 ETH
65251162018-10-16 9:57:302285 days ago1539683850
0x93875F0F...60D69428e
0.38892286 ETH
64820522018-10-09 9:51:292292 days ago1539078689
0x93875F0F...60D69428e
0.35263493 ETH
64388612018-10-02 9:59:012299 days ago1538474341
0x93875F0F...60D69428e
0.408618 ETH
63962202018-09-25 10:00:132306 days ago1537869613
0x93875F0F...60D69428e
0.38384099 ETH
63537442018-09-18 9:51:172313 days ago1537264277
0x93875F0F...60D69428e
0.4531096 ETH
63114122018-09-11 9:52:162320 days ago1536659536
0x93875F0F...60D69428e
0.45505995 ETH
62695472018-09-04 9:32:422327 days ago1536053562
0x93875F0F...60D69428e
0.41502816 ETH
62280762018-08-28 9:32:112334 days ago1535448731
0x93875F0F...60D69428e
0.4271972 ETH
61866252018-08-21 9:35:502341 days ago1534844150
0x93875F0F...60D69428e
0.38226002 ETH
61451202018-08-14 9:23:582348 days ago1534238638
0x93875F0F...60D69428e
0.43060107 ETH
61037382018-08-07 9:18:082355 days ago1533633488
0x93875F0F...60D69428e
0.42042976 ETH
60622922018-07-31 9:18:002362 days ago1533028680
0x93875F0F...60D69428e
0.42147198 ETH
60208632018-07-24 9:24:182369 days ago1532424258
0x93875F0F...60D69428e
0.39270795 ETH
59798012018-07-17 9:22:062376 days ago1531819326
0x93875F0F...60D69428e
0.4176721 ETH
59381822018-07-10 9:14:052383 days ago1531214045
0x93875F0F...60D69428e
0.41487494 ETH
58989862018-07-03 15:27:042390 days ago1530631624
0x93875F0F...60D69428e
0.42153321 ETH
58566422018-06-26 9:04:182397 days ago1530003858
0x93875F0F...60D69428e
0.42091111 ETH
58558782018-06-26 5:56:202397 days ago1529992580
0x93875F0F...60D69428e
1 ETH
58159022018-06-19 9:06:252404 days ago1529399185
0x93875F0F...60D69428e
0.42853817 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.