ETH Price: $2,031.82 (-1.06%)

Contract

0xeC6EBAC6d8a1af7bD55E84a1481E8A7bd52Fbc17
 

Overview

ETH Balance

0.000000006 ETH

Eth Value

Less Than $0.01 (@ $2,031.82/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep140670792022-01-24 7:47:591527 days ago1643010479IN
0xeC6EBAC6...bd52Fbc17
0 ETH0.0045361480.18221254
Transfer140670642022-01-24 7:46:081527 days ago1643010368IN
0xeC6EBAC6...bd52Fbc17
0.06062121 ETH0.0016622978.96533538
Sweep62537602018-09-01 17:54:132767 days ago1535824453IN
0xeC6EBAC6...bd52Fbc17
0 ETH0.0025028550
Transfer62537392018-09-01 17:45:552767 days ago1535823955IN
0xeC6EBAC6...bd52Fbc17
0.14391431 ETH0.0008630941
Sweep49485132018-01-21 21:27:122990 days ago1516570032IN
0xeC6EBAC6...bd52Fbc17
0 ETH0.0045051390
Transfer49484852018-01-21 21:19:312990 days ago1516569571IN
0xeC6EBAC6...bd52Fbc17
0.29984134 ETH0.0002105110
Transfer49087742018-01-14 20:04:122997 days ago1515960252IN
0xeC6EBAC6...bd52Fbc17
0.01251692 ETH0.0004420721
Transfer49087492018-01-14 19:56:382997 days ago1515959798IN
0xeC6EBAC6...bd52Fbc17
0.012959 ETH0.00044121
Sweep44837822017-11-03 17:29:583069 days ago1509730198IN
0xeC6EBAC6...bd52Fbc17
0 ETH0.0010011420
Transfer44837742017-11-03 17:27:413069 days ago1509730061IN
0xeC6EBAC6...bd52Fbc17
2.99957898 ETH0.0002105110
Sweep44837512017-11-03 17:21:073069 days ago1509729667IN
0xeC6EBAC6...bd52Fbc17
0 ETH0.0009998620
Transfer44837432017-11-03 17:19:163069 days ago1509729556IN
0xeC6EBAC6...bd52Fbc17
2 ETH0.0002105110
Sweep44350732017-10-26 20:23:253077 days ago1509049405IN
0xeC6EBAC6...bd52Fbc17
0 ETH0.0010011420
Transfer44350632017-10-26 20:20:443077 days ago1509049244IN
0xeC6EBAC6...bd52Fbc17
0.99957898 ETH0.0002105110
Sweep44350362017-10-26 20:14:313077 days ago1509048871IN
0xeC6EBAC6...bd52Fbc17
0 ETH0.0009998620
Transfer44350302017-10-26 20:12:153077 days ago1509048735IN
0xeC6EBAC6...bd52Fbc17
1 ETH0.0002105110
Sweep44271442017-10-25 13:42:543078 days ago1508938974IN
0xeC6EBAC6...bd52Fbc17
0 ETH0.0015517631
Transfer44271372017-10-25 13:40:283078 days ago1508938828IN
0xeC6EBAC6...bd52Fbc17
0.79828949 ETH0.0002105110
Sweep44269992017-10-25 13:09:153078 days ago1508936955IN
0xeC6EBAC6...bd52Fbc17
0 ETH0.0015497831
Transfer44269882017-10-25 13:05:443078 days ago1508936744IN
0xeC6EBAC6...bd52Fbc17
0.2 ETH0.0002105110

Latest 10 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-140670792022-01-24 7:47:591527 days ago1643010479
0xeC6EBAC6...bd52Fbc17
0.06062121 ETH
Transfer62537602018-09-01 17:54:132767 days ago1535824453
0xeC6EBAC6...bd52Fbc17
0.14391432 ETH
Transfer49485132018-01-21 21:27:122990 days ago1516570032
0xeC6EBAC6...bd52Fbc17
0.31235826 ETH
Transfer44837822017-11-03 17:29:583069 days ago1509730198
0xeC6EBAC6...bd52Fbc17
2.99957898 ETH
Transfer44837512017-11-03 17:21:073069 days ago1509729667
0xeC6EBAC6...bd52Fbc17
2 ETH
Transfer44350732017-10-26 20:23:253077 days ago1509049405
0xeC6EBAC6...bd52Fbc17
0.99957898 ETH
Transfer44350362017-10-26 20:14:313077 days ago1509048871
0xeC6EBAC6...bd52Fbc17
1 ETH
Transfer44271442017-10-25 13:42:543078 days ago1508938974
0xeC6EBAC6...bd52Fbc17
0.79828949 ETH
Transfer44269992017-10-25 13:09:153078 days ago1508936955
0xeC6EBAC6...bd52Fbc17
0.2 ETH
Transfer44092462017-10-22 16:29:193081 days ago1508689759  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.