✨ (clear-sign-tester) [DSDK-1066]: Add solana signer to clear sign tester#1379
Open
fAnselmi-Ledger wants to merge 13 commits intodevelopfrom
Open
✨ (clear-sign-tester) [DSDK-1066]: Add solana signer to clear sign tester#1379fAnselmi-Ledger wants to merge 13 commits intodevelopfrom
fAnselmi-Ledger wants to merge 13 commits intodevelopfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
Contributor
Contributor
There was a problem hiding this comment.
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.
f3cb520 to
812683e
Compare
812683e to
39e4b2b
Compare
262f6cf to
2b14519
Compare
2b14519 to
5a83884
Compare
c0bcc6d to
6c81066
Compare
9affc9e to
1a93d88
Compare
1a93d88 to
3fd47e2
Compare
3fd47e2 to
8088248
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📝 Add solana signer to clear sign tester
❓ 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