ETH Price: $1,860.33 (-5.00%)
 

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
Sweep70003142019-01-02 23:36:392608 days ago1546472199IN
0xaB328b93...E97cdc326
0 ETH0.0024996550
Transfer70002942019-01-02 23:32:022608 days ago1546471922IN
0xaB328b93...E97cdc326
0.6 ETH0.0008630941
Sweep69165802018-12-19 19:27:432623 days ago1545247663IN
0xaB328b93...E97cdc326
0 ETH0.0024996550
Transfer69165642018-12-19 19:24:272623 days ago1545247467IN
0xaB328b93...E97cdc326
0.5 ETH0.0008630941
Sweep68448312018-12-07 21:25:492635 days ago1544217949IN
0xaB328b93...E97cdc326
0 ETH0.0024996550
Transfer68448122018-12-07 21:21:372635 days ago1544217697IN
0xaB328b93...E97cdc326
0.6 ETH0.0008630941
Sweep67614542018-11-24 2:49:302648 days ago1543027770IN
0xaB328b93...E97cdc326
0 ETH0.0024996550
Transfer67614392018-11-24 2:46:112648 days ago1543027571IN
0xaB328b93...E97cdc326
0.3 ETH0.0008630941
Sweep67011102018-11-14 5:16:562658 days ago1542172616IN
0xaB328b93...E97cdc326
0 ETH0.0024996550
Transfer67010942018-11-14 5:13:462658 days ago1542172426IN
0xaB328b93...E97cdc326
0.5 ETH0.0008630941
Sweep66208762018-11-01 1:41:062671 days ago1541036466IN
0xaB328b93...E97cdc326
0 ETH0.0024996550
Transfer66208602018-11-01 1:37:502671 days ago1541036270IN
0xaB328b93...E97cdc326
0.6 ETH0.0008630941
Sweep65037632018-10-12 22:33:472691 days ago1539383627IN
0xaB328b93...E97cdc326
0 ETH0.0024996550
Transfer65037462018-10-12 22:28:282691 days ago1539383308IN
0xaB328b93...E97cdc326
0.3 ETH0.0008630941
Sweep64315302018-10-01 5:05:552702 days ago1538370355IN
0xaB328b93...E97cdc326
0 ETH0.0024996550
Transfer64314972018-10-01 4:57:072702 days ago1538369827IN
0xaB328b93...E97cdc326
0.5 ETH0.0008630941
Sweep63314692018-09-14 17:50:582719 days ago1536947458IN
0xaB328b93...E97cdc326
0 ETH0.0024996550
Transfer63314382018-09-14 17:42:352719 days ago1536946955IN
0xaB328b93...E97cdc326
0.2 ETH0.0008630941
Sweep63097842018-09-11 3:24:572722 days ago1536636297IN
0xaB328b93...E97cdc326
0 ETH0.0024996550
Transfer63097602018-09-11 3:19:322722 days ago1536635972IN
0xaB328b93...E97cdc326
0.31 ETH0.0008630941
Sweep62431062018-08-30 22:36:132734 days ago1535668573IN
0xaB328b93...E97cdc326
0 ETH0.0024996550
Transfer62430892018-08-30 22:31:372734 days ago1535668297IN
0xaB328b93...E97cdc326
0.8 ETH0.0008630941
Sweep59972272018-07-20 9:11:452775 days ago1532077905IN
0xaB328b93...E97cdc326
0 ETH0.0049993100
Transfer59971712018-07-20 8:58:562775 days ago1532077136IN
0xaB328b93...E97cdc326
0.2 ETH0.0008630941
Sweep59640002018-07-14 17:26:352781 days ago1531589195IN
0xaB328b93...E97cdc326
0 ETH0.0049993100
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-70003142019-01-02 23:36:392608 days ago1546472199
0xaB328b93...E97cdc326
0.6 ETH
-69165802018-12-19 19:27:432623 days ago1545247663
0xaB328b93...E97cdc326
0.5 ETH
-68448312018-12-07 21:25:492635 days ago1544217949
0xaB328b93...E97cdc326
0.6 ETH
Transfer67614542018-11-24 2:49:302648 days ago1543027770
0xaB328b93...E97cdc326
0.3 ETH
Transfer67011102018-11-14 5:16:562658 days ago1542172616
0xaB328b93...E97cdc326
0.5 ETH
Transfer66208762018-11-01 1:41:062671 days ago1541036466
0xaB328b93...E97cdc326
0.6 ETH
Transfer65037632018-10-12 22:33:472691 days ago1539383627
0xaB328b93...E97cdc326
0.3 ETH
Transfer64315302018-10-01 5:05:552702 days ago1538370355
0xaB328b93...E97cdc326
0.5 ETH
Transfer63314692018-09-14 17:50:582719 days ago1536947458
0xaB328b93...E97cdc326
0.2 ETH
Transfer63097842018-09-11 3:24:572722 days ago1536636297
0xaB328b93...E97cdc326
0.31 ETH
Transfer62431062018-08-30 22:36:132734 days ago1535668573
0xaB328b93...E97cdc326
0.8 ETH
Transfer59972272018-07-20 9:11:452775 days ago1532077905
0xaB328b93...E97cdc326
0.2 ETH
Transfer59640002018-07-14 17:26:352781 days ago1531589195
0xaB328b93...E97cdc326
0.21 ETH
Transfer59243712018-07-07 23:58:512787 days ago1531007931
0xaB328b93...E97cdc326
20.94 ETH
Transfer59172992018-07-06 18:51:062789 days ago1530903066
0xaB328b93...E97cdc326
0.22 ETH
Transfer59057722018-07-04 19:24:412791 days ago1530732281
0xaB328b93...E97cdc326
2.0711 ETH
Transfer58964462018-07-03 4:57:302792 days ago1530593850
0xaB328b93...E97cdc326
0.59 ETH
Transfer57569662018-06-09 3:57:562816 days ago1528516676
0xaB328b93...E97cdc326
0.4 ETH
Transfer56734022018-05-25 8:33:212831 days ago1527237201
0xaB328b93...E97cdc326
0.4 ETH
Transfer55962762018-05-11 18:04:432845 days ago1526061883
0xaB328b93...E97cdc326
0.3 ETH
Transfer55572992018-05-04 23:05:212851 days ago1525475121
0xaB328b93...E97cdc326
0.11 ETH
Transfer55354742018-05-01 2:40:052855 days ago1525142405
0xaB328b93...E97cdc326
0.4 ETH
Transfer55130292018-04-27 5:03:192859 days ago1524805399
0xaB328b93...E97cdc326
0.5 ETH
Transfer54420412018-04-15 0:37:052871 days ago1523752625
0xaB328b93...E97cdc326
0.6 ETH
Transfer52391482018-03-12 0:32:302905 days ago1520814750
0xaB328b93...E97cdc326
0.2 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.