bump libocr and add multi signing keys comparison support#21872
bump libocr and add multi signing keys comparison support#21872
Conversation
CORA - Pending Reviewers
Legend: ✅ Approved | ❌ Changes Requested | 💬 Commented | 🚫 Dismissed | ⏳ Pending | ❓ Unknown For more details, see the full review summary. |
|
I see you updated files related to
|
|
✅ No conflicts with other open PRs targeting |
|
There was a problem hiding this comment.
Pull request overview
Risk Rating: HIGH — updates a core dependency (libocr) and touches OCR3 oracle instantiation paths used by multiple services (OCR2 delegate, LLO, CCIP oracle creator).
This PR bumps github.com/smartcontractkit/libocr and adapts Chainlink’s OCR3 wiring to the updated libocr OCR3 API, adding support for multi signing-keys comparison via an OnchainKeyring2-compatible adapter.
Changes:
- Bump
github.com/smartcontractkit/libocracross multiple Go modules in this repo tov0.0.0-20260403184524-b6409238958d. - Extend
OCR3OnchainKeyringMultiChainAdapterwithHas+DebugIdentifierand add unit coverage. - Migrate OCR3 oracle construction call sites to
OCR3OracleArgs2/OCR3_1OracleArgs2and adapt keyrings viaocr3shims.OnchainKeyringAsOnchainKeyring2.
Reviewed changes
Copilot reviewed 13 out of 20 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
go.mod / go.sum |
Bump libocr dependency in root module. |
deployment/go.mod / deployment/go.sum |
Bump libocr dependency in deployment module. |
integration-tests/go.mod / integration-tests/go.sum |
Bump libocr dependency in integration-tests module. |
integration-tests/load/go.mod / integration-tests/load/go.sum |
Bump libocr dependency in load tests module. |
system-tests/lib/go.mod / system-tests/lib/go.sum |
Bump libocr dependency in system-tests lib module. |
system-tests/tests/go.mod / system-tests/tests/go.sum |
Bump libocr dependency in system-tests tests module. |
core/services/ocrcommon/adapters.go |
Add OnchainKeyring2 support (Has, DebugIdentifier) to multichain onchain keyring adapter. |
core/services/ocrcommon/adapters_test.go |
Add tests for multichain adapter Has/DebugIdentifier. |
core/services/ocr2/plugins/generic/oraclefactory.go |
Switch to OCR3OracleArgs2 and wrap onchain keyring with ocr3shims. |
core/services/ocr2/delegate.go |
Switch OCR3/OCR3.1 args to *Args2 and wrap onchain keyring with ocr3shims in multiple service constructors. |
core/services/llo/delegate.go |
Switch to OCR3OracleArgs2 and wrap onchain keyring with ocr3shims. |
core/capabilities/ccip/oraclecreator/plugin.go |
Switch to OCR3OracleArgs2 and wrap onchain keyring with ocr3shims. |
Scrupulous human review recommended for:
- All
NewOracle(...)call sites changed toOCR3OracleArgs2/OCR3_1OracleArgs2(ensuring libocr behavioral changes are understood and monitored in prod). OCR3OnchainKeyringMultiChainAdapter.Has(...)semantics vs. the new libocrOnchainKeyring2expectations (subset handling, fallback behavior on unmarshal error).




Requires
Supports