ETH Price: $2,796.56 (-7.35%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer47676912017-12-20 21:55:482892 days ago1513806948IN
0x2a4F9f3E...660A5d17e
0.26 ETH0.0008420440
Transfer47613862017-12-19 18:42:512893 days ago1513708971IN
0x2a4F9f3E...660A5d17e
0.75 ETH0.0007115233.8
Transfer45986412017-11-22 4:37:422921 days ago1511325462IN
0x2a4F9f3E...660A5d17e
0.09 ETH0.0004210220
Transfer45839212017-11-19 19:34:142923 days ago1511120054IN
0x2a4F9f3E...660A5d17e
0.27 ETH0.0004210220
Transfer45803292017-11-19 5:48:292924 days ago1511070509IN
0x2a4F9f3E...660A5d17e
0.34 ETH0.0004210220
Transfer45640822017-11-16 15:03:132926 days ago1510844593IN
0x2a4F9f3E...660A5d17e
0.12 ETH0.0004210220
Transfer45231262017-11-10 1:05:552933 days ago1510275955IN
0x2a4F9f3E...660A5d17e
0.59 ETH0.0004210220
Transfer45042232017-11-07 0:08:422936 days ago1510013322IN
0x2a4F9f3E...660A5d17e
0.53 ETH0.0004210220
Transfer45040972017-11-06 23:38:382936 days ago1510011518IN
0x2a4F9f3E...660A5d17e
2 ETH0.0004210220
Transfer44789632017-11-02 22:42:512940 days ago1509662571IN
0x2a4F9f3E...660A5d17e
0.35 ETH0.0004631222
Transfer44786342017-11-02 21:26:392940 days ago1509657999IN
0x2a4F9f3E...660A5d17e
0.32 ETH0.0004631222
Transfer44742772017-11-02 4:31:162941 days ago1509597076IN
0x2a4F9f3E...660A5d17e
0.16798891 ETH0.0004210220
Transfer44181422017-10-24 2:41:352950 days ago1508812895IN
0x2a4F9f3E...660A5d17e
0.33844265 ETH0.0004210220
Transfer44153082017-10-23 15:56:522950 days ago1508774212IN
0x2a4F9f3E...660A5d17e
0.32 ETH0.0004210220
Transfer44093962017-10-22 17:03:532951 days ago1508691833IN
0x2a4F9f3E...660A5d17e
0.4 ETH0.0004631222
Transfer42136042017-08-28 17:54:443006 days ago1503942884IN
0x2a4F9f3E...660A5d17e
0.29125996 ETH0.0004210220
Transfer41923102017-08-23 1:18:453012 days ago1503451125IN
0x2a4F9f3E...660A5d17e
0.12 ETH0.0004210220
Transfer41837922017-08-21 0:44:293014 days ago1503276269IN
0x2a4F9f3E...660A5d17e
0.2 ETH0.0004420721
Transfer41754052017-08-19 0:35:423016 days ago1503102942IN
0x2a4F9f3E...660A5d17e
0.13591573 ETH0.0004631222.00000133
VIEW ADVANCED FILTER
Amount:> 0.00001
Reset Filter

Showing the last 19 internal transactions (View Advanced Filter)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer47680442017-12-20 23:22:062892 days ago1513812126
0x2a4F9f3E...660A5d17e
0.26 ETH
Transfer47614422017-12-19 18:56:282893 days ago1513709788
0x2a4F9f3E...660A5d17e
0.75 ETH
Transfer45986522017-11-22 4:41:192921 days ago1511325679
0x2a4F9f3E...660A5d17e
0.09 ETH
Transfer45839332017-11-19 19:36:212923 days ago1511120181
0x2a4F9f3E...660A5d17e
0.27 ETH
Transfer45803362017-11-19 5:49:522924 days ago1511070592
0x2a4F9f3E...660A5d17e
0.34 ETH
Transfer45640982017-11-16 15:06:232926 days ago1510844783
0x2a4F9f3E...660A5d17e
0.12 ETH
Transfer45231362017-11-10 1:08:112933 days ago1510276091
0x2a4F9f3E...660A5d17e
0.59 ETH
Transfer45042342017-11-07 0:10:222936 days ago1510013422
0x2a4F9f3E...660A5d17e
0.53 ETH
Transfer45041042017-11-06 23:40:422936 days ago1510011642
0x2a4F9f3E...660A5d17e
2 ETH
Transfer44789722017-11-02 22:45:432940 days ago1509662743
0x2a4F9f3E...660A5d17e
0.35 ETH
Transfer44786412017-11-02 21:28:362940 days ago1509658116
0x2a4F9f3E...660A5d17e
0.32 ETH
Transfer44742822017-11-02 4:32:162941 days ago1509597136
0x2a4F9f3E...660A5d17e
0.16798891 ETH
Transfer44181542017-10-24 2:44:362950 days ago1508813076
0x2a4F9f3E...660A5d17e
0.33844265 ETH
Transfer44153142017-10-23 15:58:122950 days ago1508774292
0x2a4F9f3E...660A5d17e
0.32 ETH
Transfer44094252017-10-22 17:08:352951 days ago1508692115
0x2a4F9f3E...660A5d17e
0.4 ETH
Transfer42136102017-08-28 17:57:293006 days ago1503943049
0x2a4F9f3E...660A5d17e
0.29125996 ETH
Transfer41923132017-08-23 1:19:103012 days ago1503451150
0x2a4F9f3E...660A5d17e
0.12 ETH
Transfer41837992017-08-21 0:46:593014 days ago1503276419
0x2a4F9f3E...660A5d17e
0.2 ETH
Transfer41754212017-08-19 0:39:393016 days ago1503103179
0x2a4F9f3E...660A5d17e
0.13591573 ETH
VIEW ADVANCED FILTER
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.