ETH Price: $2,659.88 (-2.89%)
Gas: 0.7 Gwei

Contract

0xf989E53D83F86ba744acfCA1a91E9ACcE9C597a3
 

Overview

ETH Balance

0.033446075137202317 ETH

Eth Value

$88.96 (@ $2,659.88/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer50346372018-02-05 10:22:422573 days ago1517826162IN
0xf989E53D...cE9C597a3
0.03344606 ETH0.000021051
Sweep50265552018-02-04 2:14:112574 days ago1517710451IN
0xf989E53D...cE9C597a3
0 ETH0.0045051390
Transfer50265222018-02-04 2:06:062574 days ago1517709966IN
0xf989E53D...cE9C597a3
0.8 ETH0.0006315330
Transfer49933072018-01-29 10:16:062580 days ago1517220966IN
0xf989E53D...cE9C597a3
0.03636249 ETH0.000021051
Sweep49592832018-01-23 17:26:522586 days ago1516728412IN
0xf989E53D...cE9C597a3
0 ETH0.0045051390
Transfer49592512018-01-23 17:18:292586 days ago1516727909IN
0xf989E53D...cE9C597a3
1.1894 ETH0.0012630660
Transfer49516752018-01-22 10:11:372587 days ago1516615897IN
0xf989E53D...cE9C597a3
0.04221185 ETH0.000021051
Sweep49291492018-01-18 12:38:052591 days ago1516279085IN
0xf989E53D...cE9C597a3
0 ETH0.0045051390
Transfer49291232018-01-18 12:30:132591 days ago1516278613IN
0xf989E53D...cE9C597a3
1.60788101 ETH0.000189459
Transfer49119752018-01-15 10:01:572594 days ago1516010517IN
0xf989E53D...cE9C597a3
0.04601715 ETH0.000021051
Sweep48739792018-01-08 10:20:282601 days ago1515406828IN
0xf989E53D...cE9C597a3
0 ETH0.0025496451
Transfer48739122018-01-08 10:02:372601 days ago1515405757IN
0xf989E53D...cE9C597a3
0.05140172 ETH0.000021051
Sweep48352152018-01-01 9:53:442608 days ago1514800424IN
0xf989E53D...cE9C597a3
0 ETH0.0025496451
Transfer48351792018-01-01 9:46:352608 days ago1514799995IN
0xf989E53D...cE9C597a3
0.0227919 ETH0.000021051
Transfer47937732017-12-25 9:41:452615 days ago1514194905IN
0xf989E53D...cE9C597a3
0.04393081 ETH0.000021051
Sweep47536962017-12-18 9:50:472622 days ago1513590647IN
0xf989E53D...cE9C597a3
0 ETH0.0025496451
Transfer47536472017-12-18 9:38:392622 days ago1513589919IN
0xf989E53D...cE9C597a3
0.05746406 ETH0.000021051
Sweep47223202017-12-12 23:09:392628 days ago1513120179IN
0xf989E53D...cE9C597a3
0 ETH0.0029433558.8
Transfer47220942017-12-12 22:12:042628 days ago1513116724IN
0xf989E53D...cE9C597a3
5.35424165 ETH0.0014946271
Sweep47133182017-12-11 9:27:392629 days ago1512984459IN
0xf989E53D...cE9C597a3
0 ETH0.002552951
Transfer47132762017-12-11 9:16:092629 days ago1512983769IN
0xf989E53D...cE9C597a3
0.0836836 ETH0.000021051
Sweep46578552017-12-01 19:15:322639 days ago1512155732IN
0xf989E53D...cE9C597a3
0 ETH0.0010011420
Transfer46578392017-12-01 19:13:082639 days ago1512155588IN
0xf989E53D...cE9C597a3
0.19282009 ETH0.000021051
Sweep45668782017-11-17 1:48:232653 days ago1510883303IN
0xf989E53D...cE9C597a3
0 ETH0.0010011420
Transfer45668612017-11-17 1:45:532653 days ago1510883153IN
0xf989E53D...cE9C597a3
0.20008512 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
50265552018-02-04 2:14:112574 days ago1517710451
0xf989E53D...cE9C597a3
0.83636249 ETH
49592832018-01-23 17:26:522586 days ago1516728412
0xf989E53D...cE9C597a3
1.23161186 ETH
49291492018-01-18 12:38:052591 days ago1516279085
0xf989E53D...cE9C597a3
1.65389817 ETH
48739792018-01-08 10:20:282601 days ago1515406828
0xf989E53D...cE9C597a3
0.05140172 ETH
48352152018-01-01 9:53:442608 days ago1514800424
0xf989E53D...cE9C597a3
0.06672272 ETH
47536962017-12-18 9:50:472622 days ago1513590647
0xf989E53D...cE9C597a3
0.05746407 ETH
47223202017-12-12 23:09:392628 days ago1513120179
0xf989E53D...cE9C597a3
5.35424165 ETH
47133182017-12-11 9:27:392629 days ago1512984459
0xf989E53D...cE9C597a3
0.08368361 ETH
46578552017-12-01 19:15:322639 days ago1512155732
0xf989E53D...cE9C597a3
0.19282009 ETH
45668782017-11-17 1:48:232653 days ago1510883303
0xf989E53D...cE9C597a3
0.20008513 ETH
45235812017-11-10 2:45:312660 days ago1510281931
0xf989E53D...cE9C597a3
1.400008 ETH
44954252017-11-05 14:01:002665 days ago1509890460
0xf989E53D...cE9C597a3
0.19901992 ETH
44356022017-10-26 22:29:542675 days ago1509056994
0xf989E53D...cE9C597a3
0.1990486 ETH
44169662017-10-23 22:20:542678 days ago1508797254
0xf989E53D...cE9C597a3
5.43688071 ETH
43828202017-10-18 11:06:322683 days ago1508324792
0xf989E53D...cE9C597a3
0.291 ETH
43741672017-10-17 0:58:472684 days ago1508201927
0xf989E53D...cE9C597a3
0.19918367 ETH
43387922017-10-05 10:30:112696 days ago1507199411
0xf989E53D...cE9C597a3
0.19900846 ETH
43377962017-10-05 2:14:172696 days ago1507169657
0xf989E53D...cE9C597a3
0.25 ETH
43359332017-10-04 10:59:522697 days ago1507114792
0xf989E53D...cE9C597a3
1.17593673 ETH
43066732017-09-24 5:47:452707 days ago1506232065
0xf989E53D...cE9C597a3
0.19911798 ETH
42726122017-09-14 9:34:492717 days ago1505381689
0xf989E53D...cE9C597a3
0.09901979 ETH
42521552017-09-08 15:51:142723 days ago1504885874
0xf989E53D...cE9C597a3
0.10049428 ETH
42337462017-09-03 11:01:482728 days ago1504436508
0xf989E53D...cE9C597a3
0.729 ETH
42253932017-09-01 2:27:172730 days ago1504232837
0xf989E53D...cE9C597a3
0.10059984 ETH
42057942017-08-26 11:48:352736 days ago1503748115
0xf989E53D...cE9C597a3
0.31609978 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.