Skip to content

feat(capabilities): add DONByID registry lookup + vault zone-b gates#2256

Merged
prashantkumar1982 merged 1 commit into
mainfrom
vault-zone-b-restriction
Jul 16, 2026
Merged

feat(capabilities): add DONByID registry lookup + vault zone-b gates#2256
prashantkumar1982 merged 1 commit into
mainfrom
vault-zone-b-restriction

Conversation

@prashantkumar1982

@prashantkumar1982 prashantkumar1982 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

What

Foundational chainlink-common changes for the vault zone-b GetSecrets restriction.

  • DONByID(ctx, donID) added to core.CapabilitiesRegistryMetadata (interface, Unimplemented stub, LOOP gRPC client/server, regenerated proto/pb, mockery mock). Lets a node authoritatively resolve any DON's Families from its registry ID — unlike DONsForCapability, which never returns a caller/workflow DON.
  • cresettings gates for the restriction:
    • VaultZoneBWorkflowGetSecretsRestrictEnabled — global master gate, default false.
    • PerOwner.VaultZoneBGetSecretsAllowed — owner-scoped allowlist, default false (deny).

Why

The vault capability (in chainlink) needs to authoritatively determine the calling workflow DON's zone from its own registry view, rather than trusting caller-supplied zone data. The chainlink-side consumer is a separate PR.

https://smartcontract-it.atlassian.net/browse/PRIV-593

Add DONByID(ctx, donID) to core.CapabilitiesRegistryMetadata (interface,
Unimplemented stub, LOOP gRPC client/server, regenerated proto/pb, mock) so a
node can authoritatively resolve any DON's Families by ID.

Add cresettings gates for the vault zone-b GetSecrets restriction:
- VaultZoneBWorkflowGetSecretsRestrictEnabled (global master gate, default false)
- PerOwner.VaultZoneBGetSecretsAllowed (owner-scoped allowlist, default false)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@prashantkumar1982
prashantkumar1982 requested a review from a team as a code owner July 16, 2026 02:44
@github-actions

Copy link
Copy Markdown
Contributor

👋 prashantkumar1982, thanks for creating this pull request!

To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team.

Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks!

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ API Diff Results - github.com/smartcontractkit/chainlink-common

⚠️ Breaking Changes (1)

pkg/types/core.CapabilitiesRegistryMetadata (1)
  • DONByID — ➕ Added

✅ Compatible Changes (6)

pkg/settings/cresettings.Owners (1)
  • VaultZoneBGetSecretsAllowed — ➕ Added
pkg/settings/cresettings.Schema (1)
  • VaultZoneBWorkflowGetSecretsRestrictEnabled — ➕ Added
pkg/types/core.UnimplementedCapabilitiesRegistryMetadata (1)
  • DONByID — ➕ Added
pkg/types/core/mocks (1)
  • CapabilitiesRegistry_DONByID_Call — ➕ Added
pkg/types/core/mocks.(*CapabilitiesRegistry) (1)
  • DONByID — ➕ Added
pkg/types/core/mocks.(*CapabilitiesRegistry_Expecter) (1)
  • DONByID — ➕ Added

📄 View full apidiff report

@prashantkumar1982
prashantkumar1982 marked this pull request as draft July 16, 2026 02:47
@prashantkumar1982
prashantkumar1982 marked this pull request as ready for review July 16, 2026 03:10
@prashantkumar1982
prashantkumar1982 added this pull request to the merge queue Jul 16, 2026
Merged via the queue into main with commit 93eeb23 Jul 16, 2026
31 of 33 checks passed
@prashantkumar1982
prashantkumar1982 deleted the vault-zone-b-restriction branch July 16, 2026 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants