ETH Price: $2,154.12 (+0.65%)

Contract

0xC42CBB9e681c871dF8537CE4eEfFDF509Ad68FC8
 

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
Sweep149566932022-06-13 15:26:391376 days ago1655133999IN
0xC42CBB9e...09Ad68FC8
0 ETH0.01004632177.54389019
Transfer149566802022-06-13 15:23:111376 days ago1655133791IN
0xC42CBB9e...09Ad68FC8
0.0956838 ETH0.0038886184.72319636
Sweep117564442021-01-30 9:27:391875 days ago1611998859IN
0xC42CBB9e...09Ad68FC8
0 ETH0.0042396874.40000175
Transfer117564262021-01-30 9:24:091875 days ago1611998649IN
0xC42CBB9e...09Ad68FC8
0.18927444 ETH0.0020629998
Transfer116161352021-01-08 20:03:571897 days ago1610136237IN
0xC42CBB9e...09Ad68FC8
0.01 ETH0.00244191116
Sweep116158112021-01-08 18:47:281897 days ago1610131648IN
0xC42CBB9e...09Ad68FC8
0 ETH0.00806907141.6
Transfer116157882021-01-08 18:42:531897 days ago1610131373IN
0xC42CBB9e...09Ad68FC8
0.62803024 ETH0.00290503138
Sweep116149222021-01-08 15:33:091897 days ago1610119989IN
0xC42CBB9e...09Ad68FC8
0 ETH0.01511242265.2
Transfer116149002021-01-08 15:29:261897 days ago1610119766IN
0xC42CBB9e...09Ad68FC8
0.10138286 ETH0.00473647225
Sweep115759312021-01-02 15:59:581903 days ago1609603198IN
0xC42CBB9e...09Ad68FC8
0 ETH0.01374478241.2
Transfer115759052021-01-02 15:50:401903 days ago1609602640IN
0xC42CBB9e...09Ad68FC8
0.68438685 ETH0.00414704197
Sweep115502972020-12-29 17:40:161907 days ago1609263616IN
0xC42CBB9e...09Ad68FC8
0 ETH0.00711172124.8
Transfer115502782020-12-29 17:34:171907 days ago1609263257IN
0xC42CBB9e...09Ad68FC8
0.16730334 ETH0.00254717121
Sweep115389522020-12-27 23:56:201909 days ago1609113380IN
0xC42CBB9e...09Ad68FC8
0 ETH0.0038285867.2
Transfer115389322020-12-27 23:52:321909 days ago1609113152IN
0xC42CBB9e...09Ad68FC8
0.26889344 ETH0.0014946271
Sweep115298002020-12-26 14:16:441910 days ago1608992204IN
0xC42CBB9e...09Ad68FC8
0 ETH0.0035558662.40000175
Transfer115297812020-12-26 14:12:461910 days ago1608991966IN
0xC42CBB9e...09Ad68FC8
0.17627075 ETH0.0013683165
Sweep115296022020-12-26 13:33:391910 days ago1608989619IN
0xC42CBB9e...09Ad68FC8
0 ETH0.0036926264.8
Transfer115295792020-12-26 13:28:551910 days ago1608989335IN
0xC42CBB9e...09Ad68FC8
0.48171877 ETH0.00124259
Sweep115166552020-12-24 13:50:191912 days ago1608817819IN
0xC42CBB9e...09Ad68FC8
0 ETH0.0041029272
Transfer115166292020-12-24 13:45:251912 days ago1608817525IN
0xC42CBB9e...09Ad68FC8
0.33796343 ETH0.0015367273
Sweep115034332020-12-22 13:03:531914 days ago1608642233IN
0xC42CBB9e...09Ad68FC8
0 ETH0.0019830734.80000175
Transfer115034182020-12-22 13:00:251914 days ago1608642025IN
0xC42CBB9e...09Ad68FC8
0.2285453 ETH0.0014104167
Sweep114992882020-12-21 21:49:131915 days ago1608587353IN
0xC42CBB9e...09Ad68FC8
0 ETH0.0021198437.2
Transfer114992642020-12-21 21:45:361915 days ago1608587136IN
0xC42CBB9e...09Ad68FC8
0.89175692 ETH0.0008841442

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-149566932022-06-13 15:26:391376 days ago1655133999
0xC42CBB9e...09Ad68FC8
0.0956838 ETH
-117564442021-01-30 9:27:391875 days ago1611998859
0xC42CBB9e...09Ad68FC8
0.19927444 ETH
-116158112021-01-08 18:47:281897 days ago1610131648
0xC42CBB9e...09Ad68FC8
0.62803024 ETH
-116149222021-01-08 15:33:091897 days ago1610119989
0xC42CBB9e...09Ad68FC8
0.10138286 ETH
-115759312021-01-02 15:59:581903 days ago1609603198
0xC42CBB9e...09Ad68FC8
0.68438685 ETH
-115502972020-12-29 17:40:161907 days ago1609263616
0xC42CBB9e...09Ad68FC8
0.16730334 ETH
-115389522020-12-27 23:56:201909 days ago1609113380
0xC42CBB9e...09Ad68FC8
0.26889344 ETH
-115298002020-12-26 14:16:441910 days ago1608992204
0xC42CBB9e...09Ad68FC8
0.17627075 ETH
-115296022020-12-26 13:33:391910 days ago1608989619
0xC42CBB9e...09Ad68FC8
0.48171877 ETH
-115166552020-12-24 13:50:191912 days ago1608817819
0xC42CBB9e...09Ad68FC8
0.33796343 ETH
-115034332020-12-22 13:03:531914 days ago1608642233
0xC42CBB9e...09Ad68FC8
0.2285453 ETH
-114992882020-12-21 21:49:131915 days ago1608587353
0xC42CBB9e...09Ad68FC8
0.89175692 ETH
Transfer52096522018-03-07 0:34:282936 days ago1520382868  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.