import { getAccount } from "@solana/spl-token"; import { getTestContext } from "./setup"; describe("System Status", () => { it("Display Final System Status", async () => { const ctx = getTestContext(); const { program, connection, registryPda, marketPda, company1Pda, company2Pda, company1EuaVault, company1UsdcVault, company2EuaVault, company2UsdcVault, } = ctx; console.log("\n=== FINAL SYSTEM STATUS ==="); const registry = await program.account.registry.fetch(registryPda); const market = await program.account.marketConfig.fetch(marketPda); const bmw = await program.account.company.fetch(company1Pda); const total = await program.account.company.fetch(company2Pda); const bmwEua = await getAccount(connection, company1EuaVault); const bmwUsdc = await getAccount(connection, company1UsdcVault); const totalEua = await getAccount(connection, company2EuaVault); const totalUsdc = await getAccount(connection, company2UsdcVault); console.log("\nRegistry:"); console.log(` Companies: ${registry.companyCount}`); console.log(` Local Admins: ${registry.localAdminCount}`); console.log("\nMarket:"); console.log(` Total Volume: ${market.totalVolume} EUA`); console.log(` Total Trades: ${market.totalTrades}`); console.log(` Next Order ID: ${market.nextOrderId}`); console.log("\nBMW Manufacturing GmbH:"); console.log(` EUA Balance: ${bmwEua.amount} (${bmw.lockedEuaAmount} locked)`); console.log(` USDC Balance: ${Number(bmwUsdc.amount) / 1_000_000} USDC (${Number(bmw.lockedUsdcAmount) / 1_000_000} locked)`); console.log("\nTotal Energies SA:"); console.log(` EUA Balance: ${totalEua.amount} (${total.lockedEuaAmount} locked)`); console.log(` USDC Balance: ${Number(totalUsdc.amount) / 1_000_000} USDC (${Number(total.lockedUsdcAmount) / 1_000_000} locked)`); }); });