ETH Price: $1,978.37 (+3.83%)
 

Overview

ETH Balance

0.034441513872538012 ETH

Eth Value

$68.14 (@ $1,978.37/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer71326572019-01-27 5:31:102590 days ago1548567070IN
0x564ECeB3...9ae6DC92d
0.0344415 ETH0.000021051
Sweep70968072019-01-20 5:35:482597 days ago1547962548IN
0x564ECeB3...9ae6DC92d
0 ETH0.0024996550
Transfer70967892019-01-20 5:30:172597 days ago1547962217IN
0x564ECeB3...9ae6DC92d
0.05003853 ETH0.000021051
Transfer70776212019-01-16 19:39:002600 days ago1547667540IN
0x564ECeB3...9ae6DC92d
0.01003132 ETH0.000021051
Sweep69041932018-12-17 16:40:012630 days ago1545064801IN
0x564ECeB3...9ae6DC92d
0 ETH0.0024996550
Transfer69041782018-12-17 16:36:402630 days ago1545064600IN
0x564ECeB3...9ae6DC92d
0.05001998 ETH0.000021051
Sweep68863232018-12-14 17:31:352633 days ago1544808695IN
0x564ECeB3...9ae6DC92d
0 ETH0.0024996550
Transfer68863042018-12-14 17:26:552633 days ago1544808415IN
0x564ECeB3...9ae6DC92d
0.05000284 ETH0.000021051
Sweep68677802018-12-11 16:11:472636 days ago1544544707IN
0x564ECeB3...9ae6DC92d
0 ETH0.0024996550
Transfer68677632018-12-11 16:06:142636 days ago1544544374IN
0x564ECeB3...9ae6DC92d
0.05003275 ETH0.000021051
Sweep68485682018-12-08 12:19:112640 days ago1544271551IN
0x564ECeB3...9ae6DC92d
0 ETH0.0024996550
Transfer68485482018-12-08 12:14:452640 days ago1544271285IN
0x564ECeB3...9ae6DC92d
0.05004555 ETH0.000021051
Sweep68293942018-12-05 8:00:162643 days ago1543996816IN
0x564ECeB3...9ae6DC92d
0 ETH0.0024996550
Transfer68293752018-12-05 7:55:362643 days ago1543996536IN
0x564ECeB3...9ae6DC92d
0.05001172 ETH0.000021051
Sweep68093622018-12-02 0:12:582646 days ago1543709578IN
0x564ECeB3...9ae6DC92d
0 ETH0.0024964550
Transfer68093472018-12-02 0:08:212646 days ago1543709301IN
0x564ECeB3...9ae6DC92d
0.05009536 ETH0.000021051
Sweep67892222018-11-28 16:43:432649 days ago1543423423IN
0x564ECeB3...9ae6DC92d
0 ETH0.0024996550
Transfer67892042018-11-28 16:40:042649 days ago1543423204IN
0x564ECeB3...9ae6DC92d
0.05000972 ETH0.000021051
Sweep67672272018-11-25 1:24:482653 days ago1543109088IN
0x564ECeB3...9ae6DC92d
0 ETH0.0024996550
Transfer67672102018-11-25 1:22:122653 days ago1543108932IN
0x564ECeB3...9ae6DC92d
0.05005049 ETH0.000021051
Sweep67442382018-11-21 7:06:442657 days ago1542784004IN
0x564ECeB3...9ae6DC92d
0 ETH0.0024996550
Transfer67442162018-11-21 7:01:572657 days ago1542783717IN
0x564ECeB3...9ae6DC92d
0.05001207 ETH0.000021051
Sweep67199222018-11-17 7:13:442661 days ago1542438824IN
0x564ECeB3...9ae6DC92d
0 ETH0.0024996550
Transfer67199072018-11-17 7:10:402661 days ago1542438640IN
0x564ECeB3...9ae6DC92d
0.05004627 ETH0.000021051
Sweep66947012018-11-13 3:58:492665 days ago1542081529IN
0x564ECeB3...9ae6DC92d
0 ETH0.0024996550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-70968072019-01-20 5:35:482597 days ago1547962548
0x564ECeB3...9ae6DC92d
0.06006986 ETH
-69041932018-12-17 16:40:012630 days ago1545064801
0x564ECeB3...9ae6DC92d
0.05001998 ETH
-68863232018-12-14 17:31:352633 days ago1544808695
0x564ECeB3...9ae6DC92d
0.05000284 ETH
-68677802018-12-11 16:11:472636 days ago1544544707
0x564ECeB3...9ae6DC92d
0.05003276 ETH
-68485682018-12-08 12:19:112640 days ago1544271551
0x564ECeB3...9ae6DC92d
0.05004556 ETH
-68293942018-12-05 8:00:162643 days ago1543996816
0x564ECeB3...9ae6DC92d
0.05001172 ETH
-68093622018-12-02 0:12:582646 days ago1543709578
0x564ECeB3...9ae6DC92d
0.05009536 ETH
Transfer67892222018-11-28 16:43:432649 days ago1543423423
0x564ECeB3...9ae6DC92d
0.05000973 ETH
Transfer67672272018-11-25 1:24:482653 days ago1543109088
0x564ECeB3...9ae6DC92d
0.0500505 ETH
Transfer67442382018-11-21 7:06:442657 days ago1542784004
0x564ECeB3...9ae6DC92d
0.05001208 ETH
Transfer67199222018-11-17 7:13:442661 days ago1542438824
0x564ECeB3...9ae6DC92d
0.05004627 ETH
Transfer66947012018-11-13 3:58:492665 days ago1542081529
0x564ECeB3...9ae6DC92d
0.0500582 ETH
Transfer66699612018-11-09 3:03:192669 days ago1541732599
0x564ECeB3...9ae6DC92d
0.05002542 ETH
Transfer66451972018-11-05 1:29:442673 days ago1541381384
0x564ECeB3...9ae6DC92d
0.0500348 ETH
Transfer66208272018-11-01 1:29:282677 days ago1541035768
0x564ECeB3...9ae6DC92d
0.05005269 ETH
Transfer65952322018-10-27 20:51:162681 days ago1540673476
0x564ECeB3...9ae6DC92d
0.05002241 ETH
Transfer65700912018-10-23 18:21:572685 days ago1540318917
0x564ECeB3...9ae6DC92d
0.0500103 ETH
Transfer65440732018-10-19 12:27:152690 days ago1539952035
0x564ECeB3...9ae6DC92d
0.05003529 ETH
Transfer65178362018-10-15 5:17:162694 days ago1539580636
0x564ECeB3...9ae6DC92d
0.05007109 ETH
Transfer64907752018-10-10 19:54:072698 days ago1539201247
0x564ECeB3...9ae6DC92d
0.05001518 ETH
Transfer64640082018-10-06 12:00:412703 days ago1538827241
0x564ECeB3...9ae6DC92d
0.05003992 ETH
Transfer64368632018-10-02 1:57:352707 days ago1538445455
0x564ECeB3...9ae6DC92d
0.05002161 ETH
Transfer64103042018-09-27 17:35:362711 days ago1538069736
0x564ECeB3...9ae6DC92d
0.05001684 ETH
Transfer63837452018-09-23 8:53:442716 days ago1537692824
0x564ECeB3...9ae6DC92d
0.05255907 ETH
Transfer62504462018-09-01 4:13:052738 days ago1535775185
0x564ECeB3...9ae6DC92d
0.05002684 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.