Skip to content

Commit a7a5492

Browse files
authored
chore: combined release notes; rev submodule (#538)
Combined release notes for Multichain and Hourglass. Also rev submodule.
1 parent 8f8cb97 commit a7a5492

File tree

5 files changed

+123
-9
lines changed

5 files changed

+123
-9
lines changed

CHANGELOG/CHANGELOG-1.4.0.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The multichain/middlewareV2 release enables AVSs to launch their services and ma
66
2. AVS Contracts
77
3. Offchain Infrastructure
88

9-
The below release notes cover AVS Contracts. For more information on the end to end protocol, see our [docs](../docs/middlewareV2/README.md), [core contract docs](https://github.com/Layr-Labs/eigenlayer-contracts/tree/main/docs/multichain), and [ELIP-008](https://github.com/eigenfoundation/ELIPs/blob/elip-008v1/ELIPs/ELIP-008.md).
9+
The below release notes cover AVS Contracts. For more information on the end to end protocol, see our [docs](../docs/middlewareV2/README.md), [core contract docs](https://github.com/Layr-Labs/eigenlayer-contracts/tree/main/docs/multichain), and [ELIP-008](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-008.md).
1010

1111
## Release Manager
1212

@@ -19,7 +19,7 @@ This multichain release only introduces new standards and contracts. As a result
1919
🚀 New Features – Highlight major new functionality
2020

2121
- `AVSRegistrar`: The primary interface for managing operator registration and deregistration within an AVS. It integrates with core EigenLayer contracts to ensure operators have valid keys and are properly registered in operator sets
22-
- `OperatorTableCalculator`: Responsible for calculating stake weights of operator. These stake weights are aggregated and transported using the [Eigenlayer Multichain Protocol](https://github.com/eigenfoundation/ELIPs/blob/elip-008v1/ELIPs/ELIP-008.md). In order to utilize the multichain protocol, an AVS *MUST* deploy an `OperatorTableCalculator` and register it in the `CrossChainRegistry` in EigenLayer core. See our [core documentation](https://github.com/Layr-Labs/eigenlayer-contracts/tree/main/docs/multichain#common-user-flows) for this process.
22+
- `OperatorTableCalculator`: Responsible for calculating stake weights of operator. These stake weights are aggregated and transported using the [Eigenlayer Multichain Protocol](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-008.md). In order to utilize the multichain protocol, an AVS *MUST* deploy an `OperatorTableCalculator` and register it in the `CrossChainRegistry` in EigenLayer core. See our [core documentation](https://github.com/Layr-Labs/eigenlayer-contracts/tree/main/docs/multichain#common-user-flows) for this process.
2323

2424
🔧 Improvements – Enhancements to existing features.
2525

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# 1.5.0-testnet-final
2+
3+
The below release notes cover the updated version release candidate for multichain and hourglass
4+
5+
# Release Manager
6+
7+
@ypatil12 @eigenmikem @rajathalex
8+
9+
# Multichain
10+
11+
## Highlights
12+
13+
🚀 New Features – Highlight major new functionality
14+
- Add new table calculator modules - with stake caps and custom stake weights. **These contracts are unaudited.**. See [PR #514](https://github.com/layr-labs/eigenlayer-middleware/pull/514)
15+
16+
⛔ Breaking Changes – Call out backward-incompatible changes.
17+
- The `BN254CertificateVerifier` now salts the `operatorInfoleaf` via the core [`LeafCalculatorMixin`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/main/src/contracts/mixins/LeafCalculatorMixin.sol) contract. **BN254 OperatorSets MUST update their table calculators to use the new `BN254TableCalculatorBase`. Failure to do so can result in certificates unable to be confirmed.**
18+
- All AVSs in the [presets](../src/middlewareV2/registrar/presets/) now take in the `avs` as a parameter in the `initialize` function, rather than the constructor
19+
20+
🔧 Improvements – Enhancements to existing features.
21+
- Added add UAM support to `SocketRegistry`. See [PR #532](https://github.com/layr-labs/eigenlayer-middleware/pull/532)
22+
- Updated core contract submodule to point to `v1.8.0-testnet-final` RC. See [PR #534](https://github.com/layr-labs/eigenlayer-middleware/pull/534)
23+
- Clear up natspec and docs. See [PR #526](https://github.com/layr-labs/eigenlayer-middleware/pull/526)
24+
- Remove unused imports. See [PR #513](https://github.com/layr-labs/eigenlayer-middleware/pull/513)
25+
26+
🐛 Bug Fixes – List resolved issues.
27+
- Fix array indexing in `BN254TableCalculatorBase`. See [PR #504](https://github.com/layr-labs/eigenlayer-middleware/pull/504)
28+
- Make `avs` var stateful instead of immutable. See [PR #512](https://github.com/layr-labs/eigenlayer-middleware/pull/512)
29+
30+
# Hourglass
31+
32+
## Changelog
33+
34+
- chore: update core submodule + ReadMe [PR #534](https://github.com/layr-labs/eigenlayer-middleware/pull/534)
35+
- fix: add allowlist to TaskAVSRegistarBase [PR #533](https://github.com/layr-labs/eigenlayer-middleware/pull/533)
36+
- feat: add UAM to `SocketRegistry` [PR #532](https://github.com/layr-labs/eigenlayer-middleware/pull/532)
37+
- chore: bump core submodule [PR #531](https://github.com/layr-labs/eigenlayer-middleware/pull/531)
38+
- chore: rev submodule
39+
- fix(m-01): add salt to merkle leaf hashing [PR #527](https://github.com/layr-labs/eigenlayer-middleware/pull/527)
40+
- docs: natspec review updates [PR #526](https://github.com/layr-labs/eigenlayer-middleware/pull/526)
41+
- fix(I-05): remove unused import [PR #529](https://github.com/layr-labs/eigenlayer-middleware/pull/529)
42+
- feat: tablecalc modules [PR #514](https://github.com/layr-labs/eigenlayer-middleware/pull/514)
43+
- fix(I-07): add onlyInitializing modifier to initializing function [PR #525](https://github.com/layr-labs/eigenlayer-middleware/pull/525)
44+
- fix: make storage variable internal due to existing getter [PR #524](https://github.com/layr-labs/eigenlayer-middleware/pull/524)
45+
- chore: update taskavsregistrar base forpt1 findings
46+
- chore: rev submodule
47+
- fix(I-04): make avs var stateful [PR #512](https://github.com/layr-labs/eigenlayer-middleware/pull/512)
48+
- fix(I5): natspec [PR #516](https://github.com/layr-labs/eigenlayer-middleware/pull/516)
49+
- fix(I-07): clarify expectation on `weights` array structure [PR #510](https://github.com/layr-labs/eigenlayer-middleware/pull/510)
50+
- fix(I-03): rename `ISocketRegistry` -> `ISocketRegistryV2` [PR #511](https://github.com/layr-labs/eigenlayer-middleware/pull/511)
51+
- fix(I-06): remove many unused imports [PR #513](https://github.com/layr-labs/eigenlayer-middleware/pull/513)
52+
- chore: updated core contracts dependencies
53+
- chore: bump up core deps
54+
- docs: changelog
55+
- chore: bump up core deps
56+
- feat: hourglass [PR #507](https://github.com/layr-labs/eigenlayer-middleware/pull/507)
57+
- fix(H-1): correct array indexing for BN254TableCalculatorBase._calculateOperatorTable [PR #504](https://github.com/layr-labs/eigenlayer-middleware/pull/504)
58+
- docs: add new table calculators [PR #508](https://github.com/layr-labs/eigenlayer-middleware/pull/508)

CHANGELOG/CHANGELOG-1.5.0.md

Lines changed: 61 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,37 @@
1+
# v1.5.0 Multichain/MiddlewareV2/Hourglass
2+
3+
These are the combined release notes of multichain and hourglass.
4+
5+
# v1.4.0 MultiChain/MiddlewareV2
6+
7+
The multichain/middlewareV2 release enables AVSs to launch their services and make verified Operator outputs available on any EVM chain, meeting their customers where they are. AVSs can specify custom operator weights to be transported to any destination chain. The release has 3 components:
8+
9+
1. Core Contracts
10+
2. AVS Contracts
11+
3. Offchain Infrastructure
12+
13+
The below release notes cover AVS Contracts. For more information on the end to end protocol, see our [docs](../docs/middlewareV2/README.md), [core contract docs](https://github.com/Layr-Labs/eigenlayer-contracts/tree/main/docs/multichain), and [ELIP-008](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-008.md).
14+
15+
## Release Manager
16+
17+
@ypatil12 @eigenmikem
18+
19+
## Highlights
20+
21+
This multichain release only introduces new standards and contracts. As a result, there are **no breaking changes or deprecations**. All new contracts are in the [middlewareV2 folder](../src/middlewareV2/).
22+
23+
🚀 New Features – Highlight major new functionality
24+
25+
- `AVSRegistrar`: The primary interface for managing operator registration and deregistration within an AVS. It integrates with core EigenLayer contracts to ensure operators have valid keys and are properly registered in operator sets
26+
- `OperatorTableCalculator`: Responsible for calculating stake weights of operator. These stake weights are aggregated and transported using the [Eigenlayer Multichain Protocol](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-008.md). In order to utilize the multichain protocol, an AVS *MUST* deploy an `OperatorTableCalculator` and register it in the `CrossChainRegistry` in EigenLayer core. See our [core documentation](https://github.com/Layr-Labs/eigenlayer-contracts/tree/main/docs/multichain#common-user-flows) for this process.
27+
28+
🔧 Improvements – Enhancements to existing features.
29+
30+
- The multichain protocol has protocol-ized several AVS-deployed contracts, enabling an simpler AVS developer experience. These include:
31+
- `KeyRegistrar`: Manages BLS and ECDSA signing keys. AVSs no longer have to deploy a `BLSAPKRegistry`
32+
- `CertificateVerifier`: Handles signature verification for BLS and ECDSA keys. AVSs no longer have to deploy a `BLSSignatureChecker`
33+
- Offchain Multichain Transport: AVSs no longer have to maintain [avs-sync](https://github.com/Layr-Labs/avs-sync) to keep operator stakes fresh
34+
135
# v1.5.0 Hourglass
236

337
The Hourglass release consists of a framework that supports the creation of task-based AVSs. The task-based AVSs are enabled through a `TaskMailbox` core contract deployed to all chains that support a `CertificateVerifier`. Additionally AVSs deploy their `TaskAVSRegistrar`. The release has 3 components:
@@ -6,7 +40,7 @@ The Hourglass release consists of a framework that supports the creation of task
640
2. AVS Contracts
741
3. Offchain Infrastructure
842

9-
The below release notes cover AVS Contracts. For more information on the end to end protocol, see our [docs](https://github.com/Layr-Labs/hourglass-monorepo/blob/master/README.md).
43+
The below release notes cover AVS Contracts. For more information on the end to end protocol, see our [docs](https://github.com/Layr-Labs/hourglass-monorepo/blob/master/README.md) and [ELIP-010](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-010.md).
1044

1145
## Release Manager
1246

@@ -20,7 +54,29 @@ This hourglass release only introduces new contracts. As a result, there are no
2054

2155
- `TaskAVSRegistrar`: An instanced (per-AVS) eigenlayer middleware contract on L1 that is responsible for handling operator registration for specific operator sets of your AVS and providing the offchain components with socket endpoints for the Aggregator and Executor operators. It also keeps track of which operator sets are the aggregator and executors. It works by default, but can be extended to include additional onchain logic for your AVS.
2256

23-
## Changelog
24-
25-
- chore: bump up core deps
26-
- feat: hourglass [PR #507](https://github.com/layr-labs/eigenlayer-middleware/pull/507)
57+
# Changelog
58+
* fix: bls sig operator state retriever sorting by @RonTuretzky in https://github.com/Layr-Labs/eigenlayer-middleware/pull/480
59+
* chore: update core submodule by @ypatil12 in https://github.com/Layr-Labs/eigenlayer-middleware/pull/497
60+
* test: table calc by @ypatil12 in https://github.com/Layr-Labs/eigenlayer-middleware/pull/499
61+
* test: ecdsa stake reg/bls sig checker utils by @ypatil12 in https://github.com/Layr-Labs/eigenlayer-middleware/pull/500
62+
* release: middlewareV2/multichain by @ypatil12 in https://github.com/Layr-Labs/eigenlayer-middleware/pull/496
63+
* fix: broken link by @ypatil12 in https://github.com/Layr-Labs/eigenlayer-middleware/pull/501
64+
* chore: update `AVSRegistrar` for new `KeyRegistrar` interface by @ypatil12 in https://github.com/Layr-Labs/eigenlayer-middleware/pull/502
65+
* chore: update submodule by @ypatil12 in https://github.com/Layr-Labs/eigenlayer-middleware/pull/503
66+
* feat(redistribution): update slashers by @0xClandestine in https://github.com/Layr-Labs/eigenlayer-middleware/pull/492
67+
* docs: format table in `OperatorTableCalculator` by @ypatil12 in https://github.com/Layr-Labs/eigenlayer-middleware/pull/505
68+
* docs: add new table calculators by @ypatil12 in https://github.com/Layr-Labs/eigenlayer-middleware/pull/508
69+
* fix(H-1): correct array indexing for BN254TableCalculatorBase._calculateOperatorTable by @nadir-akhtar in https://github.com/Layr-Labs/eigenlayer-middleware/pull/504
70+
* feat: hourglass by @0xrajath in https://github.com/Layr-Labs/eigenlayer-middleware/pull/515
71+
* fix: multichain pt1 audit fixes by @ypatil12 in https://github.com/Layr-Labs/eigenlayer-middleware/pull/520
72+
* fix: make storage variable internal due to existing getter by @nadir-akhtar in https://github.com/Layr-Labs/eigenlayer-middleware/pull/524
73+
* fix(I-07): add onlyInitializing modifier to initializing function by @nadir-akhtar in https://github.com/Layr-Labs/eigenlayer-middleware/pull/525
74+
* feat: tablecalc modules by @eigenmikem in https://github.com/Layr-Labs/eigenlayer-middleware/pull/514
75+
* fix(I-05): remove unused import by @ypatil12 in https://github.com/Layr-Labs/eigenlayer-middleware/pull/529
76+
* fix: multichain pt2 audit fixes by @ypatil12 in https://github.com/Layr-Labs/eigenlayer-middleware/pull/528
77+
* chore: bump core submodule by @ypatil12 in https://github.com/Layr-Labs/eigenlayer-middleware/pull/531
78+
* feat: add UAM to `SocketRegistry` by @ypatil12 in https://github.com/Layr-Labs/eigenlayer-middleware/pull/532
79+
* fix: add allowlist to TaskAVSRegistarBase by @nadir-akhtar in https://github.com/Layr-Labs/eigenlayer-middleware/pull/533
80+
* chore: update core submodule + ReadME by @ypatil12 in https://github.com/Layr-Labs/eigenlayer-middleware/pull/534
81+
* fix: task replay directed at same operator set by @0xrajath in https://github.com/Layr-Labs/eigenlayer-middleware/pull/535
82+
* chore: update core bindings by @0xrajath in https://github.com/Layr-Labs/eigenlayer-middleware/pull/536

foundry.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"lib/eigenlayer-contracts": {
3-
"rev": "73644e201541dc350a52b0f7a70fa125295a4128"
3+
"rev": "31aade2fc3bf6e2c0160cc2e7c7be1a6017296e5"
44
},
55
"lib/forge-std": {
66
"rev": "77041d2ce690e692d6e03cc812b57d1ddaa4d505"

0 commit comments

Comments
 (0)