-
Notifications
You must be signed in to change notification settings - Fork 24
Encrypted Signing Requests/Responses #737
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
Encrypted Signing Requests/Responses #737
Conversation
… latest changes from `nucypher-core` can be used.
…e to specify their corresponding UserOperation. Convert `UserOperationToSign` to `nucypher-core`:UserOperation when crafting signature request. Use latest types from Porter for sending signature requests and processing signature response. Add/update tests.
…now includes signer address. Modify Porter response to handle SignatureResponse and not a tuple of signer address and SignatureResponse. Update tests.
…ore object). Add type guard for PackedUserOperationToSign. Add helper methods for converting number values to bigint, and data values to Uint8Array.
…ed signing request/response code.
…or signing to facilitate end-to-end encrypted communication between requester and nodes. Update to use updated Porter inputs and outputs.
Run typechain build of contracts Update CoordinatorAgent to not use isEncryptionAuthorized since no longer available in Coordinator contract Update SigningCoordinatorAgent to properly set signingRequestStaticKey from contract.
bbdb70b to
dee0677
Compare
d38024a to
996be32
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## signing-epic #737 +/- ##
===============================================
Coverage ? 89.74%
===============================================
Files ? 97
Lines ? 8443
Branches ? 291
===============================================
Hits ? 7577
Misses ? 863
Partials ? 3 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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.
Pull Request Overview
This PR updates core dependencies and refactors the signing flow to use encrypted signature requests/responses. Key changes include:
- Upgrades
@nucypher/nucypher-corefrom^0.14.5to^0.15.1-dev.2and@nucypher/nucypher-contractsfrom0.26.0-alpha.1to^0.26.0-alpha.2 - Refactors the signing flow to use encrypted
EncryptedThresholdSignatureRequestandEncryptedThresholdSignatureResponse - Updates
UserOperationtypes toUserOperationToSignwith optional fields and support forPackedUserOperation - Updates contract interfaces to include new signing coordinator methods and handover functionality
Reviewed Changes
Copilot reviewed 22 out of 23 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| pnpm-lock.yaml | Updates dependency versions and resolves peer dependencies |
| packages/*/package.json | Updates version references for nucypher-core and nucypher-contracts |
| packages/shared/src/types.ts | Refactors UserOperation to UserOperationToSign with optional fields and adds PackedUserOperation support |
| packages/taco/src/sign.ts | Refactors signing flow to use encrypted requests/responses with session keys |
| packages/shared/src/porter.ts | Updates Porter client to handle encrypted signature requests/responses |
| packages/taco/test/*.test.ts | Updates tests to use new encrypted signature flow |
| packages/shared/src/contracts/* | Updates contract typings for new coordinator interfaces |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Muhammad-Altabba
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!
manumonti
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! 👍
Co-authored-by: Manuel Montenegro <manuel@nucypher.com>
…ger handles unencrypted responses. Export relevant types from sign module.
aaee222 to
bfb8c7d
Compare
Type of PR:
Required reviews:
What this does:
Depends on:
lynxcontract deployments for signing infrastructure nucypher-contracts#441Implement:
Issues fixed/closed:
Why it's needed:
Notes for reviewers: