ETH Price: $1,946.47 (-4.95%)
 

Overview

ETH Balance

0.000000008572743967 ETH

Eth Value

Less Than $0.01 (@ $1,946.47/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep53438742018-03-29 16:10:242895 days ago1522339824IN
0xD4136A3e...681023c94
0 ETH0.0025028550
Transfer53438492018-03-29 16:02:472895 days ago1522339367IN
0xD4136A3e...681023c94
0.1 ETH0.0012841161
Transfer51965932018-03-04 19:25:262920 days ago1520191526IN
0xD4136A3e...681023c94
0.04994917 ETH0.000021051
Sweep51554672018-02-25 19:30:442927 days ago1519587044IN
0xD4136A3e...681023c94
0 ETH0.0025028550
Transfer51554342018-02-25 19:21:472927 days ago1519586507IN
0xD4136A3e...681023c94
0.10009779 ETH0.000021051
Sweep51312432018-02-21 16:43:402931 days ago1519231420IN
0xD4136A3e...681023c94
0 ETH0.0024996550
Transfer51311972018-02-21 16:30:482931 days ago1519230648IN
0xD4136A3e...681023c94
0.10011933 ETH0.000021051
Sweep51067372018-02-17 12:47:582936 days ago1518871678IN
0xD4136A3e...681023c94
0 ETH0.0025028550
Transfer51066902018-02-17 12:36:332936 days ago1518870993IN
0xD4136A3e...681023c94
0.10006162 ETH0.000021051
Sweep50837342018-02-13 16:06:512939 days ago1518538011IN
0xD4136A3e...681023c94
0 ETH0.0045051390
Transfer50837032018-02-13 15:59:162939 days ago1518537556IN
0xD4136A3e...681023c94
0.10003332 ETH0.000021051
Sweep50616952018-02-09 23:34:352943 days ago1518219275IN
0xD4136A3e...681023c94
0 ETH0.0045051390
Transfer50616632018-02-09 23:24:582943 days ago1518218698IN
0xD4136A3e...681023c94
0.10001849 ETH0.000021051
Sweep50380482018-02-06 0:04:402947 days ago1517875480IN
0xD4136A3e...681023c94
0 ETH0.0045051390
Transfer50380162018-02-05 23:58:452947 days ago1517875125IN
0xD4136A3e...681023c94
0.10012385 ETH0.000021051
Sweep50157722018-02-02 6:33:302951 days ago1517553210IN
0xD4136A3e...681023c94
0 ETH0.0045051390
Transfer50157372018-02-02 6:24:232951 days ago1517552663IN
0xD4136A3e...681023c94
0.10005426 ETH0.000021051
Sweep49780002018-01-26 20:50:472957 days ago1516999847IN
0xD4136A3e...681023c94
0 ETH0.0045051390
Transfer49779732018-01-26 20:45:452957 days ago1516999545IN
0xD4136A3e...681023c94
0.10002719 ETH0.000021051
Sweep49592202018-01-23 17:12:082960 days ago1516727528IN
0xD4136A3e...681023c94
0 ETH0.0045051390
Transfer49591862018-01-23 17:04:292960 days ago1516727069IN
0xD4136A3e...681023c94
0.10009592 ETH0.000021051
Sweep49415772018-01-20 16:40:432963 days ago1516466443IN
0xD4136A3e...681023c94
0 ETH0.0045051390
Transfer49415442018-01-20 16:29:582963 days ago1516465798IN
0xD4136A3e...681023c94
0.10015795 ETH0.000021051
Sweep49246132018-01-17 16:57:032966 days ago1516208223IN
0xD4136A3e...681023c94
0 ETH0.0045051390
Transfer49245862018-01-17 16:50:192966 days ago1516207819IN
0xD4136A3e...681023c94
0.1000876 ETH0.000021051
View all transactions

Latest 23 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer53438742018-03-29 16:10:242895 days ago1522339824
0xD4136A3e...681023c94
0.14994917 ETH
Transfer51554672018-02-25 19:30:442927 days ago1519587044
0xD4136A3e...681023c94
0.1000978 ETH
Transfer51312432018-02-21 16:43:402931 days ago1519231420
0xD4136A3e...681023c94
0.10011933 ETH
Transfer51067372018-02-17 12:47:582936 days ago1518871678
0xD4136A3e...681023c94
0.10006163 ETH
Transfer50837342018-02-13 16:06:512939 days ago1518538011
0xD4136A3e...681023c94
0.10003332 ETH
Transfer50616952018-02-09 23:34:352943 days ago1518219275
0xD4136A3e...681023c94
0.10001849 ETH
Transfer50380482018-02-06 0:04:402947 days ago1517875480
0xD4136A3e...681023c94
0.10012386 ETH
Transfer50157722018-02-02 6:33:302951 days ago1517553210
0xD4136A3e...681023c94
0.10005426 ETH
Transfer49780002018-01-26 20:50:472957 days ago1516999847
0xD4136A3e...681023c94
0.1000272 ETH
Transfer49592202018-01-23 17:12:082960 days ago1516727528
0xD4136A3e...681023c94
0.10009592 ETH
Transfer49415772018-01-20 16:40:432963 days ago1516466443
0xD4136A3e...681023c94
0.10015796 ETH
Transfer49246132018-01-17 16:57:032966 days ago1516208223
0xD4136A3e...681023c94
0.1000876 ETH
Transfer49094922018-01-14 22:57:182969 days ago1515970638
0xD4136A3e...681023c94
0.10010324 ETH
Transfer48953592018-01-12 9:22:062972 days ago1515748926
0xD4136A3e...681023c94
0.12543522 ETH
Transfer48397962018-01-02 4:49:512982 days ago1514868591
0xD4136A3e...681023c94
0.10005874 ETH
Transfer48258542017-12-30 20:07:032984 days ago1514664423
0xD4136A3e...681023c94
0.10032599 ETH
Transfer48119632017-12-28 10:34:092987 days ago1514457249
0xD4136A3e...681023c94
0.10007456 ETH
Transfer47980182017-12-26 2:36:092989 days ago1514255769
0xD4136A3e...681023c94
0.10005059 ETH
Transfer47843862017-12-23 20:04:512991 days ago1514059491
0xD4136A3e...681023c94
0.10004057 ETH
Transfer47711412017-12-21 12:36:172994 days ago1513859777
0xD4136A3e...681023c94
0.10020933 ETH
Transfer47586012017-12-19 6:52:402996 days ago1513666360
0xD4136A3e...681023c94
0.100194 ETH
Transfer47420182017-12-16 9:54:372999 days ago1513418077
0xD4136A3e...681023c94
0.1000703 ETH
Transfer47265092017-12-13 16:47:023001 days ago1513183622  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.