ETH Price: $2,783.05 (+4.13%)

Contract

0x83bCfEdCCe623D30eBF1681983A8A75d564Be597
 

Overview

ETH Balance

0.000000002 ETH

Eth Value

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

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep78314902019-05-25 22:20:492099 days ago1558822849IN
0x83bCfEdC...d564Be597
0 ETH0.0024996550
Transfer78314742019-05-25 22:17:082099 days ago1558822628IN
0x83bCfEdC...d564Be597
5.34 ETH0.0008630941
Transfer78314222019-05-25 22:05:002099 days ago1558821900IN
0x83bCfEdC...d564Be597
5.25 ETH0.0000211
Transfer78314112019-05-25 22:02:382099 days ago1558821758IN
0x83bCfEdC...d564Be597
5.3 ETH0.0001055
Transfer78313862019-05-25 21:57:362099 days ago1558821456IN
0x83bCfEdC...d564Be597
5.3 ETH0.0002110
Transfer78313682019-05-25 21:52:352099 days ago1558821155IN
0x83bCfEdC...d564Be597
5.3 ETH0.0002110
Transfer78313412019-05-25 21:47:022099 days ago1558820822IN
0x83bCfEdC...d564Be597
5.2 ETH0.00031515
Transfer78313322019-05-25 21:45:292099 days ago1558820729IN
0x83bCfEdC...d564Be597
5.3 ETH0.00031515
Transfer78313232019-05-25 21:44:122099 days ago1558820652IN
0x83bCfEdC...d564Be597
5.35 ETH0.00031515
Transfer78305622019-05-25 18:55:362099 days ago1558810536IN
0x83bCfEdC...d564Be597
5.3 ETH0.0001477
Sweep67920772018-11-29 3:46:062277 days ago1543463166IN
0x83bCfEdC...d564Be597
0 ETH0.0024996550
Transfer67920722018-11-29 3:44:562277 days ago1543463096IN
0x83bCfEdC...d564Be597
4.6 ETH0.0002526112
Transfer67920642018-11-29 3:42:092277 days ago1543462929IN
0x83bCfEdC...d564Be597
4.5 ETH0.00025212
Transfer67920552018-11-29 3:40:012277 days ago1543462801IN
0x83bCfEdC...d564Be597
4.65386382 ETH0.00025212
Transfer67918962018-11-29 3:04:282277 days ago1543460668IN
0x83bCfEdC...d564Be597
4.6 ETH0.00025212
Sweep64679212018-10-07 3:11:452330 days ago1538881905IN
0x83bCfEdC...d564Be597
0 ETH0.0025028550
Transfer64678912018-10-07 3:05:442330 days ago1538881544IN
0x83bCfEdC...d564Be597
0.385 ETH0.0008630941
Transfer64678302018-10-07 2:50:192330 days ago1538880619IN
0x83bCfEdC...d564Be597
0.38 ETH0.0000633
Transfer64678132018-10-07 2:46:002330 days ago1538880360IN
0x83bCfEdC...d564Be597
0.388 ETH0.0000633
Transfer64678052018-10-07 2:44:052330 days ago1538880245IN
0x83bCfEdC...d564Be597
0.388 ETH0.0000633
Transfer64666102018-10-06 22:04:332330 days ago1538863473IN
0x83bCfEdC...d564Be597
0.38831409 ETH0.0000422
Sweep53584432018-04-01 2:34:132519 days ago1522550053IN
0x83bCfEdC...d564Be597
0 ETH0.0024996550
Sweep53584282018-04-01 2:31:102519 days ago1522549870IN
0x83bCfEdC...d564Be597
0 ETH0.0030903550
Transfer53584072018-04-01 2:26:192519 days ago1522549579IN
0x83bCfEdC...d564Be597
0.05662934 ETH0.0008630941
Sweep45408562017-11-12 20:57:322658 days ago1510520252IN
0x83bCfEdC...d564Be597
0 ETH0.0012374220
View all transactions

Latest 5 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
78314902019-05-25 22:20:492099 days ago1558822849
0x83bCfEdC...d564Be597
5.34 ETH
67920772018-11-29 3:46:062277 days ago1543463166
0x83bCfEdC...d564Be597
4.6 ETH
64679212018-10-07 3:11:452330 days ago1538881905
0x83bCfEdC...d564Be597
0.385 ETH
53584432018-04-01 2:34:132519 days ago1522550053
0x83bCfEdC...d564Be597
0.05662934 ETH
42346642017-09-03 17:24:092728 days ago1504459449  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.