ETH Price: $1,803.70 (-1.13%)
Gas: 17 Gwei

Contract

0xe996EBe5af823E746AA3E1AEF7fC55861f0219E6
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Sponsored

Transaction Hash
Method
Block
From
To
Value
Sweep167262832023-02-28 11:12:3522 days 2 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.0022286130
Sweep166442962023-02-16 22:32:3533 days 15 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.004652562.62877857
Sweep164931702023-01-26 19:45:5954 days 18 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.0022286130
Sweep164765242023-01-24 11:59:3557 days 1 hr agoIN
0xe996EB...1f0219E6
0 ETH0.0038634330
Sweep164262562023-01-17 11:35:3564 days 2 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.002632530
Sweep164214042023-01-16 19:20:3564 days 18 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.0023219231.25619116
Sweep164089202023-01-15 1:27:1166 days 12 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.0026332230
Sweep164088242023-01-15 1:07:5966 days 12 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.002632530
Sweep163464902023-01-06 8:16:1175 days 5 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.0022286130
Sweep162946652022-12-30 2:41:3582 days 11 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.0043934430
Sweep162867772022-12-29 0:16:2383 days 13 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.002632530
Sweep161636052022-12-11 19:38:23100 days 18 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.0022286130
Sweep158172932022-10-24 10:13:11149 days 3 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.004393830
Sweep158172612022-10-24 10:06:47149 days 3 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.0036590430
Sweep154425602022-08-30 20:55:30203 days 17 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.0022322530.04902973
Sweep152587642022-08-01 20:18:29232 days 17 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.0022286130
Sweep151622692022-07-17 20:26:51247 days 17 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.0022286130
Sweep147437362022-05-09 17:44:35316 days 20 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.00715935126.55075704
Transfer147437162022-05-09 17:40:13316 days 20 hrs agoIN
0xe996EB...1f0219E6
90 ETH0.00309203146.88294993
Sweep144781282022-03-29 1:16:33358 days 12 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.0028146942.79346167
Sweep143574042022-03-10 6:10:48377 days 7 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.0042937230
Sweep143510822022-03-09 6:42:56378 days 7 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.0057169339.9439369
Sweep143455572022-03-08 10:01:54379 days 3 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.0042333630
Sweep143095702022-03-02 19:42:07384 days 18 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.0066869490.01499363
Sweep143046132022-03-02 1:15:16385 days 12 hrs agoIN
0xe996EB...1f0219E6
0 ETH0.0064821250.33449045
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Txn Hash Block From To Value
147437362022-05-09 17:44:35316 days 20 hrs ago
0xe996EB...1f0219E6
90 ETH
140703662022-01-24 20:04:48421 days 17 hrs ago
0xe996EB...1f0219E6
100 ETH
133177712021-09-29 1:31:48539 days 12 hrs ago
0xe996EB...1f0219E6
74.995 ETH
130142072021-08-13 2:45:47586 days 11 hrs ago
0xe996EB...1f0219E6
200 ETH
130131982021-08-12 23:01:12586 days 14 hrs ago
0xe996EB...1f0219E6
200 ETH
122737872021-04-20 0:36:30701 days 13 hrs ago
0xe996EB...1f0219E6
1,000 ETH
115844892021-01-03 23:25:08807 days 14 hrs ago
0xe996EB...1f0219E6
699.995 ETH
115809032021-01-03 10:17:24808 days 3 hrs ago
0xe996EB...1f0219E6
1,000 ETH
115789512021-01-03 3:00:13808 days 10 hrs ago
0xe996EB...1f0219E6
399.995 ETH
115776062021-01-02 21:58:16808 days 15 hrs ago
0xe996EB...1f0219E6
299.995 ETH
115738802021-01-02 8:28:07809 days 5 hrs ago
0xe996EB...1f0219E6
249.995 ETH
115597912020-12-31 4:41:50811 days 9 hrs ago
0xe996EB...1f0219E6
799.995 ETH
115133102020-12-24 1:22:40818 days 12 hrs ago
0xe996EB...1f0219E6
999.995 ETH
104448092020-07-12 12:41:59983 days 1 hr ago
0xe996EB...1f0219E6
1 ETH
104447852020-07-12 12:36:57983 days 1 hr ago
0xe996EB...1f0219E6
100 ETH
104447532020-07-12 12:29:14983 days 1 hr ago
0xe996EB...1f0219E6
349.997 ETH
104447412020-07-12 12:26:37983 days 1 hr ago
0xe996EB...1f0219E6
1,000 ETH
104446792020-07-12 12:14:01983 days 1 hr ago
0xe996EB...1f0219E6
379.997 ETH
94443852020-02-08 21:00:251137 days 16 hrs ago
0xe996EB...1f0219E6
4.997 ETH
88324922019-10-29 6:28:311240 days 7 hrs ago
0xe996EB...1f0219E6
1,000 ETH
83518022019-08-15 0:15:451315 days 13 hrs ago
0xe996EB...1f0219E6
300 ETH
77809552019-05-18 0:31:571404 days 13 hrs ago
0xe996EB...1f0219E6
300 ETH
77632842019-05-15 6:15:011407 days 7 hrs ago
0xe996EB...1f0219E6
700 ETH
73511392019-03-12 0:38:281471 days 13 hrs ago
0xe996EB...1f0219E6
599.99 ETH
57529632018-06-08 11:06:141748 days 2 hrs ago
0xe996EB...1f0219E6
200 ETH
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0xd1DD82...8D918504

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"}]

6060604052341561000c57fe5b60405160208061026c83398101604052515b60008054600160a060020a031916600160a060020a0383161790555b505b6102218061004b6000396000f300606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029000000000000000000000000a3c1e324ca1ce40db73ed6026c4a177f099b5770

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
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

Validator Index Block Amount
View All Withdrawals
[ 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.