ETH Price: $1,987.94 (-4.10%)
Gas: 0.05 Gwei

Contract

0xC54eE8cb52cc0CE7f79D4dfe76C75f5Ecd5b0Cdd
 

Overview

ETH Balance

0.000000005876752036 ETH

Eth Value

Less Than $0.01 (@ $1,987.94/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep98595682020-04-12 20:00:162175 days ago1586721616IN
0xC54eE8cb...Ecd5b0Cdd
0 ETH0.001253422
Transfer98595512020-04-12 19:55:482175 days ago1586721348IN
0xC54eE8cb...Ecd5b0Cdd
0.0846962 ETH0.001073651
Transfer91837862019-12-30 2:30:532279 days ago1577673053IN
0xC54eE8cb...Ecd5b0Cdd
0.01187165 ETH0.000021051
Sweep91485902019-12-23 2:31:512286 days ago1577068311IN
0xC54eE8cb...Ecd5b0Cdd
0 ETH0.001253422
Transfer91485752019-12-23 2:27:502286 days ago1577068070IN
0xC54eE8cb...Ecd5b0Cdd
0.01088601 ETH0.000021051
Transfer91133592019-12-16 2:20:092293 days ago1576462809IN
0xC54eE8cb...Ecd5b0Cdd
0.04171301 ETH0.000021051
Sweep90750572019-12-09 2:19:052300 days ago1575857945IN
0xC54eE8cb...Ecd5b0Cdd
0 ETH0.0012536722
Transfer90750372019-12-09 2:14:052300 days ago1575857645IN
0xC54eE8cb...Ecd5b0Cdd
0.11482267 ETH0.000021051
Sweep90356242019-12-02 2:17:222307 days ago1575253042IN
0xC54eE8cb...Ecd5b0Cdd
0 ETH0.0011012522
Transfer90356042019-12-02 2:12:362307 days ago1575252756IN
0xC54eE8cb...Ecd5b0Cdd
0.10983117 ETH0.000021051
Sweep89958982019-11-25 2:09:472314 days ago1574647787IN
0xC54eE8cb...Ecd5b0Cdd
0 ETH0.0011012522
Transfer89958802019-11-25 2:06:462314 days ago1574647606IN
0xC54eE8cb...Ecd5b0Cdd
0.1271884 ETH0.000021051
Sweep89539022019-11-18 2:10:592321 days ago1574043059IN
0xC54eE8cb...Ecd5b0Cdd
0 ETH0.0011012522
Transfer89538802019-11-18 2:06:262321 days ago1574042786IN
0xC54eE8cb...Ecd5b0Cdd
0.12676759 ETH0.000021051
Sweep89117962019-11-11 2:08:352328 days ago1573438115IN
0xC54eE8cb...Ecd5b0Cdd
0 ETH0.0011012522
Transfer89117772019-11-11 2:04:502328 days ago1573437890IN
0xC54eE8cb...Ecd5b0Cdd
0.13233979 ETH0.000021051
Sweep88687042019-11-04 2:05:112335 days ago1572833111IN
0xC54eE8cb...Ecd5b0Cdd
0 ETH0.0011012522
Transfer88686872019-11-04 2:01:412335 days ago1572832901IN
0xC54eE8cb...Ecd5b0Cdd
0.15005149 ETH0.000021051
Sweep88252162019-10-28 2:20:352342 days ago1572229235IN
0xC54eE8cb...Ecd5b0Cdd
0 ETH0.0011012522
Transfer88251992019-10-28 2:17:452342 days ago1572229065IN
0xC54eE8cb...Ecd5b0Cdd
0.14008684 ETH0.000021051
Sweep87812892019-10-21 2:21:052349 days ago1571624465IN
0xC54eE8cb...Ecd5b0Cdd
0 ETH0.0011012522
Transfer87812682019-10-21 2:16:182349 days ago1571624178IN
0xC54eE8cb...Ecd5b0Cdd
0.14562967 ETH0.000021051
Sweep87367802019-10-14 2:21:572356 days ago1571019717IN
0xC54eE8cb...Ecd5b0Cdd
0 ETH0.0011012522
Transfer87367582019-10-14 2:16:002356 days ago1571019360IN
0xC54eE8cb...Ecd5b0Cdd
0.15001481 ETH0.000021051
Sweep86979152019-10-07 23:32:192363 days ago1570491139IN
0xC54eE8cb...Ecd5b0Cdd
0 ETH0.0011012522
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-98595682020-04-12 20:00:162175 days ago1586721616
0xC54eE8cb...Ecd5b0Cdd
0.09656786 ETH
-91485902019-12-23 2:31:512286 days ago1577068311
0xC54eE8cb...Ecd5b0Cdd
0.05259903 ETH
-90750572019-12-09 2:19:052300 days ago1575857945
0xC54eE8cb...Ecd5b0Cdd
0.11482267 ETH
-90356242019-12-02 2:17:222307 days ago1575253042
0xC54eE8cb...Ecd5b0Cdd
0.10983118 ETH
-89958982019-11-25 2:09:472314 days ago1574647787
0xC54eE8cb...Ecd5b0Cdd
0.1271884 ETH
-89539022019-11-18 2:10:592321 days ago1574043059
0xC54eE8cb...Ecd5b0Cdd
0.12676759 ETH
-89117962019-11-11 2:08:352328 days ago1573438115
0xC54eE8cb...Ecd5b0Cdd
0.1323398 ETH
-88687042019-11-04 2:05:112335 days ago1572833111
0xC54eE8cb...Ecd5b0Cdd
0.15005149 ETH
-88252162019-10-28 2:20:352342 days ago1572229235
0xC54eE8cb...Ecd5b0Cdd
0.14008685 ETH
-87812892019-10-21 2:21:052349 days ago1571624465
0xC54eE8cb...Ecd5b0Cdd
0.14562968 ETH
-87367802019-10-14 2:21:572356 days ago1571019717
0xC54eE8cb...Ecd5b0Cdd
0.15001481 ETH
-86979152019-10-07 23:32:192363 days ago1570491139
0xC54eE8cb...Ecd5b0Cdd
0.15005389 ETH
-86578302019-10-01 17:32:422369 days ago1569951162
0xC54eE8cb...Ecd5b0Cdd
0.15007343 ETH
-86152272019-09-25 1:35:282376 days ago1569375328
0xC54eE8cb...Ecd5b0Cdd
0.15010844 ETH
-85805792019-09-19 15:19:082381 days ago1568906348
0xC54eE8cb...Ecd5b0Cdd
0.15008031 ETH
-85431442019-09-13 19:26:142387 days ago1568402774
0xC54eE8cb...Ecd5b0Cdd
0.15003879 ETH
-85074282019-09-08 5:35:222392 days ago1567920922
0xC54eE8cb...Ecd5b0Cdd
0.15007933 ETH
-84738582019-09-02 23:55:012398 days ago1567468501
0xC54eE8cb...Ecd5b0Cdd
0.150117 ETH
-84330452019-08-27 15:43:222404 days ago1566920602
0xC54eE8cb...Ecd5b0Cdd
0.15003907 ETH
-84034932019-08-23 1:09:492409 days ago1566522589
0xC54eE8cb...Ecd5b0Cdd
0.15000288 ETH
-83747602019-08-18 13:58:152413 days ago1566136695
0xC54eE8cb...Ecd5b0Cdd
0.15015037 ETH
-83437392019-08-13 18:18:062418 days ago1565720286
0xC54eE8cb...Ecd5b0Cdd
0.15006827 ETH
-83138082019-08-09 2:49:092422 days ago1565318949
0xC54eE8cb...Ecd5b0Cdd
0.15004689 ETH
-82846342019-08-04 14:07:572427 days ago1564927677
0xC54eE8cb...Ecd5b0Cdd
0.15013922 ETH
-82579132019-07-31 10:40:132431 days ago1564569613
0xC54eE8cb...Ecd5b0Cdd
0.1500166 ETH
View All Internal Transactions
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.