From 1ff3d1de350dcc4477293593b21b104126d2ac5b Mon Sep 17 00:00:00 2001 From: aryan Date: Thu, 19 Dec 2024 05:38:00 +0530 Subject: [PATCH] feat: by ticker name --- src/langchain/index.ts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/langchain/index.ts b/src/langchain/index.ts index fb4f94a..82ff1d7 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -603,6 +603,36 @@ export class SolanaTokenDataTool extends Tool { } } +export class SolanaTokenDataByTickerTool extends Tool { + name = "solana_token_data_by_ticker"; + description = `Get the token data for a given token ticker + + Inputs: ticker is required. + ticker: string, eg "USDC" (required)`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + console.log(input); + const ticker = input.trim(); + const tokenData = await this.solanaKit.getTokenDataByTicker(ticker); + return JSON.stringify({ + status: "success", + tokenData: tokenData, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} + export function createSolanaTools(solanaKit: SolanaAgentKit) { return [ new SolanaBalanceTool(solanaKit), @@ -619,5 +649,6 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaLendAssetTool(solanaKit), new SolanaTPSCalculatorTool(solanaKit), new SolanaTokenDataTool(solanaKit), + new SolanaTokenDataByTickerTool(solanaKit), ]; }