ETH Price: $2,607.36 (-4.50%)

Contract

0xB96A0076fd8bbA00C825aFB837aB4C8eDf403Ec2
 

Overview

ETH Balance

0.000000009370354783 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep70022462019-01-03 7:53:142228 days ago1546501994IN
0xB96A0076...eDf403Ec2
0 ETH0.0024996550
Transfer70022292019-01-03 7:49:012228 days ago1546501741IN
0xB96A0076...eDf403Ec2
0.05001465 ETH0.000021051
Sweep69877062018-12-31 20:28:112230 days ago1546288091IN
0xB96A0076...eDf403Ec2
0 ETH0.0024996550
Transfer69876922018-12-31 20:25:052230 days ago1546287905IN
0xB96A0076...eDf403Ec2
0.05001737 ETH0.000021051
Sweep69730632018-12-29 9:07:342232 days ago1546074454IN
0xB96A0076...eDf403Ec2
0 ETH0.0024996550
Transfer69730372018-12-29 9:02:212232 days ago1546074141IN
0xB96A0076...eDf403Ec2
0.05015375 ETH0.000021051
Sweep69581172018-12-26 20:13:262235 days ago1545855206IN
0xB96A0076...eDf403Ec2
0 ETH0.0024996550
Transfer69581012018-12-26 20:09:432235 days ago1545854983IN
0xB96A0076...eDf403Ec2
0.050001 ETH0.000021051
Sweep69415402018-12-24 1:25:152238 days ago1545614715IN
0xB96A0076...eDf403Ec2
0 ETH0.0024996550
Transfer69415102018-12-24 1:19:362238 days ago1545614376IN
0xB96A0076...eDf403Ec2
0.05009425 ETH0.000021051
Sweep69262802018-12-21 11:00:322240 days ago1545390032IN
0xB96A0076...eDf403Ec2
0 ETH0.0024996550
Transfer69262572018-12-21 10:55:332240 days ago1545389733IN
0xB96A0076...eDf403Ec2
0.05007327 ETH0.000021051
Sweep69122422018-12-19 1:31:372243 days ago1545183097IN
0xB96A0076...eDf403Ec2
0 ETH0.0024996550
Transfer69122242018-12-19 1:28:082243 days ago1545182888IN
0xB96A0076...eDf403Ec2
0.05008501 ETH0.000021051
Sweep68986022018-12-16 17:58:032245 days ago1544983083IN
0xB96A0076...eDf403Ec2
0 ETH0.0024996550
Transfer68985782018-12-16 17:52:052245 days ago1544982725IN
0xB96A0076...eDf403Ec2
0.05002734 ETH0.000021051
Sweep68847312018-12-14 11:05:422247 days ago1544785542IN
0xB96A0076...eDf403Ec2
0 ETH0.0024996550
Transfer68847062018-12-14 10:59:482247 days ago1544785188IN
0xB96A0076...eDf403Ec2
0.05009696 ETH0.000021051
Sweep68696412018-12-11 23:29:132250 days ago1544570953IN
0xB96A0076...eDf403Ec2
0 ETH0.0024996550
Transfer68696252018-12-11 23:25:072250 days ago1544570707IN
0xB96A0076...eDf403Ec2
0.05007537 ETH0.000021051
Sweep68553322018-12-09 15:01:482252 days ago1544367708IN
0xB96A0076...eDf403Ec2
0 ETH0.0024996550
Transfer68553092018-12-09 14:57:222252 days ago1544367442IN
0xB96A0076...eDf403Ec2
0.05004721 ETH0.000021051
Sweep68409722018-12-07 5:58:112255 days ago1544162291IN
0xB96A0076...eDf403Ec2
0 ETH0.0024996550
Transfer68409572018-12-07 5:53:592255 days ago1544162039IN
0xB96A0076...eDf403Ec2
0.05006125 ETH0.000021051
Sweep68249222018-12-04 13:59:282257 days ago1543931968IN
0xB96A0076...eDf403Ec2
0 ETH0.0024996550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
70022462019-01-03 7:53:142228 days ago1546501994
0xB96A0076...eDf403Ec2
0.05001465 ETH
69877062018-12-31 20:28:112230 days ago1546288091
0xB96A0076...eDf403Ec2
0.05001737 ETH
69730632018-12-29 9:07:342232 days ago1546074454
0xB96A0076...eDf403Ec2
0.05015376 ETH
69581172018-12-26 20:13:262235 days ago1545855206
0xB96A0076...eDf403Ec2
0.05000101 ETH
69415402018-12-24 1:25:152238 days ago1545614715
0xB96A0076...eDf403Ec2
0.05009426 ETH
69262802018-12-21 11:00:322240 days ago1545390032
0xB96A0076...eDf403Ec2
0.05007327 ETH
69122422018-12-19 1:31:372243 days ago1545183097
0xB96A0076...eDf403Ec2
0.05008502 ETH
68986022018-12-16 17:58:032245 days ago1544983083
0xB96A0076...eDf403Ec2
0.05002735 ETH
68847312018-12-14 11:05:422247 days ago1544785542
0xB96A0076...eDf403Ec2
0.05009696 ETH
68696412018-12-11 23:29:132250 days ago1544570953
0xB96A0076...eDf403Ec2
0.05007538 ETH
68553322018-12-09 15:01:482252 days ago1544367708
0xB96A0076...eDf403Ec2
0.05004721 ETH
68409722018-12-07 5:58:112255 days ago1544162291
0xB96A0076...eDf403Ec2
0.05006126 ETH
68249222018-12-04 13:59:282257 days ago1543931968
0xB96A0076...eDf403Ec2
0.05009847 ETH
68095912018-12-02 1:07:012260 days ago1543712821
0xB96A0076...eDf403Ec2
0.05000223 ETH
67945852018-11-29 13:42:012262 days ago1543498921
0xB96A0076...eDf403Ec2
0.05003298 ETH
67768812018-11-26 15:26:382265 days ago1543245998
0xB96A0076...eDf403Ec2
0.05011455 ETH
67599912018-11-23 21:05:372268 days ago1543007137
0xB96A0076...eDf403Ec2
0.05006543 ETH
67425942018-11-21 0:42:182271 days ago1542760938
0xB96A0076...eDf403Ec2
0.0500818 ETH
67237192018-11-17 22:05:382274 days ago1542492338
0xB96A0076...eDf403Ec2
0.05003553 ETH
67039352018-11-14 16:34:332277 days ago1542213273
0xB96A0076...eDf403Ec2
0.05003771 ETH
66843722018-11-11 11:42:182280 days ago1541936538
0xB96A0076...eDf403Ec2
0.05006172 ETH
66638252018-11-08 2:51:382284 days ago1541645498
0xB96A0076...eDf403Ec2
0.05000726 ETH
66444062018-11-04 22:09:262287 days ago1541369366
0xB96A0076...eDf403Ec2
0.05002483 ETH
66261732018-11-01 22:32:232290 days ago1541111543
0xB96A0076...eDf403Ec2
0.05003162 ETH
66072492018-10-29 19:59:132293 days ago1540843153
0xB96A0076...eDf403Ec2
0.0500108 ETH
View All Internal Transactions
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.