Skip to content

Add Solana support to sandbox #19

@0xMillz

Description

@0xMillz

Overview

Add Solana support to the sandbox developer tools and chain list. The KeepKey HD wallet already supports Solana (solanaGetAddress, solanaSignTx) in packages/hdwallet-keepkey, but the sandbox UI does not expose it. Users cannot currently test Solana address derivation or transaction signing via the sandbox.

References and additional details

Wallet support (already implemented):

  • packages/hdwallet-core/src/solana.ts — Solana interfaces (SolanaGetAddress, SolanaSignTx, etc.)
  • packages/hdwallet-keepkey/src/solana.tssolanaGetAddress(), solanaSignTx(), derivation path m/44'/501'/account'/0'

Sandbox files to update:

  1. examples/sandbox/chains.ts — Add Solana to CHAIN_CONFIGS (CAIP-2: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501, architecture: Other or new Solana type)
  2. examples/sandbox/developerTools.ts — Add SOLANA_TOOLS with Get Address and Sign Transaction tools (pattern: wallet.solanaGetAddress(), wallet.solanaSignTx())
  3. examples/sandbox/index.ts — Import SOLANA_TOOLS, call initializeToolPanels('solana-tools-container', SOLANA_TOOLS)
  4. examples/sandbox/index.html — Add Solana tab/panel in the developer tools UI

Solana API usage:

  • Get Address: wallet.solanaGetAddress({ addressNList, showDisplay? }) => Promise<string>
  • Sign Tx: wallet.solanaSignTx({ addressNList, rawTx: Uint8Array | hex | base64 }) => Promise<{ signature }>

Acceptance Criteria

  • Solana appears in the sandbox chain list / developer tools
  • Get Address tool works for Solana (derivation path m/44'/501'/0'/0' or similar)
  • Sign Transaction tool supports Solana (raw transaction hex or base64 input)
  • Show on Device option for Get Address (consistent with other chains)
  • Sandbox build and dev server run without errors

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions