ETH Price: $2,388.93 (+0.48%)

Contract

0xb662F28942823252f38986b8fB6C0A51e4798235
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep55986282018-05-12 3:42:232482 days ago1526096543IN
0xb662F289...1e4798235
0 ETH0.0025028550
Transfer55985792018-05-12 3:31:072482 days ago1526095867IN
0xb662F289...1e4798235
1.91682 ETH0.0006315330
Sweep52116582018-03-07 8:44:332548 days ago1520412273IN
0xb662F289...1e4798235
0 ETH0.0023304550
Sweep45491152017-11-14 4:58:532661 days ago1510635533IN
0xb662F289...1e4798235
0 ETH0.0009998620
Transfer45490932017-11-14 4:54:522661 days ago1510635292IN
0xb662F289...1e4798235
0.04082458 ETH0.0004210220
Transfer45440412017-11-13 9:13:542662 days ago1510564434IN
0xb662F289...1e4798235
0.02599905 ETH0.0004210220
Sweep45399442017-11-12 17:25:302662 days ago1510507530IN
0xb662F289...1e4798235
0 ETH0.0010011420
Transfer45399242017-11-12 17:20:212662 days ago1510507221IN
0xb662F289...1e4798235
0.19971 ETH0.0004210220
Sweep45389322017-11-12 13:17:032663 days ago1510492623IN
0xb662F289...1e4798235
0 ETH0.0009998620
Transfer45389202017-11-12 13:12:542663 days ago1510492374IN
0xb662F289...1e4798235
0.47 ETH0.0004210220
Sweep45388292017-11-12 12:54:182663 days ago1510491258IN
0xb662F289...1e4798235
0 ETH0.0009998620
Transfer45388072017-11-12 12:50:332663 days ago1510491033IN
0xb662F289...1e4798235
0.1 ETH0.0004210220
Sweep45381762017-11-12 10:28:032663 days ago1510482483IN
0xb662F289...1e4798235
0 ETH0.0010011420
Sweep45381652017-11-12 10:24:382663 days ago1510482278IN
0xb662F289...1e4798235
0 ETH0.0009998620
Transfer45381642017-11-12 10:24:352663 days ago1510482275IN
0xb662F289...1e4798235
0.4953 ETH0.0004210220
Transfer45381542017-11-12 10:22:232663 days ago1510482143IN
0xb662F289...1e4798235
0.5002 ETH0.0004210220
Transfer45381492017-11-12 10:21:152663 days ago1510482075IN
0xb662F289...1e4798235
0.5002 ETH0.0004210220
Sweep45379972017-11-12 9:46:222663 days ago1510479982IN
0xb662F289...1e4798235
0 ETH0.0010011420
Transfer45379882017-11-12 9:43:532663 days ago1510479833IN
0xb662F289...1e4798235
0.517 ETH0.0004420721
Sweep45375252017-11-12 8:00:352663 days ago1510473635IN
0xb662F289...1e4798235
0 ETH0.0010011420
Transfer45375202017-11-12 7:59:292663 days ago1510473569IN
0xb662F289...1e4798235
0.5002 ETH0.0004210220
Sweep45374882017-11-12 7:52:022663 days ago1510473122IN
0xb662F289...1e4798235
0 ETH0.0009998620
Transfer45374722017-11-12 7:48:402663 days ago1510472920IN
0xb662F289...1e4798235
0.05074 ETH0.0004420721
Sweep45373482017-11-12 7:19:172663 days ago1510471157IN
0xb662F289...1e4798235
0 ETH0.0010011420
Transfer45373312017-11-12 7:13:242663 days ago1510470804IN
0xb662F289...1e4798235
0.269 ETH0.0008420440
View all transactions

Latest 17 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
55986282018-05-12 3:42:232482 days ago1526096543
0xb662F289...1e4798235
1.91682 ETH
45491152017-11-14 4:58:532661 days ago1510635533
0xb662F289...1e4798235
0.06682363 ETH
45399442017-11-12 17:25:302662 days ago1510507530
0xb662F289...1e4798235
0.19971 ETH
45389322017-11-12 13:17:032663 days ago1510492623
0xb662F289...1e4798235
0.47 ETH
45388292017-11-12 12:54:182663 days ago1510491258
0xb662F289...1e4798235
0.1 ETH
45381762017-11-12 10:28:032663 days ago1510482483
0xb662F289...1e4798235
0.4953 ETH
45381652017-11-12 10:24:382663 days ago1510482278
0xb662F289...1e4798235
1.0004 ETH
45379972017-11-12 9:46:222663 days ago1510479982
0xb662F289...1e4798235
0.517 ETH
45375252017-11-12 8:00:352663 days ago1510473635
0xb662F289...1e4798235
0.5002 ETH
45374882017-11-12 7:52:022663 days ago1510473122
0xb662F289...1e4798235
0.05074 ETH
45373482017-11-12 7:19:172663 days ago1510471157
0xb662F289...1e4798235
0.269 ETH
45373082017-11-12 7:09:422663 days ago1510470582
0xb662F289...1e4798235
1.53945779 ETH
45368812017-11-12 5:42:032663 days ago1510465323
0xb662F289...1e4798235
0.60796405 ETH
45367882017-11-12 5:19:042663 days ago1510463944
0xb662F289...1e4798235
0.08781805 ETH
45320182017-11-11 11:10:552664 days ago1510398655
0xb662F289...1e4798235
0.100842 ETH
45317832017-11-11 10:14:312664 days ago1510395271
0xb662F289...1e4798235
0.07992 ETH
44630832017-10-31 9:00:492675 days ago1509440449  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.