@nadohq/indexer-client 0.46.0 → 0.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/{IndexerBaseClient-CSn4twzz.cjs → IndexerBaseClient-DG3Tf9Cv.cjs} +26 -1
  2. package/dist/IndexerBaseClient-DG3Tf9Cv.cjs.map +1 -0
  3. package/dist/IndexerBaseClient.cjs +1 -1
  4. package/dist/IndexerBaseClient.d.cts +21 -2
  5. package/dist/IndexerBaseClient.d.cts.map +1 -1
  6. package/dist/IndexerBaseClient.d.ts +21 -2
  7. package/dist/IndexerBaseClient.d.ts.map +1 -1
  8. package/dist/IndexerBaseClient.js +26 -1
  9. package/dist/IndexerBaseClient.js.map +1 -1
  10. package/dist/IndexerClient.cjs +1 -1
  11. package/dist/IndexerClient.d.cts +1 -1
  12. package/dist/IndexerClient.d.ts +1 -1
  13. package/dist/{IndexerServerFailureError-D-KNqVt3.d.cts → IndexerServerFailureError-Bk16b7Th.d.cts} +2 -2
  14. package/dist/{IndexerServerFailureError-D-KNqVt3.d.cts.map → IndexerServerFailureError-Bk16b7Th.d.cts.map} +1 -1
  15. package/dist/{IndexerServerFailureError-BoGd4gih.d.ts → IndexerServerFailureError-BroKB4zm.d.ts} +2 -2
  16. package/dist/{IndexerServerFailureError-BoGd4gih.d.ts.map → IndexerServerFailureError-BroKB4zm.d.ts.map} +1 -1
  17. package/dist/{clientTypes-DS2w6Osq.d.cts → clientTypes-DaHLUQvU.d.cts} +41 -3
  18. package/dist/clientTypes-DaHLUQvU.d.cts.map +1 -0
  19. package/dist/{clientTypes-CnswaLwH.d.ts → clientTypes-DgXbxuRD.d.ts} +41 -3
  20. package/dist/clientTypes-DgXbxuRD.d.ts.map +1 -0
  21. package/dist/dataMappers.cjs +17 -1
  22. package/dist/dataMappers.cjs.map +1 -1
  23. package/dist/dataMappers.d.cts +4 -3
  24. package/dist/dataMappers.d.cts.map +1 -1
  25. package/dist/dataMappers.d.ts +4 -3
  26. package/dist/dataMappers.d.ts.map +1 -1
  27. package/dist/dataMappers.js +16 -1
  28. package/dist/dataMappers.js.map +1 -1
  29. package/dist/index.cjs +1 -1
  30. package/dist/index.d.cts +6 -6
  31. package/dist/index.d.ts +6 -6
  32. package/dist/{indexerBalanceValue-yMyf537D.d.cts → indexerBalanceValue-D9mAeuLq.d.cts} +2 -2
  33. package/dist/{indexerBalanceValue-yMyf537D.d.cts.map → indexerBalanceValue-D9mAeuLq.d.cts.map} +1 -1
  34. package/dist/{indexerBalanceValue-DV3dtvyV.d.ts → indexerBalanceValue-nkhpF6M1.d.ts} +2 -2
  35. package/dist/{indexerBalanceValue-DV3dtvyV.d.ts.map → indexerBalanceValue-nkhpF6M1.d.ts.map} +1 -1
  36. package/dist/{paginatedEventsTypes-BT--OHd5.d.ts → paginatedEventsTypes-BX6kXeBg.d.ts} +2 -2
  37. package/dist/{paginatedEventsTypes-BT--OHd5.d.ts.map → paginatedEventsTypes-BX6kXeBg.d.ts.map} +1 -1
  38. package/dist/{paginatedEventsTypes-DZllHmqY.d.cts → paginatedEventsTypes-BjMDecWY.d.cts} +2 -2
  39. package/dist/{paginatedEventsTypes-DZllHmqY.d.cts.map → paginatedEventsTypes-BjMDecWY.d.cts.map} +1 -1
  40. package/dist/{serverTypes-CyqBF-nt.d.cts → serverTypes-Beex1AeJ.d.cts} +20 -2
  41. package/dist/serverTypes-Beex1AeJ.d.cts.map +1 -0
  42. package/dist/{serverTypes-Dod9cCEW.d.ts → serverTypes-CJvQ3yQx.d.ts} +20 -2
  43. package/dist/serverTypes-CJvQ3yQx.d.ts.map +1 -0
  44. package/dist/types/IndexerServerFailureError.cjs +1 -1
  45. package/dist/types/IndexerServerFailureError.d.cts +1 -1
  46. package/dist/types/IndexerServerFailureError.d.ts +1 -1
  47. package/dist/types/clientTypes.d.cts +2 -2
  48. package/dist/types/clientTypes.d.ts +2 -2
  49. package/dist/types/index.d.cts +5 -5
  50. package/dist/types/index.d.ts +5 -5
  51. package/dist/types/indexerErrorCodes.cjs +1 -1
  52. package/dist/types/paginatedEventsTypes.d.cts +1 -1
  53. package/dist/types/paginatedEventsTypes.d.ts +1 -1
  54. package/dist/types/serverTypes.cjs.map +1 -1
  55. package/dist/types/serverTypes.d.cts +2 -2
  56. package/dist/types/serverTypes.d.ts +2 -2
  57. package/dist/types/serverTypes.js.map +1 -1
  58. package/dist/utils/index.d.cts +1 -1
  59. package/dist/utils/index.d.ts +1 -1
  60. package/dist/utils/indexerBalanceValue.d.cts +1 -1
  61. package/dist/utils/indexerBalanceValue.d.ts +1 -1
  62. package/package.json +4 -4
  63. package/src/IndexerBaseClient.ts +33 -0
  64. package/src/dataMappers.ts +25 -0
  65. package/src/types/clientTypes.ts +45 -0
  66. package/src/types/serverTypes.ts +25 -0
  67. package/dist/IndexerBaseClient-CSn4twzz.cjs.map +0 -1
  68. package/dist/clientTypes-CnswaLwH.d.ts.map +0 -1
  69. package/dist/clientTypes-DS2w6Osq.d.cts.map +0 -1
  70. package/dist/serverTypes-CyqBF-nt.d.cts.map +0 -1
  71. package/dist/serverTypes-Dod9cCEW.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IndexerBaseClient.js","names":[],"sources":["../src/IndexerBaseClient.ts"],"sourcesContent":["import {\n EIP712LeaderboardAuthenticationParams,\n EIP712LeaderboardAuthenticationValues,\n EIP712SocialAuthenticationParams,\n getDefaultRecvTime,\n getNadoClientTypeHeaders,\n getNadoEIP712Values,\n getSignedTransactionRequest,\n getValidatedAddress,\n getValidatedHex,\n mapValues,\n nowInSeconds,\n removeDecimals,\n SignableRequestType,\n SignableRequestTypeToParams,\n SignedTx,\n subaccountFromHex,\n subaccountToHex,\n toBigInt,\n toBigNumber,\n toIntegerString,\n WalletClientWithAccount,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport axios, { AxiosInstance, AxiosResponse } from 'axios';\nimport {\n mapIndexerCandlesticks,\n mapIndexerEvent,\n mapIndexerEventWithTx,\n mapIndexerFundingRate,\n mapIndexerFundingRateHistory,\n mapIndexerLeaderboardContest,\n mapIndexerLeaderboardPosition,\n mapIndexerLeaderboardRegistration,\n mapIndexerMakerStatistics,\n mapIndexerMarketSnapshot,\n mapIndexerMatchEventBalances,\n mapIndexerNlpSnapshot,\n mapIndexerOrder,\n mapIndexerPerpPrices,\n mapIndexerPortfolio,\n mapIndexerPosition,\n mapIndexerProductPayment,\n mapIndexerServerProduct,\n mapIndexerV2Symbols,\n mapIndexerV2Ticker,\n mapSnapshotsIntervalToServerParams,\n} from './dataMappers';\nimport {\n ConnectSocialAccountParams,\n ConnectSocialAccountResponse,\n GetIndexerBacklogResponse,\n GetIndexerCandlesticksParams,\n GetIndexerCandlesticksResponse,\n GetIndexerCashIncentivesParams,\n GetIndexerCashIncentivesResponse,\n GetIndexerEdgeCandlesticksParams,\n GetIndexerEdgeCandlesticksResponse,\n GetIndexerEdgeMarketSnapshotResponse,\n GetIndexerEdgeMarketSnapshotsParams,\n GetIndexerEventsParams,\n GetIndexerEventsResponse,\n GetIndexerFastWithdrawalSignatureParams,\n GetIndexerFastWithdrawalSignatureResponse,\n GetIndexerFundingRateHistoryParams,\n GetIndexerFundingRateHistoryResponse,\n GetIndexerFundingRateParams,\n GetIndexerFundingRateResponse,\n GetIndexerInterestFundingPaymentsParams,\n GetIndexerInterestFundingPaymentsResponse,\n GetIndexerLeaderboardContestsParams,\n GetIndexerLeaderboardContestsResponse,\n GetIndexerLeaderboardParams,\n GetIndexerLeaderboardParticipantParams,\n GetIndexerLeaderboardParticipantResponse,\n GetIndexerLeaderboardRegistrationsParams,\n GetIndexerLeaderboardRegistrationsResponse,\n GetIndexerLeaderboardResponse,\n GetIndexerLinkedSignerParams,\n GetIndexerLinkedSignerResponse,\n GetIndexerMakerStatisticsParams,\n GetIndexerMakerStatisticsResponse,\n GetIndexerMarketSnapshotsParams,\n GetIndexerMarketSnapshotsResponse,\n GetIndexerMatchEventsParams,\n GetIndexerMatchEventsResponse,\n GetIndexerMultiProductFundingRatesParams,\n GetIndexerMultiProductFundingRatesResponse,\n GetIndexerMultiProductPerpPricesParams,\n GetIndexerMultiProductPerpPricesResponse,\n GetIndexerMultiProductSnapshotsParams,\n GetIndexerMultiProductSnapshotsResponse,\n GetIndexerMultiSubaccountSnapshotsParams,\n GetIndexerMultiSubaccountSnapshotsResponse,\n GetIndexerNlpSnapshotsParams,\n GetIndexerNlpSnapshotsResponse,\n GetIndexerOraclePricesParams,\n GetIndexerOraclePricesResponse,\n GetIndexerOrdersParams,\n GetIndexerOrdersResponse,\n GetIndexerPerpPricesParams,\n GetIndexerPerpPricesResponse,\n GetIndexerPointsParams,\n GetIndexerPointsResponse,\n GetIndexerPortfolioParams,\n GetIndexerPortfolioResponse,\n GetIndexerPositionsParams,\n GetIndexerPositionsResponse,\n GetIndexerPrivateAlphaChoiceParams,\n GetIndexerPrivateAlphaChoiceResponse,\n GetIndexerProductSnapshotsParams,\n GetIndexerProductSnapshotsResponse,\n GetIndexerQuotePriceResponse,\n GetIndexerReferralCodeParams,\n GetIndexerReferralCodeResponse,\n GetIndexerSubaccountDDAParams,\n GetIndexerSubaccountDDAResponse,\n GetIndexerV2SymbolsParams,\n GetIndexerV2SymbolsResponse,\n GetIndexerV2TickersParams,\n GetIndexerV2TickersResponse,\n GetIndexerXPointsParams,\n GetIndexerXPointsResponse,\n IndexerEventWithTx,\n IndexerMatchEvent,\n IndexerOraclePrice,\n IndexerServerEventsParams,\n IndexerServerFailureError,\n IndexerServerQueryRequestByType,\n IndexerServerQueryRequestType,\n IndexerServerQueryResponseByType,\n IndexerServerV2SymbolsResponse,\n IndexerServerV2TickersResponse,\n IndexerSnapshotBalance,\n IndexerSubaccountSnapshot,\n isIndexerServerFailureResponse,\n ListIndexerSocialAccountsParams,\n ListIndexerSocialAccountsResponse,\n ListIndexerSubaccountsParams,\n ListIndexerSubaccountsResponse,\n RegisterLeaderboardParams,\n RegisterLeaderboardResponse,\n RevokeSocialAccountParams,\n RevokeSocialAccountResponse,\n} from './types';\n\nexport interface IndexerClientOpts {\n // Server base URL, without a version segment (ex. `https://api.prod.nado.xyz/archive`)\n url: string;\n // Rewards service base URL, including the version segment (ex. `https://api.prod.nado.xyz/rewards/v1`).\n // Defaults to `${url}/rewards/v1`.\n rewardsUrl?: string;\n // Wallet Client for EIP712 signing\n walletClient?: WalletClientWithAccount;\n // Linked signer registered through the engine, if provided, execute requests will use this signer\n linkedSignerWalletClient?: WalletClientWithAccount;\n // If provided, identifies the calling client, sent as a header with every request\n clientType?: string;\n}\n\ntype IndexerQueryRequestBody = Partial<IndexerServerQueryRequestByType>;\n\n/**\n * Base client for all indexer requests\n */\nexport class IndexerBaseClient {\n readonly opts: IndexerClientOpts;\n readonly v1Url: string;\n readonly v2Url: string;\n readonly rewardsUrl: string;\n readonly axiosInstance: AxiosInstance;\n\n constructor(opts: IndexerClientOpts) {\n this.opts = opts;\n this.axiosInstance = axios.create({\n withCredentials: true,\n // We have custom logic to validate response status and create an appropriate error\n validateStatus: () => true,\n headers: getNadoClientTypeHeaders(opts.clientType),\n });\n this.v1Url = `${opts.url}/v1`;\n this.v2Url = `${opts.url}/v2`;\n this.rewardsUrl = opts.rewardsUrl ?? `${opts.url}/rewards/v1`;\n }\n\n /**\n * Sets the linked signer for execute requests\n *\n * @param linkedSignerWalletClient The linkedSigner to use for all signatures. Set to null to revert to the chain signer\n */\n public setLinkedSigner(\n linkedSignerWalletClient: WalletClientWithAccount | null,\n ) {\n this.opts.linkedSignerWalletClient = linkedSignerWalletClient ?? undefined;\n }\n\n /**\n * List all subaccounts\n *\n * @param params\n */\n async listSubaccounts(\n params: ListIndexerSubaccountsParams,\n ): Promise<ListIndexerSubaccountsResponse> {\n const baseResponse = await this.query('subaccounts', params);\n\n return baseResponse.subaccounts.map((item) => {\n const subaccount = subaccountFromHex(item.subaccount);\n return {\n hexId: item.subaccount,\n createdAt: Number(item.created_at),\n isolated: item.isolated,\n ...subaccount,\n };\n });\n }\n\n /**\n * Retrieve snapshots of multiple subaccounts at multiple points in time.\n * Each snapshot is a view of the subaccount's balances at this point in time, with tracked variables for interest, funding, etc.\n *\n * @param params\n */\n async getMultiSubaccountSnapshots(\n params: GetIndexerMultiSubaccountSnapshotsParams,\n ): Promise<GetIndexerMultiSubaccountSnapshotsResponse> {\n const subaccountHexIds = params.subaccounts.map(\n ({ subaccountOwner, subaccountName }) =>\n subaccountToHex({\n subaccountOwner,\n subaccountName,\n }),\n );\n\n const baseResponse = await this.query('account_snapshots', {\n subaccounts: subaccountHexIds,\n timestamps: params.timestamps,\n isolated: params.isolated,\n });\n\n const snapshotsBySubaccount = mapValues(\n baseResponse.snapshots,\n (balanceSnapshots) => {\n const snapshotByTimestamp: Record<string, IndexerSubaccountSnapshot> =\n {};\n\n Object.entries(balanceSnapshots).forEach(([timestamp, events]) => {\n const balances: IndexerSnapshotBalance[] =\n events.map(mapIndexerEvent);\n\n snapshotByTimestamp[timestamp] = {\n timestamp: toBigNumber(timestamp),\n balances,\n };\n });\n\n return snapshotByTimestamp;\n },\n );\n\n return {\n subaccountHexIds,\n snapshots: snapshotsBySubaccount,\n };\n }\n\n /**\n * Retrieves referral code for an address\n *\n * @param params\n */\n async getReferralCode(\n params: GetIndexerReferralCodeParams,\n ): Promise<GetIndexerReferralCodeResponse> {\n const baseResponse = await this.query('referral_code', {\n subaccount: subaccountToHex({\n subaccountOwner: params.subaccount.subaccountOwner,\n subaccountName: params.subaccount.subaccountName,\n }),\n });\n\n return {\n referralCode: baseResponse.referral_code,\n };\n }\n\n /**\n * Retrieves funding rate for a product, where 1 = 100%\n * @param params\n */\n async getFundingRate(\n params: GetIndexerFundingRateParams,\n ): Promise<GetIndexerFundingRateResponse> {\n const baseResponse = await this.query('funding_rate', {\n product_id: params.productId,\n });\n\n return mapIndexerFundingRate(baseResponse);\n }\n\n /**\n * Retrieves funding rate for multiple products, where 1 = 100%\n * @param params\n */\n async getMultiProductFundingRates(\n params: GetIndexerMultiProductFundingRatesParams,\n ): Promise<GetIndexerMultiProductFundingRatesResponse> {\n const baseResponse = await this.query('funding_rates', {\n product_ids: params.productIds,\n });\n\n return mapValues(baseResponse, mapIndexerFundingRate);\n }\n\n /**\n * Retrieves a perp product's historical (realized hourly) funding rates,\n * ordered ascending by timestamp, where 1 = 100%.\n *\n * To paginate forward, pass the last entry's `timestamp + 1` as the next\n * request's `startTimeInclusive`.\n *\n * @param params\n */\n async getFundingRateHistory(\n params: GetIndexerFundingRateHistoryParams,\n ): Promise<GetIndexerFundingRateHistoryResponse> {\n const baseResponse = await this.query('funding_rate_history', {\n product_id: params.productId,\n start_time: params.startTimeInclusive,\n end_time: params.endTimeInclusive,\n limit: params.limit,\n });\n\n return baseResponse.funding_rates.map(mapIndexerFundingRateHistory);\n }\n\n /**\n * Retrieves a subaccount's account-value, PnL, traded-volume, average-trade-size,\n * and markets-traded history across all timeframes, keyed by period. The value\n * aggregates the cross-margin account plus every isolated child; the queried\n * subaccount must be cross-margin.\n *\n * Points are downsampled per timeframe, so the most recent point can be up to\n * ~20 minutes stale. For the exact live value, use the engine client's\n * `getSubaccountSummary` query instead.\n *\n * @param params\n */\n async getPortfolio(\n params: GetIndexerPortfolioParams,\n ): Promise<GetIndexerPortfolioResponse> {\n const baseResponse = await this.query('portfolio', {\n subaccount: subaccountToHex(params.subaccount),\n });\n\n return mapIndexerPortfolio(baseResponse);\n }\n\n /**\n * Retrieves latest mark/index price for a perp product\n * @param params\n */\n async getPerpPrices(\n params: GetIndexerPerpPricesParams,\n ): Promise<GetIndexerPerpPricesResponse> {\n const baseResponse = await this.query('price', {\n product_id: params.productId,\n });\n\n return mapIndexerPerpPrices(baseResponse);\n }\n\n /**\n * Retrieves latest mark/index price for multiple perp products\n * @param params\n */\n async getMultiProductPerpPrices(\n params: GetIndexerMultiProductPerpPricesParams,\n ): Promise<GetIndexerMultiProductPerpPricesResponse> {\n const baseResponse = await this.query('perp_prices', {\n product_ids: params.productIds,\n });\n\n return mapValues(baseResponse, mapIndexerPerpPrices);\n }\n\n /**\n * Retrieves latest oracle prices for provided products\n * @param params\n */\n async getOraclePrices(\n params: GetIndexerOraclePricesParams,\n ): Promise<GetIndexerOraclePricesResponse> {\n const baseResponse = await this.query('oracle_price', {\n product_ids: params.productIds,\n });\n\n return baseResponse.prices.map((price): IndexerOraclePrice => {\n return {\n oraclePrice: removeDecimals(price.oracle_price_x18),\n updateTime: toBigNumber(price.update_time),\n productId: price.product_id,\n };\n });\n }\n\n /**\n * Retrieves candlesticks for a product\n * @param params\n */\n async getCandlesticks(\n params: GetIndexerCandlesticksParams,\n ): Promise<GetIndexerCandlesticksResponse> {\n const baseResponse = await this.query('candlesticks', {\n product_id: params.productId,\n max_time: params.maxTimeInclusive,\n limit: params.limit,\n granularity: params.period,\n });\n\n return baseResponse.candlesticks.map(mapIndexerCandlesticks);\n }\n\n /**\n * Retrieves candlesticks for a product from Edge\n * @param params\n */\n async getEdgeCandlesticks(\n params: GetIndexerEdgeCandlesticksParams,\n ): Promise<GetIndexerEdgeCandlesticksResponse> {\n const baseResponse = await this.query('edge_candlesticks', {\n product_id: params.productId,\n max_time: params.maxTimeInclusive,\n limit: params.limit,\n granularity: params.period,\n });\n\n return baseResponse.candlesticks.map(mapIndexerCandlesticks);\n }\n\n /**\n * Retrieves historical snapshots for a product\n * @param params\n */\n async getProductSnapshots(\n params: GetIndexerProductSnapshotsParams,\n ): Promise<GetIndexerProductSnapshotsResponse> {\n const baseResponse = await this.query('products', {\n product_id: params.productId,\n max_time: params.maxTimestampInclusive,\n limit: params.limit,\n idx: params.startCursor,\n });\n\n return baseResponse.products.map((product) => {\n return {\n ...mapIndexerServerProduct(product.product),\n submissionIndex: product.submission_idx,\n };\n });\n }\n\n /**\n * Retrieves historical snapshots for multiple products\n * @param params\n */\n async getMultiProductSnapshots(\n params: GetIndexerMultiProductSnapshotsParams,\n ): Promise<GetIndexerMultiProductSnapshotsResponse> {\n const timestampToProductsMap = await this.query('product_snapshots', {\n product_ids: params.productIds,\n max_time: params.maxTimestampInclusive ?? [nowInSeconds()],\n });\n\n return mapValues(timestampToProductsMap, (productIdToProduct) => {\n return mapValues(productIdToProduct, (indexerProduct) => {\n return {\n ...mapIndexerServerProduct(indexerProduct.product),\n submissionIndex: indexerProduct.submission_idx,\n };\n });\n });\n }\n\n /**\n * Retrieves historical events\n *\n * @param params\n */\n async getEvents(\n params: GetIndexerEventsParams,\n ): Promise<GetIndexerEventsResponse> {\n const serverLimit = ((): IndexerServerEventsParams['limit'] | undefined => {\n if (!params.limit) {\n return;\n }\n\n if (params.limit.type === 'events') {\n return {\n raw: params.limit.value,\n };\n }\n return {\n txs: params.limit.value,\n };\n })();\n\n const baseResponse = await this.query('events', {\n subaccounts: params.subaccounts?.map((subaccount) =>\n subaccountToHex({\n subaccountOwner: subaccount.subaccountOwner,\n subaccountName: subaccount.subaccountName,\n }),\n ),\n product_ids: params.productIds,\n isolated: params.isolated,\n event_types: params.eventTypes,\n max_time: params.maxTimestampInclusive,\n desc: params.desc,\n limit: serverLimit,\n idx: params.startCursor,\n });\n\n // Keep track of the last tx index, and go to the next one if the submission_idx for the currently processed event does not match\n // txs are ordered the same as events, so this should be correct\n let lastTxIdx = 0;\n return baseResponse.events.map((event): IndexerEventWithTx => {\n if (baseResponse.txs[lastTxIdx].submission_idx !== event.submission_idx) {\n lastTxIdx += 1;\n }\n const tx = baseResponse.txs[lastTxIdx];\n return mapIndexerEventWithTx(event, tx);\n });\n }\n\n /**\n * Retrieves historical orders\n * @param params\n */\n async getOrders(\n params: GetIndexerOrdersParams,\n ): Promise<GetIndexerOrdersResponse> {\n const baseResponse = await this.query('orders', {\n subaccounts: params?.subaccounts?.map((subaccount) =>\n subaccountToHex({\n subaccountOwner: subaccount.subaccountOwner,\n subaccountName: subaccount.subaccountName,\n }),\n ),\n product_ids: params.productIds,\n trigger_types: params.triggerTypes,\n isolated: params.isolated,\n digests: params.digests,\n max_time: params.maxTimestampInclusive,\n limit: params.limit,\n idx: params.startCursor,\n });\n\n return baseResponse.orders.map(mapIndexerOrder);\n }\n\n /**\n * Gets match order events, this will return the same events as the events query, but with additional information\n * to identify the order that was matched\n *\n * @param params\n */\n async getMatchEvents(\n params: GetIndexerMatchEventsParams,\n ): Promise<GetIndexerMatchEventsResponse> {\n const baseResponse = await this.query('matches', {\n subaccounts: params?.subaccounts?.map((subaccount) =>\n subaccountToHex({\n subaccountOwner: subaccount.subaccountOwner,\n subaccountName: subaccount.subaccountName,\n }),\n ),\n product_ids: params.productIds,\n isolated: params.isolated,\n max_time: params.maxTimestampInclusive,\n limit: params.limit,\n idx: params.startCursor,\n });\n\n // Same as logic in `getEvents`\n let lastTxIdx = 0;\n return baseResponse.matches.map((matchEvent): IndexerMatchEvent => {\n if (\n baseResponse.txs[lastTxIdx].submission_idx !== matchEvent.submission_idx\n ) {\n lastTxIdx += 1;\n }\n const { tx, timestamp } = baseResponse.txs[lastTxIdx];\n\n // We use this to derive the product ID for the match\n const postBalances = mapIndexerMatchEventBalances(\n matchEvent.post_balance,\n );\n\n return {\n productId: postBalances.base.productId,\n isolated: matchEvent.isolated,\n totalFee: toBigNumber(matchEvent.fee),\n sequencerFee: toBigNumber(matchEvent.sequencer_fee),\n builderFee: toBigNumber(matchEvent.builder_fee),\n baseFilled: toBigNumber(matchEvent.base_filled),\n quoteFilled: toBigNumber(matchEvent.quote_filled),\n cumulativeFee: toBigNumber(matchEvent.cumulative_fee),\n cumulativeBaseFilled: toBigNumber(matchEvent.cumulative_base_filled),\n cumulativeQuoteFilled: toBigNumber(matchEvent.cumulative_quote_filled),\n digest: matchEvent.digest,\n order: matchEvent.order,\n submissionIndex: matchEvent.submission_idx,\n timestamp: toBigNumber(timestamp),\n preEventTrackedVars: {\n netEntryUnrealized: toBigNumber(matchEvent.net_entry_unrealized),\n netEntryCumulative: toBigNumber(matchEvent.net_entry_cumulative),\n },\n preBalances: mapIndexerMatchEventBalances(matchEvent.pre_balance),\n postBalances,\n tx,\n isTaker: matchEvent.is_taker,\n realizedPnl: toBigNumber(matchEvent.realized_pnl),\n closedAmount: toBigNumber(matchEvent.closed_amount),\n closedNetEntry: toBigNumber(matchEvent.closed_net_entry),\n margin: matchEvent.margin ? toBigNumber(matchEvent.margin) : null,\n ...subaccountFromHex(matchEvent.order.sender),\n };\n });\n }\n\n /**\n * Retrieves a subaccount's historical positions, ordered descending by `openId`.\n * Positions are tracked for every product except the quote product.\n *\n * The response also includes the boundary events (with their transactions) at each\n * position's open and close, or open and latest update while still open; join them\n * to positions via `openId` / `closeId` / `submissionIndex`.\n *\n * To paginate, pass the last returned position's `openId - 1` as the next request's\n * `startCursor`.\n *\n * @param params\n */\n async getPositions(\n params: GetIndexerPositionsParams,\n ): Promise<GetIndexerPositionsResponse> {\n const baseResponse = await this.query('positions', {\n subaccount: subaccountToHex({\n subaccountOwner: params.subaccount.subaccountOwner,\n subaccountName: params.subaccount.subaccountName,\n }),\n product_id: params.productId,\n isolated: params.isolated,\n open: params.open,\n idx: params.startCursor,\n limit: params.limit,\n });\n\n // Unlike `getEvents`, boundary events aren't strictly ordered against txs, so join by submission index\n const txsBySubmissionIdx = new Map(\n baseResponse.txs.map((tx) => [tx.submission_idx, tx]),\n );\n\n return {\n positions: baseResponse.positions.map(mapIndexerPosition),\n events: baseResponse.events.map((event) => {\n const tx = txsBySubmissionIdx.get(event.submission_idx);\n if (!tx) {\n throw Error(\n `No tx found for position boundary event with submission_idx ${event.submission_idx}`,\n );\n }\n return mapIndexerEventWithTx(event, tx);\n }),\n };\n }\n\n /**\n * Retrieves historical funding & interest payments.\n * NOTE: `limit` is an upperbound. If a user changes position size such that his position is 0 during each funding/interest tick,\n * then the indexer will return fewer than `limit` results per page. However, more events can be present. This means that\n * there isn't a reliable way to determine whether there is a next page. We just need to keep paginating until the next cursor is null.\n *\n * @param params\n */\n async getInterestFundingPayments(\n params: GetIndexerInterestFundingPaymentsParams,\n ): Promise<GetIndexerInterestFundingPaymentsResponse> {\n const baseResponse = await this.query('interest_and_funding', {\n subaccount: subaccountToHex({\n subaccountOwner: params.subaccount.subaccountOwner,\n subaccountName: params.subaccount.subaccountName,\n }),\n product_ids: params.productIds,\n max_time: params.maxTimestampInclusive,\n limit: params.limit,\n max_idx: params.startCursor,\n });\n\n return {\n fundingPayments: baseResponse.funding_payments.map(\n mapIndexerProductPayment,\n ),\n interestPayments: baseResponse.interest_payments.map(\n mapIndexerProductPayment,\n ),\n nextCursor: baseResponse.next_idx,\n };\n }\n\n /**\n * Gets quote (USDT) price in terms of USD\n */\n async getQuotePrice(): Promise<GetIndexerQuotePriceResponse> {\n const baseResponse = await this.query('quote_price', {});\n return {\n price: removeDecimals(baseResponse.price_x18),\n };\n }\n\n /**\n * Fetches currently registered linked signer with the remaining txs allowed for the subaccount\n */\n async getLinkedSignerWithRateLimit(\n params: GetIndexerLinkedSignerParams,\n ): Promise<GetIndexerLinkedSignerResponse> {\n const baseResponse = await this.query('linked_signer_rate_limit', {\n subaccount: subaccountToHex(params.subaccount),\n });\n return {\n totalTxLimit: toBigNumber(baseResponse.total_tx_limit),\n remainingTxs: toBigNumber(baseResponse.remaining_tx),\n signer: baseResponse.signer,\n waitTimeUntilNextTx: toBigNumber(baseResponse.wait_time),\n };\n }\n\n /**\n * Retrieve historical market snapshots\n * @param params\n */\n async getMarketSnapshots(\n params: GetIndexerMarketSnapshotsParams,\n ): Promise<GetIndexerMarketSnapshotsResponse> {\n const baseResponse = await this.query('market_snapshots', {\n interval: mapSnapshotsIntervalToServerParams(params),\n product_ids: params.productIds,\n });\n\n return baseResponse.snapshots.map(mapIndexerMarketSnapshot);\n }\n\n /**\n * Retrieve historical market snapshots from Edge\n * @param params\n */\n async getEdgeMarketSnapshots(\n params: GetIndexerEdgeMarketSnapshotsParams,\n ): Promise<GetIndexerEdgeMarketSnapshotResponse> {\n const baseResponse = await this.query('edge_market_snapshots', {\n interval: mapSnapshotsIntervalToServerParams(params),\n });\n\n return mapValues(baseResponse.snapshots, (snapshots) =>\n snapshots.map(mapIndexerMarketSnapshot),\n );\n }\n\n /**\n * Retrieve maker statistics for a given epoch\n *\n * @param params\n */\n async getMakerStatistics(\n params: GetIndexerMakerStatisticsParams,\n ): Promise<GetIndexerMakerStatisticsResponse> {\n const baseResponse = await this.query('maker_statistics', {\n product_id: params.productId,\n epoch: params.epoch,\n interval: params.interval,\n });\n\n return {\n rewardCoefficient: toBigNumber(baseResponse.reward_coefficient),\n makers: baseResponse.makers.map(mapIndexerMakerStatistics),\n };\n }\n\n /**\n * Retrieve leaderboard stats for a given contest\n *\n * @param params\n */\n async getLeaderboard(\n params: GetIndexerLeaderboardParams,\n ): Promise<GetIndexerLeaderboardResponse> {\n const baseResponse = await this.rewardsQuery('leaderboard', {\n contest_id: params.contestId,\n rank_type: params.rankType,\n start: params.startCursor,\n limit: params.limit,\n order: params.order,\n });\n\n return {\n participants: baseResponse.positions.map(mapIndexerLeaderboardPosition),\n };\n }\n\n /**\n * Retrieve leaderboard ranking of a subaccount on a given contest\n *\n * @param params\n */\n async getLeaderboardParticipant(\n params: GetIndexerLeaderboardParticipantParams,\n ): Promise<GetIndexerLeaderboardParticipantResponse> {\n const baseResponse = await this.rewardsQuery('leaderboard_rank', {\n subaccount: subaccountToHex(params.subaccount),\n contest_ids: params.contestIds,\n });\n\n return {\n participant: mapValues(baseResponse.positions, (position) =>\n mapIndexerLeaderboardPosition(position),\n ),\n };\n }\n\n /**\n * Registers a subaccount for one or more contests. Requires EIP-712 signing.\n *\n * @param params - Registration parameters including contest IDs and signing config.\n */\n async registerLeaderboard(\n params: RegisterLeaderboardParams,\n ): Promise<RegisterLeaderboardResponse> {\n const signatureParams: EIP712LeaderboardAuthenticationParams = {\n expiration: toIntegerString(params.recvTime ?? getDefaultRecvTime()),\n subaccountName: params.subaccountName,\n subaccountOwner: params.subaccountOwner,\n contestIds: params.contestIds,\n };\n\n const tx = getNadoEIP712Values(\n 'leaderboard_authentication',\n signatureParams,\n );\n const signature = await this.sign(\n 'leaderboard_authentication',\n params.verifyingAddr,\n params.chainId,\n signatureParams,\n );\n\n const updateRegistrationTx: SignedTx<EIP712LeaderboardAuthenticationValues> =\n {\n tx,\n signature,\n };\n\n const baseResponse = await this.rewardsQuery('leaderboard_register', {\n update_registration: updateRegistrationTx,\n });\n\n return {\n registrations: baseResponse.registrations.map(\n mapIndexerLeaderboardRegistration,\n ),\n };\n }\n\n /**\n * Retrieves contest registrations for a subaccount. Supports batch lookup\n * across multiple contests with an optional active filter.\n *\n * @param params - Query parameters including subaccount and contest IDs.\n */\n async getLeaderboardRegistrations(\n params: GetIndexerLeaderboardRegistrationsParams,\n ): Promise<GetIndexerLeaderboardRegistrationsResponse> {\n const baseResponse = await this.rewardsQuery('leaderboard_registrations', {\n subaccount: subaccountToHex(params.subaccount),\n contest_ids: params.contestIds,\n active: params.active,\n });\n\n return {\n registrations: baseResponse.registrations.map(\n mapIndexerLeaderboardRegistration,\n ),\n };\n }\n\n /**\n * Retrieve metadata of provided leaderboard contests\n *\n * @param params\n */\n async getLeaderboardContests(\n params: GetIndexerLeaderboardContestsParams,\n ): Promise<GetIndexerLeaderboardContestsResponse> {\n const baseResponse = await this.rewardsQuery('leaderboard_contests', {\n contest_ids: params.contestIds,\n active: params.active,\n });\n\n return {\n contests: baseResponse.contests.map(mapIndexerLeaderboardContest),\n };\n }\n\n /**\n * Retrieve signature and tx to submit a fast withdrawal\n *\n * @param params\n */\n async getFastWithdrawalSignature(\n params: GetIndexerFastWithdrawalSignatureParams,\n ): Promise<GetIndexerFastWithdrawalSignatureResponse> {\n const baseResponse = await this.query('fast_withdrawal_signature', params);\n return {\n idx: toBigInt(baseResponse.idx),\n tx: baseResponse.tx,\n txV2: baseResponse.tx_v2,\n txBytes: getValidatedHex(baseResponse.tx_bytes),\n signatures: baseResponse.signatures.map(getValidatedHex),\n };\n }\n\n async getNlpSnapshots(\n params: GetIndexerNlpSnapshotsParams,\n ): Promise<GetIndexerNlpSnapshotsResponse> {\n const baseResponse = await this.query('nlp_snapshots', {\n interval: {\n count: params.limit,\n max_time: params.maxTimeInclusive\n ? toIntegerString(params.maxTimeInclusive)\n : undefined,\n granularity: params.granularity,\n },\n });\n\n return {\n snapshots: baseResponse.snapshots.map(mapIndexerNlpSnapshot),\n };\n }\n\n /**\n * Retrieves the subaccount's DDA (Direct Deposit Address)\n * @param params\n */\n async getSubaccountDDA(\n params: GetIndexerSubaccountDDAParams,\n ): Promise<GetIndexerSubaccountDDAResponse> {\n const baseResponse = await this.query('direct_deposit_address', {\n subaccount: subaccountToHex(params.subaccount),\n });\n\n return {\n address: getValidatedAddress(baseResponse.v1_address),\n };\n }\n\n async getSequencerBacklog(): Promise<GetIndexerBacklogResponse> {\n const baseResponse = await this.query('backlog', {});\n\n return {\n totalTxs: toBigNumber(baseResponse.total_txs),\n totalSubmissions: toBigNumber(baseResponse.total_submissions),\n backlogSize: toBigNumber(baseResponse.backlog_size),\n updatedAt: toBigNumber(baseResponse.updated_at),\n backlogEtaInSeconds: baseResponse.backlog_eta_in_seconds\n ? toBigNumber(baseResponse.backlog_eta_in_seconds)\n : null,\n txsPerSecond: baseResponse.txs_per_second\n ? toBigNumber(baseResponse.txs_per_second)\n : null,\n };\n }\n\n /**\n * Retrieves private alpha choice information for a given address\n * @param params\n */\n async getPrivateAlphaChoice(\n params: GetIndexerPrivateAlphaChoiceParams,\n ): Promise<GetIndexerPrivateAlphaChoiceResponse> {\n const baseResponse = await this.rewardsQuery('private_alpha_choice', {\n address: params.address,\n });\n\n return {\n points: toBigNumber(baseResponse.points),\n feeRefund: toBigNumber(baseResponse.fee_refund),\n nftEligibility: baseResponse.nft_eligibility,\n };\n }\n\n /**\n * Retrieves points information for a given address, including points per epoch and all-time points\n * @param params\n */\n async getPoints(\n params: GetIndexerPointsParams,\n ): Promise<GetIndexerPointsResponse> {\n const baseResponse = await this.rewardsQuery('nado_points', {\n address: params.address,\n });\n\n return {\n pointsPerEpoch: baseResponse.points_per_epoch.map((epoch) => ({\n epoch: epoch.epoch,\n description: epoch.description,\n startTime: toBigNumber(epoch.start_time),\n endTime: toBigNumber(epoch.end_time),\n totalPoints: toBigNumber(epoch.total_points),\n points: toBigNumber(epoch.points),\n rank: epoch.rank,\n tier: epoch.tier,\n })),\n allTimePoints: {\n points: toBigNumber(baseResponse.all_time_points.points),\n rank: baseResponse.all_time_points.rank,\n tier: baseResponse.all_time_points.tier,\n },\n };\n }\n\n /**\n * Retrieves xPoints information (Nado x xStocks points program) for a given address,\n * including per-epoch points, all-time points, and per-quest breakdowns.\n * @param params\n */\n async getXPoints(\n params: GetIndexerXPointsParams,\n ): Promise<GetIndexerXPointsResponse> {\n const baseResponse = await this.rewardsQuery('nado_xpoints', {\n address: params.address,\n });\n\n const mapQuests = (\n quests: typeof baseResponse.all_time_points.quests,\n ): GetIndexerXPointsResponse['allTimePoints']['quests'] =>\n quests.map((quest) => ({\n questType: quest.quest_type,\n points: toBigNumber(quest.points),\n }));\n\n return {\n pointsPerEpoch: baseResponse.points_per_epoch.map((epoch) => ({\n epoch: epoch.epoch,\n description: epoch.description,\n startTime: toBigNumber(epoch.start_time),\n endTime: toBigNumber(epoch.end_time),\n totalPoints: toBigNumber(epoch.total_points),\n rank: epoch.rank,\n quests: mapQuests(epoch.quests),\n })),\n allTimePoints: {\n totalPoints: toBigNumber(baseResponse.all_time_points.total_points),\n rank: baseResponse.all_time_points.rank,\n quests: mapQuests(baseResponse.all_time_points.quests),\n },\n };\n }\n\n /**\n * Retrieves cash incentives information for a given wallet address: per-event platform volume,\n * unlocked rewards, and `wallet.claim`, which carries the claim status plus the merkle proof when\n * that status is `claimable`.\n * @param params\n */\n async getCashIncentives(\n params: GetIndexerCashIncentivesParams,\n ): Promise<GetIndexerCashIncentivesResponse> {\n const baseResponse = await this.rewardsQuery('cash_incentives', {\n wallet_address: params.address,\n });\n\n return {\n events: baseResponse.events.map((event) => ({\n metadata: {\n eventId: event.metadata.event_id,\n description: event.metadata.description,\n epochStart: toBigNumber(event.metadata.epoch_start),\n epochEnd: toBigNumber(event.metadata.epoch_end),\n maxVolume: removeDecimals(event.metadata.max_volume),\n maxReward: removeDecimals(event.metadata.max_reward),\n minVolume: removeDecimals(event.metadata.min_volume),\n minReward: removeDecimals(event.metadata.min_reward),\n },\n platform: {\n platformVolume: removeDecimals(event.platform.platform_volume),\n unlockedReward: removeDecimals(event.platform.unlocked_reward),\n },\n wallet: {\n reward: removeDecimals(event.wallet.reward),\n claim:\n event.wallet.claim.status === 'claimable'\n ? {\n status: 'claimable',\n airdropAddress: getValidatedAddress(\n event.wallet.claim.airdrop_address,\n ),\n week: event.wallet.claim.week,\n // Kept in raw token units so it can be passed to the airdrop contract unchanged\n totalAmount: toBigNumber(event.wallet.claim.total_amount),\n proof: event.wallet.claim.proof.map(getValidatedHex),\n }\n : { status: event.wallet.claim.status },\n },\n })),\n walletSummary: {\n totalReward: removeDecimals(baseResponse.wallet_summary.total_reward),\n claimableReward: removeDecimals(\n baseResponse.wallet_summary.claimable_reward,\n ),\n },\n };\n }\n\n /**\n * Initiates a social account connection flow. Returns a URL the user must visit to complete the OAuth flow.\n * Requires EIP-712 signing.\n *\n * @param params - Connection parameters including provider and signing config.\n */\n async connectSocialAccount(\n params: ConnectSocialAccountParams,\n ): Promise<ConnectSocialAccountResponse> {\n const signatureParams: EIP712SocialAuthenticationParams = {\n expiration: toIntegerString(params.recvTime ?? getDefaultRecvTime()),\n subaccountName: params.subaccountName,\n subaccountOwner: params.subaccountOwner,\n provider: params.provider,\n };\n\n const tx = getNadoEIP712Values('social_authentication', signatureParams);\n const signature = await this.sign(\n 'social_authentication',\n params.verifyingAddr,\n params.chainId,\n signatureParams,\n );\n\n const baseResponse = await this.rewardsQuery('social_connect', {\n update_social_account: { tx, signature },\n });\n\n return { url: baseResponse.url };\n }\n\n /**\n * Lists linked social accounts for a given address.\n *\n * @param params - Query parameters including the wallet address.\n */\n async listSocialAccounts(\n params: ListIndexerSocialAccountsParams,\n ): Promise<ListIndexerSocialAccountsResponse> {\n const baseResponse = await this.rewardsQuery('list_social_accounts', {\n address: params.address,\n });\n\n return {\n accounts: baseResponse.accounts.map((a) => ({\n provider: a.provider,\n username: a.username,\n displayName: a.display_name,\n profileImageUrl: a.profile_image_url,\n })),\n };\n }\n\n /**\n * Revokes a linked social account. Requires EIP-712 signing.\n *\n * @param params - Revocation parameters including provider and signing config.\n */\n async revokeSocialAccount(\n params: RevokeSocialAccountParams,\n ): Promise<RevokeSocialAccountResponse> {\n const signatureParams: EIP712SocialAuthenticationParams = {\n expiration: toIntegerString(params.recvTime ?? getDefaultRecvTime()),\n subaccountName: params.subaccountName,\n subaccountOwner: params.subaccountOwner,\n provider: params.provider,\n };\n\n const tx = getNadoEIP712Values('social_authentication', signatureParams);\n const signature = await this.sign(\n 'social_authentication',\n params.verifyingAddr,\n params.chainId,\n signatureParams,\n );\n\n const baseResponse = await this.rewardsQuery('revoke_social_account', {\n update_social_account: { tx, signature },\n });\n\n return {\n accounts: baseResponse.accounts.map((a) => ({\n provider: a.provider,\n username: a.username,\n displayName: a.display_name,\n profileImageUrl: a.profile_image_url,\n })),\n };\n }\n\n /**\n * Get tickers from the v2 indexer endpoint\n * @param params\n */\n async getV2Tickers(\n params: GetIndexerV2TickersParams,\n ): Promise<GetIndexerV2TickersResponse> {\n const response =\n await this.axiosInstance.get<IndexerServerV2TickersResponse>(\n `${this.v2Url}/tickers`,\n { params },\n );\n\n this.checkResponseStatus(response);\n\n return mapValues(response.data, mapIndexerV2Ticker);\n }\n\n /**\n * Get symbols with market hours from the v2 indexer endpoint\n * @param params\n */\n async getV2Symbols(\n params?: GetIndexerV2SymbolsParams,\n ): Promise<GetIndexerV2SymbolsResponse> {\n const response =\n await this.axiosInstance.get<IndexerServerV2SymbolsResponse>(\n `${this.v2Url}/symbols`,\n {\n params: {\n product_type: params?.productType,\n product_ids: params?.productIds,\n },\n },\n );\n\n this.checkResponseStatus(response);\n\n return mapValues(response.data, mapIndexerV2Symbols);\n }\n\n protected query<TRequestType extends IndexerServerQueryRequestType>(\n requestType: TRequestType,\n params: IndexerServerQueryRequestByType[TRequestType],\n ): Promise<IndexerServerQueryResponseByType[TRequestType]> {\n return this.queryWithUrl(this.v1Url, requestType, params);\n }\n\n /**\n * Runs a query against the rewards endpoint, which serves leaderboard, points,\n * cash incentives, private alpha, and social account queries\n */\n protected rewardsQuery<TRequestType extends IndexerServerQueryRequestType>(\n requestType: TRequestType,\n params: IndexerServerQueryRequestByType[TRequestType],\n ): Promise<IndexerServerQueryResponseByType[TRequestType]> {\n return this.queryWithUrl(this.rewardsUrl, requestType, params);\n }\n\n private async queryWithUrl<\n TRequestType extends IndexerServerQueryRequestType,\n >(\n url: string,\n requestType: TRequestType,\n params: IndexerServerQueryRequestByType[TRequestType],\n ): Promise<IndexerServerQueryResponseByType[TRequestType]> {\n const reqBody: IndexerQueryRequestBody = {\n [requestType]: params,\n };\n const response = await this.axiosInstance.post<\n IndexerServerQueryResponseByType[TRequestType]\n >(url, reqBody);\n\n this.checkResponseStatus(response);\n\n return response.data;\n }\n\n protected async sign<T extends SignableRequestType>(\n requestType: T,\n verifyingContract: string,\n chainId: number,\n params: SignableRequestTypeToParams[T],\n ) {\n const walletClient =\n this.opts.linkedSignerWalletClient ?? this.opts.walletClient;\n\n if (!walletClient) {\n throw new WalletNotProvidedError();\n }\n\n return getSignedTransactionRequest({\n chainId,\n requestParams: params,\n requestType,\n walletClient,\n verifyingContract,\n });\n }\n\n private checkResponseStatus(response: AxiosResponse) {\n if (isIndexerServerFailureResponse(response.data)) {\n throw new IndexerServerFailureError(response.data, response.status);\n }\n if (response.status !== 200 || !response.data) {\n throw Error(\n `Unexpected response from server: ${response.status} ${response.statusText}`,\n );\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"IndexerBaseClient.js","names":[],"sources":["../src/IndexerBaseClient.ts"],"sourcesContent":["import {\n EIP712LeaderboardAuthenticationParams,\n EIP712LeaderboardAuthenticationValues,\n EIP712SocialAuthenticationParams,\n getDefaultRecvTime,\n getNadoClientTypeHeaders,\n getNadoEIP712Values,\n getSignedTransactionRequest,\n getValidatedAddress,\n getValidatedHex,\n mapValues,\n nowInSeconds,\n removeDecimals,\n SignableRequestType,\n SignableRequestTypeToParams,\n SignedTx,\n subaccountFromHex,\n subaccountToHex,\n toBigInt,\n toBigNumber,\n toIntegerString,\n WalletClientWithAccount,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport axios, { AxiosInstance, AxiosResponse } from 'axios';\nimport {\n mapIndexerCandlesticks,\n mapIndexerEvent,\n mapIndexerEventWithTx,\n mapIndexerFundingRate,\n mapIndexerFundingRateHistory,\n mapIndexerLeaderboardContest,\n mapIndexerLeaderboardPosition,\n mapIndexerLeaderboardRegistration,\n mapIndexerMakerStatistics,\n mapIndexerMarketSnapshot,\n mapIndexerMatchEventBalances,\n mapIndexerNlpSnapshot,\n mapIndexerOrder,\n mapIndexerPerpPrices,\n mapIndexerPortfolio,\n mapIndexerPortfolioCalendar,\n mapIndexerPosition,\n mapIndexerProductPayment,\n mapIndexerServerProduct,\n mapIndexerV2Symbols,\n mapIndexerV2Ticker,\n mapSnapshotsIntervalToServerParams,\n} from './dataMappers';\nimport {\n ConnectSocialAccountParams,\n ConnectSocialAccountResponse,\n GetIndexerBacklogResponse,\n GetIndexerCandlesticksParams,\n GetIndexerCandlesticksResponse,\n GetIndexerCashIncentivesParams,\n GetIndexerCashIncentivesResponse,\n GetIndexerEdgeCandlesticksParams,\n GetIndexerEdgeCandlesticksResponse,\n GetIndexerEdgeMarketSnapshotResponse,\n GetIndexerEdgeMarketSnapshotsParams,\n GetIndexerEventsParams,\n GetIndexerEventsResponse,\n GetIndexerFastWithdrawalSignatureParams,\n GetIndexerFastWithdrawalSignatureResponse,\n GetIndexerFundingRateHistoryParams,\n GetIndexerFundingRateHistoryResponse,\n GetIndexerFundingRateParams,\n GetIndexerFundingRateResponse,\n GetIndexerInterestFundingPaymentsParams,\n GetIndexerInterestFundingPaymentsResponse,\n GetIndexerLeaderboardContestsParams,\n GetIndexerLeaderboardContestsResponse,\n GetIndexerLeaderboardParams,\n GetIndexerLeaderboardParticipantParams,\n GetIndexerLeaderboardParticipantResponse,\n GetIndexerLeaderboardRegistrationsParams,\n GetIndexerLeaderboardRegistrationsResponse,\n GetIndexerLeaderboardResponse,\n GetIndexerLinkedSignerParams,\n GetIndexerLinkedSignerResponse,\n GetIndexerMakerStatisticsParams,\n GetIndexerMakerStatisticsResponse,\n GetIndexerMarketSnapshotsParams,\n GetIndexerMarketSnapshotsResponse,\n GetIndexerMatchEventsParams,\n GetIndexerMatchEventsResponse,\n GetIndexerMultiProductFundingRatesParams,\n GetIndexerMultiProductFundingRatesResponse,\n GetIndexerMultiProductPerpPricesParams,\n GetIndexerMultiProductPerpPricesResponse,\n GetIndexerMultiProductSnapshotsParams,\n GetIndexerMultiProductSnapshotsResponse,\n GetIndexerMultiSubaccountSnapshotsParams,\n GetIndexerMultiSubaccountSnapshotsResponse,\n GetIndexerNlpSnapshotsParams,\n GetIndexerNlpSnapshotsResponse,\n GetIndexerOraclePricesParams,\n GetIndexerOraclePricesResponse,\n GetIndexerOrdersParams,\n GetIndexerOrdersResponse,\n GetIndexerPerpPricesParams,\n GetIndexerPerpPricesResponse,\n GetIndexerPointsParams,\n GetIndexerPointsResponse,\n GetIndexerPortfolioCalendarParams,\n GetIndexerPortfolioCalendarResponse,\n GetIndexerPortfolioParams,\n GetIndexerPortfolioResponse,\n GetIndexerPositionsParams,\n GetIndexerPositionsResponse,\n GetIndexerPrivateAlphaChoiceParams,\n GetIndexerPrivateAlphaChoiceResponse,\n GetIndexerProductSnapshotsParams,\n GetIndexerProductSnapshotsResponse,\n GetIndexerQuotePriceResponse,\n GetIndexerReferralCodeParams,\n GetIndexerReferralCodeResponse,\n GetIndexerSubaccountDDAParams,\n GetIndexerSubaccountDDAResponse,\n GetIndexerV2SymbolsParams,\n GetIndexerV2SymbolsResponse,\n GetIndexerV2TickersParams,\n GetIndexerV2TickersResponse,\n GetIndexerXPointsParams,\n GetIndexerXPointsResponse,\n IndexerEventWithTx,\n IndexerMatchEvent,\n IndexerOraclePrice,\n IndexerServerEventsParams,\n IndexerServerFailureError,\n IndexerServerQueryRequestByType,\n IndexerServerQueryRequestType,\n IndexerServerQueryResponseByType,\n IndexerServerV2SymbolsResponse,\n IndexerServerV2TickersResponse,\n IndexerSnapshotBalance,\n IndexerSubaccountSnapshot,\n isIndexerServerFailureResponse,\n ListIndexerSocialAccountsParams,\n ListIndexerSocialAccountsResponse,\n ListIndexerSubaccountsParams,\n ListIndexerSubaccountsResponse,\n RegisterLeaderboardParams,\n RegisterLeaderboardResponse,\n RevokeSocialAccountParams,\n RevokeSocialAccountResponse,\n} from './types';\n\nexport interface IndexerClientOpts {\n // Server base URL, without a version segment (ex. `https://api.prod.nado.xyz/archive`)\n url: string;\n // Rewards service base URL, including the version segment (ex. `https://api.prod.nado.xyz/rewards/v1`).\n // Defaults to `${url}/rewards/v1`.\n rewardsUrl?: string;\n // Wallet Client for EIP712 signing\n walletClient?: WalletClientWithAccount;\n // Linked signer registered through the engine, if provided, execute requests will use this signer\n linkedSignerWalletClient?: WalletClientWithAccount;\n // If provided, identifies the calling client, sent as a header with every request\n clientType?: string;\n}\n\ntype IndexerQueryRequestBody = Partial<IndexerServerQueryRequestByType>;\n\n/**\n * Base client for all indexer requests\n */\nexport class IndexerBaseClient {\n readonly opts: IndexerClientOpts;\n readonly v1Url: string;\n readonly v2Url: string;\n readonly rewardsUrl: string;\n readonly axiosInstance: AxiosInstance;\n\n constructor(opts: IndexerClientOpts) {\n this.opts = opts;\n this.axiosInstance = axios.create({\n withCredentials: true,\n // We have custom logic to validate response status and create an appropriate error\n validateStatus: () => true,\n headers: getNadoClientTypeHeaders(opts.clientType),\n });\n this.v1Url = `${opts.url}/v1`;\n this.v2Url = `${opts.url}/v2`;\n this.rewardsUrl = opts.rewardsUrl ?? `${opts.url}/rewards/v1`;\n }\n\n /**\n * Sets the linked signer for execute requests\n *\n * @param linkedSignerWalletClient The linkedSigner to use for all signatures. Set to null to revert to the chain signer\n */\n public setLinkedSigner(\n linkedSignerWalletClient: WalletClientWithAccount | null,\n ) {\n this.opts.linkedSignerWalletClient = linkedSignerWalletClient ?? undefined;\n }\n\n /**\n * List all subaccounts\n *\n * @param params\n */\n async listSubaccounts(\n params: ListIndexerSubaccountsParams,\n ): Promise<ListIndexerSubaccountsResponse> {\n const baseResponse = await this.query('subaccounts', params);\n\n return baseResponse.subaccounts.map((item) => {\n const subaccount = subaccountFromHex(item.subaccount);\n return {\n hexId: item.subaccount,\n createdAt: Number(item.created_at),\n isolated: item.isolated,\n ...subaccount,\n };\n });\n }\n\n /**\n * Retrieve snapshots of multiple subaccounts at multiple points in time.\n * Each snapshot is a view of the subaccount's balances at this point in time, with tracked variables for interest, funding, etc.\n *\n * @param params\n */\n async getMultiSubaccountSnapshots(\n params: GetIndexerMultiSubaccountSnapshotsParams,\n ): Promise<GetIndexerMultiSubaccountSnapshotsResponse> {\n const subaccountHexIds = params.subaccounts.map(\n ({ subaccountOwner, subaccountName }) =>\n subaccountToHex({\n subaccountOwner,\n subaccountName,\n }),\n );\n\n const baseResponse = await this.query('account_snapshots', {\n subaccounts: subaccountHexIds,\n timestamps: params.timestamps,\n isolated: params.isolated,\n });\n\n const snapshotsBySubaccount = mapValues(\n baseResponse.snapshots,\n (balanceSnapshots) => {\n const snapshotByTimestamp: Record<string, IndexerSubaccountSnapshot> =\n {};\n\n Object.entries(balanceSnapshots).forEach(([timestamp, events]) => {\n const balances: IndexerSnapshotBalance[] =\n events.map(mapIndexerEvent);\n\n snapshotByTimestamp[timestamp] = {\n timestamp: toBigNumber(timestamp),\n balances,\n };\n });\n\n return snapshotByTimestamp;\n },\n );\n\n return {\n subaccountHexIds,\n snapshots: snapshotsBySubaccount,\n };\n }\n\n /**\n * Retrieves referral code for an address\n *\n * @param params\n */\n async getReferralCode(\n params: GetIndexerReferralCodeParams,\n ): Promise<GetIndexerReferralCodeResponse> {\n const baseResponse = await this.query('referral_code', {\n subaccount: subaccountToHex({\n subaccountOwner: params.subaccount.subaccountOwner,\n subaccountName: params.subaccount.subaccountName,\n }),\n });\n\n return {\n referralCode: baseResponse.referral_code,\n };\n }\n\n /**\n * Retrieves funding rate for a product, where 1 = 100%\n * @param params\n */\n async getFundingRate(\n params: GetIndexerFundingRateParams,\n ): Promise<GetIndexerFundingRateResponse> {\n const baseResponse = await this.query('funding_rate', {\n product_id: params.productId,\n });\n\n return mapIndexerFundingRate(baseResponse);\n }\n\n /**\n * Retrieves funding rate for multiple products, where 1 = 100%\n * @param params\n */\n async getMultiProductFundingRates(\n params: GetIndexerMultiProductFundingRatesParams,\n ): Promise<GetIndexerMultiProductFundingRatesResponse> {\n const baseResponse = await this.query('funding_rates', {\n product_ids: params.productIds,\n });\n\n return mapValues(baseResponse, mapIndexerFundingRate);\n }\n\n /**\n * Retrieves a perp product's historical (realized hourly) funding rates,\n * ordered ascending by timestamp, where 1 = 100%.\n *\n * To paginate forward, pass the last entry's `timestamp + 1` as the next\n * request's `startTimeInclusive`.\n *\n * @param params\n */\n async getFundingRateHistory(\n params: GetIndexerFundingRateHistoryParams,\n ): Promise<GetIndexerFundingRateHistoryResponse> {\n const baseResponse = await this.query('funding_rate_history', {\n product_id: params.productId,\n start_time: params.startTimeInclusive,\n end_time: params.endTimeInclusive,\n limit: params.limit,\n });\n\n return baseResponse.funding_rates.map(mapIndexerFundingRateHistory);\n }\n\n /**\n * Retrieves a subaccount's account-value, PnL, traded-volume, average-trade-size,\n * and markets-traded history across all timeframes, keyed by period. The value\n * aggregates the cross-margin account plus every isolated child; the queried\n * subaccount must be cross-margin.\n *\n * Points are downsampled per timeframe, so the most recent point can be up to\n * ~20 minutes stale. For the exact live value, use the engine client's\n * `getSubaccountSummary` query instead.\n *\n * @param params\n */\n async getPortfolio(\n params: GetIndexerPortfolioParams,\n ): Promise<GetIndexerPortfolioResponse> {\n const baseResponse = await this.query('portfolio', {\n subaccount: subaccountToHex(params.subaccount),\n });\n\n return mapIndexerPortfolio(baseResponse);\n }\n\n /**\n * Retrieves a subaccount's per-UTC-day PnL, traded volume, trade count, and\n * markets traded between `startTime` and `endTime` (inclusive), split into\n * `spot` and `perp` scopes. The value aggregates the cross-margin account plus\n * every isolated child; the queried subaccount must be cross-margin.\n *\n * Use this for calendar/heat-map style views of daily performance. For\n * continuous time series, use `getPortfolio` instead.\n *\n * `startTime`/`endTime` must be UTC midnight (divisible by 86400); the range\n * is capped at 500 days. Days before the subaccount's first recorded activity\n * return zeroed entries; days after the latest available data are omitted, so\n * a range ending in the future stops at today. The current (partial) day is\n * measured up to the latest available snapshot, which can be up to ~20\n * minutes stale.\n *\n * @param params\n */\n async getPortfolioCalendar(\n params: GetIndexerPortfolioCalendarParams,\n ): Promise<GetIndexerPortfolioCalendarResponse> {\n const baseResponse = await this.query('portfolio_calendar', {\n subaccount: subaccountToHex(params.subaccount),\n start_time: params.startTime,\n end_time: params.endTime,\n });\n\n return mapIndexerPortfolioCalendar(baseResponse);\n }\n\n /**\n * Retrieves latest mark/index price for a perp product\n * @param params\n */\n async getPerpPrices(\n params: GetIndexerPerpPricesParams,\n ): Promise<GetIndexerPerpPricesResponse> {\n const baseResponse = await this.query('price', {\n product_id: params.productId,\n });\n\n return mapIndexerPerpPrices(baseResponse);\n }\n\n /**\n * Retrieves latest mark/index price for multiple perp products\n * @param params\n */\n async getMultiProductPerpPrices(\n params: GetIndexerMultiProductPerpPricesParams,\n ): Promise<GetIndexerMultiProductPerpPricesResponse> {\n const baseResponse = await this.query('perp_prices', {\n product_ids: params.productIds,\n });\n\n return mapValues(baseResponse, mapIndexerPerpPrices);\n }\n\n /**\n * Retrieves latest oracle prices for provided products\n * @param params\n */\n async getOraclePrices(\n params: GetIndexerOraclePricesParams,\n ): Promise<GetIndexerOraclePricesResponse> {\n const baseResponse = await this.query('oracle_price', {\n product_ids: params.productIds,\n });\n\n return baseResponse.prices.map((price): IndexerOraclePrice => {\n return {\n oraclePrice: removeDecimals(price.oracle_price_x18),\n updateTime: toBigNumber(price.update_time),\n productId: price.product_id,\n };\n });\n }\n\n /**\n * Retrieves candlesticks for a product\n * @param params\n */\n async getCandlesticks(\n params: GetIndexerCandlesticksParams,\n ): Promise<GetIndexerCandlesticksResponse> {\n const baseResponse = await this.query('candlesticks', {\n product_id: params.productId,\n max_time: params.maxTimeInclusive,\n limit: params.limit,\n granularity: params.period,\n });\n\n return baseResponse.candlesticks.map(mapIndexerCandlesticks);\n }\n\n /**\n * Retrieves candlesticks for a product from Edge\n * @param params\n */\n async getEdgeCandlesticks(\n params: GetIndexerEdgeCandlesticksParams,\n ): Promise<GetIndexerEdgeCandlesticksResponse> {\n const baseResponse = await this.query('edge_candlesticks', {\n product_id: params.productId,\n max_time: params.maxTimeInclusive,\n limit: params.limit,\n granularity: params.period,\n });\n\n return baseResponse.candlesticks.map(mapIndexerCandlesticks);\n }\n\n /**\n * Retrieves historical snapshots for a product\n * @param params\n */\n async getProductSnapshots(\n params: GetIndexerProductSnapshotsParams,\n ): Promise<GetIndexerProductSnapshotsResponse> {\n const baseResponse = await this.query('products', {\n product_id: params.productId,\n max_time: params.maxTimestampInclusive,\n limit: params.limit,\n idx: params.startCursor,\n });\n\n return baseResponse.products.map((product) => {\n return {\n ...mapIndexerServerProduct(product.product),\n submissionIndex: product.submission_idx,\n };\n });\n }\n\n /**\n * Retrieves historical snapshots for multiple products\n * @param params\n */\n async getMultiProductSnapshots(\n params: GetIndexerMultiProductSnapshotsParams,\n ): Promise<GetIndexerMultiProductSnapshotsResponse> {\n const timestampToProductsMap = await this.query('product_snapshots', {\n product_ids: params.productIds,\n max_time: params.maxTimestampInclusive ?? [nowInSeconds()],\n });\n\n return mapValues(timestampToProductsMap, (productIdToProduct) => {\n return mapValues(productIdToProduct, (indexerProduct) => {\n return {\n ...mapIndexerServerProduct(indexerProduct.product),\n submissionIndex: indexerProduct.submission_idx,\n };\n });\n });\n }\n\n /**\n * Retrieves historical events\n *\n * @param params\n */\n async getEvents(\n params: GetIndexerEventsParams,\n ): Promise<GetIndexerEventsResponse> {\n const serverLimit = ((): IndexerServerEventsParams['limit'] | undefined => {\n if (!params.limit) {\n return;\n }\n\n if (params.limit.type === 'events') {\n return {\n raw: params.limit.value,\n };\n }\n return {\n txs: params.limit.value,\n };\n })();\n\n const baseResponse = await this.query('events', {\n subaccounts: params.subaccounts?.map((subaccount) =>\n subaccountToHex({\n subaccountOwner: subaccount.subaccountOwner,\n subaccountName: subaccount.subaccountName,\n }),\n ),\n product_ids: params.productIds,\n isolated: params.isolated,\n event_types: params.eventTypes,\n max_time: params.maxTimestampInclusive,\n desc: params.desc,\n limit: serverLimit,\n idx: params.startCursor,\n });\n\n // Keep track of the last tx index, and go to the next one if the submission_idx for the currently processed event does not match\n // txs are ordered the same as events, so this should be correct\n let lastTxIdx = 0;\n return baseResponse.events.map((event): IndexerEventWithTx => {\n if (baseResponse.txs[lastTxIdx].submission_idx !== event.submission_idx) {\n lastTxIdx += 1;\n }\n const tx = baseResponse.txs[lastTxIdx];\n return mapIndexerEventWithTx(event, tx);\n });\n }\n\n /**\n * Retrieves historical orders\n * @param params\n */\n async getOrders(\n params: GetIndexerOrdersParams,\n ): Promise<GetIndexerOrdersResponse> {\n const baseResponse = await this.query('orders', {\n subaccounts: params?.subaccounts?.map((subaccount) =>\n subaccountToHex({\n subaccountOwner: subaccount.subaccountOwner,\n subaccountName: subaccount.subaccountName,\n }),\n ),\n product_ids: params.productIds,\n trigger_types: params.triggerTypes,\n isolated: params.isolated,\n digests: params.digests,\n max_time: params.maxTimestampInclusive,\n limit: params.limit,\n idx: params.startCursor,\n });\n\n return baseResponse.orders.map(mapIndexerOrder);\n }\n\n /**\n * Gets match order events, this will return the same events as the events query, but with additional information\n * to identify the order that was matched\n *\n * @param params\n */\n async getMatchEvents(\n params: GetIndexerMatchEventsParams,\n ): Promise<GetIndexerMatchEventsResponse> {\n const baseResponse = await this.query('matches', {\n subaccounts: params?.subaccounts?.map((subaccount) =>\n subaccountToHex({\n subaccountOwner: subaccount.subaccountOwner,\n subaccountName: subaccount.subaccountName,\n }),\n ),\n product_ids: params.productIds,\n isolated: params.isolated,\n max_time: params.maxTimestampInclusive,\n limit: params.limit,\n idx: params.startCursor,\n });\n\n // Same as logic in `getEvents`\n let lastTxIdx = 0;\n return baseResponse.matches.map((matchEvent): IndexerMatchEvent => {\n if (\n baseResponse.txs[lastTxIdx].submission_idx !== matchEvent.submission_idx\n ) {\n lastTxIdx += 1;\n }\n const { tx, timestamp } = baseResponse.txs[lastTxIdx];\n\n // We use this to derive the product ID for the match\n const postBalances = mapIndexerMatchEventBalances(\n matchEvent.post_balance,\n );\n\n return {\n productId: postBalances.base.productId,\n isolated: matchEvent.isolated,\n totalFee: toBigNumber(matchEvent.fee),\n sequencerFee: toBigNumber(matchEvent.sequencer_fee),\n builderFee: toBigNumber(matchEvent.builder_fee),\n baseFilled: toBigNumber(matchEvent.base_filled),\n quoteFilled: toBigNumber(matchEvent.quote_filled),\n cumulativeFee: toBigNumber(matchEvent.cumulative_fee),\n cumulativeBaseFilled: toBigNumber(matchEvent.cumulative_base_filled),\n cumulativeQuoteFilled: toBigNumber(matchEvent.cumulative_quote_filled),\n digest: matchEvent.digest,\n order: matchEvent.order,\n submissionIndex: matchEvent.submission_idx,\n timestamp: toBigNumber(timestamp),\n preEventTrackedVars: {\n netEntryUnrealized: toBigNumber(matchEvent.net_entry_unrealized),\n netEntryCumulative: toBigNumber(matchEvent.net_entry_cumulative),\n },\n preBalances: mapIndexerMatchEventBalances(matchEvent.pre_balance),\n postBalances,\n tx,\n isTaker: matchEvent.is_taker,\n realizedPnl: toBigNumber(matchEvent.realized_pnl),\n closedAmount: toBigNumber(matchEvent.closed_amount),\n closedNetEntry: toBigNumber(matchEvent.closed_net_entry),\n margin: matchEvent.margin ? toBigNumber(matchEvent.margin) : null,\n ...subaccountFromHex(matchEvent.order.sender),\n };\n });\n }\n\n /**\n * Retrieves a subaccount's historical positions, ordered descending by `openId`.\n * Positions are tracked for every product except the quote product.\n *\n * The response also includes the boundary events (with their transactions) at each\n * position's open and close, or open and latest update while still open; join them\n * to positions via `openId` / `closeId` / `submissionIndex`.\n *\n * To paginate, pass the last returned position's `openId - 1` as the next request's\n * `startCursor`.\n *\n * @param params\n */\n async getPositions(\n params: GetIndexerPositionsParams,\n ): Promise<GetIndexerPositionsResponse> {\n const baseResponse = await this.query('positions', {\n subaccount: subaccountToHex({\n subaccountOwner: params.subaccount.subaccountOwner,\n subaccountName: params.subaccount.subaccountName,\n }),\n product_id: params.productId,\n isolated: params.isolated,\n open: params.open,\n idx: params.startCursor,\n limit: params.limit,\n });\n\n // Unlike `getEvents`, boundary events aren't strictly ordered against txs, so join by submission index\n const txsBySubmissionIdx = new Map(\n baseResponse.txs.map((tx) => [tx.submission_idx, tx]),\n );\n\n return {\n positions: baseResponse.positions.map(mapIndexerPosition),\n events: baseResponse.events.map((event) => {\n const tx = txsBySubmissionIdx.get(event.submission_idx);\n if (!tx) {\n throw Error(\n `No tx found for position boundary event with submission_idx ${event.submission_idx}`,\n );\n }\n return mapIndexerEventWithTx(event, tx);\n }),\n };\n }\n\n /**\n * Retrieves historical funding & interest payments.\n * NOTE: `limit` is an upperbound. If a user changes position size such that his position is 0 during each funding/interest tick,\n * then the indexer will return fewer than `limit` results per page. However, more events can be present. This means that\n * there isn't a reliable way to determine whether there is a next page. We just need to keep paginating until the next cursor is null.\n *\n * @param params\n */\n async getInterestFundingPayments(\n params: GetIndexerInterestFundingPaymentsParams,\n ): Promise<GetIndexerInterestFundingPaymentsResponse> {\n const baseResponse = await this.query('interest_and_funding', {\n subaccount: subaccountToHex({\n subaccountOwner: params.subaccount.subaccountOwner,\n subaccountName: params.subaccount.subaccountName,\n }),\n product_ids: params.productIds,\n max_time: params.maxTimestampInclusive,\n limit: params.limit,\n max_idx: params.startCursor,\n });\n\n return {\n fundingPayments: baseResponse.funding_payments.map(\n mapIndexerProductPayment,\n ),\n interestPayments: baseResponse.interest_payments.map(\n mapIndexerProductPayment,\n ),\n nextCursor: baseResponse.next_idx,\n };\n }\n\n /**\n * Gets quote (USDT) price in terms of USD\n */\n async getQuotePrice(): Promise<GetIndexerQuotePriceResponse> {\n const baseResponse = await this.query('quote_price', {});\n return {\n price: removeDecimals(baseResponse.price_x18),\n };\n }\n\n /**\n * Fetches currently registered linked signer with the remaining txs allowed for the subaccount\n */\n async getLinkedSignerWithRateLimit(\n params: GetIndexerLinkedSignerParams,\n ): Promise<GetIndexerLinkedSignerResponse> {\n const baseResponse = await this.query('linked_signer_rate_limit', {\n subaccount: subaccountToHex(params.subaccount),\n });\n return {\n totalTxLimit: toBigNumber(baseResponse.total_tx_limit),\n remainingTxs: toBigNumber(baseResponse.remaining_tx),\n signer: baseResponse.signer,\n waitTimeUntilNextTx: toBigNumber(baseResponse.wait_time),\n };\n }\n\n /**\n * Retrieve historical market snapshots\n * @param params\n */\n async getMarketSnapshots(\n params: GetIndexerMarketSnapshotsParams,\n ): Promise<GetIndexerMarketSnapshotsResponse> {\n const baseResponse = await this.query('market_snapshots', {\n interval: mapSnapshotsIntervalToServerParams(params),\n product_ids: params.productIds,\n });\n\n return baseResponse.snapshots.map(mapIndexerMarketSnapshot);\n }\n\n /**\n * Retrieve historical market snapshots from Edge\n * @param params\n */\n async getEdgeMarketSnapshots(\n params: GetIndexerEdgeMarketSnapshotsParams,\n ): Promise<GetIndexerEdgeMarketSnapshotResponse> {\n const baseResponse = await this.query('edge_market_snapshots', {\n interval: mapSnapshotsIntervalToServerParams(params),\n });\n\n return mapValues(baseResponse.snapshots, (snapshots) =>\n snapshots.map(mapIndexerMarketSnapshot),\n );\n }\n\n /**\n * Retrieve maker statistics for a given epoch\n *\n * @param params\n */\n async getMakerStatistics(\n params: GetIndexerMakerStatisticsParams,\n ): Promise<GetIndexerMakerStatisticsResponse> {\n const baseResponse = await this.query('maker_statistics', {\n product_id: params.productId,\n epoch: params.epoch,\n interval: params.interval,\n });\n\n return {\n rewardCoefficient: toBigNumber(baseResponse.reward_coefficient),\n makers: baseResponse.makers.map(mapIndexerMakerStatistics),\n };\n }\n\n /**\n * Retrieve leaderboard stats for a given contest\n *\n * @param params\n */\n async getLeaderboard(\n params: GetIndexerLeaderboardParams,\n ): Promise<GetIndexerLeaderboardResponse> {\n const baseResponse = await this.rewardsQuery('leaderboard', {\n contest_id: params.contestId,\n rank_type: params.rankType,\n start: params.startCursor,\n limit: params.limit,\n order: params.order,\n });\n\n return {\n participants: baseResponse.positions.map(mapIndexerLeaderboardPosition),\n };\n }\n\n /**\n * Retrieve leaderboard ranking of a subaccount on a given contest\n *\n * @param params\n */\n async getLeaderboardParticipant(\n params: GetIndexerLeaderboardParticipantParams,\n ): Promise<GetIndexerLeaderboardParticipantResponse> {\n const baseResponse = await this.rewardsQuery('leaderboard_rank', {\n subaccount: subaccountToHex(params.subaccount),\n contest_ids: params.contestIds,\n });\n\n return {\n participant: mapValues(baseResponse.positions, (position) =>\n mapIndexerLeaderboardPosition(position),\n ),\n };\n }\n\n /**\n * Registers a subaccount for one or more contests. Requires EIP-712 signing.\n *\n * @param params - Registration parameters including contest IDs and signing config.\n */\n async registerLeaderboard(\n params: RegisterLeaderboardParams,\n ): Promise<RegisterLeaderboardResponse> {\n const signatureParams: EIP712LeaderboardAuthenticationParams = {\n expiration: toIntegerString(params.recvTime ?? getDefaultRecvTime()),\n subaccountName: params.subaccountName,\n subaccountOwner: params.subaccountOwner,\n contestIds: params.contestIds,\n };\n\n const tx = getNadoEIP712Values(\n 'leaderboard_authentication',\n signatureParams,\n );\n const signature = await this.sign(\n 'leaderboard_authentication',\n params.verifyingAddr,\n params.chainId,\n signatureParams,\n );\n\n const updateRegistrationTx: SignedTx<EIP712LeaderboardAuthenticationValues> =\n {\n tx,\n signature,\n };\n\n const baseResponse = await this.rewardsQuery('leaderboard_register', {\n update_registration: updateRegistrationTx,\n });\n\n return {\n registrations: baseResponse.registrations.map(\n mapIndexerLeaderboardRegistration,\n ),\n };\n }\n\n /**\n * Retrieves contest registrations for a subaccount. Supports batch lookup\n * across multiple contests with an optional active filter.\n *\n * @param params - Query parameters including subaccount and contest IDs.\n */\n async getLeaderboardRegistrations(\n params: GetIndexerLeaderboardRegistrationsParams,\n ): Promise<GetIndexerLeaderboardRegistrationsResponse> {\n const baseResponse = await this.rewardsQuery('leaderboard_registrations', {\n subaccount: subaccountToHex(params.subaccount),\n contest_ids: params.contestIds,\n active: params.active,\n });\n\n return {\n registrations: baseResponse.registrations.map(\n mapIndexerLeaderboardRegistration,\n ),\n };\n }\n\n /**\n * Retrieve metadata of provided leaderboard contests\n *\n * @param params\n */\n async getLeaderboardContests(\n params: GetIndexerLeaderboardContestsParams,\n ): Promise<GetIndexerLeaderboardContestsResponse> {\n const baseResponse = await this.rewardsQuery('leaderboard_contests', {\n contest_ids: params.contestIds,\n active: params.active,\n });\n\n return {\n contests: baseResponse.contests.map(mapIndexerLeaderboardContest),\n };\n }\n\n /**\n * Retrieve signature and tx to submit a fast withdrawal\n *\n * @param params\n */\n async getFastWithdrawalSignature(\n params: GetIndexerFastWithdrawalSignatureParams,\n ): Promise<GetIndexerFastWithdrawalSignatureResponse> {\n const baseResponse = await this.query('fast_withdrawal_signature', params);\n return {\n idx: toBigInt(baseResponse.idx),\n tx: baseResponse.tx,\n txV2: baseResponse.tx_v2,\n txBytes: getValidatedHex(baseResponse.tx_bytes),\n signatures: baseResponse.signatures.map(getValidatedHex),\n };\n }\n\n async getNlpSnapshots(\n params: GetIndexerNlpSnapshotsParams,\n ): Promise<GetIndexerNlpSnapshotsResponse> {\n const baseResponse = await this.query('nlp_snapshots', {\n interval: {\n count: params.limit,\n max_time: params.maxTimeInclusive\n ? toIntegerString(params.maxTimeInclusive)\n : undefined,\n granularity: params.granularity,\n },\n });\n\n return {\n snapshots: baseResponse.snapshots.map(mapIndexerNlpSnapshot),\n };\n }\n\n /**\n * Retrieves the subaccount's DDA (Direct Deposit Address)\n * @param params\n */\n async getSubaccountDDA(\n params: GetIndexerSubaccountDDAParams,\n ): Promise<GetIndexerSubaccountDDAResponse> {\n const baseResponse = await this.query('direct_deposit_address', {\n subaccount: subaccountToHex(params.subaccount),\n });\n\n return {\n address: getValidatedAddress(baseResponse.v1_address),\n };\n }\n\n async getSequencerBacklog(): Promise<GetIndexerBacklogResponse> {\n const baseResponse = await this.query('backlog', {});\n\n return {\n totalTxs: toBigNumber(baseResponse.total_txs),\n totalSubmissions: toBigNumber(baseResponse.total_submissions),\n backlogSize: toBigNumber(baseResponse.backlog_size),\n updatedAt: toBigNumber(baseResponse.updated_at),\n backlogEtaInSeconds: baseResponse.backlog_eta_in_seconds\n ? toBigNumber(baseResponse.backlog_eta_in_seconds)\n : null,\n txsPerSecond: baseResponse.txs_per_second\n ? toBigNumber(baseResponse.txs_per_second)\n : null,\n };\n }\n\n /**\n * Retrieves private alpha choice information for a given address\n * @param params\n */\n async getPrivateAlphaChoice(\n params: GetIndexerPrivateAlphaChoiceParams,\n ): Promise<GetIndexerPrivateAlphaChoiceResponse> {\n const baseResponse = await this.rewardsQuery('private_alpha_choice', {\n address: params.address,\n });\n\n return {\n points: toBigNumber(baseResponse.points),\n feeRefund: toBigNumber(baseResponse.fee_refund),\n nftEligibility: baseResponse.nft_eligibility,\n };\n }\n\n /**\n * Retrieves points information for a given address, including points per epoch and all-time points\n * @param params\n */\n async getPoints(\n params: GetIndexerPointsParams,\n ): Promise<GetIndexerPointsResponse> {\n const baseResponse = await this.rewardsQuery('nado_points', {\n address: params.address,\n });\n\n return {\n pointsPerEpoch: baseResponse.points_per_epoch.map((epoch) => ({\n epoch: epoch.epoch,\n description: epoch.description,\n startTime: toBigNumber(epoch.start_time),\n endTime: toBigNumber(epoch.end_time),\n totalPoints: toBigNumber(epoch.total_points),\n points: toBigNumber(epoch.points),\n rank: epoch.rank,\n tier: epoch.tier,\n })),\n allTimePoints: {\n points: toBigNumber(baseResponse.all_time_points.points),\n rank: baseResponse.all_time_points.rank,\n tier: baseResponse.all_time_points.tier,\n },\n };\n }\n\n /**\n * Retrieves xPoints information (Nado x xStocks points program) for a given address,\n * including per-epoch points, all-time points, and per-quest breakdowns.\n * @param params\n */\n async getXPoints(\n params: GetIndexerXPointsParams,\n ): Promise<GetIndexerXPointsResponse> {\n const baseResponse = await this.rewardsQuery('nado_xpoints', {\n address: params.address,\n });\n\n const mapQuests = (\n quests: typeof baseResponse.all_time_points.quests,\n ): GetIndexerXPointsResponse['allTimePoints']['quests'] =>\n quests.map((quest) => ({\n questType: quest.quest_type,\n points: toBigNumber(quest.points),\n }));\n\n return {\n pointsPerEpoch: baseResponse.points_per_epoch.map((epoch) => ({\n epoch: epoch.epoch,\n description: epoch.description,\n startTime: toBigNumber(epoch.start_time),\n endTime: toBigNumber(epoch.end_time),\n totalPoints: toBigNumber(epoch.total_points),\n rank: epoch.rank,\n quests: mapQuests(epoch.quests),\n })),\n allTimePoints: {\n totalPoints: toBigNumber(baseResponse.all_time_points.total_points),\n rank: baseResponse.all_time_points.rank,\n quests: mapQuests(baseResponse.all_time_points.quests),\n },\n };\n }\n\n /**\n * Retrieves cash incentives information for a given wallet address: per-event platform volume,\n * unlocked rewards, and `wallet.claim`, which carries the claim status plus the merkle proof when\n * that status is `claimable`.\n * @param params\n */\n async getCashIncentives(\n params: GetIndexerCashIncentivesParams,\n ): Promise<GetIndexerCashIncentivesResponse> {\n const baseResponse = await this.rewardsQuery('cash_incentives', {\n wallet_address: params.address,\n });\n\n return {\n events: baseResponse.events.map((event) => ({\n metadata: {\n eventId: event.metadata.event_id,\n description: event.metadata.description,\n epochStart: toBigNumber(event.metadata.epoch_start),\n epochEnd: toBigNumber(event.metadata.epoch_end),\n maxVolume: removeDecimals(event.metadata.max_volume),\n maxReward: removeDecimals(event.metadata.max_reward),\n minVolume: removeDecimals(event.metadata.min_volume),\n minReward: removeDecimals(event.metadata.min_reward),\n },\n platform: {\n platformVolume: removeDecimals(event.platform.platform_volume),\n unlockedReward: removeDecimals(event.platform.unlocked_reward),\n },\n wallet: {\n reward: removeDecimals(event.wallet.reward),\n claim:\n event.wallet.claim.status === 'claimable'\n ? {\n status: 'claimable',\n airdropAddress: getValidatedAddress(\n event.wallet.claim.airdrop_address,\n ),\n week: event.wallet.claim.week,\n // Kept in raw token units so it can be passed to the airdrop contract unchanged\n totalAmount: toBigNumber(event.wallet.claim.total_amount),\n proof: event.wallet.claim.proof.map(getValidatedHex),\n }\n : { status: event.wallet.claim.status },\n },\n })),\n walletSummary: {\n totalReward: removeDecimals(baseResponse.wallet_summary.total_reward),\n claimableReward: removeDecimals(\n baseResponse.wallet_summary.claimable_reward,\n ),\n },\n };\n }\n\n /**\n * Initiates a social account connection flow. Returns a URL the user must visit to complete the OAuth flow.\n * Requires EIP-712 signing.\n *\n * @param params - Connection parameters including provider and signing config.\n */\n async connectSocialAccount(\n params: ConnectSocialAccountParams,\n ): Promise<ConnectSocialAccountResponse> {\n const signatureParams: EIP712SocialAuthenticationParams = {\n expiration: toIntegerString(params.recvTime ?? getDefaultRecvTime()),\n subaccountName: params.subaccountName,\n subaccountOwner: params.subaccountOwner,\n provider: params.provider,\n };\n\n const tx = getNadoEIP712Values('social_authentication', signatureParams);\n const signature = await this.sign(\n 'social_authentication',\n params.verifyingAddr,\n params.chainId,\n signatureParams,\n );\n\n const baseResponse = await this.rewardsQuery('social_connect', {\n update_social_account: { tx, signature },\n });\n\n return { url: baseResponse.url };\n }\n\n /**\n * Lists linked social accounts for a given address.\n *\n * @param params - Query parameters including the wallet address.\n */\n async listSocialAccounts(\n params: ListIndexerSocialAccountsParams,\n ): Promise<ListIndexerSocialAccountsResponse> {\n const baseResponse = await this.rewardsQuery('list_social_accounts', {\n address: params.address,\n });\n\n return {\n accounts: baseResponse.accounts.map((a) => ({\n provider: a.provider,\n username: a.username,\n displayName: a.display_name,\n profileImageUrl: a.profile_image_url,\n })),\n };\n }\n\n /**\n * Revokes a linked social account. Requires EIP-712 signing.\n *\n * @param params - Revocation parameters including provider and signing config.\n */\n async revokeSocialAccount(\n params: RevokeSocialAccountParams,\n ): Promise<RevokeSocialAccountResponse> {\n const signatureParams: EIP712SocialAuthenticationParams = {\n expiration: toIntegerString(params.recvTime ?? getDefaultRecvTime()),\n subaccountName: params.subaccountName,\n subaccountOwner: params.subaccountOwner,\n provider: params.provider,\n };\n\n const tx = getNadoEIP712Values('social_authentication', signatureParams);\n const signature = await this.sign(\n 'social_authentication',\n params.verifyingAddr,\n params.chainId,\n signatureParams,\n );\n\n const baseResponse = await this.rewardsQuery('revoke_social_account', {\n update_social_account: { tx, signature },\n });\n\n return {\n accounts: baseResponse.accounts.map((a) => ({\n provider: a.provider,\n username: a.username,\n displayName: a.display_name,\n profileImageUrl: a.profile_image_url,\n })),\n };\n }\n\n /**\n * Get tickers from the v2 indexer endpoint\n * @param params\n */\n async getV2Tickers(\n params: GetIndexerV2TickersParams,\n ): Promise<GetIndexerV2TickersResponse> {\n const response =\n await this.axiosInstance.get<IndexerServerV2TickersResponse>(\n `${this.v2Url}/tickers`,\n { params },\n );\n\n this.checkResponseStatus(response);\n\n return mapValues(response.data, mapIndexerV2Ticker);\n }\n\n /**\n * Get symbols with market hours from the v2 indexer endpoint\n * @param params\n */\n async getV2Symbols(\n params?: GetIndexerV2SymbolsParams,\n ): Promise<GetIndexerV2SymbolsResponse> {\n const response =\n await this.axiosInstance.get<IndexerServerV2SymbolsResponse>(\n `${this.v2Url}/symbols`,\n {\n params: {\n product_type: params?.productType,\n product_ids: params?.productIds,\n },\n },\n );\n\n this.checkResponseStatus(response);\n\n return mapValues(response.data, mapIndexerV2Symbols);\n }\n\n protected query<TRequestType extends IndexerServerQueryRequestType>(\n requestType: TRequestType,\n params: IndexerServerQueryRequestByType[TRequestType],\n ): Promise<IndexerServerQueryResponseByType[TRequestType]> {\n return this.queryWithUrl(this.v1Url, requestType, params);\n }\n\n /**\n * Runs a query against the rewards endpoint, which serves leaderboard, points,\n * cash incentives, private alpha, and social account queries\n */\n protected rewardsQuery<TRequestType extends IndexerServerQueryRequestType>(\n requestType: TRequestType,\n params: IndexerServerQueryRequestByType[TRequestType],\n ): Promise<IndexerServerQueryResponseByType[TRequestType]> {\n return this.queryWithUrl(this.rewardsUrl, requestType, params);\n }\n\n private async queryWithUrl<\n TRequestType extends IndexerServerQueryRequestType,\n >(\n url: string,\n requestType: TRequestType,\n params: IndexerServerQueryRequestByType[TRequestType],\n ): Promise<IndexerServerQueryResponseByType[TRequestType]> {\n const reqBody: IndexerQueryRequestBody = {\n [requestType]: params,\n };\n const response = await this.axiosInstance.post<\n IndexerServerQueryResponseByType[TRequestType]\n >(url, reqBody);\n\n this.checkResponseStatus(response);\n\n return response.data;\n }\n\n protected async sign<T extends SignableRequestType>(\n requestType: T,\n verifyingContract: string,\n chainId: number,\n params: SignableRequestTypeToParams[T],\n ) {\n const walletClient =\n this.opts.linkedSignerWalletClient ?? this.opts.walletClient;\n\n if (!walletClient) {\n throw new WalletNotProvidedError();\n }\n\n return getSignedTransactionRequest({\n chainId,\n requestParams: params,\n requestType,\n walletClient,\n verifyingContract,\n });\n }\n\n private checkResponseStatus(response: AxiosResponse) {\n if (isIndexerServerFailureResponse(response.data)) {\n throw new IndexerServerFailureError(response.data, response.status);\n }\n if (response.status !== 200 || !response.data) {\n throw Error(\n `Unexpected response from server: ${response.status} ${response.statusText}`,\n );\n }\n }\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_IndexerBaseClient = require("./IndexerBaseClient-CSn4twzz.cjs");
2
+ const require_IndexerBaseClient = require("./IndexerBaseClient-DG3Tf9Cv.cjs");
3
3
  let _nadohq_shared = require("@nadohq/shared");
4
4
  //#region src/IndexerClient.ts
5
5
  /**
@@ -1,4 +1,4 @@
1
- import { _ as GetIndexerSubaccountSettlementEventsResponse, a as GetIndexerPaginatedOrdersParams, c as GetIndexerSubaccountCollateralEventsResponse, d as GetIndexerSubaccountLiquidationEventsResponse, f as GetIndexerSubaccountMatchEventParams, g as GetIndexerSubaccountSettlementEventsParams, h as GetIndexerSubaccountNlpEventsResponse, i as GetIndexerPaginatedLeaderboardResponse, l as GetIndexerSubaccountInterestFundingPaymentsParams, m as GetIndexerSubaccountNlpEventsParams, n as GetIndexerPaginatedInterestFundingPaymentsResponse, o as GetIndexerPaginatedOrdersResponse, p as GetIndexerSubaccountMatchEventsResponse, r as GetIndexerPaginatedLeaderboardParams, s as GetIndexerSubaccountCollateralEventsParams, u as GetIndexerSubaccountLiquidationEventsParams } from "./paginatedEventsTypes-DZllHmqY.cjs";
1
+ import { _ as GetIndexerSubaccountSettlementEventsResponse, a as GetIndexerPaginatedOrdersParams, c as GetIndexerSubaccountCollateralEventsResponse, d as GetIndexerSubaccountLiquidationEventsResponse, f as GetIndexerSubaccountMatchEventParams, g as GetIndexerSubaccountSettlementEventsParams, h as GetIndexerSubaccountNlpEventsResponse, i as GetIndexerPaginatedLeaderboardResponse, l as GetIndexerSubaccountInterestFundingPaymentsParams, m as GetIndexerSubaccountNlpEventsParams, n as GetIndexerPaginatedInterestFundingPaymentsResponse, o as GetIndexerPaginatedOrdersResponse, p as GetIndexerSubaccountMatchEventsResponse, r as GetIndexerPaginatedLeaderboardParams, s as GetIndexerSubaccountCollateralEventsParams, u as GetIndexerSubaccountLiquidationEventsParams } from "./paginatedEventsTypes-BjMDecWY.cjs";
2
2
  import { IndexerBaseClient } from "./IndexerBaseClient.cjs";
3
3
 
4
4
  //#region src/IndexerClient.d.ts
@@ -1,4 +1,4 @@
1
- import { _ as GetIndexerSubaccountSettlementEventsResponse, a as GetIndexerPaginatedOrdersParams, c as GetIndexerSubaccountCollateralEventsResponse, d as GetIndexerSubaccountLiquidationEventsResponse, f as GetIndexerSubaccountMatchEventParams, g as GetIndexerSubaccountSettlementEventsParams, h as GetIndexerSubaccountNlpEventsResponse, i as GetIndexerPaginatedLeaderboardResponse, l as GetIndexerSubaccountInterestFundingPaymentsParams, m as GetIndexerSubaccountNlpEventsParams, n as GetIndexerPaginatedInterestFundingPaymentsResponse, o as GetIndexerPaginatedOrdersResponse, p as GetIndexerSubaccountMatchEventsResponse, r as GetIndexerPaginatedLeaderboardParams, s as GetIndexerSubaccountCollateralEventsParams, u as GetIndexerSubaccountLiquidationEventsParams } from "./paginatedEventsTypes-BT--OHd5.js";
1
+ import { _ as GetIndexerSubaccountSettlementEventsResponse, a as GetIndexerPaginatedOrdersParams, c as GetIndexerSubaccountCollateralEventsResponse, d as GetIndexerSubaccountLiquidationEventsResponse, f as GetIndexerSubaccountMatchEventParams, g as GetIndexerSubaccountSettlementEventsParams, h as GetIndexerSubaccountNlpEventsResponse, i as GetIndexerPaginatedLeaderboardResponse, l as GetIndexerSubaccountInterestFundingPaymentsParams, m as GetIndexerSubaccountNlpEventsParams, n as GetIndexerPaginatedInterestFundingPaymentsResponse, o as GetIndexerPaginatedOrdersResponse, p as GetIndexerSubaccountMatchEventsResponse, r as GetIndexerPaginatedLeaderboardParams, s as GetIndexerSubaccountCollateralEventsParams, u as GetIndexerSubaccountLiquidationEventsParams } from "./paginatedEventsTypes-BX6kXeBg.js";
2
2
  import { IndexerBaseClient } from "./IndexerBaseClient.js";
3
3
 
4
4
  //#region src/IndexerClient.d.ts
@@ -1,4 +1,4 @@
1
- import { Bt as IndexerServerRequestType, T as IndexerServerFailureResponse } from "./serverTypes-CyqBF-nt.cjs";
1
+ import { T as IndexerServerFailureResponse, Ut as IndexerServerRequestType } from "./serverTypes-Beex1AeJ.cjs";
2
2
  import { BaseServerFailureError } from "@nadohq/shared";
3
3
 
4
4
  //#region src/types/IndexerServerFailureError.d.ts
@@ -22,4 +22,4 @@ declare class IndexerServerFailureError extends BaseServerFailureError {
22
22
  }
23
23
  //#endregion
24
24
  export { IndexerServerFailureError as t };
25
- //# sourceMappingURL=IndexerServerFailureError-D-KNqVt3.d.cts.map
25
+ //# sourceMappingURL=IndexerServerFailureError-Bk16b7Th.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IndexerServerFailureError-D-KNqVt3.d.cts","names":[],"sources":["../src/types/src/types/IndexerServerFailureError.ts"],"mappings":";;;;;;AAeA;;;;;;;cAAa,yBAAA,SAAkC,sBAAA;EAAA,SAC5B,YAAA,EAAc,4BAAA;EAAA,SACd,WAAA,EAAa,wBAAA;EADb;;;EAAA,SAMR,UAAA;cAEG,YAAA,EAAc,4BAAA,EAA8B,UAAA;AAAA"}
1
+ {"version":3,"file":"IndexerServerFailureError-Bk16b7Th.d.cts","names":[],"sources":["../src/types/src/types/IndexerServerFailureError.ts"],"mappings":";;;;;;AAeA;;;;;;;cAAa,yBAAA,SAAkC,sBAAA;EAAA,SAC5B,YAAA,EAAc,4BAAA;EAAA,SACd,WAAA,EAAa,wBAAA;EADb;;;EAAA,SAMR,UAAA;cAEG,YAAA,EAAc,4BAAA,EAA8B,UAAA;AAAA"}
@@ -1,4 +1,4 @@
1
- import { Bt as IndexerServerRequestType, T as IndexerServerFailureResponse } from "./serverTypes-Dod9cCEW.js";
1
+ import { T as IndexerServerFailureResponse, Ut as IndexerServerRequestType } from "./serverTypes-CJvQ3yQx.js";
2
2
  import { BaseServerFailureError } from "@nadohq/shared";
3
3
 
4
4
  //#region src/types/IndexerServerFailureError.d.ts
@@ -22,4 +22,4 @@ declare class IndexerServerFailureError extends BaseServerFailureError {
22
22
  }
23
23
  //#endregion
24
24
  export { IndexerServerFailureError as t };
25
- //# sourceMappingURL=IndexerServerFailureError-BoGd4gih.d.ts.map
25
+ //# sourceMappingURL=IndexerServerFailureError-BroKB4zm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IndexerServerFailureError-BoGd4gih.d.ts","names":[],"sources":["../src/types/src/types/IndexerServerFailureError.ts"],"mappings":";;;;;;AAeA;;;;;;;cAAa,yBAAA,SAAkC,sBAAA;EAAA,SAC5B,YAAA,EAAc,4BAAA;EAAA,SACd,WAAA,EAAa,wBAAA;EADb;;;EAAA,SAMR,UAAA;cAEG,YAAA,EAAc,4BAAA,EAA8B,UAAA;AAAA"}
1
+ {"version":3,"file":"IndexerServerFailureError-BroKB4zm.d.ts","names":[],"sources":["../src/types/src/types/IndexerServerFailureError.ts"],"mappings":";;;;;;AAeA;;;;;;;cAAa,yBAAA,SAAkC,sBAAA;EAAA,SAC5B,YAAA,EAAc,4BAAA;EAAA,SACd,WAAA,EAAa,wBAAA;EADb;;;EAAA,SAMR,UAAA;cAEG,YAAA,EAAc,4BAAA,EAA8B,UAAA;AAAA"}
@@ -2,7 +2,7 @@ import { t as CandlestickPeriod } from "./CandlestickPeriod-D3_IoSev.cjs";
2
2
  import { n as IndexerEventType } from "./IndexerEventType-BpH10mEW.cjs";
3
3
  import { t as IndexerLeaderboardRankType } from "./IndexerLeaderboardType-Ck12QVWR.cjs";
4
4
  import { a as NadoTx, o as NadoWithdrawCollateralTx, s as NadoWithdrawCollateralV2Tx } from "./NadoTx-4BQkGyHz.cjs";
5
- import { E as IndexerServerFastWithdrawalSignatureParams, Gt as IndexerServerTriggerTypeFilter, Z as IndexerServerListSubaccountsParams, y as IndexerServerCashIncentivesWalletStatus } from "./serverTypes-CyqBF-nt.cjs";
5
+ import { E as IndexerServerFastWithdrawalSignatureParams, Jt as IndexerServerTriggerTypeFilter, Z as IndexerServerListSubaccountsParams, y as IndexerServerCashIncentivesWalletStatus } from "./serverTypes-Beex1AeJ.cjs";
6
6
  import { EIP712OrderValues, Market, OrderAppendix, PerpBalance, PerpMarket, ProductEngineType, SignatureParams, SpotBalance, SpotMarket, Subaccount } from "@nadohq/shared";
7
7
  import BigNumber from "bignumber.js";
8
8
  import { Address, Hex } from "viem";
@@ -199,6 +199,44 @@ interface IndexerPortfolioHistory {
199
199
  marketCountHistory: IndexerPortfolioPoint[];
200
200
  }
201
201
  type GetIndexerPortfolioResponse = Record<IndexerPortfolioPeriod, IndexerPortfolioHistory>;
202
+ /**
203
+ * Portfolio Calendar
204
+ */
205
+ interface GetIndexerPortfolioCalendarParams {
206
+ /**
207
+ * Cross-margin subaccount to query. Its value aggregates the cross-margin
208
+ * account plus every isolated child; isolated subaccounts are rejected.
209
+ */
210
+ subaccount: Subaccount;
211
+ /** First day of the range, unix seconds, UTC midnight (divisible by 86400). */
212
+ startTime: number;
213
+ /** Last day of the range, unix seconds, UTC midnight, inclusive. The range is capped at 500 days. */
214
+ endTime: number;
215
+ }
216
+ interface IndexerPortfolioCalendarDay {
217
+ date: BigNumber;
218
+ /**
219
+ * The scope's trading PnL for the day (USDT0): change in mark-to-market value
220
+ * over the day with capital flows (deposits/withdrawals/transfers) netted out.
221
+ */
222
+ pnl: BigNumber;
223
+ volume: BigNumber;
224
+ /**
225
+ * Number of fills of the scope during the day. A trade is a single fill — an
226
+ * order matched against multiple resting orders counts once per fill.
227
+ */
228
+ tradeCount: BigNumber;
229
+ productIds: number[];
230
+ }
231
+ /**
232
+ * Both scopes cover the same set of days, ascending. Days before the
233
+ * subaccount's first recorded activity return zeroed entries with an empty
234
+ * `productIds`; days after the latest available data are omitted.
235
+ */
236
+ interface GetIndexerPortfolioCalendarResponse {
237
+ spot: IndexerPortfolioCalendarDay[];
238
+ perp: IndexerPortfolioCalendarDay[];
239
+ }
202
240
  /**
203
241
  * Candlesticks
204
242
  */
@@ -992,5 +1030,5 @@ interface IndexerV2Symbol {
992
1030
  */
993
1031
  type GetIndexerV2SymbolsResponse = Record<string, IndexerV2Symbol>;
994
1032
  //#endregion
995
- export { GetIndexerOrdersResponse as $, IndexerPerpBalance as $t, GetIndexerLeaderboardRegistrationsResponse as A, IndexerCashIncentivesUnclaimableClaim as At, GetIndexerMultiProductFundingRatesParams as B, IndexerLeaderboardContest as Bt, GetIndexerInterestFundingPaymentsResponse as C, ListIndexerSubaccountsResponse as Cn, IndexerAllTimePoints as Ct, GetIndexerLeaderboardParticipantParams as D, RevokeSocialAccountResponse as Dn, IndexerCashIncentivesEventMetadata as Dt, GetIndexerLeaderboardParams as E, RevokeSocialAccountParams as En, IndexerCashIncentivesEvent as Et, GetIndexerMakerStatisticsResponse as F, IndexerEventPerpStateSnapshot as Ft, GetIndexerMultiProductSnapshotsResponse as G, IndexerMaker as Gt, GetIndexerMultiProductPerpPricesParams as H, IndexerLeaderboardParticipant as Ht, GetIndexerMarketSnapshotsParams as I, IndexerEventSpotStateSnapshot as It, GetIndexerNlpSnapshotsParams as J, IndexerMatchEvent as Jt, GetIndexerMultiSubaccountSnapshotsParams as K, IndexerMakerSnapshot as Kt, GetIndexerMarketSnapshotsResponse as L, IndexerEventWithTx as Lt, GetIndexerLinkedSignerParams as M, IndexerCashIncentivesWalletSummary as Mt, GetIndexerLinkedSignerResponse as N, IndexerEvent as Nt, GetIndexerLeaderboardParticipantResponse as O, TickerMarketType as On, IndexerCashIncentivesEventPlatform as Ot, GetIndexerMakerStatisticsParams as P, IndexerEventBalanceStateSnapshot as Pt, GetIndexerOrdersParams as Q, IndexerOrder as Qt, GetIndexerMatchEventsParams as R, IndexerFundingRate as Rt, GetIndexerInterestFundingPaymentsParams as S, ListIndexerSubaccountsParams as Sn, GetIndexerXPointsResponse as St, GetIndexerLeaderboardContestsResponse as T, RegisterLeaderboardResponse as Tn, IndexerCashIncentivesClaimableClaim as Tt, GetIndexerMultiProductPerpPricesResponse as U, IndexerLeaderboardRegistration as Ut, GetIndexerMultiProductFundingRatesResponse as V, IndexerLeaderboardContestTrack as Vt, GetIndexerMultiProductSnapshotsParams as W, IndexerLeaderboardTrackPosition as Wt, GetIndexerOraclePricesParams as X, IndexerNlpSnapshot as Xt, GetIndexerNlpSnapshotsResponse as Y, IndexerMatchEventBalances as Yt, GetIndexerOraclePricesResponse as Z, IndexerOraclePrice as Zt, GetIndexerFastWithdrawalSignatureResponse as _, IndexerXPointsAllTime as _n, GetIndexerV2SymbolsParams as _t, GetIndexerCandlesticksParams as a, IndexerPosition as an, GetIndexerPortfolioResponse as at, GetIndexerFundingRateParams as b, ListIndexerSocialAccountsParams as bn, GetIndexerV2TickersResponse as bt, GetIndexerCashIncentivesResponse as c, IndexerSnapshotBalance as cn, GetIndexerPrivateAlphaChoiceParams as ct, GetIndexerEdgeMarketSnapshotResponse as d, IndexerSpotBalance as dn, GetIndexerProductSnapshotsResponse as dt, IndexerPerpPrices as en, GetIndexerPerpPricesParams as et, GetIndexerEdgeMarketSnapshotsParams as f, IndexerSubaccountSnapshot as fn, GetIndexerQuotePriceResponse as ft, GetIndexerFastWithdrawalSignatureParams as g, IndexerV2TradingStatus as gn, GetIndexerSubaccountDDAResponse as gt, GetIndexerEventsResponse as h, IndexerV2TickerResponse as hn, GetIndexerSubaccountDDAParams as ht, GetIndexerBacklogResponse as i, IndexerPortfolioPoint as in, GetIndexerPortfolioParams as it, GetIndexerLeaderboardResponse as j, IndexerCashIncentivesWalletClaim as jt, GetIndexerLeaderboardRegistrationsParams as k, IndexerCashIncentivesEventWallet as kt, GetIndexerEdgeCandlesticksParams as l, IndexerSnapshotsIntervalParams as ln, GetIndexerPrivateAlphaChoiceResponse as lt, GetIndexerEventsParams as m, IndexerV2Symbol as mn, GetIndexerReferralCodeResponse as mt, ConnectSocialAccountParams as n, IndexerPortfolioHistory as nn, GetIndexerPointsParams as nt, GetIndexerCandlesticksResponse as o, IndexerProductPayment as on, GetIndexerPositionsParams as ot, GetIndexerEventsLimitType as p, IndexerV2MarketHours as pn, GetIndexerReferralCodeParams as pt, GetIndexerMultiSubaccountSnapshotsResponse as q, IndexerMarketSnapshot as qt, ConnectSocialAccountResponse as r, IndexerPortfolioPeriod as rn, GetIndexerPointsResponse as rt, GetIndexerCashIncentivesParams as s, IndexerProductSnapshot as sn, GetIndexerPositionsResponse as st, Candlestick as t, IndexerPointsEpoch as tn, GetIndexerPerpPricesResponse as tt, GetIndexerEdgeCandlesticksResponse as u, IndexerSocialAccountInfo as un, GetIndexerProductSnapshotsParams as ut, GetIndexerFundingRateHistoryParams as v, IndexerXPointsEpoch as vn, GetIndexerV2SymbolsResponse as vt, GetIndexerLeaderboardContestsParams as w, RegisterLeaderboardParams as wn, IndexerBalanceTrackedVars as wt, GetIndexerFundingRateResponse as x, ListIndexerSocialAccountsResponse as xn, GetIndexerXPointsParams as xt, GetIndexerFundingRateHistoryResponse as y, IndexerXPointsQuest as yn, GetIndexerV2TickersParams as yt, GetIndexerMatchEventsResponse as z, IndexerFundingRateHistoryEntry as zt };
996
- //# sourceMappingURL=clientTypes-DS2w6Osq.d.cts.map
1033
+ export { GetIndexerOrdersResponse as $, IndexerOraclePrice as $t, GetIndexerLeaderboardRegistrationsResponse as A, RevokeSocialAccountResponse as An, IndexerCashIncentivesEventPlatform as At, GetIndexerMultiProductFundingRatesParams as B, IndexerFundingRate as Bt, GetIndexerInterestFundingPaymentsResponse as C, ListIndexerSocialAccountsParams as Cn, GetIndexerXPointsParams as Ct, GetIndexerLeaderboardParticipantParams as D, RegisterLeaderboardParams as Dn, IndexerCashIncentivesClaimableClaim as Dt, GetIndexerLeaderboardParams as E, ListIndexerSubaccountsResponse as En, IndexerBalanceTrackedVars as Et, GetIndexerMakerStatisticsResponse as F, IndexerEvent as Ft, GetIndexerMultiProductSnapshotsResponse as G, IndexerLeaderboardRegistration as Gt, GetIndexerMultiProductPerpPricesParams as H, IndexerLeaderboardContest as Ht, GetIndexerMarketSnapshotsParams as I, IndexerEventBalanceStateSnapshot as It, GetIndexerNlpSnapshotsParams as J, IndexerMakerSnapshot as Jt, GetIndexerMultiSubaccountSnapshotsParams as K, IndexerLeaderboardTrackPosition as Kt, GetIndexerMarketSnapshotsResponse as L, IndexerEventPerpStateSnapshot as Lt, GetIndexerLinkedSignerParams as M, IndexerCashIncentivesUnclaimableClaim as Mt, GetIndexerLinkedSignerResponse as N, IndexerCashIncentivesWalletClaim as Nt, GetIndexerLeaderboardParticipantResponse as O, RegisterLeaderboardResponse as On, IndexerCashIncentivesEvent as Ot, GetIndexerMakerStatisticsParams as P, IndexerCashIncentivesWalletSummary as Pt, GetIndexerOrdersParams as Q, IndexerNlpSnapshot as Qt, GetIndexerMatchEventsParams as R, IndexerEventSpotStateSnapshot as Rt, GetIndexerInterestFundingPaymentsParams as S, IndexerXPointsQuest as Sn, GetIndexerV2TickersResponse as St, GetIndexerLeaderboardContestsResponse as T, ListIndexerSubaccountsParams as Tn, IndexerAllTimePoints as Tt, GetIndexerMultiProductPerpPricesResponse as U, IndexerLeaderboardContestTrack as Ut, GetIndexerMultiProductFundingRatesResponse as V, IndexerFundingRateHistoryEntry as Vt, GetIndexerMultiProductSnapshotsParams as W, IndexerLeaderboardParticipant as Wt, GetIndexerOraclePricesParams as X, IndexerMatchEvent as Xt, GetIndexerNlpSnapshotsResponse as Y, IndexerMarketSnapshot as Yt, GetIndexerOraclePricesResponse as Z, IndexerMatchEventBalances as Zt, GetIndexerFastWithdrawalSignatureResponse as _, IndexerV2Symbol as _n, GetIndexerSubaccountDDAParams as _t, GetIndexerCandlesticksParams as a, IndexerPortfolioHistory as an, GetIndexerPortfolioCalendarResponse as at, GetIndexerFundingRateParams as b, IndexerXPointsAllTime as bn, GetIndexerV2SymbolsResponse as bt, GetIndexerCashIncentivesResponse as c, IndexerPosition as cn, GetIndexerPositionsParams as ct, GetIndexerEdgeMarketSnapshotResponse as d, IndexerSnapshotBalance as dn, GetIndexerPrivateAlphaChoiceResponse as dt, IndexerOrder as en, GetIndexerPerpPricesParams as et, GetIndexerEdgeMarketSnapshotsParams as f, IndexerSnapshotsIntervalParams as fn, GetIndexerProductSnapshotsParams as ft, GetIndexerFastWithdrawalSignatureParams as g, IndexerV2MarketHours as gn, GetIndexerReferralCodeResponse as gt, GetIndexerEventsResponse as h, IndexerSubaccountSnapshot as hn, GetIndexerReferralCodeParams as ht, GetIndexerBacklogResponse as i, IndexerPortfolioCalendarDay as in, GetIndexerPortfolioCalendarParams as it, GetIndexerLeaderboardResponse as j, TickerMarketType as jn, IndexerCashIncentivesEventWallet as jt, GetIndexerLeaderboardRegistrationsParams as k, RevokeSocialAccountParams as kn, IndexerCashIncentivesEventMetadata as kt, GetIndexerEdgeCandlesticksParams as l, IndexerProductPayment as ln, GetIndexerPositionsResponse as lt, GetIndexerEventsParams as m, IndexerSpotBalance as mn, GetIndexerQuotePriceResponse as mt, ConnectSocialAccountParams as n, IndexerPerpPrices as nn, GetIndexerPointsParams as nt, GetIndexerCandlesticksResponse as o, IndexerPortfolioPeriod as on, GetIndexerPortfolioParams as ot, GetIndexerEventsLimitType as p, IndexerSocialAccountInfo as pn, GetIndexerProductSnapshotsResponse as pt, GetIndexerMultiSubaccountSnapshotsResponse as q, IndexerMaker as qt, ConnectSocialAccountResponse as r, IndexerPointsEpoch as rn, GetIndexerPointsResponse as rt, GetIndexerCashIncentivesParams as s, IndexerPortfolioPoint as sn, GetIndexerPortfolioResponse as st, Candlestick as t, IndexerPerpBalance as tn, GetIndexerPerpPricesResponse as tt, GetIndexerEdgeCandlesticksResponse as u, IndexerProductSnapshot as un, GetIndexerPrivateAlphaChoiceParams as ut, GetIndexerFundingRateHistoryParams as v, IndexerV2TickerResponse as vn, GetIndexerSubaccountDDAResponse as vt, GetIndexerLeaderboardContestsParams as w, ListIndexerSocialAccountsResponse as wn, GetIndexerXPointsResponse as wt, GetIndexerFundingRateResponse as x, IndexerXPointsEpoch as xn, GetIndexerV2TickersParams as xt, GetIndexerFundingRateHistoryResponse as y, IndexerV2TradingStatus as yn, GetIndexerV2SymbolsParams as yt, GetIndexerMatchEventsResponse as z, IndexerEventWithTx as zt };
1034
+ //# sourceMappingURL=clientTypes-DaHLUQvU.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientTypes-DaHLUQvU.d.cts","names":[],"sources":["../src/types/src/types/clientTypes.ts"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { t as CandlestickPeriod } from "./CandlestickPeriod-1DtcEiOb.js";
2
2
  import { n as IndexerEventType } from "./IndexerEventType-BFvrhslw.js";
3
3
  import { t as IndexerLeaderboardRankType } from "./IndexerLeaderboardType-DAKw2tfI.js";
4
4
  import { a as NadoTx, o as NadoWithdrawCollateralTx, s as NadoWithdrawCollateralV2Tx } from "./NadoTx-DPrcN9Eo.js";
5
- import { E as IndexerServerFastWithdrawalSignatureParams, Gt as IndexerServerTriggerTypeFilter, Z as IndexerServerListSubaccountsParams, y as IndexerServerCashIncentivesWalletStatus } from "./serverTypes-Dod9cCEW.js";
5
+ import { E as IndexerServerFastWithdrawalSignatureParams, Jt as IndexerServerTriggerTypeFilter, Z as IndexerServerListSubaccountsParams, y as IndexerServerCashIncentivesWalletStatus } from "./serverTypes-CJvQ3yQx.js";
6
6
  import { EIP712OrderValues, Market, OrderAppendix, PerpBalance, PerpMarket, ProductEngineType, SignatureParams, SpotBalance, SpotMarket, Subaccount } from "@nadohq/shared";
7
7
  import BigNumber from "bignumber.js";
8
8
  import { Address, Hex } from "viem";
@@ -199,6 +199,44 @@ interface IndexerPortfolioHistory {
199
199
  marketCountHistory: IndexerPortfolioPoint[];
200
200
  }
201
201
  type GetIndexerPortfolioResponse = Record<IndexerPortfolioPeriod, IndexerPortfolioHistory>;
202
+ /**
203
+ * Portfolio Calendar
204
+ */
205
+ interface GetIndexerPortfolioCalendarParams {
206
+ /**
207
+ * Cross-margin subaccount to query. Its value aggregates the cross-margin
208
+ * account plus every isolated child; isolated subaccounts are rejected.
209
+ */
210
+ subaccount: Subaccount;
211
+ /** First day of the range, unix seconds, UTC midnight (divisible by 86400). */
212
+ startTime: number;
213
+ /** Last day of the range, unix seconds, UTC midnight, inclusive. The range is capped at 500 days. */
214
+ endTime: number;
215
+ }
216
+ interface IndexerPortfolioCalendarDay {
217
+ date: BigNumber;
218
+ /**
219
+ * The scope's trading PnL for the day (USDT0): change in mark-to-market value
220
+ * over the day with capital flows (deposits/withdrawals/transfers) netted out.
221
+ */
222
+ pnl: BigNumber;
223
+ volume: BigNumber;
224
+ /**
225
+ * Number of fills of the scope during the day. A trade is a single fill — an
226
+ * order matched against multiple resting orders counts once per fill.
227
+ */
228
+ tradeCount: BigNumber;
229
+ productIds: number[];
230
+ }
231
+ /**
232
+ * Both scopes cover the same set of days, ascending. Days before the
233
+ * subaccount's first recorded activity return zeroed entries with an empty
234
+ * `productIds`; days after the latest available data are omitted.
235
+ */
236
+ interface GetIndexerPortfolioCalendarResponse {
237
+ spot: IndexerPortfolioCalendarDay[];
238
+ perp: IndexerPortfolioCalendarDay[];
239
+ }
202
240
  /**
203
241
  * Candlesticks
204
242
  */
@@ -992,5 +1030,5 @@ interface IndexerV2Symbol {
992
1030
  */
993
1031
  type GetIndexerV2SymbolsResponse = Record<string, IndexerV2Symbol>;
994
1032
  //#endregion
995
- export { GetIndexerOrdersResponse as $, IndexerPerpBalance as $t, GetIndexerLeaderboardRegistrationsResponse as A, IndexerCashIncentivesUnclaimableClaim as At, GetIndexerMultiProductFundingRatesParams as B, IndexerLeaderboardContest as Bt, GetIndexerInterestFundingPaymentsResponse as C, ListIndexerSubaccountsResponse as Cn, IndexerAllTimePoints as Ct, GetIndexerLeaderboardParticipantParams as D, RevokeSocialAccountResponse as Dn, IndexerCashIncentivesEventMetadata as Dt, GetIndexerLeaderboardParams as E, RevokeSocialAccountParams as En, IndexerCashIncentivesEvent as Et, GetIndexerMakerStatisticsResponse as F, IndexerEventPerpStateSnapshot as Ft, GetIndexerMultiProductSnapshotsResponse as G, IndexerMaker as Gt, GetIndexerMultiProductPerpPricesParams as H, IndexerLeaderboardParticipant as Ht, GetIndexerMarketSnapshotsParams as I, IndexerEventSpotStateSnapshot as It, GetIndexerNlpSnapshotsParams as J, IndexerMatchEvent as Jt, GetIndexerMultiSubaccountSnapshotsParams as K, IndexerMakerSnapshot as Kt, GetIndexerMarketSnapshotsResponse as L, IndexerEventWithTx as Lt, GetIndexerLinkedSignerParams as M, IndexerCashIncentivesWalletSummary as Mt, GetIndexerLinkedSignerResponse as N, IndexerEvent as Nt, GetIndexerLeaderboardParticipantResponse as O, TickerMarketType as On, IndexerCashIncentivesEventPlatform as Ot, GetIndexerMakerStatisticsParams as P, IndexerEventBalanceStateSnapshot as Pt, GetIndexerOrdersParams as Q, IndexerOrder as Qt, GetIndexerMatchEventsParams as R, IndexerFundingRate as Rt, GetIndexerInterestFundingPaymentsParams as S, ListIndexerSubaccountsParams as Sn, GetIndexerXPointsResponse as St, GetIndexerLeaderboardContestsResponse as T, RegisterLeaderboardResponse as Tn, IndexerCashIncentivesClaimableClaim as Tt, GetIndexerMultiProductPerpPricesResponse as U, IndexerLeaderboardRegistration as Ut, GetIndexerMultiProductFundingRatesResponse as V, IndexerLeaderboardContestTrack as Vt, GetIndexerMultiProductSnapshotsParams as W, IndexerLeaderboardTrackPosition as Wt, GetIndexerOraclePricesParams as X, IndexerNlpSnapshot as Xt, GetIndexerNlpSnapshotsResponse as Y, IndexerMatchEventBalances as Yt, GetIndexerOraclePricesResponse as Z, IndexerOraclePrice as Zt, GetIndexerFastWithdrawalSignatureResponse as _, IndexerXPointsAllTime as _n, GetIndexerV2SymbolsParams as _t, GetIndexerCandlesticksParams as a, IndexerPosition as an, GetIndexerPortfolioResponse as at, GetIndexerFundingRateParams as b, ListIndexerSocialAccountsParams as bn, GetIndexerV2TickersResponse as bt, GetIndexerCashIncentivesResponse as c, IndexerSnapshotBalance as cn, GetIndexerPrivateAlphaChoiceParams as ct, GetIndexerEdgeMarketSnapshotResponse as d, IndexerSpotBalance as dn, GetIndexerProductSnapshotsResponse as dt, IndexerPerpPrices as en, GetIndexerPerpPricesParams as et, GetIndexerEdgeMarketSnapshotsParams as f, IndexerSubaccountSnapshot as fn, GetIndexerQuotePriceResponse as ft, GetIndexerFastWithdrawalSignatureParams as g, IndexerV2TradingStatus as gn, GetIndexerSubaccountDDAResponse as gt, GetIndexerEventsResponse as h, IndexerV2TickerResponse as hn, GetIndexerSubaccountDDAParams as ht, GetIndexerBacklogResponse as i, IndexerPortfolioPoint as in, GetIndexerPortfolioParams as it, GetIndexerLeaderboardResponse as j, IndexerCashIncentivesWalletClaim as jt, GetIndexerLeaderboardRegistrationsParams as k, IndexerCashIncentivesEventWallet as kt, GetIndexerEdgeCandlesticksParams as l, IndexerSnapshotsIntervalParams as ln, GetIndexerPrivateAlphaChoiceResponse as lt, GetIndexerEventsParams as m, IndexerV2Symbol as mn, GetIndexerReferralCodeResponse as mt, ConnectSocialAccountParams as n, IndexerPortfolioHistory as nn, GetIndexerPointsParams as nt, GetIndexerCandlesticksResponse as o, IndexerProductPayment as on, GetIndexerPositionsParams as ot, GetIndexerEventsLimitType as p, IndexerV2MarketHours as pn, GetIndexerReferralCodeParams as pt, GetIndexerMultiSubaccountSnapshotsResponse as q, IndexerMarketSnapshot as qt, ConnectSocialAccountResponse as r, IndexerPortfolioPeriod as rn, GetIndexerPointsResponse as rt, GetIndexerCashIncentivesParams as s, IndexerProductSnapshot as sn, GetIndexerPositionsResponse as st, Candlestick as t, IndexerPointsEpoch as tn, GetIndexerPerpPricesResponse as tt, GetIndexerEdgeCandlesticksResponse as u, IndexerSocialAccountInfo as un, GetIndexerProductSnapshotsParams as ut, GetIndexerFundingRateHistoryParams as v, IndexerXPointsEpoch as vn, GetIndexerV2SymbolsResponse as vt, GetIndexerLeaderboardContestsParams as w, RegisterLeaderboardParams as wn, IndexerBalanceTrackedVars as wt, GetIndexerFundingRateResponse as x, ListIndexerSocialAccountsResponse as xn, GetIndexerXPointsParams as xt, GetIndexerFundingRateHistoryResponse as y, IndexerXPointsQuest as yn, GetIndexerV2TickersParams as yt, GetIndexerMatchEventsResponse as z, IndexerFundingRateHistoryEntry as zt };
996
- //# sourceMappingURL=clientTypes-CnswaLwH.d.ts.map
1033
+ export { GetIndexerOrdersResponse as $, IndexerOraclePrice as $t, GetIndexerLeaderboardRegistrationsResponse as A, RevokeSocialAccountResponse as An, IndexerCashIncentivesEventPlatform as At, GetIndexerMultiProductFundingRatesParams as B, IndexerFundingRate as Bt, GetIndexerInterestFundingPaymentsResponse as C, ListIndexerSocialAccountsParams as Cn, GetIndexerXPointsParams as Ct, GetIndexerLeaderboardParticipantParams as D, RegisterLeaderboardParams as Dn, IndexerCashIncentivesClaimableClaim as Dt, GetIndexerLeaderboardParams as E, ListIndexerSubaccountsResponse as En, IndexerBalanceTrackedVars as Et, GetIndexerMakerStatisticsResponse as F, IndexerEvent as Ft, GetIndexerMultiProductSnapshotsResponse as G, IndexerLeaderboardRegistration as Gt, GetIndexerMultiProductPerpPricesParams as H, IndexerLeaderboardContest as Ht, GetIndexerMarketSnapshotsParams as I, IndexerEventBalanceStateSnapshot as It, GetIndexerNlpSnapshotsParams as J, IndexerMakerSnapshot as Jt, GetIndexerMultiSubaccountSnapshotsParams as K, IndexerLeaderboardTrackPosition as Kt, GetIndexerMarketSnapshotsResponse as L, IndexerEventPerpStateSnapshot as Lt, GetIndexerLinkedSignerParams as M, IndexerCashIncentivesUnclaimableClaim as Mt, GetIndexerLinkedSignerResponse as N, IndexerCashIncentivesWalletClaim as Nt, GetIndexerLeaderboardParticipantResponse as O, RegisterLeaderboardResponse as On, IndexerCashIncentivesEvent as Ot, GetIndexerMakerStatisticsParams as P, IndexerCashIncentivesWalletSummary as Pt, GetIndexerOrdersParams as Q, IndexerNlpSnapshot as Qt, GetIndexerMatchEventsParams as R, IndexerEventSpotStateSnapshot as Rt, GetIndexerInterestFundingPaymentsParams as S, IndexerXPointsQuest as Sn, GetIndexerV2TickersResponse as St, GetIndexerLeaderboardContestsResponse as T, ListIndexerSubaccountsParams as Tn, IndexerAllTimePoints as Tt, GetIndexerMultiProductPerpPricesResponse as U, IndexerLeaderboardContestTrack as Ut, GetIndexerMultiProductFundingRatesResponse as V, IndexerFundingRateHistoryEntry as Vt, GetIndexerMultiProductSnapshotsParams as W, IndexerLeaderboardParticipant as Wt, GetIndexerOraclePricesParams as X, IndexerMatchEvent as Xt, GetIndexerNlpSnapshotsResponse as Y, IndexerMarketSnapshot as Yt, GetIndexerOraclePricesResponse as Z, IndexerMatchEventBalances as Zt, GetIndexerFastWithdrawalSignatureResponse as _, IndexerV2Symbol as _n, GetIndexerSubaccountDDAParams as _t, GetIndexerCandlesticksParams as a, IndexerPortfolioHistory as an, GetIndexerPortfolioCalendarResponse as at, GetIndexerFundingRateParams as b, IndexerXPointsAllTime as bn, GetIndexerV2SymbolsResponse as bt, GetIndexerCashIncentivesResponse as c, IndexerPosition as cn, GetIndexerPositionsParams as ct, GetIndexerEdgeMarketSnapshotResponse as d, IndexerSnapshotBalance as dn, GetIndexerPrivateAlphaChoiceResponse as dt, IndexerOrder as en, GetIndexerPerpPricesParams as et, GetIndexerEdgeMarketSnapshotsParams as f, IndexerSnapshotsIntervalParams as fn, GetIndexerProductSnapshotsParams as ft, GetIndexerFastWithdrawalSignatureParams as g, IndexerV2MarketHours as gn, GetIndexerReferralCodeResponse as gt, GetIndexerEventsResponse as h, IndexerSubaccountSnapshot as hn, GetIndexerReferralCodeParams as ht, GetIndexerBacklogResponse as i, IndexerPortfolioCalendarDay as in, GetIndexerPortfolioCalendarParams as it, GetIndexerLeaderboardResponse as j, TickerMarketType as jn, IndexerCashIncentivesEventWallet as jt, GetIndexerLeaderboardRegistrationsParams as k, RevokeSocialAccountParams as kn, IndexerCashIncentivesEventMetadata as kt, GetIndexerEdgeCandlesticksParams as l, IndexerProductPayment as ln, GetIndexerPositionsResponse as lt, GetIndexerEventsParams as m, IndexerSpotBalance as mn, GetIndexerQuotePriceResponse as mt, ConnectSocialAccountParams as n, IndexerPerpPrices as nn, GetIndexerPointsParams as nt, GetIndexerCandlesticksResponse as o, IndexerPortfolioPeriod as on, GetIndexerPortfolioParams as ot, GetIndexerEventsLimitType as p, IndexerSocialAccountInfo as pn, GetIndexerProductSnapshotsResponse as pt, GetIndexerMultiSubaccountSnapshotsResponse as q, IndexerMaker as qt, ConnectSocialAccountResponse as r, IndexerPointsEpoch as rn, GetIndexerPointsResponse as rt, GetIndexerCashIncentivesParams as s, IndexerPortfolioPoint as sn, GetIndexerPortfolioResponse as st, Candlestick as t, IndexerPerpBalance as tn, GetIndexerPerpPricesResponse as tt, GetIndexerEdgeCandlesticksResponse as u, IndexerProductSnapshot as un, GetIndexerPrivateAlphaChoiceParams as ut, GetIndexerFundingRateHistoryParams as v, IndexerV2TickerResponse as vn, GetIndexerSubaccountDDAResponse as vt, GetIndexerLeaderboardContestsParams as w, ListIndexerSocialAccountsResponse as wn, GetIndexerXPointsResponse as wt, GetIndexerFundingRateResponse as x, IndexerXPointsEpoch as xn, GetIndexerV2TickersParams as xt, GetIndexerFundingRateHistoryResponse as y, IndexerV2TradingStatus as yn, GetIndexerV2SymbolsParams as yt, GetIndexerMatchEventsResponse as z, IndexerEventWithTx as zt };
1034
+ //# sourceMappingURL=clientTypes-DgXbxuRD.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientTypes-DgXbxuRD.d.ts","names":[],"sources":["../src/types/src/types/clientTypes.ts"],"mappings":";;;;;;;;;;;;AAiCA;KAAY,kBAAA,GAAqB,IAAI,CAAC,WAAA;AAAA,KAE1B,kBAAA,GAAqB,IAAI,CAAC,WAAA;AAAA,UAErB,6BAAA;EACf,IAAA,EAAM,iBAAA,CAAkB,IAAA;EACxB,UAAA,EAAY,kBAAA;EACZ,WAAA,EAAa,kBAAA;EACb,MAAA,EAAQ,UAAA;AAAA;AAAA,UAGO,6BAAA;EACf,IAAA,EAAM,iBAAA,CAAkB,IAAA;EACxB,UAAA,EAAY,kBAAA;EACZ,WAAA,EAAa,kBAAA;EACb,MAAA,EAAQ,UAAA;AAAA;AAAA,KAGE,gCAAA,GACR,6BAAA,GACA,6BAA6B;AAAA,UAEhB,yBAAA;EACf,qBAAA,EAAuB,SAAA;EACvB,qBAAA,EAAuB,SAAA;EACvB,oBAAA,EAAsB,SAAA;EACtB,oBAAA,EAAsB,SAAA;EACtB,kBAAA,EAAoB,SAAA;EACpB,kBAAA,EAAoB,SAAA;EACpB,qBAAA,EAAuB,SAAA;EACvB,oBAAA,EAAsB,SAAA;AAAA;AAAA,UAGP,YAAA,oBACI,gCAAA,GACjB,gCAAA;EAEF,UAAA;EACA,QAAA;EAEA,iBAAA;EACA,SAAA;EACA,eAAA;EACA,SAAA,EAAW,gBAAA;EACX,KAAA,EAAO,UAAA;EACP,WAAA,EAAa,yBAAA;AAAA;AAAA,UAGE,kBAAA,oBACI,gCAAA,GACjB,gCAAA,UACM,YAAA,CAAa,UAAA;EACrB,SAAA,EAAW,SAAA;EACX,EAAA,EAAI,MAAA;AAAA;;;;KAOM,4BAAA,GAA+B,kCAAkC;AAAA,KAEjE,8BAAA;EACV,KAAA;EAEA,SAAA;EACA,QAAA;AAAA,IACE,UAAU;AApDM;AAGpB;;AAHoB,UA0DH,wCAAA;EACf,WAAA,EAAa,UAAU;EAEvB,UAAA;EAEA,QAAA;AAAA;AAAA,KAGU,sBAAA,oBACS,gCAAA,GACjB,gCAAA,IACA,YAAA,CAAa,UAAA;AAAA,UAEA,yBAAA;EACf,SAAA,EAAW,SAAA;EACX,QAAA,EAAU,sBAAsB;AAAA;AAAA,UAGjB,0CAAA;EAEf,gBAAA;EAEA,SAAA,EAAW,MAAA,SAAe,MAAA,SAAe,yBAAA;AAAA;;;;UAO1B,0BAAA;EACf,SAAS;AAAA;AAAA,UAGM,iBAAA;EACf,SAAA;EACA,UAAA,EAAY,SAAA;EACZ,SAAA,EAAW,SAAA;EAEX,UAAA,EAAY,SAAA;AAAA;AAAA,KAGF,4BAAA,GAA+B,iBAAiB;AAAA,UAE3C,sCAAA;EACf,UAAU;AAAA;AAAA,KAIA,wCAAA,GAA2C,MAAM,SAE3D,iBAAA;;;AA7F+B;UAoGhB,4BAAA;EACf,UAAU;AAAA;AAAA,UAGK,kBAAA;EACf,SAAA;EACA,WAAA,EAAa,SAAA;EAEb,UAAA,EAAY,SAAS;AAAA;AAAA,KAGX,8BAAA,GAAiC,kBAAkB;;;;UAM9C,2BAAA;EACf,SAAS;AAAA;AAAA,UAGM,kBAAA;EACf,SAAA;EACA,WAAA,EAAa,SAAA;EAEb,UAAA,EAAY,SAAS;AAAA;AAAA,KAGX,6BAAA,GAAgC,kBAAkB;AAAA,UAE7C,wCAAA;EACf,UAAU;AAAA;AAAA,KAIA,0CAAA,GAA6C,MAAM,SAE7D,kBAAA;AA1HsC;AAGxC;;AAHwC,UAiIvB,kCAAA;EACf,SAAA;EA7HE;;;;EAkIF,kBAAA;EAjIoB;;;;EAsIpB,gBAAA;EAtIQ;EAwIR,KAAA;AAAA;AAAA,UAGe,8BAAA;EACf,SAAA;EAEA,SAAA,EAAW,SAAA;EA5ID;AAAA;AAOZ;;EA0IE,eAAA,EAAiB,SAAS;AAAA;AA1IiD;AAE7E;;;AAF6E,KAiJjE,oCAAA,GACV,8BAA8B;;;;UAMf,yBAAA;EAjJH;AAAA;AAMd;;EAgJE,UAAA,EAAY,UAAU;AAAA;AAAA,KAGZ,sBAAA;AAAA,UAUK,qBAAA;EAEf,SAAA,EAAW,SAAA;EAEX,KAAA,EAAO,SAAS;AAAA;AA5JR;AAGV;;;;AAHU,UAoKO,uBAAA;EAEf,mBAAA,EAAqB,qBAAA;EAhKnB;;;;EAqKF,UAAA,EAAY,qBAAA;EAtKV;;;;EA2KF,aAAA,EAAe,qBAAA;EAxKA;;;;;;EA+Kf,gBAAA,EAAkB,qBAAA;EA7KR;;AAAsB;AAGlC;EA+KE,kBAAA,EAAoB,qBAAA;AAAA;AAAA,KAGV,2BAAA,GAA8B,MAAA,CACxC,sBAAA,EACA,uBAAA;;;;UAOe,iCAAA;EAzLf;;;;EA8LA,UAAA,EAAY,UAAU;EA5L4C;EA8LlE,SAAA;EAvLe;EAyLf,OAAA;AAAA;AAAA,UAGe,2BAAA;EAEf,IAAA,EAAM,SAAA;EA1LS;;;;EA+Lf,GAAA,EAAK,SAAA;EAEL,MAAA,EAAQ,SAAA;EA5La;;;;EAiMrB,UAAA,EAAY,SAAA;EAEZ,UAAA;AAAA;;;;AAnMqB;AAGvB;UAwMiB,mCAAA;EACf,IAAA,EAAM,2BAAA;EACN,IAAA,EAAM,2BAA2B;AAAA;AAxMnC;;;AAAA,UA+MiB,4BAAA;EACf,SAAA;EACA,MAAA,EAAQ,iBAAiB;EAEzB,gBAAA;EACA,KAAA;AAAA;AAAA,UAIe,WAAA;EAEf,IAAA,EAAM,SAAA;EACN,IAAA,EAAM,SAAA;EACN,IAAA,EAAM,SAAA;EACN,GAAA,EAAK,SAAA;EACL,KAAA,EAAO,SAAA;EACP,MAAA,EAAQ,SAAA;AAAA;AAAA,KAGE,8BAAA,GAAiC,WAAW;AAAA,KAE5C,kCAAA,GAAqC,8BAA8B;AAAA,KAEnE,gCAAA,GAAmC,4BAA4B;;;;UAM1D,gCAAA;EAEf,WAAA;EACA,SAAA;EACA,qBAAA;EACA,KAAA;AAAA;AAAA,UAGe,sBAAA,SAA+B,MAAM;EACpD,eAAe;AAAA;AAAA,KAGL,kCAAA,GAAqC,sBAAsB;AAAA,UAEtD,qCAAA;EACf,UAAA;EACA,qBAAqB;AAAA;AAAA,KAIX,uCAAA,GAA0C,MAAA,SAEpD,MAAA,SAAe,sBAAA;AAAA,UAGA,8BAAA;EA9NM;EAgOrB,WAAA;EAlOA;;;;;EAwOA,gBAAA;EACA,KAAA;AAAA;;;AApO4D;UA2O7C,+BAAA,SAAwC,8BAA8B;EAErF,UAAU;AAAA;AAAA,UAGK,qBAAA;EACf,SAAA,EAAW,SAAA;EACX,eAAA,EAAiB,SAAA;EACjB,gBAAA,EAAkB,SAAA;EAClB,GAAA,EAAK,SAAA;EACL,iBAAA,EAAmB,MAAA,SAAe,SAAA;EAClC,mBAAA,EAAqB,MAAA,SAAe,SAAA;EACpC,uBAAA,EAAyB,MAAA,SAAe,SAAA;EACxC,mBAAA,EAAqB,MAAA,SAAe,SAAA;EACpC,gBAAA,EAAkB,MAAA,SAAe,SAAA;EACjC,4BAAA,EAA8B,MAAA,SAAe,SAAA;EAC7C,kBAAA,EAAoB,MAAA,SAAe,SAAA;EACnC,aAAA,EAAe,MAAA,SAAe,SAAA;EAC9B,YAAA,EAAc,MAAA,SAAe,SAAA;EAC7B,YAAA,EAAc,MAAA,SAAe,SAAA;EAC7B,YAAA,EAAc,MAAA,SAAe,SAAA;EAC7B,WAAA,EAAa,MAAA,SAAe,SAAA;EAC5B,oBAAA,EAAsB,MAAA,SAAe,SAAA;EACrC,iBAAA,EAAmB,MAAA,SAAe,SAAA;EAClC,kBAAA,EAAoB,MAAA,SAAe,SAAA;EACnC,YAAA,EAAc,MAAA,SAAe,SAAA;AAAA;AAAA,KAGnB,iCAAA,GAAoC,qBAAqB;AAAA,KAEzD,mCAAA,GACV,8BAA8B;AAAA,KAGpB,oCAAA,GAAuC,MAAM,SAEvD,qBAAA;;;AAvO0B;KA+OhB,yBAAA;AAAA,UAEK,sBAAA;EAEf,WAAA;EACA,WAAA,GAAc,UAAA;EACd,UAAA;EAEA,QAAA;EACA,UAAA,GAAa,gBAAA;EACb,qBAAA;EAEA,IAAA;EACA,KAAA;IACE,IAAA,EAAM,yBAAA;IACN,KAAA;EAAA;AAAA;AAAA,KAIQ,wBAAA,GAA2B,kBAAkB;AAlOzD;;;AAAA,UAwOiB,sBAAA;EAEf,WAAA;EACA,WAAA,GAAc,UAAA;EACd,qBAAA;EACA,qBAAA;EACA,KAAA;EACA,UAAA;EACA,YAAA,GAAe,8BAA8B;EAE7C,QAAA;EACA,OAAA;AAAA;AAAA,UAGe,YAAA;EACf,MAAA;EACA,UAAA;EACA,SAAA;EACA,eAAA;EACA,uBAAA;EACA,MAAA,EAAQ,SAAA;EACR,KAAA,EAAO,SAAA;EACP,UAAA;EAEA,QAAA,EAAU,aAAA;EACV,KAAA,EAAO,SAAA;EACP,QAAA;EAEA,eAAA;EAEA,UAAA,EAAY,SAAA;EAEZ,WAAA,EAAa,SAAA;EAEb,QAAA,EAAU,SAAA;EACV,UAAA,EAAY,SAAA;EACZ,WAAA,EAAa,SAAA;EAEb,YAAA,EAAc,SAAA;EAEd,cAAA,EAAgB,SAAA;EAEhB,cAAA,EAAgB,SAAA;EAEhB,kBAAA,EAAoB,SAAA;EAEpB,iBAAA,EAAmB,SAAA;EA/OqB;EAiPxC,WAAA,EAAa,yBAAA;EAjPiC;EAmP9C,YAAA,EAAc,yBAAA;AAAA;AAAA,KAGJ,wBAAA,GAA2B,YAAY;;AApP1B;AAOzB;UAmPiB,2BAAA;EAEf,WAAA,GAAc,UAAU;EACxB,UAAA;EAEA,QAAA;EACA,qBAAA;EACA,KAAA;EAEA,WAAA;AAAA;AAAA,UAIe,yBAAA;EACf,IAAA,EAAM,kBAAA,GAAqB,kBAAA;EAC3B,KAAA,GAAQ,kBAAA;AAAA;AAAA,UAGO,iBAAA,SAA0B,UAAA;EACzC,SAAA;EACA,MAAA;EACA,QAAA;EACA,KAAA,EAAO,iBAAA;EACP,UAAA,EAAY,SAAA;EACZ,WAAA,EAAa,SAAA;EAEb,QAAA,EAAU,SAAA;EACV,YAAA,EAAc,SAAA;EACd,UAAA,EAAY,SAAA;EACZ,oBAAA,EAAsB,SAAA;EACtB,qBAAA,EAAuB,SAAA;EACvB,aAAA,EAAe,SAAA;EACf,eAAA;EACA,SAAA,EAAW,SAAA;EACX,OAAA;EAEA,mBAAA,EAAqB,IAAA,CACnB,yBAAA;EAGF,WAAA,EAAa,yBAAA;EACb,YAAA,EAAc,yBAAA;EACd,EAAA,EAAI,MAAA;EACJ,WAAA,EAAa,SAAA;EAEb,YAAA,EAAc,SAAA;EAEd,cAAA,EAAgB,SAAA;EAEhB,MAAA,EAAQ,SAAA;AAAA;AAAA,KAGE,6BAAA,GAAgC,iBAAiB;AAjQ1B;AAOnC;;;;;;UAoQiB,yBAAA;EAhQf;;;AACK;EAoQL,UAAA,EAAY,UAAU;EAhQI;EAkQ1B,SAAA;EAhQM;EAkQN,QAAA;EAhQM;EAkQN,IAAA;EAhQO;;;;EAqQP,WAAA;EAzQM;EA2QN,KAAA;AAAA;;;;;;;UASe,eAAA;EA/QP;EAiRR,UAAA;EACA,SAAA;EACA,QAAA;EAhRwC;EAkRxC,SAAA;EAlRsD;EAoRtD,MAAA;EAlRU;EAoRV,OAAA;;EAEA,eAAA;EAtR6E;EAwR7E,MAAA,EAAQ,SAAA;EAtRkC;EAwR1C,SAAA,EAAW,SAAA;EAxR8D;EA0RzE,eAAA,EAAiB,SAAA;EApRF;EAsRf,gBAAA,EAAkB,SAAA;;EAElB,iBAAA,EAAmB,SAAA;EAtRnB;EAwRA,gBAAA,EAAkB,SAAA;EAtRlB;EAwRA,gBAAA,EAAkB,SAAA;EAvRb;AAAA;AAGP;;EAyRE,mBAAA,EAAqB,SAAA;EAzRyB;EA2R9C,OAAA,EAAS,SAAA;EAvRC;EAyRV,QAAA,EAAU,SAAA;;EAEV,WAAA,EAAa,SAAA;EA3RwD;EA6RrE,aAAA,EAAe,SAAA;EA3RqC;EA6RpD,eAAA,EAAiB,SAAA;EA5RjB;EA8RA,UAAA,EAAY,gBAAA;EAzRF;EA2RV,WAAA,EAAa,gBAAA;;EAEb,iBAAA,EAAmB,SAAA;EA3RnB;EA6RA,kBAAA,EAAoB,SAAA;EA/RsC;EAiS1D,UAAA;EAjSoD;EAmSpD,WAAA;EACA,kBAAA,EAAoB,SAAA;AAAA;AAlSiB;AAGvC;;AAHuC,UAwStB,2BAAA;EArS8B;EAuS7C,SAAA,EAAW,eAAA;EA/RX;;;AACK;AAOP;EA6RE,MAAA,EAAQ,kBAAkB;AAAA;;AA3RhB;AAGZ;UA+RiB,4BAAA;EACf,KAAA,EAAO,SAAS;AAAA;;;;UAOD,4BAAA;EACf,UAAA,EAAY,UAAU;AAAA;AAAA,UAGP,8BAAA;EACf,YAAA,EAAc,SAAA;EACd,YAAA,EAAc,SAAA;EAEd,mBAAA,EAAqB,SAAA;EAErB,MAAA;AAAA;;;;UAOe,uCAAA;EACf,UAAA,EAAY,UAAU;EACtB,UAAA;EACA,qBAAA;EACA,KAAA;EAEA,WAAA;AAAA;AAAA,UAGe,qBAAA;EACf,SAAA;EACA,eAAA;EACA,SAAA,EAAW,SAAA;EACX,aAAA,EAAe,SAAA;EAGf,aAAA,EAAe,SAAA;EAEf,iBAAA,EAAmB,SAAA;EACnB,WAAA,EAAa,SAAA;EACb,QAAA;EAEA,iBAAA;AAAA;AAAA,UAGe,yCAAA;EACf,gBAAA,EAAkB,qBAAA;EAClB,eAAA,EAAiB,qBAAqB;EACtC,UAAA;AAAA;;;;UAOe,4BAAA;EACf,UAAA,EAAY,UAAU;AAAA;AAAA,UAGP,8BAAA;EACf,YAAY;AAAA;;;;UAOG,+BAAA;EACf,SAAA;EACA,KAAA;EACA,QAAA;AAAA;AAAA,UAGe,oBAAA;EACf,SAAA,EAAW,SAAA;EACX,QAAA,EAAU,SAAA;EACV,MAAA,EAAQ,SAAA;EACR,OAAA,EAAS,SAAA;EACT,MAAA,EAAQ,SAAA;EACR,UAAA,EAAY,SAAA;EACZ,mBAAA,EAAqB,SAAA;AAAA;AAAA,UAGN,YAAA;EACf,OAAA;EACA,SAAA,EAAW,oBAAoB;AAAA;AAAA,UAGhB,iCAAA;EACf,iBAAA,EAAmB,SAAA;EACnB,MAAA,EAAQ,YAAY;AAAA;;;;UAOL,2BAAA;EACf,SAAA;EAvX6B;;;;;EA6X7B,QAAA,GAAW,0BAA0B;EAErC,WAAA;EACA,KAAA;EA7XmB;EA+XnB,KAAA;AAAA;AAAA,UAGe,wBAAA;EACf,QAAA;EACA,QAAA;EACA,WAAA;EACA,eAAA;AAAA;AAAA,UAGe,+BAAA;EACf,KAAA,EAAO,SAAA;EACP,IAAA,EAAM,SAAS;EACf,mBAAA;AAAA;AAAA,UAOe,6BAAA;EACf,UAAA,EAAY,UAAA;EACZ,SAAA;EAEA,YAAA,EAAc,SAAA;EAEd,UAAA,EAAY,SAAA;EACZ,MAAA,EAAQ,OAAA,CACN,MAAA,CAAO,0BAAA,EAA4B,+BAAA;EAErC,cAAA,EAAgB,wBAAA;AAAA;AAAA,UAGD,6BAAA;EACf,YAAA,EAAc,6BAA6B;AAAA;AAAA,UAG5B,sCAAA;EACf,UAAA;EACA,UAAA,EAAY,UAAU;AAAA;AAAA,UAGP,wCAAA;EAGf,WAAA,EAAa,MAAM,SAAS,6BAAA;AAAA;AAAA,UAGb,wCAAA;EACf,UAAA,EAAY,UAAU;EAlZT;EAoZb,UAAA;EA/YiC;EAiZjC,MAAA;AAAA;AAAA,UAGe,yBAAA,SAAkC,UAAA,EAAY,eAAA;EAC7D,UAAA;EA7ZA;EA+ZA,QAAA,GAAW,SAAA;AAAA;AAAA,UAGI,8BAAA;EACf,UAAA,EAAY,UAAA;EACZ,SAAA;EAEA,UAAA,EAAY,SAAS;AAAA;AAAA,UAGN,0CAAA;EACf,aAAA,EAAe,8BAA8B;AAAA;AAAA,KAGnC,2BAAA,GACV,0CAA0C;AAAA,UAE3B,mCAAA;EAnamB;EAqalC,UAAA;EArauD;EAuavD,MAAM;AAAA;AAAA,UAGS,8BAAA;EACf,OAAA;EACA,QAAA,EAAU,0BAAA;EACV,SAAA;EAEA,qBAAA,EAAuB,SAAA;EAEvB,eAAA,EAAiB,SAAA;AAAA;AAAA,UAGF,yBAAA;EACf,SAAA;EAEA,SAAA,EAAW,SAAA;EAEX,OAAA,EAAS,SAAA;EAET,WAAA,EAAa,SAAA;EACb,iBAAA,EAAmB,SAAA;EAEnB,kBAAA;EACA,MAAA;EACA,KAAA;EACA,WAAA;EACA,MAAA,EAAQ,8BAAA;AAAA;AAAA,UAGO,qCAAA;EACf,QAAA,EAAU,yBAAyB;AAAA;;;;UAOpB,0BAAA,SACP,UAAA,EAAY,eAAA;EACpB,QAAA;EAraa;EAuab,QAAA,GAAW,SAAA;AAAA;AAAA,UAGI,4BAAA;EACf,GAAG;AAAA;AAAA,UAGY,+BAAA;EACf,OAAA,EAAS,OAAO;AAAA;AAAA,UAGD,iCAAA;EACf,QAAA,EAAU,wBAAwB;AAAA;AAAA,KAGxB,yBAAA,GAA4B,0BAA0B;AAAA,KACtD,2BAAA,GAA8B,iCAAiC;AAAA,KAE/D,uCAAA,GACV,0CAA0C;AAAA,UAE3B,yCAAA;EACf,GAAA;EACA,EAAA,EAAI,wBAAA;EAEJ,IAAA,GAAO,0BAAA;EACP,OAAA,EAAS,GAAA;EACT,UAAA,EAAY,GAAA;AAAA;;;;KAOF,4BAAA,GAA+B,8BAA8B;AAAA,UAExD,kBAAA;EACf,eAAA;EACA,SAAA,EAAW,SAAA;EAEX,gBAAA,EAAkB,SAAA;EAClB,gBAAA,EAAkB,SAAA;EAClB,yBAAA,EAA2B,SAAA;EAC3B,yBAAA,EAA2B,SAAA;EAC3B,aAAA,EAAe,SAAA;EACf,GAAA,EAAK,SAAA;EACL,WAAA,EAAa,SAAA;EACb,UAAA,EAAY,SAAA;AAAA;AAAA,UAGG,8BAAA;EACf,SAAA,EAAW,kBAAkB;AAAA;AAAA,UAGd,yBAAA;EAEf,QAAA,EAAU,SAAA;EAEV,gBAAA,EAAkB,SAAA;EAElB,WAAA,EAAa,SAAA;EAEb,SAAA,EAAW,SAAA;EAEX,mBAAA,EAAqB,SAAA;EAErB,YAAA,EAAc,SAAA;AAAA;AAAA,UAGC,6BAAA;EACf,UAAA,EAAY,UAAU;AAAA;AAAA,UAGP,+BAAA;EACf,OAAA,EAAS,OAAO;AAAA;;AAheiC;AAMnD;UAieiB,kCAAA;EACf,OAAA,EAAS,OAAO;AAAA;AAAA,UAGD,oCAAA;EACf,MAAA,EAAQ,SAAA;EACR,SAAA,EAAW,SAAS;EACpB,cAAA;AAAA;;;;UAOe,sBAAA;EACf,OAAA,EAAS,OAAO;AAAA;AAAA,UAGD,kBAAA;EACf,KAAA;EACA,WAAA;EAteQ;EAweR,SAAA,EAAW,SAAA;EAxee;EA0e1B,OAAA,EAAS,SAAA;EACT,WAAA,EAAa,SAAA;EACb,MAAA,EAAQ,SAAA;EACR,IAAA;EACA,IAAA;AAAA;AAAA,UAGe,oBAAA;EACf,MAAA,EAAQ,SAAS;EACjB,IAAA;EACA,IAAA;AAAA;AAAA,UAGe,wBAAA;EACf,cAAA,EAAgB,kBAAA;EAChB,aAAA,EAAe,oBAAoB;AAAA;;;;UAOpB,uBAAA;EACf,OAAA,EAAS,OAAO;AAAA;AAAA,UAGD,mBAAA;EA3eF;EA6eb,SAAA;EACA,MAAA,EAAQ,SAAS;AAAA;AAAA,UAGF,mBAAA;EACf,KAAA;EACA,WAAA;EACA,SAAA,EAAW,SAAA;EACX,OAAA,EAAS,SAAA;EACT,WAAA,EAAa,SAAA;EACb,IAAA;EACA,MAAA,EAAQ,mBAAA;AAAA;AAAA,UAGO,qBAAA;EACf,WAAA,EAAa,SAAA;EACb,IAAA;EACA,MAAA,EAAQ,mBAAmB;AAAA;AAAA,UAGZ,yBAAA;EACf,cAAA,EAAgB,mBAAA;EAChB,aAAA,EAAe,qBAAqB;AAAA;;;;UAOrB,8BAAA;EACf,OAAA,EAAS,OAAO;AAAA;AAAA,UAGD,kCAAA;EACf,OAAA;EACA,WAAA;EAzhBe;EA2hBf,UAAA,EAAY,SAAA;EAzhBZ;EA2hBA,QAAA,EAAU,SAAA;EACV,SAAA,EAAW,SAAA;EACX,SAAA,EAAW,SAAA;EACX,SAAA,EAAW,SAAA;EACX,SAAA,EAAW,SAAA;AAAA;AAAA,UAGI,kCAAA;EACf,cAAA,EAAgB,SAAA;EAChB,cAAA,EAAgB,SAAS;AAAA;;;;UAMV,mCAAA;EA9hBD;EAgiBd,MAAA;EA9hBgB;EAgiBhB,cAAA,EAAgB,OAAA;EA9hBR;;AAAS;AAGnB;EAgiBE,IAAA;;;AAhiB2D;AAU7D;;EA4hBE,WAAA,EAAa,SAAA;EAvhBS;EAyhBtB,KAAA,EAAO,GAAA;AAAA;;;;UAMQ,qCAAA;EAlhBf;EAohBA,MAAA,EAAQ,OAAO,CAAC,uCAAA;AAAA;AA3gBlB;;;;;AAAA,KAmhBY,gCAAA,GACR,mCAAA,GACA,qCAAqC;AAAA,UAExB,gCAAA;EAjgBI;;;;EAsgBnB,MAAA,EAAQ,SAAA;EAzfE;EA2fV,KAAA,EAAO,gCAAgC;AAAA;AAAA,UAGxB,0BAAA;EACf,QAAA,EAAU,kCAAA;EACV,QAAA,EAAU,kCAAA;EACV,MAAA,EAAQ,gCAAA;AAAA;AAAA,UAGO,kCAAA;EACf,WAAA,EAAa,SAAA;EACb,eAAA,EAAiB,SAAS;AAAA;AAAA,UAGX,gCAAA;EACf,MAAA,EAAQ,0BAAA;EACR,aAAA,EAAe,kCAAkC;AAAA;;;;;;;KAUvC,gBAAA;;;;UAKK,yBAAA;EAviBI;;;;;EA6iBnB,MAAA,GAAS,gBAAgB;EApiBJ;;;;EAyiBrB,IAAA;AAAA;;;;UAMe,uBAAA;EAriBE;EAuiBjB,SAAA;EAriBY;EAuiBZ,QAAA;EAriBa;EAuiBb,YAAA;EAriBmB;EAuiBnB,aAAA;EAriBoB;EAuiBpB,SAAA;EAniBA;EAqiBA,UAAA;EApiBoB;EAsiBpB,WAAA;EAtiB6B;EAwiB7B,qBAAA;AAAA;;;;;KAOU,2BAAA,GAA8B,MAAM,SAE9C,uBAAA;;;AAniB0B;UAyiBX,yBAAA;EAliB4B;;;AAC3B;AAOlB;EAgiBE,WAAA;;;AA/hBsB;AAGxB;EAiiBE,UAAU;AAAA;;;;UAMK,oBAAA;EAniBe;EAqiB9B,MAAA;EAxiBc;EA0iBd,MAAA;EAziBc;EA2iBd,SAAA;EAziBqB;EA2iBrB,QAAA;AAAA;AAAA,KAGU,sBAAA;AAriBZ;;;AAAA,UAojBiB,eAAA;EAnjBf;EAqjBA,IAAA;EApjBA;EAsjBA,SAAA;EApjBA;EAsjBA,MAAA;EApjBW;EAsjBX,cAAA,EAAgB,SAAA;EAnjBD;EAqjBf,aAAA;;EAEA,OAAA;EAnjBe;EAqjBf,YAAA,EAAc,SAAA;EAhjBK;EAkjBnB,YAAA,EAAc,SAAA;EAjjBQ;EAmjBtB,iBAAA,EAAmB,SAAA;EA5jBnB;EA8jBA,qBAAA,EAAuB,SAAA;EA5jBvB;EA8jBA,eAAA,EAAiB,SAAA;EA7jBjB;;;EAikBA,YAAA,EAAc,SAAA;EA5jBd;EA8jBA,aAAA,EAAe,sBAAA;EA7jBf;EA+jBA,YAAA;EA9jBA;EAgkBA,WAAA,EAAa,oBAAA;EA9jBI;AAAA;AAGnB;;EAgkBE,SAAA;EA9jBsC;EAgkBtC,eAAA;EAjkBkB;EAmkBlB,eAAA;AAAA;;;AAjkBU;AAOZ;KAikBY,2BAAA,GAA8B,MAAM,SAAS,eAAA"}
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- require("./IndexerBaseClient-CSn4twzz.cjs");
2
+ require("./IndexerBaseClient-DG3Tf9Cv.cjs");
3
3
  let _nadohq_shared = require("@nadohq/shared");
4
4
  let _nadohq_engine_client = require("@nadohq/engine-client");
5
5
  //#region src/dataMappers.ts
@@ -190,6 +190,21 @@ function mapIndexerPortfolio(response) {
190
190
  marketCountHistory: history.marketCountHistory.map(mapIndexerPortfolioPoint)
191
191
  }]));
192
192
  }
