UNPKG

aftermath-ts-sdk

Version:
44 lines (43 loc) 1.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NftAmmApiCasting = void 0; const utils_1 = require("../../../general/utils"); const coin_1 = require("../../coin"); const poolsApiCasting_1 = require("../../pools/api/poolsApiCasting"); class NftAmmApiCasting { } exports.NftAmmApiCasting = NftAmmApiCasting; // ========================================================================= // Public Methods // ========================================================================= // ========================================================================= // Objects // ========================================================================= NftAmmApiCasting.marketObjectFromSuiObject = (suiObject) => { const objectId = utils_1.Helpers.getObjectId(suiObject); const marketType = utils_1.Helpers.getObjectType(suiObject); if (!marketType) throw new Error("no object type found"); const fields = utils_1.Helpers.getObjectFields(suiObject); const pool = poolsApiCasting_1.PoolsApiCasting.poolObjectFromSuiObject(fields.pool); const fractionalizedCoinType = coin_1.Coin.getInnerCoinType(fields.supply.type); const innerMarketTypes = coin_1.Coin.getInnerCoinType(marketType); const genericTypes = innerMarketTypes.replaceAll(" ", "").split(","); const assetCoinType = genericTypes[2]; const nftType = genericTypes[3]; return { objectId, pool, objectType: marketType, nftsTable: { objectId: fields.nfts.fields.id.id, size: BigInt(fields.nfts.fields.size), }, fractionalizedSupply: BigInt(fields.supply.fields.value), fractionalizedCoinAmount: BigInt(fields.fractions_amount), fractionalizedCoinType, assetCoinType, lpCoinType: pool.lpCoinType, nftType, }; };