ETH Price: $2,629.26 (-1.87%)

Contract

0xB71092E9e122b4F18F2090bDdf90369594E1722e
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep46494982017-11-30 10:39:552627 days ago1512038395IN
0xB71092E9...594E1722e
0 ETH0.0009998620
Transfer46494772017-11-30 10:34:272627 days ago1512038067IN
0xB71092E9...594E1722e
0.79 ETH0.0004210220
Sweep46071392017-11-23 13:21:512634 days ago1511443311IN
0xB71092E9...594E1722e
0 ETH0.0009998620
Transfer46071252017-11-23 13:18:392634 days ago1511443119IN
0xB71092E9...594E1722e
1.19 ETH0.0004210220
Sweep45952422017-11-21 15:19:292636 days ago1511277569IN
0xB71092E9...594E1722e
0 ETH0.0010011420
Transfer45952252017-11-21 15:15:212636 days ago1511277321IN
0xB71092E9...594E1722e
0.38405314 ETH0.0004210220
Sweep45949172017-11-21 14:00:482636 days ago1511272848IN
0xB71092E9...594E1722e
0 ETH0.0009998620
Transfer45949092017-11-21 13:58:102636 days ago1511272690IN
0xB71092E9...594E1722e
0.3 ETH0.0004210220
Sweep45407162017-11-12 20:29:422644 days ago1510518582IN
0xB71092E9...594E1722e
0 ETH0.0009998620
Transfer45407082017-11-12 20:27:172644 days ago1510518437IN
0xB71092E9...594E1722e
0.9 ETH0.0004210220
Sweep44722042017-11-01 20:21:002655 days ago1509567660IN
0xB71092E9...594E1722e
0 ETH0.0010011420
Transfer44721962017-11-01 20:17:562655 days ago1509567476IN
0xB71092E9...594E1722e
1.2083 ETH0.0004210220
Sweep44510832017-10-29 10:12:002659 days ago1509271920IN
0xB71092E9...594E1722e
0 ETH0.0009998620
Transfer44510752017-10-29 10:09:332659 days ago1509271773IN
0xB71092E9...594E1722e
1.88 ETH0.0004210220
Sweep44392682017-10-27 12:30:162661 days ago1509107416IN
0xB71092E9...594E1722e
0 ETH0.0009998620
Transfer44392562017-10-27 12:27:162661 days ago1509107236IN
0xB71092E9...594E1722e
1 ETH0.0004210220
Sweep44340592017-10-26 16:38:042662 days ago1509035884IN
0xB71092E9...594E1722e
0 ETH0.0010011420
Transfer44340472017-10-26 16:35:312662 days ago1509035731IN
0xB71092E9...594E1722e
0.6646 ETH0.0004210220
Sweep44043902017-10-21 22:03:152666 days ago1508623395IN
0xB71092E9...594E1722e
0 ETH0.0015497831
Transfer44043702017-10-21 21:58:562666 days ago1508623136IN
0xB71092E9...594E1722e
1.5 ETH0.0004210220
Sweep43894432017-10-19 12:31:552669 days ago1508416315IN
0xB71092E9...594E1722e
0 ETH0.0015497831
Transfer43894342017-10-19 12:30:112669 days ago1508416211IN
0xB71092E9...594E1722e
0.5 ETH0.0004210220
Sweep43847872017-10-18 18:49:462669 days ago1508352586IN
0xB71092E9...594E1722e
0 ETH0.0015497831
Transfer43847702017-10-18 18:47:412669 days ago1508352461IN
0xB71092E9...594E1722e
0.50798 ETH0.0004210220
Sweep43759012017-10-17 7:58:072671 days ago1508227087IN
0xB71092E9...594E1722e
0 ETH0.0015517631
View all transactions

Latest 20 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
46494982017-11-30 10:39:552627 days ago1512038395
0xB71092E9...594E1722e
0.79 ETH
46071392017-11-23 13:21:512634 days ago1511443311
0xB71092E9...594E1722e
1.19 ETH
45952422017-11-21 15:19:292636 days ago1511277569
0xB71092E9...594E1722e
0.38405314 ETH
45949172017-11-21 14:00:482636 days ago1511272848
0xB71092E9...594E1722e
0.3 ETH
45407162017-11-12 20:29:422644 days ago1510518582
0xB71092E9...594E1722e
0.9 ETH
44722042017-11-01 20:21:002655 days ago1509567660
0xB71092E9...594E1722e
1.2083 ETH
44510832017-10-29 10:12:002659 days ago1509271920
0xB71092E9...594E1722e
1.88 ETH
44392682017-10-27 12:30:162661 days ago1509107416
0xB71092E9...594E1722e
1 ETH
44340592017-10-26 16:38:042662 days ago1509035884
0xB71092E9...594E1722e
0.6646 ETH
44043902017-10-21 22:03:152666 days ago1508623395
0xB71092E9...594E1722e
1.5 ETH
43894432017-10-19 12:31:552669 days ago1508416315
0xB71092E9...594E1722e
0.5 ETH
43847872017-10-18 18:49:462669 days ago1508352586
0xB71092E9...594E1722e
0.50798 ETH
43759012017-10-17 7:58:072671 days ago1508227087
0xB71092E9...594E1722e
0.999727 ETH
43728302017-10-16 19:59:452671 days ago1508183985
0xB71092E9...594E1722e
0.3873679 ETH
43685932017-10-15 17:49:422673 days ago1508089782
0xB71092E9...594E1722e
1.09 ETH
43536132017-10-10 14:04:382678 days ago1507644278
0xB71092E9...594E1722e
0.26973866 ETH
43501842017-10-09 9:30:562679 days ago1507541456
0xB71092E9...594E1722e
0.31 ETH
43479592017-10-08 15:02:252680 days ago1507474945
0xB71092E9...594E1722e
0.6 ETH
43474462017-10-08 10:49:052680 days ago1507459745
0xB71092E9...594E1722e
0.5 ETH
43338882017-10-03 17:52:012685 days ago1507053121  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.