ETH Price: $2,063.14 (+5.69%)
 

Overview

ETH Balance

0.00000000594724194 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep56809662018-05-26 16:31:342838 days ago1527352294IN
0xb2C1B1ef...8e06fe696
0 ETH0.0024996550
Transfer56809502018-05-26 16:27:122838 days ago1527352032IN
0xb2C1B1ef...8e06fe696
0.01093439 ETH0.000021051
Transfer56414012018-05-19 16:25:182845 days ago1526747118IN
0xb2C1B1ef...8e06fe696
0.0214985 ETH0.000021051
Transfer56016232018-05-12 16:15:352852 days ago1526141735IN
0xb2C1B1ef...8e06fe696
0.01929237 ETH0.000021051
Sweep55613922018-05-05 16:21:402859 days ago1525537300IN
0xb2C1B1ef...8e06fe696
0 ETH0.0024996550
Transfer55613622018-05-05 16:12:392859 days ago1525536759IN
0xb2C1B1ef...8e06fe696
0.01983393 ETH0.000021051
Transfer55214332018-04-28 16:08:532866 days ago1524931733IN
0xb2C1B1ef...8e06fe696
0.01000491 ETH0.000021051
Transfer54110882018-04-09 20:00:062885 days ago1523304006IN
0xb2C1B1ef...8e06fe696
0.0206744 ETH0.000021051
Sweep53689022018-04-02 20:07:102892 days ago1522699630IN
0xb2C1B1ef...8e06fe696
0 ETH0.0024996550
Transfer53688542018-04-02 19:56:122892 days ago1522698972IN
0xb2C1B1ef...8e06fe696
0.06160989 ETH0.000021051
Sweep53270672018-03-26 19:58:312899 days ago1522094311IN
0xb2C1B1ef...8e06fe696
0 ETH0.0024996550
Transfer53270382018-03-26 19:51:192899 days ago1522093879IN
0xb2C1B1ef...8e06fe696
0.0513046 ETH0.000021051
Transfer52853062018-03-19 20:49:072906 days ago1521492547IN
0xb2C1B1ef...8e06fe696
0.04291587 ETH0.000021051
Sweep52440812018-03-12 20:52:132913 days ago1520887933IN
0xb2C1B1ef...8e06fe696
0 ETH0.0024996550
Transfer52440512018-03-12 20:44:392913 days ago1520887479IN
0xb2C1B1ef...8e06fe696
0.01457914 ETH0.000021051
Transfer52028162018-03-05 20:38:282920 days ago1520282308IN
0xb2C1B1ef...8e06fe696
0.03636432 ETH0.000021051
Sweep51615412018-02-26 20:47:272927 days ago1519678047IN
0xb2C1B1ef...8e06fe696
0 ETH0.0024996550
Transfer51614822018-02-26 20:35:032927 days ago1519677303IN
0xb2C1B1ef...8e06fe696
0.01934345 ETH0.000021051
Transfer51205012018-02-19 20:26:032934 days ago1519071963IN
0xb2C1B1ef...8e06fe696
0.04290431 ETH0.000021051
Sweep50788292018-02-12 20:29:032941 days ago1518467343IN
0xb2C1B1ef...8e06fe696
0 ETH0.0044993790
Transfer50788012018-02-12 20:23:212941 days ago1518467001IN
0xb2C1B1ef...8e06fe696
0.0555817 ETH0.000021051
Sweep50371162018-02-05 20:29:322948 days ago1517862572IN
0xb2C1B1ef...8e06fe696
0 ETH0.0045051390
Transfer50370812018-02-05 20:20:172948 days ago1517862017IN
0xb2C1B1ef...8e06fe696
0.05231491 ETH0.000021051
Transfer49957302018-01-29 20:12:292955 days ago1517256749IN
0xb2C1B1ef...8e06fe696
0.0472216 ETH0.000021051
Sweep49541102018-01-22 20:17:292962 days ago1516652249IN
0xb2C1B1ef...8e06fe696
0 ETH0.0045051390
View all transactions

Latest 19 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer56809662018-05-26 16:31:342838 days ago1527352294
0xb2C1B1ef...8e06fe696
0.05172528 ETH
Transfer55613922018-05-05 16:21:402859 days ago1525537300
0xb2C1B1ef...8e06fe696
0.05051325 ETH
Transfer53689022018-04-02 20:07:102892 days ago1522699630
0xb2C1B1ef...8e06fe696
0.0616099 ETH
Transfer53270672018-03-26 19:58:312899 days ago1522094311
0xb2C1B1ef...8e06fe696
0.09422048 ETH
Transfer52440812018-03-12 20:52:132913 days ago1520887933
0xb2C1B1ef...8e06fe696
0.05094348 ETH
Transfer51615412018-02-26 20:47:272927 days ago1519678047
0xb2C1B1ef...8e06fe696
0.06224777 ETH
Transfer50788292018-02-12 20:29:032941 days ago1518467343
0xb2C1B1ef...8e06fe696
0.05558171 ETH
Transfer50371162018-02-05 20:29:322948 days ago1517862572
0xb2C1B1ef...8e06fe696
0.09953652 ETH
Transfer49541102018-01-22 20:17:292962 days ago1516652249
0xb2C1B1ef...8e06fe696
0.0761837 ETH
Transfer49142772018-01-15 20:16:512969 days ago1516047411
0xb2C1B1ef...8e06fe696
0.11498708 ETH
Transfer48762242018-01-08 20:16:112976 days ago1515442571
0xb2C1B1ef...8e06fe696
0.07743791 ETH
Transfer48376942018-01-01 20:13:012983 days ago1514837581
0xb2C1B1ef...8e06fe696
0.06857991 ETH
Transfer47963672017-12-25 20:05:102990 days ago1514232310
0xb2C1B1ef...8e06fe696
0.06761019 ETH
Transfer47561372017-12-18 20:07:412997 days ago1513627661
0xb2C1B1ef...8e06fe696
0.08373909 ETH
Transfer47155832017-12-11 18:47:163004 days ago1513018036
0xb2C1B1ef...8e06fe696
0.12474062 ETH
Transfer46615042017-12-02 9:38:043014 days ago1512207484
0xb2C1B1ef...8e06fe696
0.50903874 ETH
Transfer44389642017-10-27 11:17:463050 days ago1509103066
0xb2C1B1ef...8e06fe696
24 ETH
Transfer41975782017-08-24 7:30:203114 days ago1503559820
0xb2C1B1ef...8e06fe696
0.999 ETH
Transfer41899722017-08-22 12:11:073116 days ago1503403867  Contract Creation0 ETH
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.