ETH Price: $2,002.12 (-2.88%)

Contract

0x71bf9Bb3bBeddCbFd2D192210162F08DFF36100E
 

Overview

ETH Balance

0.000000008176068472 ETH

Eth Value

Less Than $0.01 (@ $2,002.12/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep87867422019-10-21 23:15:542349 days ago1571699754IN
0x71bf9Bb3...DFF36100E
0 ETH0.0011012522
Transfer87867172019-10-21 23:12:192349 days ago1571699539IN
0x71bf9Bb3...DFF36100E
0.10038487 ETH0.0003157615
Sweep87393762019-10-14 12:11:152356 days ago1571055075IN
0x71bf9Bb3...DFF36100E
0 ETH0.0011012522
Transfer87393632019-10-14 12:06:362356 days ago1571054796IN
0x71bf9Bb3...DFF36100E
0.10009901 ETH0.0003157615
Sweep84749732019-09-03 4:07:472398 days ago1567483667IN
0x71bf9Bb3...DFF36100E
0 ETH0.0011012522
Transfer84749552019-09-03 4:04:122398 days ago1567483452IN
0x71bf9Bb3...DFF36100E
0.10007993 ETH0.0002105110
Sweep83956402019-08-21 19:49:122410 days ago1566416952IN
0x71bf9Bb3...DFF36100E
0 ETH0.0011012522
Transfer83956192019-08-21 19:45:052410 days ago1566416705IN
0x71bf9Bb3...DFF36100E
0.10005923 ETH0.0002105110
Sweep83402182019-08-13 5:07:442419 days ago1565672864IN
0x71bf9Bb3...DFF36100E
0 ETH0.0011012522
Transfer83402012019-08-13 5:04:222419 days ago1565672662IN
0x71bf9Bb3...DFF36100E
0.10018447 ETH0.0002105110
Sweep82507572019-07-30 7:57:292432 days ago1564473449IN
0x71bf9Bb3...DFF36100E
0 ETH0.0011012522
Transfer82507432019-07-30 7:54:382432 days ago1564473278IN
0x71bf9Bb3...DFF36100E
0.10026757 ETH0.0002105110
Sweep82239102019-07-26 4:03:262437 days ago1564113806IN
0x71bf9Bb3...DFF36100E
0 ETH0.0011012522
Transfer82237092019-07-26 3:12:472437 days ago1564110767IN
0x71bf9Bb3...DFF36100E
0.1001959 ETH0.0002105110
Sweep81819712019-07-19 15:50:162443 days ago1563551416IN
0x71bf9Bb3...DFF36100E
0 ETH0.0011012522
Transfer81819532019-07-19 15:47:002443 days ago1563551220IN
0x71bf9Bb3...DFF36100E
0.10014243 ETH0.0002105110
Sweep81112852019-07-08 15:03:482454 days ago1562598228IN
0x71bf9Bb3...DFF36100E
0 ETH0.0011012522
Transfer81112702019-07-08 15:00:152454 days ago1562598015IN
0x71bf9Bb3...DFF36100E
0.10002188 ETH0.0002105110
Sweep73997962019-03-19 14:37:122565 days ago1553006232IN
0x71bf9Bb3...DFF36100E
0 ETH0.0025028550
Transfer73997792019-03-19 14:33:062565 days ago1553005986IN
0x71bf9Bb3...DFF36100E
0.10005329 ETH0.0002105110
Sweep73695642019-03-14 21:40:172570 days ago1552599617IN
0x71bf9Bb3...DFF36100E
0 ETH0.0025028550
Transfer73695482019-03-14 21:36:422570 days ago1552599402IN
0x71bf9Bb3...DFF36100E
0.10007851 ETH0.0002105110
Sweep73387692019-03-10 2:31:552575 days ago1552185115IN
0x71bf9Bb3...DFF36100E
0 ETH0.0025028550
Transfer73387442019-03-10 2:27:062575 days ago1552184826IN
0x71bf9Bb3...DFF36100E
0.1000966 ETH0.0002105110
Sweep73035572019-03-04 14:45:102580 days ago1551710710IN
0x71bf9Bb3...DFF36100E
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-87867422019-10-21 23:15:542349 days ago1571699754
0x71bf9Bb3...DFF36100E
0.10038488 ETH
-87393762019-10-14 12:11:152356 days ago1571055075
0x71bf9Bb3...DFF36100E
0.10009901 ETH
-84749732019-09-03 4:07:472398 days ago1567483667
0x71bf9Bb3...DFF36100E
0.10007993 ETH
-83956402019-08-21 19:49:122410 days ago1566416952
0x71bf9Bb3...DFF36100E
0.10005924 ETH
-83402182019-08-13 5:07:442419 days ago1565672864
0x71bf9Bb3...DFF36100E
0.10018447 ETH
-82507572019-07-30 7:57:292432 days ago1564473449
0x71bf9Bb3...DFF36100E
0.10026758 ETH
-82239102019-07-26 4:03:262437 days ago1564113806
0x71bf9Bb3...DFF36100E
0.1001959 ETH
-81819712019-07-19 15:50:162443 days ago1563551416
0x71bf9Bb3...DFF36100E
0.10014244 ETH
-81112852019-07-08 15:03:482454 days ago1562598228
0x71bf9Bb3...DFF36100E
0.10002188 ETH
-73997962019-03-19 14:37:122565 days ago1553006232
0x71bf9Bb3...DFF36100E
0.1000533 ETH
-73695642019-03-14 21:40:172570 days ago1552599617
0x71bf9Bb3...DFF36100E
0.10007851 ETH
-73387692019-03-10 2:31:552575 days ago1552185115
0x71bf9Bb3...DFF36100E
0.1000966 ETH
-73035572019-03-04 14:45:102580 days ago1551710710
0x71bf9Bb3...DFF36100E
0.10016596 ETH
-72750652019-02-27 15:58:092585 days ago1551283089
0x71bf9Bb3...DFF36100E
0.10034363 ETH
-72356422019-02-18 10:04:022594 days ago1550484242
0x71bf9Bb3...DFF36100E
0.10000919 ETH
-68513482018-12-08 23:17:262666 days ago1544311046
0x71bf9Bb3...DFF36100E
0.05001835 ETH
-68339242018-12-06 1:47:462669 days ago1544060866
0x71bf9Bb3...DFF36100E
0.05003551 ETH
-68181212018-12-03 11:09:392671 days ago1543835379
0x71bf9Bb3...DFF36100E
0.05004551 ETH
-68014552018-11-30 16:53:252674 days ago1543596805
0x71bf9Bb3...DFF36100E
0.05014643 ETH
Transfer67854322018-11-28 1:29:392677 days ago1543368579
0x71bf9Bb3...DFF36100E
0.05021131 ETH
Transfer67677992018-11-25 3:39:582680 days ago1543117198
0x71bf9Bb3...DFF36100E
0.05002624 ETH
Transfer67494132018-11-22 3:31:252683 days ago1542857485
0x71bf9Bb3...DFF36100E
0.05016102 ETH
Transfer67307252018-11-19 1:28:572686 days ago1542590937
0x71bf9Bb3...DFF36100E
0.05004965 ETH
Transfer67112862018-11-15 21:26:352689 days ago1542317195
0x71bf9Bb3...DFF36100E
0.05003832 ETH
Transfer66897822018-11-12 8:59:132692 days ago1542013153
0x71bf9Bb3...DFF36100E
0.05015246 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.