ETH Price: $2,717.36 (-3.18%)

Contract

0xa4F2A71aa716592655132F7FD97Ea93316e84847
 

Overview

ETH Balance

0.000000004632079383 ETH

Eth Value

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

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep83904452019-08-21 0:26:552014 days ago1566347215IN
0xa4F2A71a...316e84847
0 ETH0.0011012522
Transfer83904272019-08-21 0:22:552014 days ago1566346975IN
0xa4F2A71a...316e84847
1.15419514 ETH0.000105255
Sweep83709902019-08-17 23:38:342017 days ago1566085114IN
0xa4F2A71a...316e84847
0 ETH0.0011012522
Transfer83709752019-08-17 23:35:142017 days ago1566084914IN
0xa4F2A71a...316e84847
2.28287669 ETH0.000063153
Transfer81639482019-07-16 20:20:322049 days ago1563308432IN
0xa4F2A71a...316e84847
0.01274756 ETH0.000021051
Sweep81191792019-07-09 20:21:242056 days ago1562703684IN
0xa4F2A71a...316e84847
0 ETH0.0011012522
Transfer81191542019-07-09 20:16:382056 days ago1562703398IN
0xa4F2A71a...316e84847
0.3755525 ETH0.000021051
Sweep81127272019-07-08 20:18:102057 days ago1562617090IN
0xa4F2A71a...316e84847
0 ETH0.0011012522
Transfer81127062019-07-08 20:14:202057 days ago1562616860IN
0xa4F2A71a...316e84847
0.35989018 ETH0.000021051
Sweep81062572019-07-07 20:15:552058 days ago1562530555IN
0xa4F2A71a...316e84847
0 ETH0.0011012522
Transfer81062392019-07-07 20:12:222058 days ago1562530342IN
0xa4F2A71a...316e84847
0.36646263 ETH0.000021051
Sweep80998372019-07-06 20:13:552059 days ago1562444035IN
0xa4F2A71a...316e84847
0 ETH0.0011012522
Transfer80998142019-07-06 20:09:412059 days ago1562443781IN
0xa4F2A71a...316e84847
0.39166998 ETH0.000021051
Sweep80933192019-07-05 20:07:512060 days ago1562357271IN
0xa4F2A71a...316e84847
0 ETH0.0011012522
Transfer80933072019-07-05 20:05:152060 days ago1562357115IN
0xa4F2A71a...316e84847
0.37516904 ETH0.000021051
Sweep80868902019-07-04 20:05:152061 days ago1562270715IN
0xa4F2A71a...316e84847
0 ETH0.0011012522
Transfer80868772019-07-04 20:01:362061 days ago1562270496IN
0xa4F2A71a...316e84847
0.36838552 ETH0.000021051
Sweep80804532019-07-03 20:02:342062 days ago1562184154IN
0xa4F2A71a...316e84847
0 ETH0.0011012522
Transfer80804242019-07-03 19:57:572062 days ago1562183877IN
0xa4F2A71a...316e84847
0.35984317 ETH0.000021051
Sweep80741082019-07-02 20:01:032063 days ago1562097663IN
0xa4F2A71a...316e84847
0 ETH0.0011012522
Transfer80740892019-07-02 19:54:492063 days ago1562097289IN
0xa4F2A71a...316e84847
0.38536826 ETH0.000021051
Sweep80676362019-07-01 19:56:522064 days ago1562011012IN
0xa4F2A71a...316e84847
0 ETH0.0011012522
Transfer80676162019-07-01 19:52:152064 days ago1562010735IN
0xa4F2A71a...316e84847
0.38915449 ETH0.000021051
Sweep80612132019-06-30 19:54:202065 days ago1561924460IN
0xa4F2A71a...316e84847
0 ETH0.0011012522
Transfer80611972019-06-30 19:50:252065 days ago1561924225IN
0xa4F2A71a...316e84847
0.38608908 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
83904452019-08-21 0:26:552014 days ago1566347215
0xa4F2A71a...316e84847
1.15419514 ETH
83709902019-08-17 23:38:342017 days ago1566085114
0xa4F2A71a...316e84847
2.29562425 ETH
81191792019-07-09 20:21:242056 days ago1562703684
0xa4F2A71a...316e84847
0.37555251 ETH
81127272019-07-08 20:18:102057 days ago1562617090
0xa4F2A71a...316e84847
0.35989019 ETH
81062572019-07-07 20:15:552058 days ago1562530555
0xa4F2A71a...316e84847
0.36646263 ETH
80998372019-07-06 20:13:552059 days ago1562444035
0xa4F2A71a...316e84847
0.39166998 ETH
80933192019-07-05 20:07:512060 days ago1562357271
0xa4F2A71a...316e84847
0.37516905 ETH
80868902019-07-04 20:05:152061 days ago1562270715
0xa4F2A71a...316e84847
0.36838552 ETH
80804532019-07-03 20:02:342062 days ago1562184154
0xa4F2A71a...316e84847
0.35984318 ETH
80741082019-07-02 20:01:032063 days ago1562097663
0xa4F2A71a...316e84847
0.38536826 ETH
80676362019-07-01 19:56:522064 days ago1562011012
0xa4F2A71a...316e84847
0.38915449 ETH
80612132019-06-30 19:54:202065 days ago1561924460
0xa4F2A71a...316e84847
0.38608909 ETH
80547682019-06-29 19:52:552066 days ago1561837975
0xa4F2A71a...316e84847
0.39244052 ETH
80483442019-06-28 19:52:182067 days ago1561751538
0xa4F2A71a...316e84847
0.40930133 ETH
80418852019-06-27 19:47:432068 days ago1561664863
0xa4F2A71a...316e84847
0.39483445 ETH
80355092019-06-26 19:47:092069 days ago1561578429
0xa4F2A71a...316e84847
0.3756133 ETH
80291052019-06-25 19:43:232070 days ago1561491803
0xa4F2A71a...316e84847
0.38240453 ETH
80226752019-06-24 19:42:212071 days ago1561405341
0xa4F2A71a...316e84847
0.38314747 ETH
80162232019-06-23 19:45:142072 days ago1561319114
0xa4F2A71a...316e84847
0.38256118 ETH
80098312019-06-22 19:40:572073 days ago1561232457
0xa4F2A71a...316e84847
0.37880601 ETH
80033692019-06-21 19:37:342074 days ago1561145854
0xa4F2A71a...316e84847
0.38758556 ETH
79969752019-06-20 19:34:272075 days ago1561059267
0xa4F2A71a...316e84847
0.40123824 ETH
79906142019-06-19 19:29:192076 days ago1560972559
0xa4F2A71a...316e84847
0.39676637 ETH
79841842019-06-18 19:28:362077 days ago1560886116
0xa4F2A71a...316e84847
0.40088486 ETH
79777672019-06-17 19:23:232078 days ago1560799403
0xa4F2A71a...316e84847
0.40564841 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.