Skip to content

Commit 1aacc07

Browse files
author
steven
committed
IBLSRegistry
1 parent cc6deed commit 1aacc07

File tree

1 file changed

+1
-67
lines changed

1 file changed

+1
-67
lines changed

src/interfaces/IBLSRegistry.sol

Lines changed: 1 addition & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,4 @@
11
// SPDX-License-Identifier: BUSL-1.1
22
pragma solidity >=0.5.0;
33

4-
import "src/interfaces/IQuorumRegistry.sol";
5-
import {BN254} from "eigenlayer-contracts/src/contracts/libraries/BN254.sol";
6-
7-
8-
/**
9-
* @title Minimal interface extension to `IQuorumRegistry`.
10-
* @author Layr Labs, Inc.
11-
* @notice Terms of Service: https://docs.eigenlayer.xyz/overview/terms-of-service
12-
* @notice Adds BLS-specific functions to the base interface.
13-
*/
14-
interface IBLSRegistry is IQuorumRegistry {
15-
/// @notice Data structure used to track the history of the Aggregate Public Key of all operators
16-
struct ApkUpdate {
17-
// keccak256(apk_x0, apk_x1, apk_y0, apk_y1)
18-
bytes32 apkHash;
19-
// block number at which the update occurred
20-
uint32 blockNumber;
21-
}
22-
23-
// EVENTS
24-
/**
25-
* @notice Emitted upon the registration of a new operator for the middleware
26-
* @param operator Address of the new operator
27-
* @param pkHash The keccak256 hash of the operator's public key
28-
* @param pk The operator's public key itself
29-
* @param apkHashIndex The index of the latest (i.e. the new) APK update
30-
* @param apkHash The keccak256 hash of the new Aggregate Public Key
31-
*/
32-
event Registration(
33-
address indexed operator,
34-
bytes32 pkHash,
35-
BN254.G1Point pk,
36-
uint32 apkHashIndex,
37-
bytes32 apkHash,
38-
string socket
39-
);
40-
41-
/// @notice Emitted when the `operatorWhitelister` role is transferred.
42-
event OperatorWhitelisterTransferred(address previousAddress, address newAddress);
43-
44-
/**
45-
* @notice get hash of a historical aggregated public key corresponding to a given index;
46-
* called by checkSignatures in BLSSignatureChecker.sol.
47-
*/
48-
function getCorrectApkHash(uint256 index, uint32 blockNumber) external returns (bytes32);
49-
50-
/// @notice returns the `ApkUpdate` struct at `index` in the list of APK updates
51-
function apkUpdates(uint256 index) external view returns (ApkUpdate memory);
52-
53-
/// @notice returns the APK hash that resulted from the `index`th APK update
54-
function apkHashes(uint256 index) external view returns (bytes32);
55-
56-
/// @notice returns the block number at which the `index`th APK update occurred
57-
function apkUpdateBlockNumbers(uint256 index) external view returns (uint32);
58-
59-
function operatorWhitelister() external view returns (address);
60-
61-
function operatorWhitelistEnabled() external view returns (bool);
62-
63-
function whitelisted(address) external view returns (bool);
64-
65-
function setOperatorWhitelistStatus(bool _operatorWhitelistEnabled) external;
66-
67-
function addToOperatorWhitelist(address[] calldata) external;
68-
69-
function removeFromWhitelist(address[] calldata operators) external;
70-
}
4+
import "eigenlayer-contracts/src/contracts/interfaces/IBLSRegistry.sol";

0 commit comments

Comments
 (0)