-
-
Notifications
You must be signed in to change notification settings - Fork 314
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: synchronize keys between validator client and external signer #6672
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## unstable #6672 +/- ##
============================================
+ Coverage 61.80% 61.87% +0.07%
============================================
Files 556 557 +1
Lines 59103 59200 +97
Branches 1898 1915 +17
============================================
+ Hits 36526 36628 +102
+ Misses 22534 22529 -5
Partials 43 43 |
e3b5466
to
d63adce
Compare
Performance Report✔️ no performance regression detected 🚀🚀 Significant benchmark improvement detected
Full benchmark results
|
@@ -303,15 +304,16 @@ export const validatorOptions: CliCommandOptions<IValidatorCliArgs> = { | |||
type: "boolean", | |||
}, | |||
|
|||
// Remote signer | |||
// External signer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried to make the wording a bit more consistent within the code, and also few logs. We generally use the term "external signer" to describe an external/(remote) server that handles the signing operations for a specific public key. Whereas the term "remote signer" is also used to describe a remote signer in the local validator store.
@@ -303,15 +304,16 @@ export const validatorOptions: CliCommandOptions<IValidatorCliArgs> = { | |||
type: "boolean", | |||
}, | |||
|
|||
// Remote signer | |||
// External signer | |||
|
|||
"externalSigner.url": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could consider supporting multiple external signers in the future, our implementation can easily be adjusted to support this but I think it's better to not include it in this PR. Opened an issue to keep track of it and for further discussion #6679.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
🎉 This PR is included in v1.18.0 🎉 |
Motivation
Description
Adds new service that is responsible for keeping the keys managed by the connected external signer and the validator client in sync by adding newly discovered keys and removing no longer present keys on external signer from the validator store.
Only enabled if
--externalSigner.url
and--externalSigner.fetch
is set.The interval can be configured via
--externalSigner.fetchInterval
flag and is set to once per epoch by default.(see referenced issue for more details)
Closes #6624