ETH Price: $2,148.82 (+8.30%)
 

Overview

ETH Balance

0.000000001153237612 ETH

Eth Value

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

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep55734282018-05-07 18:24:412857 days ago1525717481IN
0x77BaEa31...AA2E9cB40
0 ETH0.0025028550
Transfer55733962018-05-07 18:15:022857 days ago1525716902IN
0x77BaEa31...AA2E9cB40
0.09789621 ETH0.000021051
Sweep55334342018-04-30 18:16:262864 days ago1525112186IN
0x77BaEa31...AA2E9cB40
0 ETH0.0025028550
Transfer55334152018-04-30 18:11:362864 days ago1525111896IN
0x77BaEa31...AA2E9cB40
0.1080944 ETH0.000021051
Sweep54930862018-04-23 18:16:112871 days ago1524507371IN
0x77BaEa31...AA2E9cB40
0 ETH0.0025028550
Transfer54930662018-04-23 18:11:072871 days ago1524507067IN
0x77BaEa31...AA2E9cB40
0.10865977 ETH0.000021051
Sweep54522422018-04-16 18:08:112878 days ago1523902091IN
0x77BaEa31...AA2E9cB40
0 ETH0.0025028550
Transfer54522052018-04-16 17:59:492878 days ago1523901589IN
0x77BaEa31...AA2E9cB40
0.10898455 ETH0.000021051
Sweep54106102018-04-09 18:01:382885 days ago1523296898IN
0x77BaEa31...AA2E9cB40
0 ETH0.0025028550
Transfer54105702018-04-09 17:52:462885 days ago1523296366IN
0x77BaEa31...AA2E9cB40
0.10169188 ETH0.000021051
Sweep53683492018-04-02 17:54:432892 days ago1522691683IN
0x77BaEa31...AA2E9cB40
0 ETH0.0025028550
Transfer53683002018-04-02 17:46:522892 days ago1522691212IN
0x77BaEa31...AA2E9cB40
0.10887792 ETH0.000021051
Sweep53265482018-03-26 17:51:042899 days ago1522086664IN
0x77BaEa31...AA2E9cB40
0 ETH0.0024996550
Transfer53265212018-03-26 17:44:182899 days ago1522086258IN
0x77BaEa31...AA2E9cB40
0.10176749 ETH0.000021051
Sweep52848152018-03-19 18:56:132906 days ago1521485773IN
0x77BaEa31...AA2E9cB40
0 ETH0.0025028550
Transfer52847802018-03-19 18:44:112906 days ago1521485051IN
0x77BaEa31...AA2E9cB40
0.10592224 ETH0.000021051
Sweep52435542018-03-12 18:42:522913 days ago1520880172IN
0x77BaEa31...AA2E9cB40
0 ETH0.0025028550
Transfer52435232018-03-12 18:33:342913 days ago1520879614IN
0x77BaEa31...AA2E9cB40
0.10003817 ETH0.000021051
Sweep52022882018-03-05 18:33:472920 days ago1520274827IN
0x77BaEa31...AA2E9cB40
0 ETH0.0025028550
Transfer52022552018-03-05 18:26:582920 days ago1520274418IN
0x77BaEa31...AA2E9cB40
0.11101996 ETH0.000021051
Sweep51610022018-02-26 18:39:072927 days ago1519670347IN
0x77BaEa31...AA2E9cB40
0 ETH0.0025028550
Transfer51609582018-02-26 18:26:292927 days ago1519669589IN
0x77BaEa31...AA2E9cB40
0.11519659 ETH0.000021051
Sweep51200582018-02-19 18:31:352934 days ago1519065095IN
0x77BaEa31...AA2E9cB40
0 ETH0.0025028550
Transfer51199972018-02-19 18:18:342934 days ago1519064314IN
0x77BaEa31...AA2E9cB40
0.11900118 ETH0.000021051
Sweep50782782018-02-12 18:15:452941 days ago1518459345IN
0x77BaEa31...AA2E9cB40
0 ETH0.0045051390
View all transactions

Latest 23 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer55734282018-05-07 18:24:412857 days ago1525717481
0x77BaEa31...AA2E9cB40
0.09789622 ETH
Transfer55334342018-04-30 18:16:262864 days ago1525112186
0x77BaEa31...AA2E9cB40
0.10809441 ETH
Transfer54930862018-04-23 18:16:112871 days ago1524507371
0x77BaEa31...AA2E9cB40
0.10865977 ETH
Transfer54522422018-04-16 18:08:112878 days ago1523902091
0x77BaEa31...AA2E9cB40
0.10898456 ETH
Transfer54106102018-04-09 18:01:382885 days ago1523296898
0x77BaEa31...AA2E9cB40
0.10169189 ETH
Transfer53683492018-04-02 17:54:432892 days ago1522691683
0x77BaEa31...AA2E9cB40
0.10887792 ETH
Transfer53265482018-03-26 17:51:042899 days ago1522086664
0x77BaEa31...AA2E9cB40
0.1017675 ETH
Transfer52848152018-03-19 18:56:132906 days ago1521485773
0x77BaEa31...AA2E9cB40
0.10592224 ETH
Transfer52435542018-03-12 18:42:522913 days ago1520880172
0x77BaEa31...AA2E9cB40
0.10003818 ETH
Transfer52022882018-03-05 18:33:472920 days ago1520274827
0x77BaEa31...AA2E9cB40
0.11101997 ETH
Transfer51610022018-02-26 18:39:072927 days ago1519670347
0x77BaEa31...AA2E9cB40
0.11519659 ETH
Transfer51200582018-02-19 18:31:352934 days ago1519065095
0x77BaEa31...AA2E9cB40
0.11900119 ETH
Transfer50782782018-02-12 18:15:452941 days ago1518459345
0x77BaEa31...AA2E9cB40
0.1232825 ETH
Transfer50365972018-02-05 18:16:222948 days ago1517854582
0x77BaEa31...AA2E9cB40
0.12766274 ETH
Transfer49952192018-01-29 18:07:362955 days ago1517249256
0x77BaEa31...AA2E9cB40
0.1397959 ETH
Transfer49535912018-01-22 18:01:442962 days ago1516644104
0x77BaEa31...AA2E9cB40
0.15653842 ETH
Transfer49137352018-01-15 17:55:392969 days ago1516038939
0x77BaEa31...AA2E9cB40
0.17780533 ETH
Transfer48756522018-01-08 17:52:072976 days ago1515433927
0x77BaEa31...AA2E9cB40
0.19183189 ETH
Transfer48370842018-01-01 17:43:582983 days ago1514828638
0x77BaEa31...AA2E9cB40
0.17282588 ETH
Transfer47957632017-12-25 17:41:452990 days ago1514223705
0x77BaEa31...AA2E9cB40
0.19777827 ETH
Transfer47556922017-12-18 18:14:472997 days ago1513620887
0x77BaEa31...AA2E9cB40
0.21371355 ETH
Transfer47152172017-12-11 17:10:433004 days ago1513012243
0x77BaEa31...AA2E9cB40
0.24666269 ETH
Transfer46616662017-12-02 10:14:143014 days ago1512209654  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.