import { PermissionlessClient, SolanaChainEnum } from "../../src"; import { DepositMode } from "../../src/types/metadata"; import dotenv from "dotenv"; import { BN } from "@coral-xyz/anchor"; dotenv.config(); function formatPrice(price: BN, decimals: BN): string { // Show full decimal value (e.g. 1.234567) const integerPart = price.div(decimals).toString(); const fractionalPart = price .mod(decimals) .toString() .padStart(decimals.toString().length - 1, "0"); // Remove trailing zeros from fractional part, but keep at least one zero if all are zero const trimmedFractional = fractionalPart.replace(/0+$/, "") || "0"; return `${integerPart}.${trimmedFractional}`; } async function main() { const client = new PermissionlessClient( process.env.RPC_URL!, SolanaChainEnum.DEVNET, ); const price = await client.getModeTokenPrice(DepositMode.CLASSIC); const decimalsFactor = new BN(10).pow(new BN(6)); console.log(formatPrice(price, decimalsFactor)); } main();