Skip to content

✨ (clear-sign-tester) [DSDK-1066]: Add solana signer to clear sign tester#1379

Open
fAnselmi-Ledger wants to merge 13 commits intodevelopfrom
feat/dsdk-1066-add-solana-signer-to-clear-sign-tester
Open

✨ (clear-sign-tester) [DSDK-1066]: Add solana signer to clear sign tester#1379
fAnselmi-Ledger wants to merge 13 commits intodevelopfrom
feat/dsdk-1066-add-solana-signer-to-clear-sign-tester

Conversation

@fAnselmi-Ledger
Copy link
Copy Markdown
Contributor

@fAnselmi-Ledger fAnselmi-Ledger commented Mar 23, 2026

📝 Add solana signer to clear sign tester

  • Add Solana clear-signing support to the tester: fixture-based tests (system transfers, SPL, token-2022, stake) and program-level tests that fetch real transactions from mainnet RPC
  • Extract a shared reusable workflow (cs-tester-reusable.yml) to deduplicate CI across ETH and Solana in both PR and nightly pipelines
  • Rename package from @ledgerhq/ethereum-clear-signing-tester to @ledgerhq/clear-signing-tester

❓ Context

  • JIRA or GitHub link:
  • Feature:

✅ Checklist

Pull Requests must pass CI checks and undergo code review. Set the PR as Draft if it is not yet ready for review.

  • Covered by automatic tests
  • Changeset is provided
  • Documentation is up-to-date
  • Impact of the changes:
    • list of the changes

🧐 Checklist for the PR Reviewers

  • The code aligns with the requirements described in the linked JIRA or GitHub issue.
  • The PR description clearly documents the changes made and explains any technical trade-offs or design decisions.
  • There are no undocumented trade-offs, technical debt, or maintainability issues.
  • The PR has been tested thoroughly, and any potential edge cases have been considered and handled.
  • Any new dependencies have been justified and documented.

Copilot AI review requested due to automatic review settings March 23, 2026 13:48
@fAnselmi-Ledger fAnselmi-Ledger requested a review from a team as a code owner March 23, 2026 13:48
@fAnselmi-Ledger fAnselmi-Ledger added the WIP The PR is Working In Progress. label Mar 23, 2026
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 23, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
device-sdk-ts-sample Ready Ready Preview, Comment Mar 27, 2026 5:00pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
doc-device-management-kit Ignored Ignored Mar 27, 2026 5:00pm

Request Review

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 23, 2026

Danger Check Results

Messages

⚠️

No changeset file found. Please make sure this is intended or add a changeset file.

Danger: All checks passed successfully! 🎉

Generated by 🚫 dangerJS against 8088248

Copy link
Copy Markdown
Contributor

Copilot AI left a 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 extends the apps/clear-signing-tester toolchain to support Solana transaction clear-sign testing alongside the existing Ethereum flow, including Solana-specific DI wiring, DMK controller/signing services, a dedicated CLI entrypoint, and CI workflows to run Solana clear-sign tests.

Changes:

  • Added Solana signing + optional transaction “crafting” (payer replacement) services and a Solana DMK service controller.
  • Split DI into shared + chain-specific (Ethereum vs Solana) module factories/containers, and added a Solana CLI + use case.
  • Introduced Vitest configuration/tests for the new services and added PR + nightly GitHub Actions workflows for Solana.

Reviewed changes

Copilot reviewed 25 out of 26 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
pnpm-lock.yaml Adds workspace deps needed for Solana signer/tools and Vitest config.
package.json Adds a root script intended to run Solana clear-sign tester.
apps/clear-signing-tester/vitest.config.mjs New Vitest config for clear-signing-tester tests/coverage and path aliases.
apps/clear-signing-tester/src/infrastructure/services/TransactionCraftingService.ts New wrapper around SolanaTools.craftTransaction.
apps/clear-signing-tester/src/infrastructure/services/TransactionCraftingService.test.ts Unit tests for crafting service behavior.
apps/clear-signing-tester/src/infrastructure/services/SolanaSigningService.ts New Solana SigningService implementation with optional crafting step.
apps/clear-signing-tester/src/infrastructure/services/SolanaSigningService.test.ts Unit tests for Solana signing flow and crafting toggle.
apps/clear-signing-tester/src/infrastructure/service-controllers/SolanaDMKServiceController.ts New DMK controller wiring SignerSolana + SolanaTools.
apps/clear-signing-tester/src/infrastructure/repositories/SpeculosDeviceRepository.ts Awaits SigningService.sign() to support async preprocessing.
apps/clear-signing-tester/src/index.ts Exports the new Solana CLI entry.
apps/clear-signing-tester/src/domain/services/SigningService.ts Allows sign() to return either result or Promise of result.
apps/clear-signing-tester/src/di/types.ts Adds Solana-specific DI symbols (controller, crafting, usecases).
apps/clear-signing-tester/src/di/solanaContainer.ts Switches to shared + solana-specific DI module loading.
apps/clear-signing-tester/src/di/modules/solanaInfrastructureModuleFactory.ts Solana-only infra bindings (signing, interactions, controller list).
apps/clear-signing-tester/src/di/modules/solanaApplicationModuleFactory.ts Solana-only application use case bindings.
apps/clear-signing-tester/src/di/modules/sharedInfrastructureModuleFactory.ts Refactors infra bindings into shared-only pieces.
apps/clear-signing-tester/src/di/modules/ethereumInfrastructureModuleFactory.ts New Ethereum-only infra bindings moved out of shared module.
apps/clear-signing-tester/src/di/modules/ethereumApplicationModuleFactory.ts Renames Ethereum application module factory.
apps/clear-signing-tester/src/di/ethereumContainer.ts New Ethereum DI container composition root.
apps/clear-signing-tester/src/cli/SolanaTransactionTesterCli.ts New Solana CLI composition root + commands.
apps/clear-signing-tester/src/cli/EthereumTransactionTesterCli.ts Updated to use the new Ethereum container factory.
apps/clear-signing-tester/src/application/usecases/TestSolanaTransactionUseCase.ts New use case for running a single Solana transaction test.
apps/clear-signing-tester/ressources/solana/raw-transaction.json Adds sample Solana transactions for batch tests.
apps/clear-signing-tester/package.json Adds Solana CLI script and Solana deps + Vitest test script.
.github/workflows/solana_nightly.yml New nightly Solana clear-signing workflow.
.github/workflows/pull_request.yml Adds Solana change detection + Solana clear-signing tester CI job.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@fAnselmi-Ledger fAnselmi-Ledger force-pushed the feat/dsdk-1066-add-solana-signer-to-clear-sign-tester branch from 2b14519 to 5a83884 Compare March 25, 2026 17:01
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