ETH Price: $2,696.36 (-1.56%)

Contract

0xB3587473805e0473FD65B9e0a2e216B3fB6e0762
 

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
Sweep109219102020-09-23 23:57:511605 days ago1600905471IN
0xB3587473...3fB6e0762
0 ETH0.0045825580.4
Sweep109219102020-09-23 23:57:511605 days ago1600905471IN
0xB3587473...3fB6e0762
0 ETH0.0044055180.4
Transfer109218152020-09-23 23:40:241605 days ago1600904424IN
0xB3587473...3fB6e0762
69.186162 ETH0.0018156486.25
Sweep109131562020-09-22 15:38:591607 days ago1600789139IN
0xB3587473...3fB6e0762
0 ETH0.01479465270
Sweep109050502020-09-21 9:54:551608 days ago1600682095IN
0xB3587473...3fB6e0762
0 ETH0.01216449222
Sweep108199712020-09-08 8:35:041621 days ago1599554104IN
0xB3587473...3fB6e0762
0 ETH0.0046685385.2
Sweep108066882020-09-06 7:45:281623 days ago1599378328IN
0xB3587473...3fB6e0762
0 ETH0.00697183127.2348
Sweep107186612020-08-23 20:04:381636 days ago1598213078IN
0xB3587473...3fB6e0762
0 ETH0.0034959263.8
Sweep107131882020-08-23 0:02:111637 days ago1598140931IN
0xB3587473...3fB6e0762
0 ETH0.0043049778.547854
Sweep107059452020-08-21 21:18:011638 days ago1598044681IN
0xB3587473...3fB6e0762
0 ETH0.0063302115.5
Sweep107035162020-08-21 12:17:501639 days ago1598012270IN
0xB3587473...3fB6e0762
0 ETH0.01067461194.81
Sweep106844792020-08-18 14:17:491642 days ago1597760269IN
0xB3587473...3fB6e0762
0 ETH0.00904315165
Sweep106525472020-08-13 15:59:091647 days ago1597334349IN
0xB3587473...3fB6e0762
0 ETH0.02646598483
Sweep106130662020-08-07 13:55:281653 days ago1596808528IN
0xB3587473...3fB6e0762
0 ETH0.01886379125.40000035
Sweep105502212020-07-28 20:37:321662 days ago1595968652IN
0xB3587473...3fB6e0762
0 ETH0.0032481457
Transfer105502072020-07-28 20:34:001662 days ago1595968440IN
0xB3587473...3fB6e0762
57.979488 ETH0.0009725546.2
Sweep105501122020-07-28 20:14:301662 days ago1595967270IN
0xB3587473...3fB6e0762
0 ETH0.003287760
Sweep105500882020-07-28 20:10:031662 days ago1595967003IN
0xB3587473...3fB6e0762
0 ETH0.0034198260
Transfer105500732020-07-28 20:07:181662 days ago1595966838IN
0xB3587473...3fB6e0762
57.984488 ETH0.0009472945
Sweep105386082020-07-27 1:35:381664 days ago1595813738IN
0xB3587473...3fB6e0762
0 ETH0.0045205882.50000218
Sweep105300022020-07-25 17:44:311666 days ago1595699071IN
0xB3587473...3fB6e0762
0 ETH0.00672551121.5
Sweep105017722020-07-21 8:52:191670 days ago1595321539IN
0xB3587473...3fB6e0762
0 ETH0.00714066129
Sweep101811172020-06-01 16:48:001720 days ago1591030080IN
0xB3587473...3fB6e0762
0 ETH0.0027123549.5
Sweep100703992020-05-15 11:12:481737 days ago1589541168IN
0xB3587473...3fB6e0762
0 ETH0.0017432731.5
Sweep100449422020-05-11 12:31:011741 days ago1589200261IN
0xB3587473...3fB6e0762
0 ETH0.0012805423.13377521
View all transactions

Latest 8 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
109219102020-09-23 23:57:511605 days ago1600905471
0xB3587473...3fB6e0762
69.186162 ETH
105502212020-07-28 20:37:321662 days ago1595968652
0xB3587473...3fB6e0762
57.979488 ETH
105500882020-07-28 20:10:031662 days ago1595967003
0xB3587473...3fB6e0762
57.984488 ETH
96818412020-03-16 9:51:471797 days ago1584352307
0xB3587473...3fB6e0762
63.492063 ETH
96611822020-03-13 5:00:491800 days ago1584075649
0xB3587473...3fB6e0762
63.492063 ETH
96571852020-03-12 14:18:341801 days ago1584022714
0xB3587473...3fB6e0762
63.487063 ETH
85741202019-09-18 15:08:201977 days ago1568819300
0xB3587473...3fB6e0762
63.492063 ETH
41517152017-08-13 7:24:472743 days ago1502609087  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.