ETH Price: $2,042.33 (+1.90%)
Gas: 0.13 Gwei

Contract

0xD8F9c11F6Bf84dF34329B4A3Bc21E3E9e5cF9D5E
 

Overview

ETH Balance

0.000000009450252734 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep43703222017-10-16 7:35:523086 days ago1508139352IN
0xD8F9c11F...9e5cF9D5E
0 ETH0.0015517631
Transfer43703182017-10-16 7:32:523086 days ago1508139172IN
0xD8F9c11F...9e5cF9D5E
0.1270059 ETH0.0004420721
Sweep43670552017-10-15 4:57:293087 days ago1508043449IN
0xD8F9c11F...9e5cF9D5E
0 ETH0.0015517631
Transfer43670412017-10-15 4:51:023087 days ago1508043062IN
0xD8F9c11F...9e5cF9D5E
0.12861854 ETH0.0005810327.60114455
Sweep43642852017-10-14 6:07:573088 days ago1507961277IN
0xD8F9c11F...9e5cF9D5E
0 ETH0.001561631.19651177
Transfer43642782017-10-14 6:04:553088 days ago1507961095IN
0xD8F9c11F...9e5cF9D5E
0.12520093 ETH0.0005472625.99709314
Sweep43612742017-10-13 5:16:263089 days ago1507871786IN
0xD8F9c11F...9e5cF9D5E
0 ETH0.0019812239.57940385
Transfer43612602017-10-13 5:11:143089 days ago1507871474IN
0xD8F9c11F...9e5cF9D5E
0.12744604 ETH0.0006943232.98283654
Sweep43583762017-10-12 5:34:403090 days ago1507786480IN
0xD8F9c11F...9e5cF9D5E
0 ETH0.0016020332.00411537
Transfer43583512017-10-12 5:24:443090 days ago1507785884IN
0xD8F9c11F...9e5cF9D5E
0.12163636 ETH0.0005880527.93496072
Sweep43553612017-10-11 4:21:543092 days ago1507695714IN
0xD8F9c11F...9e5cF9D5E
0 ETH0.0015497831
Transfer43553542017-10-11 4:19:393092 days ago1507695579IN
0xD8F9c11F...9e5cF9D5E
0.12967551 ETH0.0005207924.73966849
Sweep43524802017-10-10 4:42:083093 days ago1507610528IN
0xD8F9c11F...9e5cF9D5E
0 ETH0.0015517631
Transfer43524702017-10-10 4:36:303093 days ago1507610190IN
0xD8F9c11F...9e5cF9D5E
0.12530028 ETH0.0005195924.6827776
Sweep43496622017-10-09 5:04:563093 days ago1507525496IN
0xD8F9c11F...9e5cF9D5E
0 ETH0.0018020536
Transfer43496462017-10-09 4:56:013093 days ago1507524961IN
0xD8F9c11F...9e5cF9D5E
0.13092344 ETH0.0006435130.56944983
Sweep43466872017-10-08 4:16:563095 days ago1507436216IN
0xD8F9c11F...9e5cF9D5E
0 ETH0.001557231.10864832
Transfer43466742017-10-08 4:10:383095 days ago1507435838IN
0xD8F9c11F...9e5cF9D5E
0.12517487 ETH0.0005513226.18996363
Sweep43437402017-10-07 3:35:093096 days ago1507347309IN
0xD8F9c11F...9e5cF9D5E
0 ETH0.0015517631
Transfer43437352017-10-07 3:32:293096 days ago1507347149IN
0xD8F9c11F...9e5cF9D5E
0.18733269 ETH0.0004892823.24307561

Latest 11 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer43703222017-10-16 7:35:523086 days ago1508139352
0xD8F9c11F...9e5cF9D5E
0.1270059 ETH
Transfer43670552017-10-15 4:57:293087 days ago1508043449
0xD8F9c11F...9e5cF9D5E
0.12861855 ETH
Transfer43642852017-10-14 6:07:573088 days ago1507961277
0xD8F9c11F...9e5cF9D5E
0.12520093 ETH
Transfer43612742017-10-13 5:16:263089 days ago1507871786
0xD8F9c11F...9e5cF9D5E
0.12744605 ETH
Transfer43583762017-10-12 5:34:403090 days ago1507786480
0xD8F9c11F...9e5cF9D5E
0.12163636 ETH
Transfer43553612017-10-11 4:21:543092 days ago1507695714
0xD8F9c11F...9e5cF9D5E
0.12967552 ETH
Transfer43524802017-10-10 4:42:083093 days ago1507610528
0xD8F9c11F...9e5cF9D5E
0.12530028 ETH
Transfer43496622017-10-09 5:04:563093 days ago1507525496
0xD8F9c11F...9e5cF9D5E
0.13092345 ETH
Transfer43466872017-10-08 4:16:563095 days ago1507436216
0xD8F9c11F...9e5cF9D5E
0.12517488 ETH
Transfer43437402017-10-07 3:35:093096 days ago1507347309
0xD8F9c11F...9e5cF9D5E
0.18733269 ETH
Transfer43335212017-10-03 14:55:533099 days ago1507042553  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.