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.ts — solanaGetAddress(), solanaSignTx(), derivation path m/44'/501'/account'/0'
Sandbox files to update:
examples/sandbox/chains.ts — Add Solana to CHAIN_CONFIGS (CAIP-2: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501, architecture: Other or new Solana type)
examples/sandbox/developerTools.ts — Add SOLANA_TOOLS with Get Address and Sign Transaction tools (pattern: wallet.solanaGetAddress(), wallet.solanaSignTx())
examples/sandbox/index.ts — Import SOLANA_TOOLS, call initializeToolPanels('solana-tools-container', SOLANA_TOOLS)
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
Overview
Add Solana support to the sandbox developer tools and chain list. The KeepKey HD wallet already supports Solana (
solanaGetAddress,solanaSignTx) inpackages/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.ts—solanaGetAddress(),solanaSignTx(), derivation pathm/44'/501'/account'/0'Sandbox files to update:
examples/sandbox/chains.ts— Add Solana toCHAIN_CONFIGS(CAIP-2:solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501, architecture:Otheror newSolanatype)examples/sandbox/developerTools.ts— AddSOLANA_TOOLSwith Get Address and Sign Transaction tools (pattern:wallet.solanaGetAddress(),wallet.solanaSignTx())examples/sandbox/index.ts— ImportSOLANA_TOOLS, callinitializeToolPanels('solana-tools-container', SOLANA_TOOLS)examples/sandbox/index.html— Add Solana tab/panel in the developer tools UISolana API usage:
wallet.solanaGetAddress({ addressNList, showDisplay? }) => Promise<string>wallet.solanaSignTx({ addressNList, rawTx: Uint8Array | hex | base64 }) => Promise<{ signature }>Acceptance Criteria
m/44'/501'/0'/0'or similar)