ETH Price: $2,157.34 (+1.02%)

Contract

0xB7ff38b4ED17E6Abc3cc85d2f1A7CC18d5d90E7A
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep77574752019-05-14 8:41:362506 days ago1557823296IN
0xB7ff38b4...8d5d90E7A
0 ETH0.0024964550
Sweep74187362019-03-22 13:14:212559 days ago1553260461IN
0xB7ff38b4...8d5d90E7A
0 ETH0.0025060550
Sweep74186232019-03-22 12:47:182559 days ago1553258838IN
0xB7ff38b4...8d5d90E7A
0 ETH0.0024996550
Sweep68681142018-12-11 17:19:252660 days ago1544548765IN
0xB7ff38b4...8d5d90E7A
0 ETH0.0025028550
Sweep68679702018-12-11 16:53:222660 days ago1544547202IN
0xB7ff38b4...8d5d90E7A
0 ETH0.0024996550
Sweep67851972018-11-28 0:34:042674 days ago1543365244IN
0xB7ff38b4...8d5d90E7A
0 ETH0.0024996550
Sweep67124882018-11-16 2:11:342686 days ago1542334294IN
0xB7ff38b4...8d5d90E7A
0 ETH0.0024996550
Sweep65638082018-10-22 17:50:332710 days ago1540230633IN
0xB7ff38b4...8d5d90E7A
0 ETH0.0024996550
Sweep65398462018-10-18 19:33:072714 days ago1539891187IN
0xB7ff38b4...8d5d90E7A
0 ETH0.0024996550
Sweep65376392018-10-18 10:56:022714 days ago1539860162IN
0xB7ff38b4...8d5d90E7A
0 ETH0.0024964550
Sweep65375612018-10-18 10:37:262714 days ago1539859046IN
0xB7ff38b4...8d5d90E7A
0 ETH0.0024964550
Sweep64795962018-10-09 0:18:172724 days ago1539044297IN
0xB7ff38b4...8d5d90E7A
0 ETH0.0024964550
Sweep64791672018-10-08 22:38:292724 days ago1539038309IN
0xB7ff38b4...8d5d90E7A
0 ETH0.0024964550

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-77574752019-05-14 8:41:362506 days ago1557823296
0xB7ff38b4...8d5d90E7A
0.050896 ETH
-77574552019-05-14 8:37:362506 days ago1557823056
0xB7ff38b4...8d5d90E7A
0.050896 ETH
-74187362019-03-22 13:14:212559 days ago1553260461
0xB7ff38b4...8d5d90E7A
47.80192595 ETH
-74187162019-03-22 13:09:542559 days ago1553260194
0xB7ff38b4...8d5d90E7A
47.80192595 ETH
-74186232019-03-22 12:47:182559 days ago1553258838
0xB7ff38b4...8d5d90E7A
0.5 ETH
-74186002019-03-22 12:43:372559 days ago1553258617
0xB7ff38b4...8d5d90E7A
0.5 ETH
-68681142018-12-11 17:19:252660 days ago1544548765
0xB7ff38b4...8d5d90E7A
0.565946 ETH
-68680892018-12-11 17:15:342660 days ago1544548534
0xB7ff38b4...8d5d90E7A
0.565946 ETH
-68679702018-12-11 16:53:222660 days ago1544547202
0xB7ff38b4...8d5d90E7A
0.15 ETH
-68679502018-12-11 16:48:322660 days ago1544546912
0xB7ff38b4...8d5d90E7A
0.15 ETH
Transfer67851972018-11-28 0:34:042674 days ago1543365244
0xB7ff38b4...8d5d90E7A
11 ETH
Transfer67851772018-11-28 0:30:182674 days ago1543365018
0xB7ff38b4...8d5d90E7A
11 ETH
Transfer67124882018-11-16 2:11:342686 days ago1542334294
0xB7ff38b4...8d5d90E7A
0.6 ETH
Transfer67124632018-11-16 2:06:192686 days ago1542333979
0xB7ff38b4...8d5d90E7A
0.6 ETH
Transfer65638082018-10-22 17:50:332710 days ago1540230633
0xB7ff38b4...8d5d90E7A
3.06999 ETH
Transfer65637732018-10-22 17:42:462710 days ago1540230166
0xB7ff38b4...8d5d90E7A
3.06999 ETH
Transfer65398462018-10-18 19:33:072714 days ago1539891187
0xB7ff38b4...8d5d90E7A
3 ETH
Transfer65398252018-10-18 19:26:472714 days ago1539890807
0xB7ff38b4...8d5d90E7A
3 ETH
Transfer65376392018-10-18 10:56:022714 days ago1539860162
0xB7ff38b4...8d5d90E7A
0.05 ETH
Transfer65376092018-10-18 10:48:082714 days ago1539859688
0xB7ff38b4...8d5d90E7A
0.05 ETH
Transfer65375612018-10-18 10:37:262714 days ago1539859046
0xB7ff38b4...8d5d90E7A
0.05 ETH
Transfer65375362018-10-18 10:30:382714 days ago1539858638
0xB7ff38b4...8d5d90E7A
0.05 ETH
Transfer64795962018-10-09 0:18:172724 days ago1539044297
0xB7ff38b4...8d5d90E7A
0.06 ETH
Transfer64795732018-10-09 0:14:352724 days ago1539044075
0xB7ff38b4...8d5d90E7A
0.06 ETH
Transfer64791672018-10-08 22:38:292724 days ago1539038309
0xB7ff38b4...8d5d90E7A
0.05 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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

Contract Source Code (Solidity)

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

0x6060604052341561000c57fe5b60405160208061026c83398101604052515b60008054600160a060020a031916600160a060020a0383161790555b505b6102218061004b6000396000f300606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029000000000000000000000000a3c1e324ca1ce40db73ed6026c4a177f099b5770

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.