Skip to content

feat: optional signing providers - #2295

Merged
pawelstepien-da merged 89 commits into
mainfrom
pawel/optional-signing-providers
Oct 15, 2026
Merged

pawelstepien-da merged 89 commits into
mainfrom
pawel/optional-signing-providers

Conversation

@pawelstepien-da

@pawelstepien-da pawelstepien-da commented Aug 18, 2026 •

Copy link
Copy Markdown
Contributor

.

Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
…to register

Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
@pawelstepien-da pawelstepien-da changed the title task: optional signing providers feat: optional signing providers Aug 18, 2026
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
…tional-signing-providers

Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
…tional-signing-providers

Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>

# Conflicts:
#	wallet-gateway/remote/src/user-api/rpc-gen/index.ts
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
@pawelstepien-da pawelstepien-da linked an issue Aug 19, 2026 that may be closed by this pull request
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
@pawelstepien-da pawelstepien-da linked an issue Aug 19, 2026 that may be closed by this pull request
@pawelstepien-da
pawelstepien-da marked this pull request as ready for review August 19, 2026 09:35
@pawelstepien-da
pawelstepien-da requested a review from a team as a code owner August 19, 2026 09:35
Comment thread wallet-gateway/remote/src/index.ts Outdated
Comment thread docs/wallet-gateway/signing-providers/index.md Outdated
…ith deprecation warning

Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Comment thread docs/wallet-gateway/operate/signing-providers.md Outdated
@pawelstepien-da
pawelstepien-da marked this pull request as ready for review October 8, 2026 11:05
…g-providers

Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
…g-providers

Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>

# Conflicts:
#	wallet-gateway/remote/src/user-api/controller.test.ts
Comment thread core/signing-dfns/README.md
Comment thread core/wallet-user-rpc-client/src/openrpc.json
Comment thread wallet-gateway/remote/src/config/Config.ts Outdated
Comment thread wallet-gateway/remote/src/example-config.ts Outdated
Comment thread wallet-gateway/remote/src/signing-providers-registration.ts

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The generated input schema rejects accepted defaulted configuration, and Blockdaemon CAIP-2 values lack required validation.

4 open findings
What changed in this PR

Adds configurable, optional signing providers and exposes available providers to the wallet UI.

Changes:

  • Introduces explicit provider registration with legacy environment-variable fallback.
  • Adds listSigningProviders RPC support and provider-aware form states.
  • Updates tests, configuration schema, examples, and provider documentation.
File Description
wallet-gateway/​remote/​src/​web/​frontend/​parties/​edit/​index.ts Passes provider loading state to edit form.
wallet-gateway/​remote/​src/​web/​frontend/​parties/​edit/​index.test.ts Updates edit-form RPC mocks.
wallet-gateway/​remote/​src/​web/​frontend/​parties/​common.ts Loads available providers dynamically.
wallet-gateway/​remote/​src/​web/​frontend/​parties/​add/​index.ts Passes provider loading state to create form.
wallet-gateway/​remote/​src/​web/​frontend/​parties/​add/​index.test.ts Tests provider loading and selection.
wallet-gateway/​remote/​src/​web/​frontend/​login/​login.test.ts Documents intentional invalid test input.
wallet-gateway/​remote/​src/​user-api/​rpc-gen/​typings.ts Adds generated provider-list types.
wallet-gateway/​remote/​src/​user-api/​rpc-gen/​index.ts Registers generated provider-list method.
wallet-gateway/​remote/​src/​user-api/​controller.ts Implements provider listing.
wallet-gateway/​remote/​src/​user-api/​controller.test.ts Tests provider listing.
wallet-gateway/​remote/​src/​signing-providers-registration.ts Centralizes configurable driver registration.
wallet-gateway/​remote/​src/​signing-providers-registration.test.ts Covers legacy and explicit registration.
wallet-gateway/​remote/​src/​init.ts Uses optional stores and provider registration.
wallet-gateway/​remote/​src/​index.ts Adjusts schema and signing CLI handling.
wallet-gateway/​remote/​src/​example-config.ts Demonstrates provider configuration.
wallet-gateway/​remote/​src/​env.ts Removes provider-specific environment helpers.
wallet-gateway/​remote/​src/​config/​ConfigUtils.ts Resolves optional signing stores.
wallet-gateway/​remote/​src/​config/​Config.ts Defines optional provider configuration.
wallet-gateway/​remote/​src/​config/​Config.test.ts Tests optional configuration.
wallet-gateway/​remote/​README.md Documents provider configuration.
wallet-gateway/​extension/​entrypoints/​background/​user/​rpc-gen/​typings.ts Adds extension RPC types.
wallet-gateway/​extension/​entrypoints/​background/​user/​rpc-gen/​index.ts Registers extension RPC method.
wallet-gateway/​extension/​entrypoints/​background/​user/​controller.ts Lists extension signing drivers.
docs/​wallet-gateway/​operate/​signing-providers.md Documents explicit provider setup.
docs/​wallet-gateway/​operate/​deploy.md Updates deployment secret guidance.
docs/​wallet-gateway/​operate/​configure.md Adds provider configuration section.
docs/​wallet-gateway/​configuration/​schema.md Regenerates the configuration schema.
core/​wallet-user-rpc-client/​src/​openrpc.json Adds provider-list RPC specification.
core/​wallet-user-rpc-client/​src/​index.ts Adds generated client types.
core/​wallet-ui-components/​src/​components/​wallet-form.ts Adds shared provider loading state.
core/​wallet-ui-components/​src/​components/​wallet-edit-form.ts Handles unavailable/loading providers.
core/​wallet-ui-components/​src/​components/​wallet-create-form.ts Prevents submission without providers.
core/​wallet-ui-components/​src/​components/​wallet-create-form.test.ts Tests loading-state behavior.
core/​signing-securosys/​README.md Documents explicit Securosys configuration.
core/​signing-dfns/​README.md Documents explicit Dfns configuration.
core/​signing-blockdaemon/​README.md Documents explicit Blockdaemon configuration.
core/​signing-bitgo/​src/​bitgo.ts Updates BitGo configuration error guidance.
core/​signing-bitgo/​README.md Documents explicit BitGo configuration.
api-specs/​openrpc-user-api.json Adds canonical provider-list RPC definition.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread wallet-gateway/remote/src/config/Config.ts Outdated
Comment thread wallet-gateway/remote/src/index.ts
Comment thread docs/wallet-gateway/operate/configure.md Outdated
Comment thread docs/wallet-gateway/operate/signing-providers.md
@pascalhonegger-da

Copy link
Copy Markdown
Contributor

We should rerun generate:all to make sure nothing changes

Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
…ect actual rules

Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
…SOMETHING> and dummy values

Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>
…g-providers

Signed-off-by: Pawel Stepien <pawel.stepien@digitalasset.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

Self-issued onboarding still requires Wallet Kernel even when the new configuration disables it.

1 open finding
4 resolved since last review

🧠 Review effort: Balanced

Comment thread wallet-gateway/remote/src/signing-providers-registration.ts
@pawelstepien-da
pawelstepien-da merged commit f0dc485 into main Oct 15, 2026
33 checks passed
@pawelstepien-da
pawelstepien-da deleted the pawel/optional-signing-providers branch October 15, 2026 12:54
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.

Make signing store optional Make all signing drivers optional via environment variables

5 participants