ETH Price: $1,986.36 (-4.83%)
Gas: 0.74 Gwei

Contract

0x01bf0f354C752300A0455EdFfBC1C9bef19618a1
 

Overview

ETH Balance

0.000000006198614665 ETH

Eth Value

Less Than $0.01 (@ $1,986.36/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep90441832019-12-03 14:28:142285 days ago1575383294IN
0x01bf0f35...ef19618a1
0 ETH0.0010246922
Sweep90004912019-11-25 20:40:472292 days ago1574714447IN
0x01bf0f35...ef19618a1
0 ETH0.0010998422
Transfer90004762019-11-25 20:37:522292 days ago1574714272IN
0x01bf0f35...ef19618a1
1.1 ETH0.000189459
Sweep89938682019-11-24 18:18:072293 days ago1574619487IN
0x01bf0f35...ef19618a1
0 ETH0.0010246922
Sweep89929362019-11-24 14:32:352294 days ago1574605955IN
0x01bf0f35...ef19618a1
0 ETH0.0010998422
Transfer89929122019-11-24 14:27:052294 days ago1574605625IN
0x01bf0f35...ef19618a1
1.2 ETH0.0002315611
Sweep89897452019-11-24 1:40:442294 days ago1574559644IN
0x01bf0f35...ef19618a1
0 ETH0.0010998422
Transfer89897332019-11-24 1:38:032294 days ago1574559483IN
0x01bf0f35...ef19618a1
0.3 ETH0.0002105110
Sweep89883012019-11-23 19:57:542294 days ago1574539074IN
0x01bf0f35...ef19618a1
0 ETH0.0010998422
Transfer89882862019-11-23 19:53:202294 days ago1574538800IN
0x01bf0f35...ef19618a1
1.3 ETH0.0002315611
Sweep89855122019-11-23 9:02:102295 days ago1574499730IN
0x01bf0f35...ef19618a1
0 ETH0.0010246922
Sweep89853112019-11-23 8:09:172295 days ago1574496557IN
0x01bf0f35...ef19618a1
0 ETH0.0010998422
Transfer89852912019-11-23 8:04:422295 days ago1574496282IN
0x01bf0f35...ef19618a1
0.35 ETH0.0002105110
Sweep89797152019-11-22 9:51:472296 days ago1574416307IN
0x01bf0f35...ef19618a1
0 ETH0.0011511924.75
Sweep89795142019-11-22 9:01:272296 days ago1574413287IN
0x01bf0f35...ef19618a1
0 ETH0.0010998422
Transfer89794952019-11-22 8:56:492296 days ago1574413009IN
0x01bf0f35...ef19618a1
1 ETH0.0002315611
Sweep89727452019-11-21 5:57:312297 days ago1574315851IN
0x01bf0f35...ef19618a1
0 ETH0.0010998422
Transfer89727292019-11-21 5:51:362297 days ago1574315496IN
0x01bf0f35...ef19618a1
0.6 ETH0.000189459
Sweep89562572019-11-18 11:27:262300 days ago1574076446IN
0x01bf0f35...ef19618a1
0 ETH0.0010232822
Sweep89554152019-11-18 8:08:552300 days ago1574064535IN
0x01bf0f35...ef19618a1
0 ETH0.0010284522
Sweep89391292019-11-15 15:17:472302 days ago1573831067IN
0x01bf0f35...ef19618a1
0 ETH0.0010318422
Sweep89323972019-11-14 12:20:242304 days ago1573734024IN
0x01bf0f35...ef19618a1
0 ETH0.0010328522
Sweep89302252019-11-14 3:37:132304 days ago1573702633IN
0x01bf0f35...ef19618a1
0 ETH0.0010998422
Transfer89301992019-11-14 3:31:282304 days ago1573702288IN
0x01bf0f35...ef19618a1
0.474 ETH0.0002315611
Sweep89294762019-11-14 0:39:002304 days ago1573691940IN
0x01bf0f35...ef19618a1
0 ETH0.0010212822
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-90004912019-11-25 20:40:472292 days ago1574714447
0x01bf0f35...ef19618a1
1.1 ETH
-89929362019-11-24 14:32:352294 days ago1574605955
0x01bf0f35...ef19618a1
1.2 ETH
-89897452019-11-24 1:40:442294 days ago1574559644
0x01bf0f35...ef19618a1
0.3 ETH
-89883012019-11-23 19:57:542294 days ago1574539074
0x01bf0f35...ef19618a1
1.3 ETH
-89853112019-11-23 8:09:172295 days ago1574496557
0x01bf0f35...ef19618a1
0.35 ETH
-89795142019-11-22 9:01:272296 days ago1574413287
0x01bf0f35...ef19618a1
1 ETH
-89727452019-11-21 5:57:312297 days ago1574315851
0x01bf0f35...ef19618a1
0.6 ETH
-89302252019-11-14 3:37:132304 days ago1573702633
0x01bf0f35...ef19618a1
0.474 ETH
-88964792019-11-08 13:31:202310 days ago1573219880
0x01bf0f35...ef19618a1
0.3 ETH
-88880842019-11-07 4:50:532311 days ago1573102253
0x01bf0f35...ef19618a1
0.567 ETH
-88617772019-11-02 23:25:492315 days ago1572737149
0x01bf0f35...ef19618a1
0.244 ETH
-88610642019-11-02 20:43:362315 days ago1572727416
0x01bf0f35...ef19618a1
0.8 ETH
-88159502019-10-26 14:34:432323 days ago1572100483
0x01bf0f35...ef19618a1
0.322 ETH
-88158772019-10-26 14:18:142323 days ago1572099494
0x01bf0f35...ef19618a1
0.3 ETH
-88148582019-10-26 10:29:032323 days ago1572085743
0x01bf0f35...ef19618a1
0.4 ETH
-87432942019-10-15 2:40:142334 days ago1571107214
0x01bf0f35...ef19618a1
0.8 ETH
-87270122019-10-12 13:31:482337 days ago1570887108
0x01bf0f35...ef19618a1
1.1 ETH
-87169622019-10-10 23:32:552338 days ago1570750375
0x01bf0f35...ef19618a1
0.2 ETH
-87111872019-10-10 1:45:402339 days ago1570671940
0x01bf0f35...ef19618a1
1 ETH
-87018092019-10-08 14:18:532341 days ago1570544333
0x01bf0f35...ef19618a1
1 ETH
-86796152019-10-05 3:09:072344 days ago1570244947
0x01bf0f35...ef19618a1
0.33 ETH
-86250852019-09-26 14:45:342353 days ago1569509134
0x01bf0f35...ef19618a1
0.5 ETH
-86134202019-09-24 18:38:462354 days ago1569350326
0x01bf0f35...ef19618a1
0.5 ETH
-85316692019-09-12 0:17:022367 days ago1568247422
0x01bf0f35...ef19618a1
1 ETH
-85025082019-09-07 10:59:242372 days ago1567853964
0x01bf0f35...ef19618a1
0.2 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.