diff --git a/packages/client-auto/src/index.ts b/packages/client-auto/src/index.ts index a7f0164e6d6..2e194d1c9af 100644 --- a/packages/client-auto/src/index.ts +++ b/packages/client-auto/src/index.ts @@ -3,17 +3,24 @@ import { TrustScoreManager } from "@ai16z/plugin-solana/src/providers/trustScore import { TokenProvider } from "@ai16z/plugin-solana/src/providers/token.ts"; import { WalletProvider } from "@ai16z/plugin-solana/src/providers/wallet.ts"; import { TrustScoreDatabase } from "@ai16z/plugin-solana/src/adapters/trustScoreDatabase.ts"; +import { Connection, PublicKey } from "@solana/web3.js"; export class AutoClient { interval: NodeJS.Timeout; runtime: IAgentRuntime; trustScoreProvider: TrustScoreManager; + walletProvider: WalletProvider; constructor(runtime: IAgentRuntime) { this.runtime = runtime; const trustScoreDb = new TrustScoreDatabase(runtime.databaseAdapter.db); this.trustScoreProvider = new TrustScoreManager(null, trustScoreDb); + this.walletProvider = new WalletProvider( + new Connection(runtime.getSetting("RPC_URL")), + new PublicKey(runtime.getSetting("WALLET_PUBLIC_KEY")) + ); + // start a loop that runs every x seconds this.interval = setInterval( async () => { @@ -41,6 +48,18 @@ export class AutoClient { ); // get information for all tokens which were recommended + const tokenInfos = highTrustRecommendations.map( + async (highTrustRecommendation) => { + const tokenProvider = new TokenProvider( + highTrustRecommendation.tokenAddress, + this.walletProvider + ); + const tokenInfo = await tokenProvider.getProcessedTokenData(); + const shouldTrade = await tokenProvider.shouldTradeToken(); + return { tokenInfo, shouldTrade }; + } + ); + // get any additional information we might need // make sure we're looking at the right tokens and data diff --git a/packages/plugin-solana/src/evaluators/trust.ts b/packages/plugin-solana/src/evaluators/trust.ts index 4bfb4a28c01..7ddee83b3e0 100644 --- a/packages/plugin-solana/src/evaluators/trust.ts +++ b/packages/plugin-solana/src/evaluators/trust.ts @@ -233,7 +233,7 @@ async function handler(runtime: IAgentRuntime, message: Memory) { } // TODO: is this is a buy, sell, dont buy, or dont sell? - const shouldTrade = await this.tokenProvider.shouldTrade(); + const shouldTrade = await this.tokenProvider.shouldTradeToken(); if (!shouldTrade) { console.warn(