ETH Price: $2,711.70 (+1.60%)
Gas: 1.01 Gwei

Contract

0x2a37cc695254ad98313f4ea6508e1155EC5643C6
 

Overview

ETH Balance

0.000000005204769888 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep63070362018-09-10 16:30:532349 days ago1536597053IN
0x2a37cc69...5EC5643C6
0 ETH0.0024996550
Transfer63070132018-09-10 16:24:442349 days ago1536596684IN
0x2a37cc69...5EC5643C6
0.05013325 ETH0.000063153
Sweep62974612018-09-09 1:51:472350 days ago1536457907IN
0x2a37cc69...5EC5643C6
0 ETH0.0024996550
Transfer62974462018-09-09 1:48:492350 days ago1536457729IN
0x2a37cc69...5EC5643C6
0.0500898 ETH0.000063153
Sweep62835642018-09-06 17:39:132353 days ago1536255553IN
0x2a37cc69...5EC5643C6
0 ETH0.0024996550
Transfer62835422018-09-06 17:32:392353 days ago1536255159IN
0x2a37cc69...5EC5643C6
0.05009669 ETH0.000063153
Sweep62745252018-09-05 5:25:222354 days ago1536125122IN
0x2a37cc69...5EC5643C6
0 ETH0.0024996550
Transfer62745092018-09-05 5:21:102354 days ago1536124870IN
0x2a37cc69...5EC5643C6
0.05008721 ETH0.000063153
Sweep62650762018-09-03 15:26:402356 days ago1535988400IN
0x2a37cc69...5EC5643C6
0 ETH0.0024996550
Transfer62650602018-09-03 15:22:282356 days ago1535988148IN
0x2a37cc69...5EC5643C6
0.05004556 ETH0.000021051
Sweep62566552018-09-02 5:39:422357 days ago1535866782IN
0x2a37cc69...5EC5643C6
0 ETH0.0024996550
Transfer62566272018-09-02 5:33:462357 days ago1535866426IN
0x2a37cc69...5EC5643C6
0.05040002 ETH0.000021051
Sweep62463752018-08-31 11:45:002359 days ago1535715900IN
0x2a37cc69...5EC5643C6
0 ETH0.0025028550
Transfer62463502018-08-31 11:38:162359 days ago1535715496IN
0x2a37cc69...5EC5643C6
0.10046049 ETH0.00004212
Sweep62233992018-08-27 14:35:422363 days ago1535380542IN
0x2a37cc69...5EC5643C6
0 ETH0.0024996550
Transfer62233652018-08-27 14:26:122363 days ago1535379972IN
0x2a37cc69...5EC5643C6
0.05020931 ETH0.000021051
Sweep62145982018-08-26 3:02:012364 days ago1535252521IN
0x2a37cc69...5EC5643C6
0 ETH0.0024996550
Transfer62145572018-08-26 2:52:522364 days ago1535251972IN
0x2a37cc69...5EC5643C6
0.05015749 ETH0.000021051
Sweep62061852018-08-24 17:01:402366 days ago1535130100IN
0x2a37cc69...5EC5643C6
0 ETH0.0024996550
Transfer62061512018-08-24 16:52:212366 days ago1535129541IN
0x2a37cc69...5EC5643C6
0.05030764 ETH0.000021051
Sweep61982652018-08-23 8:41:482367 days ago1535013708IN
0x2a37cc69...5EC5643C6
0 ETH0.0024996550
Transfer61982262018-08-23 8:32:332367 days ago1535013153IN
0x2a37cc69...5EC5643C6
0.05089827 ETH0.000021051
Sweep61901832018-08-21 23:52:332368 days ago1534895553IN
0x2a37cc69...5EC5643C6
0 ETH0.0024996550
Transfer61901622018-08-21 23:47:292368 days ago1534895249IN
0x2a37cc69...5EC5643C6
0.05000116 ETH0.000021051
Sweep61827502018-08-20 18:03:302370 days ago1534788210IN
0x2a37cc69...5EC5643C6
0 ETH0.0049993100
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
63070362018-09-10 16:30:532349 days ago1536597053
0x2a37cc69...5EC5643C6
0.05013326 ETH
62974612018-09-09 1:51:472350 days ago1536457907
0x2a37cc69...5EC5643C6
0.0500898 ETH
62835642018-09-06 17:39:132353 days ago1536255553
0x2a37cc69...5EC5643C6
0.0500967 ETH
62745252018-09-05 5:25:222354 days ago1536125122
0x2a37cc69...5EC5643C6
0.05008722 ETH
62650762018-09-03 15:26:402356 days ago1535988400
0x2a37cc69...5EC5643C6
0.05004556 ETH
62566552018-09-02 5:39:422357 days ago1535866782
0x2a37cc69...5EC5643C6
0.05040002 ETH
62463752018-08-31 11:45:002359 days ago1535715900
0x2a37cc69...5EC5643C6
0.10046049 ETH
62233992018-08-27 14:35:422363 days ago1535380542
0x2a37cc69...5EC5643C6
0.05020932 ETH
62145982018-08-26 3:02:012364 days ago1535252521
0x2a37cc69...5EC5643C6
0.0501575 ETH
62061852018-08-24 17:01:402366 days ago1535130100
0x2a37cc69...5EC5643C6
0.05030764 ETH
61982652018-08-23 8:41:482367 days ago1535013708
0x2a37cc69...5EC5643C6
0.05089828 ETH
61901832018-08-21 23:52:332368 days ago1534895553
0x2a37cc69...5EC5643C6
0.05000117 ETH
61827502018-08-20 18:03:302370 days ago1534788210
0x2a37cc69...5EC5643C6
0.0500101 ETH
61719652018-08-18 22:14:072372 days ago1534630447
0x2a37cc69...5EC5643C6
0.05097541 ETH
61641582018-08-17 14:25:222373 days ago1534515922
0x2a37cc69...5EC5643C6
0.05009631 ETH
61563612018-08-16 6:41:122374 days ago1534401672
0x2a37cc69...5EC5643C6
0.05117591 ETH
61480812018-08-14 21:08:272376 days ago1534280907
0x2a37cc69...5EC5643C6
0.05052991 ETH
61390242018-08-13 8:28:312377 days ago1534148911
0x2a37cc69...5EC5643C6
0.05012967 ETH
61296502018-08-11 18:14:512379 days ago1534011291
0x2a37cc69...5EC5643C6
0.05012204 ETH
61210202018-08-10 7:22:552380 days ago1533885775
0x2a37cc69...5EC5643C6
0.05019041 ETH
61133142018-08-09 0:04:452381 days ago1533773085
0x2a37cc69...5EC5643C6
0.05007744 ETH
61055102018-08-07 16:32:412383 days ago1533659561
0x2a37cc69...5EC5643C6
0.05021917 ETH
60967602018-08-06 5:04:302384 days ago1533531870
0x2a37cc69...5EC5643C6
0.05017796 ETH
60873832018-08-04 14:55:042386 days ago1533394504
0x2a37cc69...5EC5643C6
0.05039577 ETH
60782932018-08-03 2:18:512387 days ago1533262731
0x2a37cc69...5EC5643C6
0.05000396 ETH
View All Internal Transactions
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
/**
 *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

[{"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"}]

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.