ETH Price: $2,118.20 (-2.66%)

Contract

0x3fe5D8d7eAED2E190fD59df64dFC15ff5c650F62
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep66504302018-11-05 22:08:382697 days ago1541455718IN
0x3fe5D8d7...f5c650F62
0 ETH0.0024996550
Transfer66504052018-11-05 22:03:272697 days ago1541455407IN
0x3fe5D8d7...f5c650F62
1 ETH0.00016848
Sweep66445012018-11-04 22:34:062698 days ago1541370846IN
0x3fe5D8d7...f5c650F62
0 ETH0.0024996550
Transfer66444782018-11-04 22:28:212698 days ago1541370501IN
0x3fe5D8d7...f5c650F62
2 ETH0.00008424
Sweep61702592018-08-18 15:36:452776 days ago1534606605IN
0x3fe5D8d7...f5c650F62
0 ETH0.0049993100
Transfer61702362018-08-18 15:30:162776 days ago1534606216IN
0x3fe5D8d7...f5c650F62
2 ETH0.00010424.95
Sweep61052802018-08-07 15:37:412787 days ago1533656261IN
0x3fe5D8d7...f5c650F62
0 ETH0.0049993100
Transfer61052722018-08-07 15:36:122787 days ago1533656172IN
0x3fe5D8d7...f5c650F62
2.3 ETH0.0012630660
Transfer61052592018-08-07 15:33:332787 days ago1533656013IN
0x3fe5D8d7...f5c650F62
2.3 ETH0.0012660
Sweep57130072018-06-01 8:49:512855 days ago1527842991IN
0x3fe5D8d7...f5c650F62
0 ETH0.0024996550
Transfer57129852018-06-01 8:43:572855 days ago1527842637IN
0x3fe5D8d7...f5c650F62
2 ETH0.0004420721
Transfer56643542018-05-23 17:56:122863 days ago1527098172IN
0x3fe5D8d7...f5c650F62
6.20243703 ETH0.00023111
Transfer56643492018-05-23 17:54:412863 days ago1527098081IN
0x3fe5D8d7...f5c650F62
6.30243703 ETH0.00023111
Transfer56643272018-05-23 17:49:462863 days ago1527097786IN
0x3fe5D8d7...f5c650F62
6.40266803 ETH0.00029414
Sweep54257502018-04-12 6:22:052905 days ago1523514125IN
0x3fe5D8d7...f5c650F62
0 ETH0.0025028550
Transfer54257232018-04-12 6:14:222905 days ago1523513662IN
0x3fe5D8d7...f5c650F62
0.51394569 ETH0.0004210220
Sweep53931382018-04-06 20:39:402910 days ago1523047180IN
0x3fe5D8d7...f5c650F62
0 ETH0.0025028550
Transfer53931032018-04-06 20:30:352910 days ago1523046635IN
0x3fe5D8d7...f5c650F62
0.44075422 ETH0.0004210220
Sweep53499672018-03-30 16:46:562917 days ago1522428416IN
0x3fe5D8d7...f5c650F62
0 ETH0.0025028550
Transfer53499342018-03-30 16:41:152917 days ago1522428075IN
0x3fe5D8d7...f5c650F62
2.02102615 ETH0.0004210220
Transfer53498412018-03-30 16:19:552917 days ago1522426795IN
0x3fe5D8d7...f5c650F62
2 ETH0.0000844
Transfer53498322018-03-30 16:17:142917 days ago1522426634IN
0x3fe5D8d7...f5c650F62
2.01119415 ETH0.0000844
Transfer53498272018-03-30 16:16:072917 days ago1522426567IN
0x3fe5D8d7...f5c650F62
2.03127815 ETH0.0000844
Transfer53497812018-03-30 16:05:192917 days ago1522425919IN
0x3fe5D8d7...f5c650F62
2.03136215 ETH0.0000844

Latest 9 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer66504302018-11-05 22:08:382697 days ago1541455718
0x3fe5D8d7...f5c650F62
1 ETH
Transfer66445012018-11-04 22:34:062698 days ago1541370846
0x3fe5D8d7...f5c650F62
2 ETH
Transfer61702592018-08-18 15:36:452776 days ago1534606605
0x3fe5D8d7...f5c650F62
2 ETH
Transfer61052802018-08-07 15:37:412787 days ago1533656261
0x3fe5D8d7...f5c650F62
2.3 ETH
Transfer57130072018-06-01 8:49:512855 days ago1527842991
0x3fe5D8d7...f5c650F62
2 ETH
Transfer54257502018-04-12 6:22:052905 days ago1523514125
0x3fe5D8d7...f5c650F62
0.51394569 ETH
Transfer53931382018-04-06 20:39:402910 days ago1523047180
0x3fe5D8d7...f5c650F62
0.44075422 ETH
Transfer53499672018-03-30 16:46:562917 days ago1522428416
0x3fe5D8d7...f5c650F62
2.02102615 ETH
Transfer49533892018-01-22 17:11:322984 days ago1516641092  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.