Skip to content

feat: implement external signing - phase 1#199

Merged
pranishnepal merged 1 commit intomasterfrom
WCN-397/implementation
May 8, 2026
Merged

feat: implement external signing - phase 1#199
pranishnepal merged 1 commit intomasterfrom
WCN-397/implementation

Conversation

@pranishnepal
Copy link
Copy Markdown
Contributor

@pranishnepal pranishnepal commented May 7, 2026

What

This PR implements the first phase of the external signing feature, which includes the following changes:

  • AWM delegates the key generation and signing to Key Provider Client for supported coins, upon enablement of env var
  • Introduced new types for the APIs, Request and Response

Ticket: WCN-397

Testing

  • Unit Tests
  • E2E Test: Implemented a mocked signing api - see linear comment here

Notes

This is phase 1 - there will still be enhancements to this work - especially around UTXO signing.

@linear-code
Copy link
Copy Markdown

linear-code Bot commented May 7, 2026

@pranishnepal pranishnepal force-pushed the WCN-397/implementation branch from af58283 to 7cfd5d6 Compare May 7, 2026 12:48
This commit implements the first phase of the external signing feature,
which includes the following changes:
- AWM delegates the key generation and signing to Key Provider Client
- Introduced new types for the APIs, Request and Response

Ticket: WCN-397
@pranishnepal pranishnepal force-pushed the WCN-397/implementation branch from 7cfd5d6 to dcee4fc Compare May 7, 2026 12:58
@pranishnepal pranishnepal marked this pull request as ready for review May 7, 2026 15:56
@pranishnepal pranishnepal requested a review from a team as a code owner May 7, 2026 15:56
@pranishnepal pranishnepal requested a review from mrdanish26 May 7, 2026 15:56
import { DklsTypes, DklsUtils } from '@bitgo-beta/sdk-lib-mpc';

describe('recoveryMpcV2', async () => {
describe('recoveryMpcV2', () => {
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bug - describe shouldn't use async

Comment thread README.md
| ------------------------------ | ---------------------------------- | ------- | -------- |
| `ADVANCED_WALLET_MANAGER_PORT` | Port to listen on | `3080` | ❌ |
| `KEY_PROVIDER_URL` | URL to your key provider API implementation | - | ✅ |
| `SIGNING_MODE` | Signing mode (`local` or `external`). Use `external` to delegate key generation and signing to your key provider — the private key never leaves the HSM. | `local` | ❌ |
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

un-committing this for now while still in dev

@pranishnepal pranishnepal merged commit fda6f15 into master May 8, 2026
20 checks passed
@pranishnepal pranishnepal deleted the WCN-397/implementation branch May 8, 2026 20:20
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.

2 participants