Skip to content

Conversation

@prashantkumar1982
Copy link
Contributor

@prashantkumar1982 prashantkumar1982 commented Jul 7, 2025

This change enables Vault Don2DON flow, by making sure all Vault GetSecrets() requests from Workflow Nodes are exactly same.
This is done by:

  • Each workflow node, when requesting for GetSecrets(), passes in all the workflow DON nodes' public encryption keys, in a standard sorted way.
    • Thus, the requests are all identical, which is a pre-requisite for current DON2DON layer.
  • CapabilityRegistry interface now exports a new method allowing to fetch Nodes by peerID, and the Node contains encyption keys as response.
  • In SecretsFetcher, we fetch the list of Workflow DON nodes, and fetch each Node individually. Then combine the encryption keys from them.
  • The integration tests now ensure this logic is tested, by specifically expecting a sorted list of requests to be sent back as response.

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

@prashantkumar1982 prashantkumar1982 changed the title SecretsFetcher support for fetching public keys of all Nodes in a DON Fix DON2DON flow for Vault service's GetSecrets() method Jul 8, 2025
@prashantkumar1982 prashantkumar1982 changed the title Fix DON2DON flow for Vault service's GetSecrets() method Enable DON2DON flow for Vault service's GetSecrets() method Jul 8, 2025
@prashantkumar1982 prashantkumar1982 marked this pull request as ready for review July 8, 2025 01:53
@prashantkumar1982 prashantkumar1982 requested review from a team as code owners July 8, 2025 01:53
@github-actions
Copy link
Contributor

github-actions bot commented Jul 9, 2025

Flakeguard Summary

Ran new or updated tests between develop and fe5072a (vault-don2don).

View Flaky Detector Details | Compare Changes

Found Flaky Tests ❌

3 Results
Name Pass Ratio Panicked? Timed Out? Race? Runs Successes Failures Skips Package Package Panicked? Avg Duration Code Owners
TestEngine_WASMBinary_Simple 0% false false false 3 0 3 0 github.com/smartcontractkit/chainlink/v2/core/services/workflows/v2 false 4.153333333s @smartcontractkit/keystone
TestEngine_WASMBinary_With_Config 0% false false false 3 0 3 0 github.com/smartcontractkit/chainlink/v2/core/services/workflows/v2 false 96.666666ms @smartcontractkit/keystone
TestSecretsFetcher_Integration 0% false false false 3 0 3 0 github.com/smartcontractkit/chainlink/v2/core/services/workflows/v2 false 93.333333ms @smartcontractkit/keystone

Artifacts

For detailed logs of the failed tests, please refer to the artifact failed-test-results-with-logs.json.

@github-actions
Copy link
Contributor

github-actions bot commented Jul 9, 2025

Flakeguard Summary

Ran new or updated tests between develop and c04d8ff (vault-don2don).

View Flaky Detector Details | Compare Changes

Found Flaky Tests ❌

3 Results
Name Pass Ratio Panicked? Timed Out? Race? Runs Successes Failures Skips Package Package Panicked? Avg Duration Code Owners
TestEngine_WASMBinary_Simple 0% false false false 3 0 3 0 github.com/smartcontractkit/chainlink/v2/core/services/workflows/v2 false 3.89s @smartcontractkit/keystone
TestEngine_WASMBinary_With_Config 0% false false false 3 0 3 0 github.com/smartcontractkit/chainlink/v2/core/services/workflows/v2 false 90ms @smartcontractkit/keystone
TestSecretsFetcher_Integration 0% false false false 3 0 3 0 github.com/smartcontractkit/chainlink/v2/core/services/workflows/v2 false 90ms @smartcontractkit/keystone

Artifacts

For detailed logs of the failed tests, please refer to the artifact failed-test-results-with-logs.json.

@jmank88
Copy link
Contributor

jmank88 commented Jul 10, 2025

Please link dependent PRs to one another from their descriptions:

This was hard to find, and the breaking signature change is blocking others from bumping common.

DeividasK
DeividasK previously approved these changes Jul 10, 2025
@cl-sonarqube-production
Copy link

@DeividasK DeividasK added this pull request to the merge queue Jul 10, 2025
Merged via the queue into develop with commit 9af582e Jul 10, 2025
188 of 189 checks passed
@DeividasK DeividasK deleted the vault-don2don branch July 10, 2025 16:26
cawthorne pushed a commit that referenced this pull request Jul 23, 2025
* SecretsFetcher support for fetching public keys of all Nodes in a DON

* Logic update for DON members

* add new mock file

* fix unittest

* Changeset and lint

* Integration Test support

* Lint Errors

* nit var rename and formatting

* mockery fix

* Add a tag to changeset

* review feedback

* chore(multi): bumps chainlink-common

* fix(capabilities/fakes): updates use of consensus capability

* fix: re-bump common

* Refactor to get all nodes in a don from capability registry

* test fixes

* test fix

* chore: re-bump common

* fix(capabilities/fakes): modify report request

* lint

* fix: make generate

* get latest chainlink-common change

* Pull breaking change fix from another PR(18558) to unblock test failures

* chore: bump cre-sdk-go

* chore: bump sdk

* bump chainlink-common to latest commit on branch

---------

Co-authored-by: Michael Street <5597260+MStreet3@users.noreply.github.com>
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.

6 participants