ETH Price: $2,291.21 (+9.21%)

Contract

0x952F8bf93eBe6468eFD3b072BBf35B6B97D1d703
 

Overview

ETH Balance

0.011374455395593529 ETH

Eth Value

$26.06 (@ $2,291.21/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer62676802018-09-04 1:56:032750 days ago1536026163IN
0x952F8bf9...B97D1d703
0.01137445 ETH0.000021051
Sweep62262052018-08-28 1:56:222757 days ago1535421382IN
0x952F8bf9...B97D1d703
0 ETH0.0025028550
Transfer62261872018-08-28 1:52:142757 days ago1535421134IN
0x952F8bf9...B97D1d703
0.07375985 ETH0.000021051
Sweep61847392018-08-21 2:01:492764 days ago1534816909IN
0x952F8bf9...B97D1d703
0 ETH0.0025028550
Transfer61847112018-08-21 1:56:052764 days ago1534816565IN
0x952F8bf9...B97D1d703
0.07338504 ETH0.000021051
Sweep61432972018-08-14 1:59:052771 days ago1534211945IN
0x952F8bf9...B97D1d703
0 ETH0.0050057100
Transfer61432592018-08-14 1:50:082771 days ago1534211408IN
0x952F8bf9...B97D1d703
0.07996077 ETH0.000021051
Sweep61019342018-08-07 1:49:112778 days ago1533606551IN
0x952F8bf9...B97D1d703
0 ETH0.0050057100
Transfer61019182018-08-07 1:45:572778 days ago1533606357IN
0x952F8bf9...B97D1d703
0.08444931 ETH0.000021051
Sweep60605092018-07-31 1:48:562785 days ago1533001736IN
0x952F8bf9...B97D1d703
0 ETH0.0050057100
Transfer60604852018-07-31 1:43:422785 days ago1533001422IN
0x952F8bf9...B97D1d703
0.08282087 ETH0.000021051
Sweep60190772018-07-24 1:55:462792 days ago1532397346IN
0x952F8bf9...B97D1d703
0 ETH0.0050057100
Transfer60190482018-07-24 1:47:032792 days ago1532396823IN
0x952F8bf9...B97D1d703
0.08734628 ETH0.000021051
Sweep59779472018-07-17 1:48:012799 days ago1531792081IN
0x952F8bf9...B97D1d703
0 ETH0.0050057100
Transfer59779182018-07-17 1:39:562799 days ago1531791596IN
0x952F8bf9...B97D1d703
0.08961179 ETH0.000021051
Sweep59363462018-07-10 1:43:272806 days ago1531187007IN
0x952F8bf9...B97D1d703
0 ETH0.0050057100
Transfer59363222018-07-10 1:38:132806 days ago1531186693IN
0x952F8bf9...B97D1d703
0.08894098 ETH0.000021051
Sweep58956612018-07-03 1:36:552813 days ago1530581815IN
0x952F8bf9...B97D1d703
0 ETH0.00700798140
Transfer58956432018-07-03 1:33:012813 days ago1530581581IN
0x952F8bf9...B97D1d703
0.08960492 ETH0.000021051
Sweep58548452018-06-26 1:30:492820 days ago1529976649IN
0x952F8bf9...B97D1d703
0 ETH0.0025028550
Transfer58548212018-06-26 1:26:112820 days ago1529976371IN
0x952F8bf9...B97D1d703
0.08607728 ETH0.000021051
Sweep58140892018-06-19 1:34:132827 days ago1529372053IN
0x952F8bf9...B97D1d703
0 ETH0.0025028550
Transfer58140552018-06-19 1:25:082827 days ago1529371508IN
0x952F8bf9...B97D1d703
0.08761715 ETH0.000021051
Sweep57732952018-06-12 1:26:382834 days ago1528766798IN
0x952F8bf9...B97D1d703
0 ETH0.0025028550
Transfer57732742018-06-12 1:21:412834 days ago1528766501IN
0x952F8bf9...B97D1d703
0.09140954 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer62262052018-08-28 1:56:222757 days ago1535421382
0x952F8bf9...B97D1d703
0.07375986 ETH
Transfer61847392018-08-21 2:01:492764 days ago1534816909
0x952F8bf9...B97D1d703
0.07338505 ETH
Transfer61432972018-08-14 1:59:052771 days ago1534211945
0x952F8bf9...B97D1d703
0.07996078 ETH
Transfer61019342018-08-07 1:49:112778 days ago1533606551
0x952F8bf9...B97D1d703
0.08444931 ETH
Transfer60605092018-07-31 1:48:562785 days ago1533001736
0x952F8bf9...B97D1d703
0.08282087 ETH
Transfer60190772018-07-24 1:55:462792 days ago1532397346
0x952F8bf9...B97D1d703
0.08734629 ETH
Transfer59779472018-07-17 1:48:012799 days ago1531792081
0x952F8bf9...B97D1d703
0.0896118 ETH
Transfer59363462018-07-10 1:43:272806 days ago1531187007
0x952F8bf9...B97D1d703
0.08894099 ETH
Transfer58956612018-07-03 1:36:552813 days ago1530581815
0x952F8bf9...B97D1d703
0.08960493 ETH
Transfer58548452018-06-26 1:30:492820 days ago1529976649
0x952F8bf9...B97D1d703
0.08607728 ETH
Transfer58140892018-06-19 1:34:132827 days ago1529372053
0x952F8bf9...B97D1d703
0.08761715 ETH
Transfer57732952018-06-12 1:26:382834 days ago1528766798
0x952F8bf9...B97D1d703
0.09140955 ETH
Transfer57338322018-06-05 1:20:332841 days ago1528161633
0x952F8bf9...B97D1d703
0.09049157 ETH
Transfer56943642018-05-29 1:19:112848 days ago1527556751
0x952F8bf9...B97D1d703
0.13684036 ETH
Transfer56152302018-05-15 1:22:462862 days ago1526347366
0x952F8bf9...B97D1d703
0.07614952 ETH
Transfer55751532018-05-08 1:15:322869 days ago1525742132
0x952F8bf9...B97D1d703
0.08022063 ETH
Transfer55350992018-05-01 1:09:002876 days ago1525136940
0x952F8bf9...B97D1d703
0.07949501 ETH
Transfer54947552018-04-24 1:03:522883 days ago1524531832
0x952F8bf9...B97D1d703
0.08323557 ETH
Transfer54539932018-04-17 1:02:102890 days ago1523926930
0x952F8bf9...B97D1d703
0.06650642 ETH
Transfer54123722018-04-10 1:00:452897 days ago1523322045
0x952F8bf9...B97D1d703
0.12602629 ETH
Transfer53282872018-03-27 0:55:362911 days ago1522112136
0x952F8bf9...B97D1d703
0.08939995 ETH
Transfer52866112018-03-20 1:59:582918 days ago1521511198
0x952F8bf9...B97D1d703
0.09155715 ETH
Transfer52452912018-03-13 1:46:512925 days ago1520905611
0x952F8bf9...B97D1d703
0.09194299 ETH
Transfer52040482018-03-06 1:46:242932 days ago1520300784
0x952F8bf9...B97D1d703
0.09499417 ETH
Transfer49559262018-01-23 3:36:252974 days ago1516678585  Contract Creation0 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.