ETH Price: $1,964.34 (+1.80%)
 

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
Sweep116998802021-01-21 16:24:021864 days ago1611246242IN
0xEf705062...a1d3654cd
0 ETH0.01164568204.36395776
Transfer116998452021-01-21 16:18:461864 days ago1611245926IN
0xEf705062...a1d3654cd
0.20885036 ETH0.00515749245
Sweep85505712019-09-14 23:12:472359 days ago1568502767IN
0xEf705062...a1d3654cd
0 ETH0.0011012522
Transfer85505532019-09-14 23:07:362359 days ago1568502456IN
0xEf705062...a1d3654cd
0.25386939 ETH0.0002736613
Sweep84850112019-09-04 17:48:522369 days ago1567619332IN
0xEf705062...a1d3654cd
0 ETH0.0011012522
Transfer84849842019-09-04 17:43:102369 days ago1567618990IN
0xEf705062...a1d3654cd
0.53768966 ETH0.0002105110
Sweep84744442019-09-03 2:10:572370 days ago1567476657IN
0xEf705062...a1d3654cd
0 ETH0.0011012522
Transfer84744282019-09-03 2:06:112370 days ago1567476371IN
0xEf705062...a1d3654cd
0.31899752 ETH0.0002315611
Sweep84275822019-08-26 18:52:232378 days ago1566845543IN
0xEf705062...a1d3654cd
0 ETH0.0011012522
Transfer84275552019-08-26 18:47:272378 days ago1566845247IN
0xEf705062...a1d3654cd
1.00690084 ETH0.0002105110
Sweep84227192019-08-26 0:41:322378 days ago1566780092IN
0xEf705062...a1d3654cd
0 ETH0.0010998422
Transfer84227032019-08-26 0:38:002378 days ago1566779880IN
0xEf705062...a1d3654cd
1 ETH0.0002105110
Sweep83772182019-08-18 22:53:392386 days ago1566168819IN
0xEf705062...a1d3654cd
0 ETH0.0010998422
Transfer83772052019-08-18 22:50:102386 days ago1566168610IN
0xEf705062...a1d3654cd
1 ETH0.000063153
Sweep81703972019-07-17 20:34:572418 days ago1563395697IN
0xEf705062...a1d3654cd
0 ETH0.0011012522
Transfer81703822019-07-17 20:31:572418 days ago1563395517IN
0xEf705062...a1d3654cd
2.02520817 ETH0.000063153
Sweep76694072019-04-30 14:47:472496 days ago1556635667IN
0xEf705062...a1d3654cd
0 ETH0.0025028550
Transfer76693862019-04-30 14:43:452496 days ago1556635425IN
0xEf705062...a1d3654cd
4.66566614 ETH0.000105255
Sweep76377972019-04-25 17:00:172501 days ago1556211617IN
0xEf705062...a1d3654cd
0 ETH0.0024996550
Transfer76377822019-04-25 16:58:022501 days ago1556211482IN
0xEf705062...a1d3654cd
2 ETH0.00016848
Sweep74587302019-03-28 18:59:482529 days ago1553799588IN
0xEf705062...a1d3654cd
0 ETH0.0025028550
Transfer74587142019-03-28 18:56:222529 days ago1553799382IN
0xEf705062...a1d3654cd
1.049 ETH0.000147357
Sweep73575652019-03-13 0:37:082544 days ago1552437428IN
0xEf705062...a1d3654cd
0 ETH0.0024996550
Transfer73575462019-03-13 0:30:202544 days ago1552437020IN
0xEf705062...a1d3654cd
2.5 ETH0.00008424
Sweep54715492018-04-20 1:21:462871 days ago1524187306IN
0xEf705062...a1d3654cd
0 ETH0.0024996550
View all transactions

Latest 18 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-116998802021-01-21 16:24:021864 days ago1611246242
0xEf705062...a1d3654cd
0.20885036 ETH
-85505712019-09-14 23:12:472359 days ago1568502767
0xEf705062...a1d3654cd
0.25386939 ETH
-84850112019-09-04 17:48:522369 days ago1567619332
0xEf705062...a1d3654cd
0.53768966 ETH
-84744442019-09-03 2:10:572370 days ago1567476657
0xEf705062...a1d3654cd
0.31899752 ETH
-84275822019-08-26 18:52:232378 days ago1566845543
0xEf705062...a1d3654cd
1.00690084 ETH
-84227192019-08-26 0:41:322378 days ago1566780092
0xEf705062...a1d3654cd
1 ETH
-83772182019-08-18 22:53:392386 days ago1566168819
0xEf705062...a1d3654cd
1 ETH
-81703972019-07-17 20:34:572418 days ago1563395697
0xEf705062...a1d3654cd
2.02520817 ETH
-76694072019-04-30 14:47:472496 days ago1556635667
0xEf705062...a1d3654cd
4.66566614 ETH
-76377972019-04-25 17:00:172501 days ago1556211617
0xEf705062...a1d3654cd
2 ETH
-74587302019-03-28 18:59:482529 days ago1553799588
0xEf705062...a1d3654cd
1.049 ETH
-73575652019-03-13 0:37:082544 days ago1552437428
0xEf705062...a1d3654cd
2.5 ETH
Transfer54715492018-04-20 1:21:462871 days ago1524187306
0xEf705062...a1d3654cd
0.06376156 ETH
Transfer49113872018-01-15 7:24:552966 days ago1516001095
0xEf705062...a1d3654cd
0.251 ETH
Transfer42890112017-09-18 22:40:553085 days ago1505774455
0xEf705062...a1d3654cd
6.63028619 ETH
Transfer42637622017-09-11 22:00:013092 days ago1505167201
0xEf705062...a1d3654cd
1.25237807 ETH
Transfer42294862017-09-02 6:19:263101 days ago1504333166
0xEf705062...a1d3654cd
0.68630131 ETH
Transfer42265812017-09-01 10:25:143102 days ago1504261514  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.