Skip to content

feat: implement Solana chain module (#22)#23

Open
syutoutousai wants to merge 1 commit into
kcolbchain:mainfrom
syutoutousai:feat/solana-module
Open

feat: implement Solana chain module (#22)#23
syutoutousai wants to merge 1 commit into
kcolbchain:mainfrom
syutoutousai:feat/solana-module

Conversation

@syutoutousai

Copy link
Copy Markdown

Summary

Implements the Solana chain module as requested in issue #22, adding support for Solana mainnet and devnet.

Changes

  • Feature-gated Support: Added a solana feature flag to minimize dependency bloat. Enabling it adds solana-sdk, solana-client, and spl-token.
  • Core Implementation: Created src/chains/solana.rs providing SolanaConnector for RPC operations and SolanaWallet for keypair management.
  • Operations: Added support for
    • Wallet generation and import from base58
    • Native SOL balance checks and transfers
    • SPL Token transfers
  • Registry Updates: Added Solana and SolanaDevnet variants to the Chain enum with appropriate metadata (RPCs, symbols, explorers).
  • Examples & Docs: Updated examples/multi_chain.rs to demonstrate Solana usage and updated README.md.
  • Testing: Added tests/solana_integration.rs for verifying core functionality against a local validator.

Closes #22

Adds full Solana support behind the solana feature flag:
- New src/chains/solana.rs with SolanaConnector and SolanaWallet
- Support for SOL and SPL token transfers
- Updated Chain enum to include Solana and SolanaDevnet
- Updated README.md and examples/multi_chain.rs
- Added integration tests in tests/solana_integration.rs

Closes kcolbchain#22
@abhicris

abhicris commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Welcome to kcolbchain, @syutoutousai — glad you're here. 🌱

Here's what happens from this PR:

  1. Our automated review looks for obvious issues (tests, secrets, size) within a couple of hours.
  2. If it's clean and CI passes, we merge without back-and-forth.
  3. If we need changes, we'll leave a specific comment — not a generic nit. Push another commit and we re-review.

While you wait:

  • Run the repo's tests locally (see the repo README.md).
  • Keep the PR scoped to one concern — bigger PRs land slower.
  • Don't commit tokens or .env contents.

What happens after your first merge

Thanks for writing the code. We're building this to last.

@abhicris

abhicris commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

🤖 Audit verdict: needs_human

Implementation code is benign and properly gated behind feature flags, but integration tests contain compilation errors that prevent CI from passing.

Risks flagged:

  • Integration test compilation errors: balance(), transfer_sol(), and transfer_spl_token() are synchronous but tests call them with .await, causing test compilation failure

Audited by the kcolbchain PR pipeline. See pipeline docs.

@Pattermesh

Copy link
Copy Markdown
Contributor

Your PR was selected as the winner for the Solana chain module — nice work on the SolanaConnector, wallet support, and SPL token integration!

One blocker before merge: there's an async/sync mismatch in the integration tests — .await is called on sync methods. Could you fix the method signatures (make them async fn) or adjust the test calls? Once that's resolved, we'll merge immediately.

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

L2: Implement Solana chain module

3 participants