UNPKG

@bitte-ai/agent-sdk

Version:

Agent SDK for Bitte Protocol

33 lines (32 loc) 1.28 kB
import { Account, providers } from "near-api-js"; export async function getBalance({ accountId, rpcUrl, }) { const provider = new providers.JsonRpcProvider({ url: rpcUrl || "https://rpc.mainnet.near.org", }); const account = new Account(accountId, provider); const { balance } = await account.getState(); return balance.available; } export async function ftBalance({ contractId, accountId, rpcUrl, }) { const provider = new providers.JsonRpcProvider({ url: rpcUrl || "https://rpc.mainnet.near.org", }); const result = await provider.callFunction(contractId, "ft_balance_of", { account_id: accountId }); if (!result) { throw new Error(`Could not read ftBalance of ${accountId} for ${contractId}`); } return result; } export async function ftStorageBalance({ contractId, accountId, rpcUrl, }) { const provider = new providers.JsonRpcProvider({ url: rpcUrl || "https://rpc.mainnet.near.org", }); try { const result = await provider.callFunction(contractId, "storage_balance_of", { account_id: accountId }); return result || null; } catch (err) { console.warn(`Could not read ftBalance of ${accountId} for ${contractId}: ${err.message}`); return null; } }