ETH Price: $2,323.44 (+3.91%)

Contract

0x8faeE968ECA1eD6F676007D214f2fDfC522Fb38E
 

Overview

ETH Balance

0.000000006489154605 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep56908792018-05-28 10:33:122849 days ago1527503592IN
0x8faeE968...C522Fb38E
0 ETH0.0024996550
Transfer56907352018-05-28 9:56:082849 days ago1527501368IN
0x8faeE968...C522Fb38E
0.02028564 ETH0.000021051
Transfer56512322018-05-21 9:50:592856 days ago1526896259IN
0x8faeE968...C522Fb38E
0.02466553 ETH0.000021051
Transfer56115562018-05-14 9:44:302863 days ago1526291070IN
0x8faeE968...C522Fb38E
0.02388261 ETH0.000021051
Sweep55713742018-05-07 9:54:272870 days ago1525686867IN
0x8faeE968...C522Fb38E
0 ETH0.0024996550
Transfer55713222018-05-07 9:40:362870 days ago1525686036IN
0x8faeE968...C522Fb38E
0.02525761 ETH0.000021051
Transfer55314162018-04-30 9:36:072877 days ago1525080967IN
0x8faeE968...C522Fb38E
0.03672143 ETH0.000021051
Sweep54910342018-04-23 9:41:512884 days ago1524476511IN
0x8faeE968...C522Fb38E
0 ETH0.0025028550
Transfer54910112018-04-23 9:34:502884 days ago1524476090IN
0x8faeE968...C522Fb38E
0.03956101 ETH0.000021051
Transfer54501512018-04-16 9:31:042891 days ago1523871064IN
0x8faeE968...C522Fb38E
0.03936568 ETH0.000021051
Sweep54084792018-04-09 9:35:052898 days ago1523266505IN
0x8faeE968...C522Fb38E
0 ETH0.0045051390
Transfer54084372018-04-09 9:27:072898 days ago1523266027IN
0x8faeE968...C522Fb38E
0.03899302 ETH0.000021051
Transfer53661992018-04-02 9:19:202905 days ago1522660760IN
0x8faeE968...C522Fb38E
0.03763232 ETH0.000021051
Sweep53244232018-03-26 9:24:162912 days ago1522056256IN
0x8faeE968...C522Fb38E
0 ETH0.0024996550
Transfer53243852018-03-26 9:14:252912 days ago1522055665IN
0x8faeE968...C522Fb38E
0.03594541 ETH0.000021051
Transfer52827002018-03-19 10:14:172919 days ago1521454457IN
0x8faeE968...C522Fb38E
0.0359626 ETH0.000021051
Sweep52415282018-03-12 10:18:042926 days ago1520849884IN
0x8faeE968...C522Fb38E
0 ETH0.0025028550
Transfer52414962018-03-12 10:10:162926 days ago1520849416IN
0x8faeE968...C522Fb38E
0.03316467 ETH0.000021051
Transfer52002172018-03-05 10:00:412933 days ago1520244041IN
0x8faeE968...C522Fb38E
0.03986726 ETH0.000021051
Sweep51589842018-02-26 10:09:432940 days ago1519639783IN
0x8faeE968...C522Fb38E
0 ETH0.0025028550
Transfer51589322018-02-26 9:55:542940 days ago1519638954IN
0x8faeE968...C522Fb38E
0.04208627 ETH0.000021051
Transfer51179502018-02-19 9:51:562947 days ago1519033916IN
0x8faeE968...C522Fb38E
0.0373397 ETH0.000021051
Sweep50762742018-02-12 9:54:252954 days ago1518429265IN
0x8faeE968...C522Fb38E
0 ETH0.0044993790
Transfer50762442018-02-12 9:47:462954 days ago1518428866IN
0x8faeE968...C522Fb38E
0.03507803 ETH0.000021051
Transfer50345122018-02-05 9:49:282961 days ago1517824168IN
0x8faeE968...C522Fb38E
0.03649383 ETH0.000021051
View all transactions

Latest 21 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer56908792018-05-28 10:33:122849 days ago1527503592
0x8faeE968...C522Fb38E
0.06883381 ETH
Transfer55713742018-05-07 9:54:272870 days ago1525686867
0x8faeE968...C522Fb38E
0.06197904 ETH
Transfer54910342018-04-23 9:41:512884 days ago1524476511
0x8faeE968...C522Fb38E
0.07892671 ETH
Transfer54084792018-04-09 9:35:052898 days ago1523266505
0x8faeE968...C522Fb38E
0.07662535 ETH
Transfer53244232018-03-26 9:24:162912 days ago1522056256
0x8faeE968...C522Fb38E
0.07190802 ETH
Transfer52415282018-03-12 10:18:042926 days ago1520849884
0x8faeE968...C522Fb38E
0.07303194 ETH
Transfer51589842018-02-26 10:09:432940 days ago1519639783
0x8faeE968...C522Fb38E
0.07942599 ETH
Transfer50762742018-02-12 9:54:252954 days ago1518429265
0x8faeE968...C522Fb38E
0.07157186 ETH
Transfer49931852018-01-29 9:46:432968 days ago1517219203
0x8faeE968...C522Fb38E
0.05137382 ETH
Transfer49515722018-01-22 9:47:062975 days ago1516614426
0x8faeE968...C522Fb38E
0.05750883 ETH
Transfer49119012018-01-15 9:41:412982 days ago1516009301
0x8faeE968...C522Fb38E
0.06326272 ETH
Transfer48737882018-01-08 9:33:152989 days ago1515403995
0x8faeE968...C522Fb38E
0.0678211 ETH
Transfer48350862018-01-01 9:27:262996 days ago1514798846
0x8faeE968...C522Fb38E
0.06694208 ETH
Transfer47936852017-12-25 9:18:443003 days ago1514193524
0x8faeE968...C522Fb38E
0.0690863 ETH
Transfer47535652017-12-18 9:21:523010 days ago1513588912
0x8faeE968...C522Fb38E
0.07708984 ETH
Transfer47131892017-12-11 8:51:253017 days ago1512982285
0x8faeE968...C522Fb38E
0.10596075 ETH
Transfer46626002017-12-02 13:52:313026 days ago1512222751
0x8faeE968...C522Fb38E
0.20000166 ETH
Transfer45385972017-11-12 12:02:333046 days ago1510488153
0x8faeE968...C522Fb38E
0.19905354 ETH
Transfer44347642017-10-26 19:09:413063 days ago1509044981
0x8faeE968...C522Fb38E
0.19900149 ETH
Transfer43466622017-10-08 4:03:123081 days ago1507435392
0x8faeE968...C522Fb38E
0.19901607 ETH
Transfer42680162017-09-13 2:35:053107 days ago1505270105  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.