ETH Price: $3,231.06 (-1.00%)

Contract

0x39Caf2aEbB3DA469AD9Bca30e8593B982307EDc3
 

Overview

ETH Balance

0.000000002425412488 ETH

Eth Value

Less Than $0.01 (@ $3,231.06/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep76513962019-04-27 19:25:182026 days ago1556393118IN
0x39Caf2aE...82307EDc3
0 ETH0.0024996550
Transfer76513732019-04-27 19:21:332026 days ago1556392893IN
0x39Caf2aE...82307EDc3
0.05007575 ETH0.0002105110
Sweep75936712019-04-18 19:56:002035 days ago1555617360IN
0x39Caf2aE...82307EDc3
0 ETH0.0024996550
Transfer75936512019-04-18 19:50:452035 days ago1555617045IN
0x39Caf2aE...82307EDc3
0.05007272 ETH0.0002105110
Sweep74312842019-03-24 12:04:032061 days ago1553429043IN
0x39Caf2aE...82307EDc3
0 ETH0.0024996550
Transfer74312642019-03-24 11:59:422061 days ago1553428782IN
0x39Caf2aE...82307EDc3
0.05001264 ETH0.0002105110
Sweep73851972019-03-17 7:36:392068 days ago1552808199IN
0x39Caf2aE...82307EDc3
0 ETH0.0024996550
Transfer73851832019-03-17 7:33:312068 days ago1552808011IN
0x39Caf2aE...82307EDc3
0.05004059 ETH0.0002105110
Sweep73124892019-03-06 0:09:322079 days ago1551830972IN
0x39Caf2aE...82307EDc3
0 ETH0.0024996550
Transfer73124762019-03-06 0:07:312079 days ago1551830851IN
0x39Caf2aE...82307EDc3
0.05009658 ETH0.0002105110
Sweep72842692019-03-01 14:05:372083 days ago1551449137IN
0x39Caf2aE...82307EDc3
0 ETH0.0024996550
Transfer72842562019-03-01 14:03:062083 days ago1551448986IN
0x39Caf2aE...82307EDc3
0.05008584 ETH0.0002105110
Sweep72606362019-02-24 7:08:202089 days ago1550992100IN
0x39Caf2aE...82307EDc3
0 ETH0.0024996550
Transfer72606142019-02-24 6:59:592089 days ago1550991599IN
0x39Caf2aE...82307EDc3
0.0500227 ETH0.0002105110
Sweep72410642019-02-19 16:34:022093 days ago1550594042IN
0x39Caf2aE...82307EDc3
0 ETH0.0024996550
Transfer72410492019-02-19 16:30:232093 days ago1550593823IN
0x39Caf2aE...82307EDc3
0.06184083 ETH0.0002105110
Sweep72161402019-02-13 18:00:102099 days ago1550080810IN
0x39Caf2aE...82307EDc3
0 ETH0.0024996550
Transfer72161262019-02-13 17:55:082099 days ago1550080508IN
0x39Caf2aE...82307EDc3
0.05010085 ETH0.0002105110
Sweep71982192019-02-09 14:07:142103 days ago1549721234IN
0x39Caf2aE...82307EDc3
0 ETH0.0024996550
Transfer71982042019-02-09 14:00:552103 days ago1549720855IN
0x39Caf2aE...82307EDc3
0.05010759 ETH0.0002105110
Sweep71799522019-02-05 20:46:152107 days ago1549399575IN
0x39Caf2aE...82307EDc3
0 ETH0.0024996550
Transfer71799372019-02-05 20:40:582107 days ago1549399258IN
0x39Caf2aE...82307EDc3
0.0500124 ETH0.0002105110
Sweep71611172019-02-02 0:39:392111 days ago1549067979IN
0x39Caf2aE...82307EDc3
0 ETH0.0024996550
Transfer71611052019-02-02 0:33:462111 days ago1549067626IN
0x39Caf2aE...82307EDc3
0.05018912 ETH0.0002105110
Sweep71424172019-01-29 5:02:002115 days ago1548738120IN
0x39Caf2aE...82307EDc3
0 ETH0.0024996550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
76513962019-04-27 19:25:182026 days ago1556393118
0x39Caf2aE...82307EDc3
0.05007576 ETH
75936712019-04-18 19:56:002035 days ago1555617360
0x39Caf2aE...82307EDc3
0.05007272 ETH
74312842019-03-24 12:04:032061 days ago1553429043
0x39Caf2aE...82307EDc3
0.05001265 ETH
73851972019-03-17 7:36:392068 days ago1552808199
0x39Caf2aE...82307EDc3
0.0500406 ETH
73124892019-03-06 0:09:322079 days ago1551830972
0x39Caf2aE...82307EDc3
0.05009658 ETH
72842692019-03-01 14:05:372083 days ago1551449137
0x39Caf2aE...82307EDc3
0.05008584 ETH
72606362019-02-24 7:08:202089 days ago1550992100
0x39Caf2aE...82307EDc3
0.05002271 ETH
72410642019-02-19 16:34:022093 days ago1550594042
0x39Caf2aE...82307EDc3
0.06184083 ETH
72161402019-02-13 18:00:102099 days ago1550080810
0x39Caf2aE...82307EDc3
0.05010086 ETH
71982192019-02-09 14:07:142103 days ago1549721234
0x39Caf2aE...82307EDc3
0.05010759 ETH
71799522019-02-05 20:46:152107 days ago1549399575
0x39Caf2aE...82307EDc3
0.0500124 ETH
71611172019-02-02 0:39:392111 days ago1549067979
0x39Caf2aE...82307EDc3
0.05018913 ETH
71424172019-01-29 5:02:002115 days ago1548738120
0x39Caf2aE...82307EDc3
0.05029443 ETH
71168442019-01-24 2:50:502120 days ago1548298250
0x39Caf2aE...82307EDc3
0.05004317 ETH
70936442019-01-19 16:00:312124 days ago1547913631
0x39Caf2aE...82307EDc3
0.05010248 ETH
70670932019-01-14 22:24:032129 days ago1547504643
0x39Caf2aE...82307EDc3
0.05004511 ETH
70427152019-01-10 13:50:362134 days ago1547128236
0x39Caf2aE...82307EDc3
0.05004241 ETH
70168442019-01-05 22:38:052138 days ago1546727885
0x39Caf2aE...82307EDc3
0.05016756 ETH
69925332019-01-01 16:10:592142 days ago1546359059
0x39Caf2aE...82307EDc3
0.05003839 ETH
69692892018-12-28 17:39:522146 days ago1546018792
0x39Caf2aE...82307EDc3
0.05016088 ETH
69455892018-12-24 17:44:172150 days ago1545673457
0x39Caf2aE...82307EDc3
0.05009633 ETH
69152662018-12-19 14:07:262155 days ago1545228446
0x39Caf2aE...82307EDc3
0.0500292 ETH
68929022018-12-15 19:26:322159 days ago1544901992
0x39Caf2aE...82307EDc3
0.05006784 ETH
68695902018-12-11 23:17:572163 days ago1544570277
0x39Caf2aE...82307EDc3
0.05020165 ETH
68600422018-12-10 9:23:382165 days ago1544433818
0x39Caf2aE...82307EDc3
0.05025442 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.