Tier: M (2-4 days) | Type: feature
Context. PR #149 unified scanning across chains, but signing still requires per-chain wallet plumbing (Freighter for Stellar, viem for EVM, @solana/wallet-adapter for Solana). Apps that hold funds on more than one chain rebuild the same adapter shim every time. src/chains/stellar/signer.ts already defines the pattern for Stellar (StellarStealthSigner, FreighterStealthSigner, WebAuthnPasskeyStealthSigner); Wave 8 lifts that pattern into a cross-chain WalletAdapter union so one registry can drive signing across every supported chain.
Scope.
WalletAdapter per-chain interface with signMessage, getAddress, chain.
- Reference adapters: Freighter, viem,
@solana/wallet-adapter (feature-detected, not required deps).
- New
deriveStealthKeysFromWallet(adapter) router (net-new symbol) picks the correct per-chain derivation.
- Example:
examples/multichain-scan/ extended to sign across two chains from one adapter registry.
Acceptance.
Files. src/wallet/adapter.ts (new), src/wallet/adapters/{freighter,viem,solana}.ts (new), src/chains/stellar/signer.ts, examples/multichain-scan/.
Tier: M (2-4 days) | Type: feature
Context. PR #149 unified scanning across chains, but signing still requires per-chain wallet plumbing (Freighter for Stellar, viem for EVM,
@solana/wallet-adapterfor Solana). Apps that hold funds on more than one chain rebuild the same adapter shim every time.src/chains/stellar/signer.tsalready defines the pattern for Stellar (StellarStealthSigner,FreighterStealthSigner,WebAuthnPasskeyStealthSigner); Wave 8 lifts that pattern into a cross-chainWalletAdapterunion so one registry can drive signing across every supported chain.Scope.
WalletAdapterper-chain interface withsignMessage,getAddress,chain.@solana/wallet-adapter(feature-detected, not required deps).deriveStealthKeysFromWallet(adapter)router (net-new symbol) picks the correct per-chain derivation.examples/multichain-scan/extended to sign across two chains from one adapter registry.Acceptance.
src/index.tsFiles.
src/wallet/adapter.ts(new),src/wallet/adapters/{freighter,viem,solana}.ts(new),src/chains/stellar/signer.ts,examples/multichain-scan/.