-
Notifications
You must be signed in to change notification settings - Fork 30
feat: introduce signer abstraction for secret key operations #196
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
Merged
gfukushima
merged 12 commits into
Consensys:master
from
Gabriel-Trintinalia:expose-crypto-functions
Jan 18, 2026
Merged
feat: introduce signer abstraction for secret key operations #196
gfukushima
merged 12 commits into
Consensys:master
from
Gabriel-Trintinalia:expose-crypto-functions
Jan 18, 2026
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
All contributors have signed the CLA ✍️ ✅ |
Contributor
Author
|
I have read the CLA Document and I hereby sign the CLA |
Contributor
Author
|
recheck |
gfukushima
approved these changes
Jan 14, 2026
gfukushima
left a comment
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, @StefanBratanov might to want to have a look at this as well
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Description
This pull request is a non-functional refactor that introduces an abstraction for private-key cryptographic operations as part of Besu’s Discovery v5 implementation. No protocol logic or runtime behaviour is changed.
Motivation
The goal is to allow consumers of the discovery library to handle private key operations without exposing the node’s private key to discovery components. Instead of passing a SecretKey throughout the codebase, discovery now depends on a narrow interface that performs only the required cryptographic actions.
Summary of Changes
Note
Introduces a private-key operation abstraction without altering Discovery v5 behavior.
crypto.Signerinterface and in-memoryDefaultSignerbacking SECP256K1SecretKeywithSignerinDiscoverySystemBuilder,DiscoveryManagerImpl,NodeSession/NodeSessionManager, and pipeline handlers (WhoAreYou*,Handshake*)Signer: updates toIdentitySchemaInterpreter/V4,NodeRecord,NodeRecordBuilder,LocalNodeRecordStoreFunctions.hkdfExpandto acceptSignerfor ECDH; update handshake key derivation and ID-signing (HandshakeMessagePacket)DefaultSignerWritten by Cursor Bugbot for commit 05eb79e. This will update automatically on new commits. Configure here.