From dc4d93d41c9e89918b09ddbe63342e2b3a4b0a16 Mon Sep 17 00:00:00 2001 From: realdealshaman Date: Tue, 10 Sep 2024 16:30:16 +0100 Subject: [PATCH] add sui circulating supply --- .../peggedAssets/agora-dollar/index.ts | 64 +++++++++++++++---- 1 file changed, 52 insertions(+), 12 deletions(-) diff --git a/src/adapters/peggedAssets/agora-dollar/index.ts b/src/adapters/peggedAssets/agora-dollar/index.ts index 66059e42..f1605c6a 100644 --- a/src/adapters/peggedAssets/agora-dollar/index.ts +++ b/src/adapters/peggedAssets/agora-dollar/index.ts @@ -1,12 +1,52 @@ -const chainContracts = { - avax: { - issued: ["0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a"], - }, - ethereum: { - issued: ["0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a"], - }, - } - - import { addChainExports } from "../helper/getSupply"; - const adapter = addChainExports(chainContracts); - export default adapter; \ No newline at end of file +import { sumSingleBalance } from "../helper/generalUtil"; +import { Balances, PeggedIssuanceAdapter, ChainContracts } from "../peggedAsset.type"; +import * as sui from "../helper/sui"; +import { addChainExports } from "../helper/getSupply"; + + +async function suiMinted(): Promise { + let balances = {} as Balances; + const supply = await sui.getTokenSupply( + "0x2053d08c1e2bd02791056171aab0fd12bd7cd7efad2ab8f6b9c8902f14df2ff2::ausd::AUSD" + ); + sumSingleBalance(balances, "peggedUSD", supply, 'issued', false); + return balances; +} + +async function suiUnreleased(): Promise { + let balances = {} as Balances; + const { fields: unreleasedFields } = await sui.getObject( + "0x916294b841355104e01f68d3f6afba32942a4a0d5c350e64228b48d5069cfd8a" + ); + const unreleasedAmount = unreleasedFields.balance; + + sumSingleBalance( + balances, + "peggedUSD", + unreleasedAmount / 10 ** 6, + undefined, + true + ); + + return balances; +} + +const chainContracts: ChainContracts = { + avax: { + issued: ["0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a"], + }, + ethereum: { + issued: ["0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a"], + }, +}; + + +const adapter: PeggedIssuanceAdapter = { + ...addChainExports(chainContracts), + sui: { + minted: suiMinted, + unreleased: suiUnreleased, + }, +}; + +export default adapter;