-
Notifications
You must be signed in to change notification settings - Fork 17
β¨ (btc-signer): Add steps to btc signer device action #1192
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
base: develop
Are you sure you want to change the base?
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
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 adds step tracking to Bitcoin signer device actions, enabling consumers to monitor the progress of multi-step operations. Each device action now includes a step field in its intermediate values alongside the existing requiredUserInteraction field, providing more granular visibility into the state machine's progress.
- Adds step enums and types to three device action type definitions (SignPsbt, SignTransaction, GetWalletAddress)
- Updates device action implementations to set and maintain step values throughout state transitions
- Updates all corresponding test files to assert correct step values in intermediate values
- Includes minor refactoring for consistency (converting object returns to arrow function shorthand, simplifying array wrapping for actions)
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| packages/signer/signer-btc/src/api/app-binder/SignTransactionDeviceActionTypes.ts | Adds signTransactionDAStateSteps enum and includes step field in SignTransactionDAIntermediateValue type |
| packages/signer/signer-btc/src/api/app-binder/SignPsbtDeviceActionTypes.ts | Adds signPsbtDAStateSteps enum and includes step field in SignPsbtDAIntermediateValue type |
| packages/signer/signer-btc/src/api/app-binder/GetWalletAddressDeviceActionTypes.ts | Adds getWalletAddressDAStateSteps enum and includes step field in GetWalletAddressDAIntermediateValue type |
| packages/signer/signer-btc/src/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.ts | Updates state machine to set step values in context initialization and state entry/exit actions; refactors action assignments for consistency |
| packages/signer/signer-btc/src/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.ts | Updates state machine to set step values in context initialization and state entry actions; refactors action assignments and object returns |
| packages/signer/signer-btc/src/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.ts | Updates state machine to set step values in context initialization and state entry actions; refactors action assignments and object returns |
| packages/signer/signer-btc/src/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.ts | Updates test expectations to include step values in all intermediate value assertions |
| packages/signer/signer-btc/src/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.ts | Updates test expectations to include step values in all intermediate value assertions |
| packages/signer/signer-btc/src/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.ts | Updates test expectations to include step values in all intermediate value assertions |
| .changeset/plenty-books-teach.md | Adds changeset for minor version bump documenting the new feature |
π‘ Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
822bef9 to
8e835c9
Compare
8e835c9 to
d2fcaff
Compare
π BTC device action steps
Added steps in BTC signer device action's intermediate values
β Context
β Checklist
Pull Requests must pass CI checks and undergo code review. Set the PR as Draft if it is not yet ready for review.
π§ Checklist for the PR Reviewers