Skip to content

feat(signer): sync solana-keychain to 1.0.1 and add new signer adapters#416

Merged
dev-jodee merged 2 commits intomainfrom
feat/sync-solana-keychain-1.0.1
Apr 3, 2026
Merged

feat(signer): sync solana-keychain to 1.0.1 and add new signer adapters#416
dev-jodee merged 2 commits intomainfrom
feat/sync-solana-keychain-1.0.1

Conversation

@dev-jodee
Copy link
Copy Markdown
Contributor

@dev-jodee dev-jodee commented Apr 3, 2026

Summary

  • Bump solana-keychain from 0.2.1 to 1.0.1
  • Fix breaking API changes: from_kmsfrom_aws_kms; add http_client_config: None to from_vault, from_privy, from_turnkey, and FireblocksSignerConfig initializer
  • Add five new signer backends: GcpKms, Para, Cdp, Dfns, Crossmint — each with config struct, SignerTypeConfig variant, build function, and validate function

Test Plan

  • cargo check -p kora-lib passes
  • cargo clippy -p kora-lib passes

Open with Devin

📊 Unit Test Coverage

Coverage

Unit Test Coverage: 83.3%

View Detailed Coverage Report

- Bump solana-keychain dependency from 0.2.1 to 1.0.1
- Fix breaking API changes: from_kms → from_aws_kms, add http_client_config: None
  to from_vault, from_privy, from_turnkey, and FireblocksSignerConfig initializer
- Add GcpKms, Para, Cdp, Dfns, and Crossmint signer configs, enum variants,
  build functions, and validate functions
@dev-jodee dev-jodee requested a review from amilz as a code owner April 3, 2026 15:27
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 3, 2026

📊 TypeScript Coverage Report

Coverage: 33.9%

View detailed report

Coverage artifacts have been uploaded to this workflow run.
View Artifacts

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

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

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 3 additional findings.

Open in Devin Review

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 3, 2026

Greptile Summary

This PR bumps solana-keychain from 0.2.1 to 1.0.1, adapts all existing signer builders to the revised API (from_kmsfrom_aws_kms, new http_client_config: None parameter), and wires up five new signer backends: GCP KMS, Para, CDP, Dfns, and Crossmint. The migration of the existing signers looks correct; one validation gap exists in the Crossmint path (see inline comment).

Confidence Score: 5/5

Safe to merge; the single finding is a P2 validation gap that still produces an error at runtime, not a silent data-loss or security issue.

All remaining findings are P2: the signer_secret_env omission in validate_crossmint_config delays an env-var error from config load to signer creation, but the error is still surfaced and the happy path is unaffected. No P0/P1 issues were found.

crates/lib/src/signer/config.rs — specifically validate_crossmint_config

Important Files Changed

Filename Overview
crates/lib/src/signer/config.rs Adds five new signer backends (GcpKms, Para, Cdp, Dfns, Crossmint) and updates existing ones for solana-keychain 1.0.1 API; validate_crossmint_config omits optional signer_secret_env validation, creating a gap vs. the build-time env-var resolution
crates/lib/Cargo.toml Bumps solana-keychain from 0.2.1 to 1.0.1; no other dependency changes
Cargo.lock Lock file updated to reflect new solana-keychain 1.0.1 transitive dependency tree

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[signers.toml] -->|TOML parse| B[SignerPoolConfig]
    B --> C[validate_signer_config]
    C --> D{SignerTypeConfig}

    D -->|Memory| E[build_memory_signer]
    D -->|Turnkey| F[build_turnkey_signer]
    D -->|Privy| G[build_privy_signer]
    D -->|Vault| H[build_vault_signer]
    D -->|AwsKms| I[build_aws_kms_signer]
    D -->|Fireblocks| J[build_fireblocks_signer]
    D -->|GcpKms NEW| K[build_gcp_kms_signer]
    D -->|Para NEW| L[build_para_signer]
    D -->|Cdp NEW| M[build_cdp_signer]
    D -->|Dfns NEW| N[build_dfns_signer]
    D -->|Crossmint NEW| O[build_crossmint_signer]

    E & F & H --> P[solana_keychain::Signer sync]
    G & I & J & K & L & N & O --> Q[solana_keychain::Signer async]
    M --> P

    P & Q --> R[KoraSigner pool]
Loading

Reviews (1): Last reviewed commit: "feat(signer): sync solana-keychain to 1...." | Re-trigger Greptile

@dev-jodee dev-jodee merged commit 887a857 into main Apr 3, 2026
12 checks passed
@dev-jodee dev-jodee deleted the feat/sync-solana-keychain-1.0.1 branch April 3, 2026 16:07
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.

1 participant