{"version":3,"sources":["../../src/query/getAllMarkets.ts"],"sourcesContent":["import { removeDecimals, toBigDecimal } from '@nadohq/utils';\nimport { MarketWithProduct, ProductEngineType, WithContracts } from '../common';\nimport { mapContractPerpProduct, mapContractSpotProduct } from './utils';\n\nexport type GetAllMarketsResponse = MarketWithProduct[];\n\n/**\n * Return all markets registered with the clearinghouse. Calls querier internally.\n * This also returns quote product with a zero market\n */\nexport async function getAllMarkets({\n  querier,\n}: WithContracts<unknown>): Promise<GetAllMarketsResponse> {\n  const contractData = await querier.read.getAllProducts();\n  const markets: MarketWithProduct[] = [];\n\n  contractData.spotProducts.forEach((productInfo) => {\n    markets.push({\n      productId: Number(productInfo.productId),\n      type: ProductEngineType.SPOT,\n      product: mapContractSpotProduct(productInfo),\n      minSize: toBigDecimal(productInfo.bookInfo.minSize),\n      priceIncrement: removeDecimals(productInfo.bookInfo.priceIncrementX18),\n      sizeIncrement: toBigDecimal(productInfo.bookInfo.sizeIncrement),\n    });\n  });\n\n  contractData.perpProducts.forEach((productInfo) => {\n    markets.push({\n      productId: Number(productInfo.productId),\n      type: ProductEngineType.PERP,\n      product: mapContractPerpProduct(productInfo),\n      minSize: toBigDecimal(productInfo.bookInfo.minSize),\n      priceIncrement: removeDecimals(productInfo.bookInfo.priceIncrementX18),\n      sizeIncrement: toBigDecimal(productInfo.bookInfo.sizeIncrement),\n    });\n  });\n\n  return markets;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA6C;AAC7C,oBAAoE;AACpE,IAAAA,gBAA+D;AAQ/D,eAAsB,cAAc;AAAA,EAClC;AACF,GAA2D;AACzD,QAAM,eAAe,MAAM,QAAQ,KAAK,eAAe;AACvD,QAAM,UAA+B,CAAC;AAEtC,eAAa,aAAa,QAAQ,CAAC,gBAAgB;AACjD,YAAQ,KAAK;AAAA,MACX,WAAW,OAAO,YAAY,SAAS;AAAA,MACvC,MAAM,gCAAkB;AAAA,MACxB,aAAS,sCAAuB,WAAW;AAAA,MAC3C,aAAS,2BAAa,YAAY,SAAS,OAAO;AAAA,MAClD,oBAAgB,6BAAe,YAAY,SAAS,iBAAiB;AAAA,MACrE,mBAAe,2BAAa,YAAY,SAAS,aAAa;AAAA,IAChE,CAAC;AAAA,EACH,CAAC;AAED,eAAa,aAAa,QAAQ,CAAC,gBAAgB;AACjD,YAAQ,KAAK;AAAA,MACX,WAAW,OAAO,YAAY,SAAS;AAAA,MACvC,MAAM,gCAAkB;AAAA,MACxB,aAAS,sCAAuB,WAAW;AAAA,MAC3C,aAAS,2BAAa,YAAY,SAAS,OAAO;AAAA,MAClD,oBAAgB,6BAAe,YAAY,SAAS,iBAAiB;AAAA,MACrE,mBAAe,2BAAa,YAAY,SAAS,aAAa;AAAA,IAChE,CAAC;AAAA,EACH,CAAC;AAED,SAAO;AACT;","names":["import_utils"]}