Commit 5f84759
authored
feat: multichain (#1494)
# v1.7.0 Multi Chain
The multichain 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:
1. Core Contracts
2. AVS Contracts
3. Offchain Infrastructure
The below release notes cover Core Contracts. For more information on
the end to end protocol, see our [docs](../docs/multichain/README.md)
and
[ELIP-008](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-008.md).
## Release Manager
@ypatil12 @eigenmikem
## Highlights
This multichain release only introduces new standards and contracts. As
a result, there are no breaking changes or deprecations.
🚀 New Features
Source Chain Contracts
- `KeyRegistrar`: Manages cryptographic keys for operators across
different operator sets. It supports both ECDSA and BN254 key types and
ensures global uniqueness of keys across all operator sets
- `CrossChainRegistry`: Enables AVSs to register to have their operator
stakes transported to supported destination chains
- `ReleaseManager`: Provides a standardized way for AVSs to publish
software artifacts (binaries, docker images, etc.) that operators in
their operator sets should upgrade to by specified deadlines
Destination Chain Contracts
- `CertificateVerifier`: Proves the offchain execution of a task, via a
Certificate, by the operators of an operatorSet. Two types of key
material are supported: ECDSA and BN254
- `OperatorTableUpdater`: Updates operator tables in the
`CertificateVerifier` to have tasks validated against up-to-date
operator stake weights
🔧 Improvements – Enhancements to existing features.
- The multichain protocol has protocol-ized several AVS-deployed
contracts, enabling an simpler AVS developer experience. These include:
- `KeyRegistrar`: Manages BLS and ECDSA signing keys. AVSs no longer
have to deploy a `BLSAPKRegistry`
- `CertificateVerifier`: Handles signature verification for BLS and
ECDSA keys. AVSs no longer have to deploy a `BLSSignatureChecker`
- Offchain Multichain Transport: AVSs no longer have to maintain
[avs-sync](https://github.com/Layr-Labs/avs-sync) to keep operator
stakes fresh
## Changelog
- feat: multichain deploy scripts [PR
#1487](#1487)
- feat: operator table updater pauser [PR
#1501](#1501)
- feat: add `publishMetadataURI` [PR
#1492](#1492)
- refactor: `globalRootConfirmerSet` -> `generator` [PR
#1500](#1500)
- fix: circular dependency for initial global root update [PR
#1499](#1499)
- chore: remove stale bindings [PR
#1498](#1498)
- fix: zero length [PR
#1490](#1490)
- docs: multichain docs [PR
#1488](#1488)
- refactor: remove table calculators [PR
#1493](#1493)
- refactor: `KeyRegistry` unit testing [PR
#1482](#1482)
- feat: disable root [PR
#1481](#1481)
- refactor: `ECDSATableCalculator` testing [PR
#1479](#1479)
- refactor: operators can deregister keys if not slashable [PR
#1480](#1480)
- refactor: `ECDSACertificateVerifier` testing [PR
#1478](#1478)
- refactor: `Bn254CertificateVerifierUnitTests` [PR
#1476](#1476)
- feat: ecdsa table calculator [PR
#1473](#1473)
- feat: ecdsacv views [PR
#1475](#1475)
- refactor: `BN254OperatorTableCalculator` [PR
#1463](#1463)
- feat: add `referenceBlockNumber` [PR
#1472](#1472)
- feat: release manager [PR
#1469](#1469)
- feat: ecdsa cert verifier [PR
#1470](#1470)
- feat: add view function for `getGlobalConfirmerSetReferenceTimestamp`
[PR #1471](#1471)
- chore: add helper view function [PR
#1465](#1465)
- chore: add sig digest functions to interface [PR
#1464](#1464)
- refactor: `CrossChainRegistry` [PR
#1457](#1457)
- fix: global table update message hash [PR
#1460](#1460)
- refactor: sig verification into library [PR
#1455](#1455)
- fix: `OperatorTableUpdater` encoding [PR
#1456](#1456)
- chore: add latest `referenceTimestamp` to OTC interface [PR
#1454](#1454)
- chore: bindings [PR
#1452](#1452)
- feat: add operator table updater to CCR [PR
#1451](#1451)
- chore: multichain deploy scripts [PR
#1449](#1449)
- feat: cross chain registry [PR
#1439](#1439)
- chore: update BN254CertificateVerifier [PR
#1447](#1447)
- feat: bn254 operator table contracts [PR
#1429](#1429)
- feat: KeyRegistrar [PR
#1421](#1421)
- feat: operator table updater [PR
#1436](#1436)
- feat: bn254 certificate verifier [PR
#1431](#1431)
- chore: bindings + interface update [PR
#1438](#1438)
- chore: update multichain interfaces [PR
#1433](#1433)
- feat: multi chain interfaces [PR
#1423](#1423)
- docs: update version matrix [PR
#1491](#1491)
- chore: add multisend parser to scripts directory [PR
#1486](#1486)
- chore: update eigenpod and eigen impls addresses in holesky and hoodi
[PR #1448](#1448)File tree
119 files changed
+41337
-390
lines changed- .github/workflows
- CHANGELOG
- docs
- core
- images
- multichain
- destination
- source
- permissions
- pkg/bindings
- AllocationManager
- BN254CertificateVerifierStorage
- BN254CertificateVerifier
- BN254SignatureVerifier
- BN254
- BeaconChainProofs
- CrossChainRegistryStorage
- CrossChainRegistry
- DelegationManager
- ECDSACertificateVerifierStorage
- ECDSACertificateVerifier
- EigenPodManager
- EigenPod
- EigenStrategy
- IAllocationManager
- IBN254CertificateVerifier
- IBaseCertificateVerifier
- ICrossChainRegistry
- IECDSACertificateVerifier
- IKeyRegistrar
- IOperatorTableCalculator
- IOperatorTableUpdater
- IReleaseManager
- KeyRegistrarStorage
- KeyRegistrar
- Merkle
- OperatorTableUpdaterStorage
- OperatorTableUpdater
- ReleaseManagerStorage
- ReleaseManager
- RewardsCoordinator
- SlashEscrowFactory
- StrategyBaseTVLLimits
- StrategyBase
- StrategyFactory
- StrategyManager
- script
- deploy/multichain
- releases
- v1.6.0-moocow-and-elip5
- v1.7.0-multichain
- configs
- utils
- src
- contracts
- core
- interfaces
- libraries
- multichain
- permissions
- test
- integration
- tests
- users
- mocks
- tree
- unit
- utils
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
119 files changed
+41337
-390
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
75 | | - | |
| 75 | + | |
| 76 | + | |
76 | 77 | | |
77 | 78 | | |
78 | 79 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
70 | | - | |
| 70 | + | |
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
| 91 | + | |
| 92 | + | |
91 | 93 | | |
92 | 94 | | |
93 | 95 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
5 | 8 | | |
6 | | - | |
| 9 | + | |
7 | 10 | | |
8 | | - | |
| 11 | + | |
9 | 12 | | |
| 13 | + | |
10 | 14 | | |
11 | 15 | | |
12 | 16 | | |
13 | | - | |
14 | | - | |
15 | | - | |
| 17 | + | |
16 | 18 | | |
17 | | - | |
18 | | - | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | | - | |
22 | | - | |
23 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
24 | 25 | | |
25 | | - | |
26 | | - | |
27 | | - | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
28 | 29 | | |
29 | 30 | | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | 31 | | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
37 | 36 | | |
38 | 37 | | |
39 | 38 | | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
Loading
0 commit comments