ETH Price: $2,708.63 (+0.82%)

Contract

0x8B153495eF73Fd1b474169Cc69357e13EeF6586d
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep112911742020-11-19 22:21:361548 days ago1605824496IN
0x8B153495...3EeF6586d
0 ETH0.0017091930
Transfer112911472020-11-19 22:14:461548 days ago1605824086IN
0x8B153495...3EeF6586d
0.2 ETH0.0005262725
Sweep111740762020-11-01 23:05:161566 days ago1604271916IN
0x8B153495...3EeF6586d
0 ETH0.0017091930
Transfer111740542020-11-01 23:00:011566 days ago1604271601IN
0x8B153495...3EeF6586d
0.45 ETH0.0005073224.1
Sweep97017302020-03-19 11:05:461794 days ago1584615946IN
0x8B153495...3EeF6586d
0 ETH0.0012536722
Transfer97017142020-03-19 11:02:171794 days ago1584615737IN
0x8B153495...3EeF6586d
3.855 ETH0.00252612120
Sweep90846252019-12-10 18:48:481893 days ago1576003728IN
0x8B153495...3EeF6586d
0 ETH0.0012536722
Transfer90846072019-12-10 18:42:331893 days ago1576003353IN
0x8B153495...3EeF6586d
1.771 ETH0.00252612120
Sweep86621402019-10-02 9:46:321963 days ago1570009592IN
0x8B153495...3EeF6586d
0 ETH0.0010998422
Transfer86621242019-10-02 9:42:241963 days ago1570009344IN
0x8B153495...3EeF6586d
1.398 ETH0.00252612120
Sweep84006022019-08-22 14:18:532003 days ago1566483533IN
0x8B153495...3EeF6586d
0 ETH0.0010998422
Transfer84005882019-08-22 14:13:182003 days ago1566483198IN
0x8B153495...3EeF6586d
1.7292 ETH0.00252612120
Sweep83427172019-08-13 14:34:532012 days ago1565706893IN
0x8B153495...3EeF6586d
0 ETH0.0010998422
Transfer83426902019-08-13 14:30:092012 days ago1565706609IN
0x8B153495...3EeF6586d
1.23 ETH0.00252612120
Sweep78170712019-05-23 16:37:542094 days ago1558629474IN
0x8B153495...3EeF6586d
0 ETH0.0024996550
Transfer78170532019-05-23 16:32:042094 days ago1558629124IN
0x8B153495...3EeF6586d
0.16 ETH0.00252612120
Sweep73287132019-03-08 12:44:072171 days ago1552049047IN
0x8B153495...3EeF6586d
0 ETH0.0024996550
Transfer73286972019-03-08 12:39:242171 days ago1552048764IN
0x8B153495...3EeF6586d
0.556 ETH0.00252612120
Sweep72538682019-02-22 17:10:282184 days ago1550855428IN
0x8B153495...3EeF6586d
0 ETH0.0024996550
Transfer72538482019-02-22 17:04:002184 days ago1550855040IN
0x8B153495...3EeF6586d
0.318 ETH0.00252612120
Sweep72489732019-02-21 13:26:252185 days ago1550755585IN
0x8B153495...3EeF6586d
0 ETH0.0025028550
Transfer72489542019-02-21 13:19:582185 days ago1550755198IN
0x8B153495...3EeF6586d
0.275 ETH0.00252612120
Sweep71498462019-01-30 17:31:272207 days ago1548869487IN
0x8B153495...3EeF6586d
0 ETH0.0025028550
Transfer71498282019-01-30 17:24:572207 days ago1548869097IN
0x8B153495...3EeF6586d
0.255 ETH0.00252612120
Sweep70436122019-01-10 17:45:352227 days ago1547142335IN
0x8B153495...3EeF6586d
0 ETH0.0024996550
View all transactions

Latest 20 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
112911742020-11-19 22:21:361548 days ago1605824496
0x8B153495...3EeF6586d
0.2 ETH
111740762020-11-01 23:05:161566 days ago1604271916
0x8B153495...3EeF6586d
0.45 ETH
97017302020-03-19 11:05:461794 days ago1584615946
0x8B153495...3EeF6586d
3.855 ETH
90846252019-12-10 18:48:481893 days ago1576003728
0x8B153495...3EeF6586d
1.771 ETH
86621402019-10-02 9:46:321963 days ago1570009592
0x8B153495...3EeF6586d
1.398 ETH
84006022019-08-22 14:18:532003 days ago1566483533
0x8B153495...3EeF6586d
1.7292 ETH
83427172019-08-13 14:34:532012 days ago1565706893
0x8B153495...3EeF6586d
1.23 ETH
78170712019-05-23 16:37:542094 days ago1558629474
0x8B153495...3EeF6586d
0.16 ETH
73287132019-03-08 12:44:072171 days ago1552049047
0x8B153495...3EeF6586d
0.556 ETH
72538682019-02-22 17:10:282184 days ago1550855428
0x8B153495...3EeF6586d
0.318 ETH
72489732019-02-21 13:26:252185 days ago1550755585
0x8B153495...3EeF6586d
0.275 ETH
71498462019-01-30 17:31:272207 days ago1548869487
0x8B153495...3EeF6586d
0.255 ETH
70436122019-01-10 17:45:352227 days ago1547142335
0x8B153495...3EeF6586d
0.312 ETH
70259972019-01-07 13:52:292230 days ago1546869149
0x8B153495...3EeF6586d
0.264 ETH
70257162019-01-07 12:35:372231 days ago1546864537
0x8B153495...3EeF6586d
0.85 ETH
69988212019-01-02 17:35:202235 days ago1546450520
0x8B153495...3EeF6586d
0.252 ETH
67359492018-11-19 22:18:082279 days ago1542665888
0x8B153495...3EeF6586d
1.80334099 ETH
65690102018-10-23 14:04:212306 days ago1540303461
0x8B153495...3EeF6586d
0.0645 ETH
61509492018-08-15 8:50:562376 days ago1534323056
0x8B153495...3EeF6586d
1.49 ETH
50391842018-02-06 4:48:272566 days ago1517892507  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.