From d00a1d3ce3cdddd05b7e3b96cea8835ca433c77a Mon Sep 17 00:00:00 2001 From: gumponchain Date: Wed, 27 May 2026 12:06:22 +0800 Subject: [PATCH] fix(swap): preserve Solana address case when normalizing wallet addresses toLowerCase() breaks base58 Solana addresses which are case-sensitive. Only apply lowercase normalization on EVM chains (bsc/base/eth). Co-Authored-By: Claude Sonnet 4.6 --- src/commands/swap.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/commands/swap.ts b/src/commands/swap.ts index 6662f25..8a7ae32 100644 --- a/src/commands/swap.ts +++ b/src/commands/swap.ts @@ -41,7 +41,7 @@ export function registerSwapCommands(program: Command): void { if (opts.percent != null) validatePercent(opts.percent); const params: SwapParams = { chain: opts.chain, - from_address: opts.from.toLowerCase(), + from_address: opts.chain === "sol" ? opts.from : opts.from.toLowerCase(), input_token: opts.inputToken, output_token: opts.outputToken, input_amount: opts.percent != null ? (opts.amount ?? "0") : opts.amount, @@ -109,7 +109,7 @@ export function registerSwapCommands(program: Command): void { } const params: MultiSwapParams = { chain: opts.chain, - accounts: accounts.map((a: string) => a.toLowerCase()), + accounts: opts.chain === "sol" ? accounts : accounts.map((a: string) => a.toLowerCase()), input_token: opts.inputToken, output_token: opts.outputToken, };