From 2a0a2806b2dd09de225b73b99f6ac3ba382bf00d Mon Sep 17 00:00:00 2001 From: Christopher Gerber Date: Thu, 30 Jan 2025 23:23:34 -0800 Subject: [PATCH 1/4] adding eth balance to wallet details action --- .../src/action_providers/wallet/walletActionProvider.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cdp-agentkit-core/typescript/src/action_providers/wallet/walletActionProvider.ts b/cdp-agentkit-core/typescript/src/action_providers/wallet/walletActionProvider.ts index 075da526d..3ceb45521 100644 --- a/cdp-agentkit-core/typescript/src/action_providers/wallet/walletActionProvider.ts +++ b/cdp-agentkit-core/typescript/src/action_providers/wallet/walletActionProvider.ts @@ -1,3 +1,4 @@ +import { Decimal } from "decimal.js"; import { z } from "zod"; import { ActionProvider } from "../action_provider"; import { WalletProvider } from "../../wallet_providers/wallet_provider"; @@ -34,6 +35,7 @@ export class WalletActionProvider extends ActionProvider { This tool will return the details of the connected wallet including: - Wallet address - Network information (protocol family, network ID, chain ID) + - ETH token balance - Native token balance - Wallet provider name `, @@ -49,6 +51,9 @@ export class WalletActionProvider extends ActionProvider { const balance = await walletProvider.getBalance(); const name = walletProvider.getName(); + // Convert balance from Wei to ETH using Decimal for precision + const ethBalance = new Decimal(balance.toString()).div(new Decimal(10).pow(18)); + return `Wallet Details: - Provider: ${name} - Address: ${address} @@ -56,6 +61,7 @@ export class WalletActionProvider extends ActionProvider { * Protocol Family: ${network.protocolFamily} * Network ID: ${network.networkId || "N/A"} * Chain ID: ${network.chainId || "N/A"} +- ETH Balance: ${ethBalance.toFixed(6)} ETH - Native Balance: ${balance.toString()}`; } catch (error) { return `Error getting wallet details: ${error}`; From e759f9e0c7e32bbd68814153700348b8d0e7bf4a Mon Sep 17 00:00:00 2001 From: Christopher Gerber Date: Fri, 31 Jan 2025 00:05:21 -0800 Subject: [PATCH 2/4] test --- .../src/action_providers/wallet/walletActionProvider.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/cdp-agentkit-core/typescript/src/action_providers/wallet/walletActionProvider.test.ts b/cdp-agentkit-core/typescript/src/action_providers/wallet/walletActionProvider.test.ts index 495706c71..52a9d82b9 100644 --- a/cdp-agentkit-core/typescript/src/action_providers/wallet/walletActionProvider.test.ts +++ b/cdp-agentkit-core/typescript/src/action_providers/wallet/walletActionProvider.test.ts @@ -39,6 +39,7 @@ describe("Wallet Action Provider", () => { * Protocol Family: ${MOCK_NETWORK.protocolFamily} * Network ID: ${MOCK_NETWORK.networkId} * Chain ID: ${MOCK_NETWORK.chainId} +- ETH Balance: 1.000000 ETH - Native Balance: ${MOCK_BALANCE.toString()}`; expect(response).toBe(expectedResponse); From 2d31615177c62056473c5318eb8649cfae1fba5d Mon Sep 17 00:00:00 2001 From: Christopher Gerber Date: Fri, 31 Jan 2025 09:35:49 -0800 Subject: [PATCH 3/4] noting wei --- .../src/action_providers/wallet/walletActionProvider.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cdp-agentkit-core/typescript/src/action_providers/wallet/walletActionProvider.ts b/cdp-agentkit-core/typescript/src/action_providers/wallet/walletActionProvider.ts index 3ceb45521..c4df94f6e 100644 --- a/cdp-agentkit-core/typescript/src/action_providers/wallet/walletActionProvider.ts +++ b/cdp-agentkit-core/typescript/src/action_providers/wallet/walletActionProvider.ts @@ -62,7 +62,7 @@ export class WalletActionProvider extends ActionProvider { * Network ID: ${network.networkId || "N/A"} * Chain ID: ${network.chainId || "N/A"} - ETH Balance: ${ethBalance.toFixed(6)} ETH -- Native Balance: ${balance.toString()}`; +- Native Balance: ${balance.toString()} WEI`; } catch (error) { return `Error getting wallet details: ${error}`; } From 4378470da41d6f5db4424f4e4b5094905b76060c Mon Sep 17 00:00:00 2001 From: Christopher Gerber Date: Fri, 31 Jan 2025 09:39:15 -0800 Subject: [PATCH 4/4] tests --- .../src/action_providers/wallet/walletActionProvider.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cdp-agentkit-core/typescript/src/action_providers/wallet/walletActionProvider.test.ts b/cdp-agentkit-core/typescript/src/action_providers/wallet/walletActionProvider.test.ts index 52a9d82b9..84aa95f19 100644 --- a/cdp-agentkit-core/typescript/src/action_providers/wallet/walletActionProvider.test.ts +++ b/cdp-agentkit-core/typescript/src/action_providers/wallet/walletActionProvider.test.ts @@ -40,7 +40,7 @@ describe("Wallet Action Provider", () => { * Network ID: ${MOCK_NETWORK.networkId} * Chain ID: ${MOCK_NETWORK.chainId} - ETH Balance: 1.000000 ETH -- Native Balance: ${MOCK_BALANCE.toString()}`; +- Native Balance: ${MOCK_BALANCE.toString()} WEI`; expect(response).toBe(expectedResponse); });