{"version":3,"sources":["../../src/utils/balanceValue.ts"],"sourcesContent":["import { BigDecimal } from '@nadohq/utils';\nimport { PerpBalanceWithProduct, SpotBalanceWithProduct } from '../common';\n\n/**\n * Calculates the quote value of a spot balance, in terms of quote units\n *\n * @param balanceWithProduct\n */\nexport function calcSpotBalanceValue(\n  balanceWithProduct: SpotBalanceWithProduct,\n): BigDecimal {\n  return balanceWithProduct.amount.multipliedBy(balanceWithProduct.oraclePrice);\n}\n\n/**\n * Calculates the notional value of a perp balance, in terms of quote units\n *\n * @param balanceWithProduct\n */\nexport function calcPerpBalanceNotionalValue(\n  balanceWithProduct: PerpBalanceWithProduct,\n): BigDecimal {\n  return balanceWithProduct.amount\n    .multipliedBy(balanceWithProduct.oraclePrice)\n    .abs();\n}\n\n/**\n * Calculates the true quote value of a perp balance, which is the same as its unrealized pnl / unsettled quote, in terms of quote units\n *\n * @param balanceWithProduct\n */\nexport function calcPerpBalanceValue(\n  balanceWithProduct: PerpBalanceWithProduct,\n): BigDecimal {\n  return balanceWithProduct.amount\n    .multipliedBy(balanceWithProduct.oraclePrice)\n    .plus(balanceWithProduct.vQuoteBalance);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQO,SAAS,qBACd,oBACY;AACZ,SAAO,mBAAmB,OAAO,aAAa,mBAAmB,WAAW;AAC9E;AAOO,SAAS,6BACd,oBACY;AACZ,SAAO,mBAAmB,OACvB,aAAa,mBAAmB,WAAW,EAC3C,IAAI;AACT;AAOO,SAAS,qBACd,oBACY;AACZ,SAAO,mBAAmB,OACvB,aAAa,mBAAmB,WAAW,EAC3C,KAAK,mBAAmB,aAAa;AAC1C;","names":[]}