193
+ function mapIndexerPortfolioCalendarDay(day) {
194
+ return {
195
+ date: (0, _nadohq_shared.toBigNumber)(day.date),
196
+ pnl: (0, _nadohq_shared.toBigNumber)(day.pnl),
197
+ volume: (0, _nadohq_shared.toBigNumber)(day.volume),
198
+ tradeCount: (0, _nadohq_shared.toBigNumber)(day.tradeCount),
199
+ productIds: day.productIds
200
+ };
201
+ }
202
+ function mapIndexerPortfolioCalendar(response) {
203
+ return {
204
+ spot: response.spot.map(mapIndexerPortfolioCalendarDay),
205
+ perp: response.perp.map(mapIndexerPortfolioCalendarDay)
206
+ };
207
+ }
193
208
  function mapIndexerMakerStatistics(maker) {
194
209
  return {
195
210
  address: maker.address,
@@ -361,6 +376,7 @@ exports.mapIndexerNlpSnapshot = mapIndexerNlpSnapshot;
361
376
  exports.mapIndexerOrder = mapIndexerOrder;
362
377
  exports.mapIndexerPerpPrices = mapIndexerPerpPrices;
363
378
  exports.mapIndexerPortfolio = mapIndexerPortfolio;
379
+ exports.mapIndexerPortfolioCalendar = mapIndexerPortfolioCalendar;
364
380
  exports.mapIndexerPosition = mapIndexerPosition;
365
381
  exports.mapIndexerProductPayment = mapIndexerProductPayment;
366
382
  exports.mapIndexerServerBalance = mapIndexerServerBalance;