ETH Price: $2,014.25 (+4.91%)
 

Overview

ETH Balance

0.000000009621119077 ETH

Eth Value

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

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep70090242019-01-04 13:08:222612 days ago1546607302IN
0x118B48EE...820cF33d0
0 ETH0.0024996550
Transfer70090072019-01-04 13:04:572612 days ago1546607097IN
0x118B48EE...820cF33d0
2 ETH0.0008420440
Sweep68794672018-12-13 14:20:442634 days ago1544710844IN
0x118B48EE...820cF33d0
0 ETH0.0024996550
Transfer68794472018-12-13 14:15:022634 days ago1544710502IN
0x118B48EE...820cF33d0
0.49 ETH0.0010525550
Sweep65751222018-10-24 14:01:272684 days ago1540389687IN
0x118B48EE...820cF33d0
0 ETH0.0024996550
Transfer65750942018-10-24 13:54:232684 days ago1540389263IN
0x118B48EE...820cF33d0
9.01 ETH0.0006315330
Sweep65748872018-10-24 13:11:222684 days ago1540386682IN
0x118B48EE...820cF33d0
0 ETH0.0024996550
Transfer65748592018-10-24 13:02:312684 days ago1540386151IN
0x118B48EE...820cF33d0
1.04 ETH0.0006315330
Sweep61893262018-08-21 20:31:052748 days ago1534883465IN
0x118B48EE...820cF33d0
0 ETH0.0025028550
Transfer61893042018-08-21 20:24:532748 days ago1534883093IN
0x118B48EE...820cF33d0
0.10631944 ETH0.000021051
Sweep61479162018-08-14 20:31:002755 days ago1534278660IN
0x118B48EE...820cF33d0
0 ETH0.0050057100
Transfer61478902018-08-14 20:25:422755 days ago1534278342IN
0x118B48EE...820cF33d0
0.50017549 ETH0.000021051
Sweep61261762018-08-11 4:04:472759 days ago1533960287IN
0x118B48EE...820cF33d0
0 ETH0.0050057100
Transfer61261482018-08-11 3:58:472759 days ago1533959927IN
0x118B48EE...820cF33d0
0.5001675 ETH0.000021051
Sweep61061412018-08-07 19:02:032762 days ago1533668523IN
0x118B48EE...820cF33d0
0 ETH0.0050057100
Transfer61061172018-08-07 18:56:072762 days ago1533668167IN
0x118B48EE...820cF33d0
0.50011398 ETH0.000021051
Sweep60854322018-08-04 7:11:082765 days ago1533366668IN
0x118B48EE...820cF33d0
0 ETH0.0050057100
Transfer60854082018-08-04 7:06:302765 days ago1533366390IN
0x118B48EE...820cF33d0
0.50051062 ETH0.000021051
Sweep60641302018-07-31 16:42:142769 days ago1533055334IN
0x118B48EE...820cF33d0
0 ETH0.0050057100
Transfer60641072018-07-31 16:36:412769 days ago1533055001IN
0x118B48EE...820cF33d0
0.50033148 ETH0.000021051
Sweep60424582018-07-28 1:24:292773 days ago1532741069IN
0x118B48EE...820cF33d0
0 ETH0.0050057100
Transfer60424432018-07-28 1:19:522773 days ago1532740792IN
0x118B48EE...820cF33d0
0.50061101 ETH0.000021051
Sweep60212222018-07-24 10:54:152776 days ago1532429655IN
0x118B48EE...820cF33d0
0 ETH0.0050057100
Transfer60211802018-07-24 10:43:512776 days ago1532429031IN
0x118B48EE...820cF33d0
0.50026935 ETH0.000021051
Sweep60008422018-07-21 0:14:032780 days ago1532132043IN
0x118B48EE...820cF33d0
0 ETH0.0050057100
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-70090242019-01-04 13:08:222612 days ago1546607302
0x118B48EE...820cF33d0
2 ETH
-68794672018-12-13 14:20:442634 days ago1544710844
0x118B48EE...820cF33d0
0.49 ETH
Transfer65751222018-10-24 14:01:272684 days ago1540389687
0x118B48EE...820cF33d0
9.01 ETH
Transfer65748872018-10-24 13:11:222684 days ago1540386682
0x118B48EE...820cF33d0
1.04 ETH
Transfer61893262018-08-21 20:31:052748 days ago1534883465
0x118B48EE...820cF33d0
0.10631944 ETH
Transfer61479162018-08-14 20:31:002755 days ago1534278660
0x118B48EE...820cF33d0
0.5001755 ETH
Transfer61261762018-08-11 4:04:472759 days ago1533960287
0x118B48EE...820cF33d0
0.50016751 ETH
Transfer61061412018-08-07 19:02:032762 days ago1533668523
0x118B48EE...820cF33d0
0.50011398 ETH
Transfer60854322018-08-04 7:11:082765 days ago1533366668
0x118B48EE...820cF33d0
0.50051062 ETH
Transfer60641302018-07-31 16:42:142769 days ago1533055334
0x118B48EE...820cF33d0
0.50033148 ETH
Transfer60424582018-07-28 1:24:292773 days ago1532741069
0x118B48EE...820cF33d0
0.50061102 ETH
Transfer60212222018-07-24 10:54:152776 days ago1532429655
0x118B48EE...820cF33d0
0.50026936 ETH
Transfer60008422018-07-21 0:14:032780 days ago1532132043
0x118B48EE...820cF33d0
0.50030209 ETH
Transfer59905892018-07-19 6:04:592781 days ago1531980299
0x118B48EE...820cF33d0
10 ETH
Transfer59790872018-07-17 6:27:032783 days ago1531808823
0x118B48EE...820cF33d0
0.5003024 ETH
Transfer59584432018-07-13 19:29:052787 days ago1531510145
0x118B48EE...820cF33d0
0.50002035 ETH
Transfer59371452018-07-10 5:00:102791 days ago1531198810
0x118B48EE...820cF33d0
0.50016105 ETH
Transfer59160242018-07-06 13:33:482794 days ago1530884028
0x118B48EE...820cF33d0
0.50011417 ETH
Transfer58966262018-07-03 5:43:252798 days ago1530596605
0x118B48EE...820cF33d0
0.50056931 ETH
Transfer58762792018-06-29 18:23:182801 days ago1530296598
0x118B48EE...820cF33d0
0.50004443 ETH
Transfer58548452018-06-26 1:30:492805 days ago1529976649
0x118B48EE...820cF33d0
0.50016066 ETH
Transfer58336402018-06-22 10:09:082808 days ago1529662148
0x118B48EE...820cF33d0
0.50084698 ETH
Transfer58117952018-06-18 16:22:292812 days ago1529338949
0x118B48EE...820cF33d0
0.50050972 ETH
Transfer57905172018-06-15 1:21:112816 days ago1529025671
0x118B48EE...820cF33d0
0.50032561 ETH
Transfer57693482018-06-11 8:48:052819 days ago1528706885
0x118B48EE...820cF33d0
0.50039336 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.