ETH Price: $1,961.00 (-0.10%)
 

Overview

ETH Balance

0.000000002545466 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep54641372018-04-18 18:59:122874 days ago1524077952IN
0xcF217136...b1Bb95C97
0 ETH0.0025028550
Transfer54641102018-04-18 18:53:412874 days ago1524077621IN
0xcF217136...b1Bb95C97
143.0368 ETH0.0010925451.9
Sweep51322002018-02-21 20:34:272930 days ago1519245267IN
0xcF217136...b1Bb95C97
0 ETH0.0025028550
Transfer51321382018-02-21 20:21:262930 days ago1519244486IN
0xcF217136...b1Bb95C97
317.99 ETH0.0010925451.9
Sweep51003632018-02-16 11:20:212935 days ago1518780021IN
0xcF217136...b1Bb95C97
0 ETH0.0023451550
Sweep50966742018-02-15 20:37:002936 days ago1518727020IN
0xcF217136...b1Bb95C97
0 ETH0.0025060550
Transfer50966342018-02-15 20:28:412936 days ago1518726521IN
0xcF217136...b1Bb95C97
227.2075 ETH0.0010925451.9
Transfer50966182018-02-15 20:24:392936 days ago1518726279IN
0xcF217136...b1Bb95C97
65.3039 ETH0.0010925451.9
Sweep50949632018-02-15 13:50:082936 days ago1518702608IN
0xcF217136...b1Bb95C97
0 ETH0.0023419550
Sweep50929192018-02-15 5:32:082936 days ago1518672728IN
0xcF217136...b1Bb95C97
0 ETH0.0023483550
Sweep50920982018-02-15 2:17:402936 days ago1518661060IN
0xcF217136...b1Bb95C97
0 ETH0.0023483550
Sweep50913012018-02-14 23:04:202937 days ago1518649460IN
0xcF217136...b1Bb95C97
0 ETH0.0025028550
Transfer50912592018-02-14 22:54:452937 days ago1518648885IN
0xcF217136...b1Bb95C97
28.994 ETH0.0010525550
Sweep50911672018-02-14 22:30:232937 days ago1518647423IN
0xcF217136...b1Bb95C97
0 ETH0.0045051390
Transfer50911292018-02-14 22:20:422937 days ago1518646842IN
0xcF217136...b1Bb95C97
22.994 ETH0.0018945990
Sweep50906182018-02-14 20:14:172937 days ago1518639257IN
0xcF217136...b1Bb95C97
0 ETH0.0044993790
Transfer50906072018-02-14 20:11:462937 days ago1518639106IN
0xcF217136...b1Bb95C97
14.99 ETH0.0018945990
Sweep50905692018-02-14 20:02:492937 days ago1518638569IN
0xcF217136...b1Bb95C97
0 ETH0.0045051390
Transfer50905512018-02-14 19:57:232937 days ago1518638243IN
0xcF217136...b1Bb95C97
10.99 ETH0.0018945990
Transfer50905342018-02-14 19:53:362937 days ago1518638016IN
0xcF217136...b1Bb95C97
14.99 ETH0.0018945990
Sweep50904572018-02-14 19:33:002937 days ago1518636780IN
0xcF217136...b1Bb95C97
0 ETH0.0045051390
Transfer50904532018-02-14 19:31:582937 days ago1518636718IN
0xcF217136...b1Bb95C97
27.99 ETH0.0018945990
Sweep50904432018-02-14 19:29:212937 days ago1518636561IN
0xcF217136...b1Bb95C97
0 ETH0.0045051390
Transfer50904312018-02-14 19:26:072937 days ago1518636367IN
0xcF217136...b1Bb95C97
11.99 ETH0.0018945990
Transfer50904142018-02-14 19:21:102937 days ago1518636070IN
0xcF217136...b1Bb95C97
14.99 ETH0.0018945990
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer54641372018-04-18 18:59:122874 days ago1524077952
0xcF217136...b1Bb95C97
143.0368 ETH
Transfer51322002018-02-21 20:34:272930 days ago1519245267
0xcF217136...b1Bb95C97
317.99 ETH
Transfer50966742018-02-15 20:37:002936 days ago1518727020
0xcF217136...b1Bb95C97
292.5114 ETH
Transfer50913012018-02-14 23:04:202937 days ago1518649460
0xcF217136...b1Bb95C97
28.994 ETH
Transfer50911672018-02-14 22:30:232937 days ago1518647423
0xcF217136...b1Bb95C97
22.994 ETH
Transfer50906182018-02-14 20:14:172937 days ago1518639257
0xcF217136...b1Bb95C97
14.99 ETH
Transfer50905692018-02-14 20:02:492937 days ago1518638569
0xcF217136...b1Bb95C97
25.98 ETH
Transfer50904572018-02-14 19:33:002937 days ago1518636780
0xcF217136...b1Bb95C97
27.99 ETH
Transfer50904432018-02-14 19:29:212937 days ago1518636561
0xcF217136...b1Bb95C97
26.98 ETH
Transfer50901932018-02-14 18:24:422937 days ago1518632682
0xcF217136...b1Bb95C97
53.99 ETH
Transfer50888842018-02-14 13:02:032937 days ago1518613323
0xcF217136...b1Bb95C97
55.99 ETH
Transfer50887252018-02-14 12:19:492937 days ago1518610789
0xcF217136...b1Bb95C97
42 ETH
Transfer50884572018-02-14 11:14:382937 days ago1518606878
0xcF217136...b1Bb95C97
43 ETH
Transfer50877362018-02-14 8:14:472937 days ago1518596087
0xcF217136...b1Bb95C97
34 ETH
Transfer50877022018-02-14 8:03:542937 days ago1518595434
0xcF217136...b1Bb95C97
409.2206 ETH
Transfer50876742018-02-14 7:58:302937 days ago1518595110
0xcF217136...b1Bb95C97
23 ETH
Transfer50876252018-02-14 7:46:162937 days ago1518594376
0xcF217136...b1Bb95C97
34 ETH
Transfer50873202018-02-14 6:31:462937 days ago1518589906
0xcF217136...b1Bb95C97
57 ETH
Transfer50871752018-02-14 5:59:152937 days ago1518587955
0xcF217136...b1Bb95C97
30.99 ETH
Transfer50829822018-02-13 13:08:512938 days ago1518527331
0xcF217136...b1Bb95C97
34 ETH
Transfer50829122018-02-13 12:52:282938 days ago1518526348
0xcF217136...b1Bb95C97
18.99 ETH
Transfer50826762018-02-13 11:55:112938 days ago1518522911
0xcF217136...b1Bb95C97
19 ETH
Transfer50825322018-02-13 11:17:282938 days ago1518520648
0xcF217136...b1Bb95C97
21.995 ETH
Transfer50777842018-02-12 16:09:502939 days ago1518451790
0xcF217136...b1Bb95C97
18 ETH
Transfer50771532018-02-12 13:35:362939 days ago1518442536
0xcF217136...b1Bb95C97
20 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.