ETH Price: $2,637.98 (-0.37%)

Contract

0x2e6e5FEDcb050b02BF12eAa4FE90D1e22b0B2244
 

Overview

ETH Balance

0.083280742578398091 ETH

Eth Value

$219.69 (@ $2,637.98/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer207024972024-09-08 1:05:4722 days ago1725757547IN
0x2e6e5FED...22b0B2244
0.0175191 ETH0.000019680.9360519
Transfer204917952024-08-09 14:59:2351 days ago1723215563IN
0x2e6e5FED...22b0B2244
0.03807591 ETH0.000157747.49994522
Transfer200843782024-06-13 17:25:59108 days ago1718299559IN
0x2e6e5FED...22b0B2244
0.02768571 ETH0.0002839913.50243526
Distribute199410742024-05-24 16:56:35128 days ago1716569795IN
0x2e6e5FED...22b0B2244
0 ETH0.0014366111.79074703
Transfer199109092024-05-20 11:42:23132 days ago1716205343IN
0x2e6e5FED...22b0B2244
0.02643545 ETH0.000157337.48038281
Transfer193135482024-02-26 18:33:35216 days ago1708972415IN
0x2e6e5FED...22b0B2244
0.1729295 ETH0.0011476854.56587689
Distribute192580062024-02-18 23:42:23224 days ago1708299743IN
0x2e6e5FED...22b0B2244
0 ETH0.0023443319.24062659
Transfer192363372024-02-15 22:34:23227 days ago1708036463IN
0x2e6e5FED...22b0B2244
2.45058565 ETH0.0006790332.2840712
Transfer191977252024-02-10 12:31:35232 days ago1707568295IN
0x2e6e5FED...22b0B2244
0.01460393 ETH0.0005783227.49588736
Transfer188592302023-12-25 0:36:35280 days ago1703464595IN
0x2e6e5FED...22b0B2244
0.17280538 ETH0.0004138319.67565581
Distribute185304982023-11-08 23:24:23326 days ago1699485863IN
0x2e6e5FED...22b0B2244
0 ETH0.003530432.58485633
Distribute185304832023-11-08 23:21:23326 days ago1699485683IN
0x2e6e5FED...22b0B2244
0 ETH0.0044852836.81203933
Transfer184336262023-10-26 9:53:35339 days ago1698314015IN
0x2e6e5FED...22b0B2244
0.04262663 ETH0.000333715.8659088
Transfer184034682023-10-22 4:30:59344 days ago1697949059IN
0x2e6e5FED...22b0B2244
0.01952304 ETH0.000134056.37369098
Transfer182931972023-10-06 18:18:23359 days ago1696616303IN
0x2e6e5FED...22b0B2244
0.06784138 ETH0.0002340811.12920939
Transfer179667202023-08-22 0:36:35405 days ago1692664595IN
0x2e6e5FED...22b0B2244
0.08277058 ETH0.0003291715.65041566
Transfer179389092023-08-18 3:09:47409 days ago1692328187IN
0x2e6e5FED...22b0B2244
0.04283893 ETH0.0004724422.46214253
Distribute173599732023-05-28 20:44:23490 days ago1685306663IN
0x2e6e5FED...22b0B2244
0 ETH0.0040208133
Transfer172120032023-05-07 23:44:47511 days ago1683503087IN
0x2e6e5FED...22b0B2244
0.22597765 ETH0.00232961110.75997296
Distribute170734822023-04-18 12:11:11530 days ago1681819871IN
0x2e6e5FED...22b0B2244
0 ETH0.0070257649.56691047
Transfer170081042023-04-09 3:29:35540 days ago1681010975IN
0x2e6e5FED...22b0B2244
0.03075848 ETH0.0003842318.26838417
Transfer166453292023-02-17 2:00:23591 days ago1676599223IN
0x2e6e5FED...22b0B2244
0.16541306 ETH0.0006310130.00134271
Transfer166381792023-02-16 2:01:23592 days ago1676512883IN
0x2e6e5FED...22b0B2244
0.07520933 ETH0.0007589536.08410834
Distribute164191462023-01-16 11:47:59622 days ago1673869679IN
0x2e6e5FED...22b0B2244
0 ETH0.0013054518.37301391
Distribute164191392023-01-16 11:46:35622 days ago1673869595IN
0x2e6e5FED...22b0B2244
0 ETH0.0014959717.70428726
View all transactions

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
199410742024-05-24 16:56:35128 days ago1716569795
0x2e6e5FED...22b0B2244
0.0847301 ETH
199410742024-05-24 16:56:35128 days ago1716569795
0x2e6e5FED...22b0B2244
0.11463484 ETH
192580062024-02-18 23:42:23224 days ago1708299743
0x2e6e5FED...22b0B2244
1.12114786 ETH
192580062024-02-18 23:42:23224 days ago1708299743
0x2e6e5FED...22b0B2244
1.51684711 ETH
185304832023-11-08 23:21:23326 days ago1699485683
0x2e6e5FED...22b0B2244
0.10863025 ETH
185304832023-11-08 23:21:23326 days ago1699485683
0x2e6e5FED...22b0B2244
0.14697034 ETH
173599732023-05-28 20:44:23490 days ago1685306663
0x2e6e5FED...22b0B2244
0.2723101 ETH
173599732023-05-28 20:44:23490 days ago1685306663
0x2e6e5FED...22b0B2244
0.36841955 ETH
170734822023-04-18 12:11:11530 days ago1681819871
0x2e6e5FED...22b0B2244
0.11533687 ETH
170734822023-04-18 12:11:11530 days ago1681819871
0x2e6e5FED...22b0B2244
0.156044 ETH
164191392023-01-16 11:46:35622 days ago1673869595
0x2e6e5FED...22b0B2244
1.0109498 ETH
164191392023-01-16 11:46:35622 days ago1673869595
0x2e6e5FED...22b0B2244
0.74722376 ETH
154804022022-09-05 22:25:09755 days ago1662416709  Contract Creation0 ETH
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x8bA5e3eB...b6C0996d9
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
RocketNodeDistributor

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 15000 runs

Other Settings:
istanbul EvmVersion, GNU GPLv3 license
File 1 of 4 : RocketNodeDistributor.sol
/**
  *       .
  *      / \
  *     |.'.|
  *     |'.'|
  *   ,'|   |`.
  *  |,-'-|-'-.|
  *   __|_| |         _        _      _____           _
  *  | ___ \|        | |      | |    | ___ \         | |
  *  | |_/ /|__   ___| | _____| |_   | |_/ /__   ___ | |
  *  |    // _ \ / __| |/ / _ \ __|  |  __/ _ \ / _ \| |
  *  | |\ \ (_) | (__|   <  __/ |_   | | | (_) | (_) | |
  *  \_| \_\___/ \___|_|\_\___|\__|  \_|  \___/ \___/|_|
  * +---------------------------------------------------+
  * |  DECENTRALISED STAKING PROTOCOL FOR ETHEREUM 2.0  |
  * +---------------------------------------------------+
  *
  *  Rocket Pool is a first-of-its-kind ETH2 Proof of Stake protocol, designed to be community owned,
  *  decentralised, trustless and compatible with staking in Ethereum 2.0.
  *
  *  For more information about Rocket Pool, visit https://rocketpool.net
  *
  *  Authors: David Rugendyke, Jake Pospischil, Kane Wallmann, Darren Langley, Joe Clapis, Nick Doherty
  *
  */

pragma solidity 0.7.6;

// SPDX-License-Identifier: GPL-3.0-only

import "../RocketBase.sol";
import "./RocketNodeDistributorStorageLayout.sol";

contract RocketNodeDistributor is RocketNodeDistributorStorageLayout {
    bytes32 immutable distributorStorageKey;

    constructor(address _nodeAddress, address _rocketStorage) {
        rocketStorage = RocketStorageInterface(_rocketStorage);
        nodeAddress = _nodeAddress;

        // Precompute storage key for rocketNodeDistributorDelegate
        distributorStorageKey = keccak256(abi.encodePacked("contract.address", "rocketNodeDistributorDelegate"));
    }

    // Allow contract to receive ETH without making a delegated call
    receive() external payable {}

    // Delegates all transactions to the target supplied during creation
    fallback() external payable {
        address _target = rocketStorage.getAddress(distributorStorageKey);
        assembly {
            calldatacopy(0x0, 0x0, calldatasize())
            let result := delegatecall(gas(), _target, 0x0, calldatasize(), 0x0, 0)
            returndatacopy(0x0, 0x0, returndatasize())
            switch result case 0 {revert(0, returndatasize())} default {return (0, returndatasize())}
        }
    }
}

File 2 of 4 : RocketBase.sol
/**
  *       .
  *      / \
  *     |.'.|
  *     |'.'|
  *   ,'|   |`.
  *  |,-'-|-'-.|
  *   __|_| |         _        _      _____           _
  *  | ___ \|        | |      | |    | ___ \         | |
  *  | |_/ /|__   ___| | _____| |_   | |_/ /__   ___ | |
  *  |    // _ \ / __| |/ / _ \ __|  |  __/ _ \ / _ \| |
  *  | |\ \ (_) | (__|   <  __/ |_   | | | (_) | (_) | |
  *  \_| \_\___/ \___|_|\_\___|\__|  \_|  \___/ \___/|_|
  * +---------------------------------------------------+
  * |  DECENTRALISED STAKING PROTOCOL FOR ETHEREUM 2.0  |
  * +---------------------------------------------------+
  *
  *  Rocket Pool is a first-of-its-kind ETH2 Proof of Stake protocol, designed to be community owned,
  *  decentralised, trustless and compatible with staking in Ethereum 2.0.
  *
  *  For more information about Rocket Pool, visit https://rocketpool.net
  *
  *  Authors: David Rugendyke, Jake Pospischil, Kane Wallmann, Darren Langley, Joe Clapis, Nick Doherty
  *
  */

pragma solidity 0.7.6;

// SPDX-License-Identifier: GPL-3.0-only

import "../interface/RocketStorageInterface.sol";

/// @title Base settings / modifiers for each contract in Rocket Pool
/// @author David Rugendyke

abstract contract RocketBase {

    // Calculate using this as the base
    uint256 constant calcBase = 1 ether;

    // Version of the contract
    uint8 public version;

    // The main storage contract where primary persistant storage is maintained
    RocketStorageInterface rocketStorage = RocketStorageInterface(0);


    /*** Modifiers **********************************************************/

    /**
    * @dev Throws if called by any sender that doesn't match a Rocket Pool network contract
    */
    modifier onlyLatestNetworkContract() {
        require(getBool(keccak256(abi.encodePacked("contract.exists", msg.sender))), "Invalid or outdated network contract");
        _;
    }

    /**
    * @dev Throws if called by any sender that doesn't match one of the supplied contract or is the latest version of that contract
    */
    modifier onlyLatestContract(string memory _contractName, address _contractAddress) {
        require(_contractAddress == getAddress(keccak256(abi.encodePacked("contract.address", _contractName))), "Invalid or outdated contract");
        _;
    }

    /**
    * @dev Throws if called by any sender that isn't a registered node
    */
    modifier onlyRegisteredNode(address _nodeAddress) {
        require(getBool(keccak256(abi.encodePacked("node.exists", _nodeAddress))), "Invalid node");
        _;
    }

    /**
    * @dev Throws if called by any sender that isn't a trusted node DAO member
    */
    modifier onlyTrustedNode(address _nodeAddress) {
        require(getBool(keccak256(abi.encodePacked("dao.trustednodes.", "member", _nodeAddress))), "Invalid trusted node");
        _;
    }

    /**
    * @dev Throws if called by any sender that isn't a registered minipool
    */
    modifier onlyRegisteredMinipool(address _minipoolAddress) {
        require(getBool(keccak256(abi.encodePacked("minipool.exists", _minipoolAddress))), "Invalid minipool");
        _;
    }
    

    /**
    * @dev Throws if called by any account other than a guardian account (temporary account allowed access to settings before DAO is fully enabled)
    */
    modifier onlyGuardian() {
        require(msg.sender == rocketStorage.getGuardian(), "Account is not a temporary guardian");
        _;
    }




    /*** Methods **********************************************************/

    /// @dev Set the main Rocket Storage address
    constructor(RocketStorageInterface _rocketStorageAddress) {
        // Update the contract address
        rocketStorage = RocketStorageInterface(_rocketStorageAddress);
    }


    /// @dev Get the address of a network contract by name
    function getContractAddress(string memory _contractName) internal view returns (address) {
        // Get the current contract address
        address contractAddress = getAddress(keccak256(abi.encodePacked("contract.address", _contractName)));
        // Check it
        require(contractAddress != address(0x0), "Contract not found");
        // Return
        return contractAddress;
    }


    /// @dev Get the address of a network contract by name (returns address(0x0) instead of reverting if contract does not exist)
    function getContractAddressUnsafe(string memory _contractName) internal view returns (address) {
        // Get the current contract address
        address contractAddress = getAddress(keccak256(abi.encodePacked("contract.address", _contractName)));
        // Return
        return contractAddress;
    }


    /// @dev Get the name of a network contract by address
    function getContractName(address _contractAddress) internal view returns (string memory) {
        // Get the contract name
        string memory contractName = getString(keccak256(abi.encodePacked("contract.name", _contractAddress)));
        // Check it
        require(bytes(contractName).length > 0, "Contract not found");
        // Return
        return contractName;
    }

    /// @dev Get revert error message from a .call method
    function getRevertMsg(bytes memory _returnData) internal pure returns (string memory) {
        // If the _res length is less than 68, then the transaction failed silently (without a revert message)
        if (_returnData.length < 68) return "Transaction reverted silently";
        assembly {
            // Slice the sighash.
            _returnData := add(_returnData, 0x04)
        }
        return abi.decode(_returnData, (string)); // All that remains is the revert string
    }



    /*** Rocket Storage Methods ****************************************/

    // Note: Unused helpers have been removed to keep contract sizes down

    /// @dev Storage get methods
    function getAddress(bytes32 _key) internal view returns (address) { return rocketStorage.getAddress(_key); }
    function getUint(bytes32 _key) internal view returns (uint) { return rocketStorage.getUint(_key); }
    function getString(bytes32 _key) internal view returns (string memory) { return rocketStorage.getString(_key); }
    function getBytes(bytes32 _key) internal view returns (bytes memory) { return rocketStorage.getBytes(_key); }
    function getBool(bytes32 _key) internal view returns (bool) { return rocketStorage.getBool(_key); }
    function getInt(bytes32 _key) internal view returns (int) { return rocketStorage.getInt(_key); }
    function getBytes32(bytes32 _key) internal view returns (bytes32) { return rocketStorage.getBytes32(_key); }

    /// @dev Storage set methods
    function setAddress(bytes32 _key, address _value) internal { rocketStorage.setAddress(_key, _value); }
    function setUint(bytes32 _key, uint _value) internal { rocketStorage.setUint(_key, _value); }
    function setString(bytes32 _key, string memory _value) internal { rocketStorage.setString(_key, _value); }
    function setBytes(bytes32 _key, bytes memory _value) internal { rocketStorage.setBytes(_key, _value); }
    function setBool(bytes32 _key, bool _value) internal { rocketStorage.setBool(_key, _value); }
    function setInt(bytes32 _key, int _value) internal { rocketStorage.setInt(_key, _value); }
    function setBytes32(bytes32 _key, bytes32 _value) internal { rocketStorage.setBytes32(_key, _value); }

    /// @dev Storage delete methods
    function deleteAddress(bytes32 _key) internal { rocketStorage.deleteAddress(_key); }
    function deleteUint(bytes32 _key) internal { rocketStorage.deleteUint(_key); }
    function deleteString(bytes32 _key) internal { rocketStorage.deleteString(_key); }
    function deleteBytes(bytes32 _key) internal { rocketStorage.deleteBytes(_key); }
    function deleteBool(bytes32 _key) internal { rocketStorage.deleteBool(_key); }
    function deleteInt(bytes32 _key) internal { rocketStorage.deleteInt(_key); }
    function deleteBytes32(bytes32 _key) internal { rocketStorage.deleteBytes32(_key); }

    /// @dev Storage arithmetic methods
    function addUint(bytes32 _key, uint256 _amount) internal { rocketStorage.addUint(_key, _amount); }
    function subUint(bytes32 _key, uint256 _amount) internal { rocketStorage.subUint(_key, _amount); }
}

File 3 of 4 : RocketNodeDistributorStorageLayout.sol
/**
  *       .
  *      / \
  *     |.'.|
  *     |'.'|
  *   ,'|   |`.
  *  |,-'-|-'-.|
  *   __|_| |         _        _      _____           _
  *  | ___ \|        | |      | |    | ___ \         | |
  *  | |_/ /|__   ___| | _____| |_   | |_/ /__   ___ | |
  *  |    // _ \ / __| |/ / _ \ __|  |  __/ _ \ / _ \| |
  *  | |\ \ (_) | (__|   <  __/ |_   | | | (_) | (_) | |
  *  \_| \_\___/ \___|_|\_\___|\__|  \_|  \___/ \___/|_|
  * +---------------------------------------------------+
  * |  DECENTRALISED STAKING PROTOCOL FOR ETHEREUM 2.0  |
  * +---------------------------------------------------+
  *
  *  Rocket Pool is a first-of-its-kind ETH2 Proof of Stake protocol, designed to be community owned,
  *  decentralised, trustless and compatible with staking in Ethereum 2.0.
  *
  *  For more information about Rocket Pool, visit https://rocketpool.net
  *
  *  Authors: David Rugendyke, Jake Pospischil, Kane Wallmann, Darren Langley, Joe Clapis, Nick Doherty
  *
  */

pragma solidity 0.7.6;

import "../../interface/RocketStorageInterface.sol";

// SPDX-License-Identifier: GPL-3.0-only

abstract contract RocketNodeDistributorStorageLayout {
    RocketStorageInterface rocketStorage;
    address nodeAddress;
}

File 4 of 4 : RocketStorageInterface.sol
/**
  *       .
  *      / \
  *     |.'.|
  *     |'.'|
  *   ,'|   |`.
  *  |,-'-|-'-.|
  *   __|_| |         _        _      _____           _
  *  | ___ \|        | |      | |    | ___ \         | |
  *  | |_/ /|__   ___| | _____| |_   | |_/ /__   ___ | |
  *  |    // _ \ / __| |/ / _ \ __|  |  __/ _ \ / _ \| |
  *  | |\ \ (_) | (__|   <  __/ |_   | | | (_) | (_) | |
  *  \_| \_\___/ \___|_|\_\___|\__|  \_|  \___/ \___/|_|
  * +---------------------------------------------------+
  * |  DECENTRALISED STAKING PROTOCOL FOR ETHEREUM 2.0  |
  * +---------------------------------------------------+
  *
  *  Rocket Pool is a first-of-its-kind ETH2 Proof of Stake protocol, designed to be community owned,
  *  decentralised, trustless and compatible with staking in Ethereum 2.0.
  *
  *  For more information about Rocket Pool, visit https://rocketpool.net
  *
  *  Authors: David Rugendyke, Jake Pospischil, Kane Wallmann, Darren Langley, Joe Clapis, Nick Doherty
  *
  */

pragma solidity >0.5.0 <0.9.0;

// SPDX-License-Identifier: GPL-3.0-only

interface RocketStorageInterface {

    // Deploy status
    function getDeployedStatus() external view returns (bool);

    // Guardian
    function getGuardian() external view returns(address);
    function setGuardian(address _newAddress) external;
    function confirmGuardian() external;

    // Getters
    function getAddress(bytes32 _key) external view returns (address);
    function getUint(bytes32 _key) external view returns (uint);
    function getString(bytes32 _key) external view returns (string memory);
    function getBytes(bytes32 _key) external view returns (bytes memory);
    function getBool(bytes32 _key) external view returns (bool);
    function getInt(bytes32 _key) external view returns (int);
    function getBytes32(bytes32 _key) external view returns (bytes32);

    // Setters
    function setAddress(bytes32 _key, address _value) external;
    function setUint(bytes32 _key, uint _value) external;
    function setString(bytes32 _key, string calldata _value) external;
    function setBytes(bytes32 _key, bytes calldata _value) external;
    function setBool(bytes32 _key, bool _value) external;
    function setInt(bytes32 _key, int _value) external;
    function setBytes32(bytes32 _key, bytes32 _value) external;

    // Deleters
    function deleteAddress(bytes32 _key) external;
    function deleteUint(bytes32 _key) external;
    function deleteString(bytes32 _key) external;
    function deleteBytes(bytes32 _key) external;
    function deleteBool(bytes32 _key) external;
    function deleteInt(bytes32 _key) external;
    function deleteBytes32(bytes32 _key) external;

    // Arithmetic
    function addUint(bytes32 _key, uint256 _amount) external;
    function subUint(bytes32 _key, uint256 _amount) external;

    // Protected storage
    function getNodeWithdrawalAddress(address _nodeAddress) external view returns (address);
    function getNodePendingWithdrawalAddress(address _nodeAddress) external view returns (address);
    function setWithdrawalAddress(address _nodeAddress, address _newWithdrawalAddress, bool _confirm) external;
    function confirmWithdrawalAddress(address _nodeAddress) external;
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": true,
    "runs": 15000
  },
  "evmVersion": "istanbul",
  "libraries": {},
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_nodeAddress","type":"address"},{"internalType":"address","name":"_rocketStorage","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x608060405236600a57005b60008054604080517f21f8a7210000000000000000000000000000000000000000000000000000000081527ffb3483c04a4c870b23f9315ce407aceff6ee8dd58eb34aa5becfb781351d3fb86004820152905173ffffffffffffffffffffffffffffffffffffffff909216916321f8a72191602480820192602092909190829003018186803b158015609b57600080fd5b505afa15801560ae573d6000803e3d6000fd5b505050506040513d602081101560c357600080fd5b505190503660008037600080366000845af43d6000803e80801560e5573d6000f35b3d6000fdfea2646970667358221220eff696097e25305c6d6b19a8a6eebb3c8b47de4d235eade3a84bd4f50c48119664736f6c63430007060033

Deployed Bytecode Sourcemap

1161:1109:1:-:0;;;;;;;;1867:15;1885:13;;:47;;;;;;1910:21;1885:47;;;;;;:13;;;;;:24;;:47;;;;;;;;;;;;;;;:13;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1885:47:1;;-1:-1:-1;1990:14:1;1985:3;;1967:38;2088:1;2083:3;2067:14;2062:3;2053:7;2046:5;2033:57;2129:16;2124:3;2119;2104:42;2167:6;2174:36;;;;2231:16;2228:1;2220:28;2174:36;2192:16;2189:1;2182:27

Swarm Source

ipfs://eff696097e25305c6d6b19a8a6eebb3c8b47de4d235eade3a84bd4f50c481196

 Latest 4 blocks produced

Block Transaction Difficulty Gas Used Reward
173094152023-05-21 18:07:23497 days ago16846924431270.00 TH18,469,048 (61.56%)
0.271473403579995322 ETH
171442742023-04-28 11:17:47520 days ago16826806671110.00 TH10,085,111 (33.62%)
0.018658509241308885 ETH
170869242023-04-20 9:48:23528 days ago16819841031160.00 TH8,735,223 (29.12%)
0.124620085104921365 ETH
156581822022-10-02 4:50:59729 days ago1664686259590.00 TH5,871,075 (19.57%)
0.008483809396331811 ETH

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ 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.