ETH Price: $2,788.85 (+1.82%)

Contract

0x65F6DCd4fa8908B694C9904545F36aB7B6097C02
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep79460132019-06-12 20:12:412082 days ago1560370361IN
0x65F6DCd4...7B6097C02
0 ETH0.002334750
Sweep77669432019-05-15 19:59:162110 days ago1557950356IN
0x65F6DCd4...7B6097C02
0 ETH0.0025060550
Transfer77669202019-05-15 19:54:162110 days ago1557950056IN
0x65F6DCd4...7B6097C02
45.6392858 ETH0.0008420440
Sweep76405012019-04-26 3:10:102130 days ago1556248210IN
0x65F6DCd4...7B6097C02
0 ETH0.002334750
Sweep76391592019-04-25 22:02:362130 days ago1556229756IN
0x65F6DCd4...7B6097C02
0 ETH0.002334750
Sweep76371792019-04-25 14:49:202130 days ago1556203760IN
0x65F6DCd4...7B6097C02
0 ETH0.0025028550
Transfer76371542019-04-25 14:45:322130 days ago1556203532IN
0x65F6DCd4...7B6097C02
1.7818 ETH0.00008424
Sweep75896862019-04-18 4:46:492138 days ago1555562809IN
0x65F6DCd4...7B6097C02
0 ETH0.0024996550
Transfer75896722019-04-18 4:43:262138 days ago1555562606IN
0x65F6DCd4...7B6097C02
11.1 ETH0.000145256.9
Sweep75565282019-04-13 1:01:092143 days ago1555117269IN
0x65F6DCd4...7B6097C02
0 ETH0.0025028550
Transfer75565052019-04-13 0:55:172143 days ago1555116917IN
0x65F6DCd4...7B6097C02
2.495 ETH0.00016848
Sweep75521042019-04-12 8:36:092144 days ago1555058169IN
0x65F6DCd4...7B6097C02
0 ETH0.002331550
Sweep75501182019-04-12 1:03:542144 days ago1555031034IN
0x65F6DCd4...7B6097C02
0 ETH0.0025028550
Transfer75500922019-04-12 0:58:342144 days ago1555030714IN
0x65F6DCd4...7B6097C02
2.495 ETH0.00016848
Sweep75498482019-04-12 0:01:302144 days ago1555027290IN
0x65F6DCd4...7B6097C02
0 ETH0.0025028550
Transfer75498302019-04-11 23:55:322144 days ago1555026932IN
0x65F6DCd4...7B6097C02
0.995 ETH0.00012636
Sweep75497162019-04-11 23:31:352144 days ago1555025495IN
0x65F6DCd4...7B6097C02
0 ETH0.0025028550
Transfer75497012019-04-11 23:29:492144 days ago1555025389IN
0x65F6DCd4...7B6097C02
4.00148696 ETH0.0008420440
Sweep75356572019-04-09 18:59:252146 days ago1554836365IN
0x65F6DCd4...7B6097C02
0 ETH0.0024996550
Transfer75356432019-04-09 18:55:422146 days ago1554836142IN
0x65F6DCd4...7B6097C02
13 ETH0.000101044.8
Sweep75316862019-04-09 4:10:462147 days ago1554783046IN
0x65F6DCd4...7B6097C02
0 ETH0.0024996550
Transfer75316592019-04-09 4:06:042147 days ago1554782764IN
0x65F6DCd4...7B6097C02
2.49 ETH0.000107365.1
Sweep74358292019-03-25 5:02:452162 days ago1553490165IN
0x65F6DCd4...7B6097C02
0 ETH0.002340950
Sweep73764012019-03-15 23:07:072171 days ago1552691227IN
0x65F6DCd4...7B6097C02
0 ETH0.0024996550
Sweep73763762019-03-15 23:02:422171 days ago1552690962IN
0x65F6DCd4...7B6097C02
0 ETH0.0025028550
View all transactions

Latest 16 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
77669432019-05-15 19:59:162110 days ago1557950356
0x65F6DCd4...7B6097C02
45.6392858 ETH
76371792019-04-25 14:49:202130 days ago1556203760
0x65F6DCd4...7B6097C02
1.7818 ETH
75896862019-04-18 4:46:492138 days ago1555562809
0x65F6DCd4...7B6097C02
11.1 ETH
75565282019-04-13 1:01:092143 days ago1555117269
0x65F6DCd4...7B6097C02
2.495 ETH
75501182019-04-12 1:03:542144 days ago1555031034
0x65F6DCd4...7B6097C02
2.495 ETH
75498482019-04-12 0:01:302144 days ago1555027290
0x65F6DCd4...7B6097C02
0.995 ETH
75497162019-04-11 23:31:352144 days ago1555025495
0x65F6DCd4...7B6097C02
4.00148696 ETH
75356572019-04-09 18:59:252146 days ago1554836365
0x65F6DCd4...7B6097C02
13 ETH
75316862019-04-09 4:10:462147 days ago1554783046
0x65F6DCd4...7B6097C02
2.49 ETH
73764012019-03-15 23:07:072171 days ago1552691227
0x65F6DCd4...7B6097C02
5.992 ETH
73763962019-03-15 23:05:532171 days ago1552691153
0x65F6DCd4...7B6097C02
5.992 ETH
73763762019-03-15 23:02:422171 days ago1552690962
0x65F6DCd4...7B6097C02
49.992 ETH
73763532019-03-15 22:58:082171 days ago1552690688
0x65F6DCd4...7B6097C02
49.992 ETH
56314722018-05-17 21:51:482473 days ago1526593908
0x65F6DCd4...7B6097C02
0.4293766 ETH
56209992018-05-16 1:34:242475 days ago1526434464
0x65F6DCd4...7B6097C02
0.13661234 ETH
50191142018-02-02 20:11:002577 days ago1517602260  Contract Creation0 ETH
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.