From 322c84f774e668f043b7c53710b1dd1cf1e8b3c4 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 20 Mar 2026 10:42:44 +0000 Subject: [PATCH] fix: preserve falsy values (0, false) in getTokens, getChains, getTools params The cleanup loop was deleting params where !params[key] was truthy. Since 0 and false are falsy in JS, passing minPriceUSD: 0 or extended: false resulted in those params being stripped before the API call. This caused the API to apply server-side defaults (e.g., minPriceUSD: 0.0001), returning fewer tokens than expected. For example, PEPE on Arbitrum was missing from getTokens() results despite being tradeable on Jumper Exchange. Fix: Replace !params[key] with params[key] === undefined || params[key] === null https://claude.ai/code/session_018MDKDF3K5YHTdcVDnD5iqS --- packages/sdk/src/actions/getChains.ts | 3 ++- packages/sdk/src/actions/getTokens.ts | 3 ++- packages/sdk/src/actions/getTools.ts | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/sdk/src/actions/getChains.ts b/packages/sdk/src/actions/getChains.ts index 70890775..c656b30f 100644 --- a/packages/sdk/src/actions/getChains.ts +++ b/packages/sdk/src/actions/getChains.ts @@ -31,7 +31,8 @@ export const _getChains = async ( ): Promise => { if (params) { for (const key of Object.keys(params)) { - if (!params[key as keyof ChainsRequest]) { + const value = params[key as keyof ChainsRequest] + if (value === undefined || value === null) { delete params[key as keyof ChainsRequest] } } diff --git a/packages/sdk/src/actions/getTokens.ts b/packages/sdk/src/actions/getTokens.ts index fd14d578..39d953a1 100644 --- a/packages/sdk/src/actions/getTokens.ts +++ b/packages/sdk/src/actions/getTokens.ts @@ -32,7 +32,8 @@ export async function getTokens( ): Promise { if (params) { for (const key of Object.keys(params)) { - if (!params[key as keyof TokensRequest]) { + const value = params[key as keyof TokensRequest] + if (value === undefined || value === null) { delete params[key as keyof TokensRequest] } } diff --git a/packages/sdk/src/actions/getTools.ts b/packages/sdk/src/actions/getTools.ts index 6995caaf..8c61eaef 100644 --- a/packages/sdk/src/actions/getTools.ts +++ b/packages/sdk/src/actions/getTools.ts @@ -16,7 +16,8 @@ export const getTools = async ( ): Promise => { if (params) { for (const key of Object.keys(params)) { - if (!params[key as keyof ToolsRequest]) { + const value = params[key as keyof ToolsRequest] + if (value === undefined || value === null) { delete params[key as keyof ToolsRequest] } }