@nadohq/indexer-client 0.31.0 → 0.32.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-B7cApziU.cjs → IndexerBaseClient-dpwAE5Om.cjs} +9 -4
  2. package/dist/IndexerBaseClient-dpwAE5Om.cjs.map +1 -0
  3. package/dist/IndexerBaseClient.cjs +1 -1
  4. package/dist/IndexerBaseClient.d.cts +10 -5
  5. package/dist/IndexerBaseClient.d.cts.map +1 -1
  6. package/dist/IndexerBaseClient.d.ts +10 -5
  7. package/dist/IndexerBaseClient.d.ts.map +1 -1
  8. package/dist/IndexerBaseClient.js +8 -3
  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-CNfg1fnY.d.ts → IndexerServerFailureError-CnyMDTmR.d.ts} +2 -2
  14. package/dist/{IndexerServerFailureError-CNfg1fnY.d.ts.map → IndexerServerFailureError-CnyMDTmR.d.ts.map} +1 -1
  15. package/dist/{IndexerServerFailureError-BDumqvxn.d.cts → IndexerServerFailureError-Q8gMph7M.d.cts} +2 -2
  16. package/dist/{IndexerServerFailureError-BDumqvxn.d.cts.map → IndexerServerFailureError-Q8gMph7M.d.cts.map} +1 -1
  17. package/dist/{clientTypes-B9CLpWyr.d.ts → clientTypes-CuXHS6Jk.d.ts} +24 -3
  18. package/dist/clientTypes-CuXHS6Jk.d.ts.map +1 -0
  19. package/dist/{clientTypes-pI3pxxup.d.cts → clientTypes-sF5is5HA.d.cts} +24 -3
  20. package/dist/clientTypes-sF5is5HA.d.cts.map +1 -0
  21. package/dist/dataMappers.cjs +4 -2
  22. package/dist/dataMappers.cjs.map +1 -1
  23. package/dist/dataMappers.d.cts +2 -2
  24. package/dist/dataMappers.d.cts.map +1 -1
  25. package/dist/dataMappers.d.ts +2 -2
  26. package/dist/dataMappers.d.ts.map +1 -1
  27. package/dist/dataMappers.js +3 -1
  28. package/dist/dataMappers.js.map +1 -1
  29. package/dist/index.cjs +1 -1
  30. package/dist/index.d.cts +5 -5
  31. package/dist/index.d.ts +5 -5
  32. package/dist/{indexerBalanceValue-Dz405nR_.d.ts → indexerBalanceValue-CuM_RYc3.d.ts} +2 -2
  33. package/dist/{indexerBalanceValue-Dz405nR_.d.ts.map → indexerBalanceValue-CuM_RYc3.d.ts.map} +1 -1
  34. package/dist/{indexerBalanceValue-DyBxYbS1.d.cts → indexerBalanceValue-DaLg1BCK.d.cts} +2 -2
  35. package/dist/{indexerBalanceValue-DyBxYbS1.d.cts.map → indexerBalanceValue-DaLg1BCK.d.cts.map} +1 -1
  36. package/dist/{paginatedEventsTypes-CrzCU35F.d.cts → paginatedEventsTypes-DKN3qkoM.d.cts} +2 -2
  37. package/dist/{paginatedEventsTypes-CrzCU35F.d.cts.map → paginatedEventsTypes-DKN3qkoM.d.cts.map} +1 -1
  38. package/dist/{paginatedEventsTypes-BJXTuQTz.d.ts → paginatedEventsTypes-Mdjf2Myl.d.ts} +2 -2
  39. package/dist/{paginatedEventsTypes-BJXTuQTz.d.ts.map → paginatedEventsTypes-Mdjf2Myl.d.ts.map} +1 -1
  40. package/dist/{serverTypes-DkRgWlZV.d.ts → serverTypes-BdNekzFR.d.ts} +8 -2
  41. package/dist/serverTypes-BdNekzFR.d.ts.map +1 -0
  42. package/dist/{serverTypes-BNCw3_T1.d.cts → serverTypes-DrlzA5fi.d.cts} +8 -2
  43. package/dist/serverTypes-DrlzA5fi.d.cts.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 +1 -1
  48. package/dist/types/clientTypes.d.ts +1 -1
  49. package/dist/types/index.d.cts +4 -4
  50. package/dist/types/index.d.ts +4 -4
  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 +1 -1
  56. package/dist/types/serverTypes.d.ts +1 -1
  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 +8 -3
  64. package/src/dataMappers.ts +7 -1
  65. package/src/types/clientTypes.ts +24 -3
  66. package/src/types/serverTypes.ts +8 -2
  67. package/dist/IndexerBaseClient-B7cApziU.cjs.map +0 -1
  68. package/dist/clientTypes-B9CLpWyr.d.ts.map +0 -1
  69. package/dist/clientTypes-pI3pxxup.d.cts.map +0 -1
  70. package/dist/serverTypes-BNCw3_T1.d.cts.map +0 -1
  71. package/dist/serverTypes-DkRgWlZV.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"serverTypes.cjs","names":[],"sources":["../../src/types/serverTypes.ts"],"sourcesContent":["import {\n EIP712LeaderboardAuthenticationValues,\n EIP712SocialAuthenticationValues,\n SignedTx,\n} from '@nadohq/shared';\nimport { IndexerEventType } from './IndexerEventType';\nimport { IndexerLeaderboardRankType } from './IndexerLeaderboardType';\nimport { NadoWithdrawCollateralTx, NadoWithdrawCollateralV2Tx } from './NadoTx';\nimport {\n IndexerServerCandlestick,\n IndexerServerEvent,\n IndexerServerLeaderboardContest,\n IndexerServerLeaderboardPosition,\n IndexerServerLeaderboardRegistration,\n IndexerServerMaker,\n IndexerServerMarketSnapshot,\n IndexerServerMarketSnapshotInterval,\n IndexerServerMatchEvent,\n IndexerServerNlpSnapshot,\n IndexerServerOraclePrice,\n IndexerServerOrder,\n IndexerServerProductPayment,\n IndexerServerProductSnapshot,\n IndexerServerSnapshotsInterval,\n IndexerServerSocialAccount,\n IndexerServerTx,\n} from './serverModelTypes';\n\n/**\n * Params\n */\n\nexport interface IndexerServerListSubaccountsParams {\n // Inclusive, defaults to 0\n start?: number;\n // Defaults to 100\n limit?: number;\n address?: string;\n}\n\nexport interface IndexerServerMultiSubaccountSnapshotsParams {\n // Subaccount hex identifiers\n subaccounts: string[];\n timestamps: number[];\n // If not given, will return both isolated & non-iso balances\n isolated?: boolean;\n}\n\nexport interface IndexerServerReferralCodeParams {\n subaccount: string;\n}\n\nexport interface IndexerServerFundingRateParams {\n product_id: number;\n}\n\nexport interface IndexerServerFundingRatesParams {\n product_ids: number[];\n}\n\nexport interface IndexerServerFundingRateHistoryParams {\n product_id: number;\n start_time?: number | string;\n end_time?: number | string;\n // Max number of rates to return. Defaults to 100, max 1000.\n limit?: number;\n}\n\nexport interface IndexerServerPriceParams {\n product_id: number;\n}\n\nexport interface IndexerServerPerpPricesParams {\n product_ids: number[];\n}\n\nexport interface IndexerServerPortfolioParams {\n subaccount: string;\n}\n\nexport interface IndexerServerOraclePricesParams {\n product_ids: number[];\n}\n\nexport interface IndexerServerCandlesticksParams {\n product_id: number;\n granularity: number;\n // Seconds\n max_time?: number;\n limit: number;\n}\n\nexport type IndexerEdgeServerCandlesticksParams =\n IndexerServerCandlesticksParams;\n\nexport interface IndexerServerProductsParams {\n product_id: number;\n max_time?: number;\n limit: number;\n // submission_idx for pagination, inclusive\n idx?: string;\n}\n\nexport interface IndexerServerMultiProductsParams {\n product_ids: number[];\n max_time: number[];\n}\n\nexport interface IndexerServerEventsParams {\n subaccounts?: string[];\n product_ids?: number[];\n // If not given, will return both isolated & non-iso events\n isolated?: boolean;\n event_types?: IndexerEventType[];\n // Descending order for idx (time), defaults to true\n desc?: boolean;\n // submission_idx for pagination, inclusive\n idx?: string;\n max_time?: number;\n limit?:\n | {\n raw: number;\n }\n | {\n txs: number;\n };\n}\n\nexport type IndexerServerTriggerTypeFilter =\n | 'none'\n | 'price_trigger'\n | 'time_trigger';\n\nexport interface IndexerServerOrdersParams {\n subaccounts?: string[];\n product_ids?: number[];\n trigger_types?: IndexerServerTriggerTypeFilter[];\n digests?: string[];\n max_time?: number;\n limit?: number;\n // If not given, will return both isolated & non-iso orders\n isolated?: boolean;\n // submission_idx for pagination, inclusive\n idx?: string;\n}\n\nexport interface IndexerServerMatchEventsParams {\n subaccounts?: string[];\n product_ids?: number[];\n // If not given, will return both isolated & non-iso events\n isolated?: boolean;\n max_time?: number;\n limit: number;\n // submission_idx for pagination, inclusive\n idx?: string;\n}\n\nexport interface IndexerServerLinkedSignerParams {\n subaccount: string;\n}\n\nexport interface IndexerServerMarketSnapshotsParams {\n interval: IndexerServerMarketSnapshotInterval;\n // Defaults to all\n product_ids?: number[];\n}\n\nexport interface IndexerEdgeServerMarketSnapshotsParams {\n interval: IndexerServerMarketSnapshotInterval;\n}\n\nexport interface IndexerServerInterestFundingParams {\n subaccount: string;\n product_ids: number[];\n // If not given, defaults to latest\n max_idx?: string;\n max_time?: number;\n limit: number;\n}\n\nexport interface IndexerServerMakerStatisticsParams {\n product_id: number;\n epoch: number;\n interval: number;\n}\n\nexport interface IndexerServerLeaderboardParams {\n contest_id: number;\n rank_type?: IndexerLeaderboardRankType;\n start?: number | string;\n limit?: number | string;\n order?: 'ASC' | 'DESC';\n}\n\nexport interface IndexerServerLeaderboardRankParams {\n subaccount: string;\n contest_ids: number[];\n}\n\nexport interface IndexerServerLeaderboardContestsParams {\n contest_ids?: number[];\n active?: boolean;\n}\n\nexport interface IndexerServerLeaderboardRegistrationsParams {\n subaccount: string;\n contest_ids?: number[];\n active?: boolean;\n}\n\nexport interface IndexerServerLeaderboardRegisterParams {\n update_registration: SignedTx<EIP712LeaderboardAuthenticationValues>;\n}\n\nexport interface IndexerServerSocialConnectParams {\n update_social_account: SignedTx<EIP712SocialAuthenticationValues>;\n}\n\nexport interface IndexerServerListSocialAccountsParams {\n address: string;\n}\n\nexport type IndexerServerRevokeSocialAccountParams =\n IndexerServerSocialConnectParams;\n\nexport interface IndexerServerFastWithdrawalSignatureParams {\n /**\n * The submission index of the WithdrawCollateral tx to be used for fast withdraw.\n */\n idx: number | string;\n}\n\nexport interface IndexerServerNlpSnapshotsParams {\n interval: IndexerServerSnapshotsInterval;\n}\n\nexport interface IndexerServerDDAQueryParams {\n subaccount: string;\n}\n\nexport interface IndexerServerPrivateAlphaChoiceParams {\n address: string;\n}\n\nexport interface IndexerServerPointsParams {\n address: string;\n}\n\nexport interface IndexerServerXPointsParams {\n address: string;\n}\n\nexport interface IndexerServerCashIncentivesParams {\n wallet_address: string;\n}\n\n// Request\nexport interface IndexerServerQueryRequestByType {\n account_snapshots: IndexerServerMultiSubaccountSnapshotsParams;\n backlog: Record<string, never>;\n candlesticks: IndexerServerCandlesticksParams;\n direct_deposit_address: IndexerServerDDAQueryParams;\n edge_candlesticks: IndexerEdgeServerCandlesticksParams;\n edge_market_snapshots: IndexerEdgeServerMarketSnapshotsParams;\n events: IndexerServerEventsParams;\n fast_withdrawal_signature: IndexerServerFastWithdrawalSignatureParams;\n funding_rate: IndexerServerFundingRateParams;\n funding_rate_history: IndexerServerFundingRateHistoryParams;\n funding_rates: IndexerServerFundingRatesParams;\n interest_and_funding: IndexerServerInterestFundingParams;\n leaderboard: IndexerServerLeaderboardParams;\n leaderboard_contests: IndexerServerLeaderboardContestsParams;\n leaderboard_rank: IndexerServerLeaderboardRankParams;\n leaderboard_register: IndexerServerLeaderboardRegisterParams;\n leaderboard_registrations: IndexerServerLeaderboardRegistrationsParams;\n linked_signer_rate_limit: IndexerServerLinkedSignerParams;\n maker_statistics: IndexerServerMakerStatisticsParams;\n market_snapshots: IndexerServerMarketSnapshotsParams;\n matches: IndexerServerMatchEventsParams;\n oracle_price: IndexerServerOraclePricesParams;\n orders: IndexerServerOrdersParams;\n perp_prices: IndexerServerPerpPricesParams;\n portfolio: IndexerServerPortfolioParams;\n price: IndexerServerPriceParams;\n product_snapshots: IndexerServerMultiProductsParams;\n products: IndexerServerProductsParams;\n referral_code: IndexerServerReferralCodeParams;\n subaccounts: IndexerServerListSubaccountsParams;\n quote_price: Record<string, never>;\n nlp_snapshots: IndexerServerNlpSnapshotsParams;\n private_alpha_choice: IndexerServerPrivateAlphaChoiceParams;\n nado_points: IndexerServerPointsParams;\n nado_xpoints: IndexerServerXPointsParams;\n cash_incentives: IndexerServerCashIncentivesParams;\n social_connect: IndexerServerSocialConnectParams;\n list_social_accounts: IndexerServerListSocialAccountsParams;\n revoke_social_account: IndexerServerRevokeSocialAccountParams;\n}\n\nexport type IndexerServerQueryRequestType =\n keyof IndexerServerQueryRequestByType;\n\n/**\n * Responses\n */\n\nexport interface IndexerServerListSubaccountsResponse {\n subaccounts: {\n id: string;\n // Hex of subaccount bytes\n subaccount: string;\n // UNIX timestamp in seconds\n created_at: string;\n isolated: boolean;\n }[];\n}\n\nexport interface IndexerServerMultiSubaccountSnapshotsResponse {\n // Map of subaccount hex -> timestamp requested -> latest events corresponding to each product\n snapshots: Record<string, Record<string, IndexerServerEvent[]>>;\n}\n\nexport interface IndexerServerReferralCodeResponse {\n referral_code: string | null;\n}\n\nexport interface IndexerServerFundingRate {\n product_id: number;\n funding_rate_x18: string;\n update_time: number;\n}\n\nexport type IndexerServerFundingRateResponse = IndexerServerFundingRate;\n\n// Map of productId -> IndexerServerFundingRate\nexport type IndexerServerFundingRatesResponse = Record<\n string,\n IndexerServerFundingRate\n>;\n\nexport interface IndexerServerFundingRateHistoryEntry {\n product_id: number;\n // Epoch time in seconds of the settlement tick this funding rate was recorded at.\n timestamp: string;\n // Realized hourly funding rate at this tick, multiplied by 10^18 (% = rate * 100).\n funding_rate_x18: string;\n}\n\nexport interface IndexerServerFundingRateHistoryResponse {\n // Always ascending by timestamp.\n funding_rates: IndexerServerFundingRateHistoryEntry[];\n}\n\nexport type IndexerServerPortfolioPeriod =\n | 'day'\n | 'week'\n | 'month'\n | 'allTime'\n | 'perpDay'\n | 'perpWeek'\n | 'perpMonth'\n | 'perpAllTime';\n\n// [timestamp (unix seconds), value] — both x18-free decimal strings, USDT0-denominated.\nexport type IndexerServerPortfolioPoint = [string, string];\n\nexport interface IndexerServerPortfolioHistory {\n accountValueHistory: IndexerServerPortfolioPoint[];\n pnlHistory: IndexerServerPortfolioPoint[];\n vlm: string;\n}\n\nexport type IndexerServerPortfolioResponse = [\n IndexerServerPortfolioPeriod,\n IndexerServerPortfolioHistory,\n][];\n\nexport interface IndexerServerPerpPrices {\n product_id: number;\n index_price_x18: string;\n mark_price_x18: string;\n update_time: number;\n}\n\nexport type IndexerServerPriceResponse = IndexerServerPerpPrices;\n\n// Map of productId -> IndexerServerPerpPrices\nexport type IndexerServerPerpPricesResponse = Record<\n string,\n IndexerServerPerpPrices\n>;\n\nexport interface IndexerServerOraclePricesResponse {\n prices: IndexerServerOraclePrice[];\n}\n\nexport interface IndexerServerCandlesticksResponse {\n candlesticks: IndexerServerCandlestick[];\n}\n\nexport type IndexerEdgeServerCandlesticksResponse =\n IndexerServerCandlesticksResponse;\n\nexport interface IndexerServerProductsResponse {\n products: IndexerServerProductSnapshot[];\n txs: IndexerServerTx[];\n}\n\n// Map of timestamp -> (productID -> IndexerServerProductSnapshot)\nexport type IndexerServerMultiProductsResponse = Record<\n string,\n Record<string, IndexerServerProductSnapshot>\n>;\n\nexport interface IndexerServerEventsResponse {\n events: IndexerServerEvent[];\n txs: IndexerServerTx[];\n}\n\nexport interface IndexerServerOrdersResponse {\n orders: IndexerServerOrder[];\n}\n\nexport interface IndexerServerMatchEventsResponse {\n matches: IndexerServerMatchEvent[];\n txs: IndexerServerTx[];\n}\n\nexport interface IndexerServerQuotePriceResponse {\n price_x18: string;\n}\n\nexport interface IndexerServerLinkedSignerResponse {\n total_tx_limit: string;\n remaining_tx: string;\n wait_time: string;\n signer: string;\n}\n\nexport interface IndexerServerMarketSnapshotsResponse {\n snapshots: IndexerServerMarketSnapshot[];\n}\n\nexport interface IndexerEdgeServerMarketSnapshotsResponse {\n snapshots: Record<number, IndexerServerMarketSnapshot[]>;\n}\n\nexport interface IndexerServerInterestFundingResponse {\n interest_payments: IndexerServerProductPayment[];\n funding_payments: IndexerServerProductPayment[];\n next_idx: string;\n}\n\nexport interface IndexerServerMakerStatisticsResponse {\n reward_coefficient: string;\n makers: IndexerServerMaker[];\n}\n\nexport interface IndexerServerLeaderboardResponse {\n positions: IndexerServerLeaderboardPosition[];\n}\n\nexport interface IndexerServerLeaderboardRegistrationsResponse {\n registrations: IndexerServerLeaderboardRegistration[];\n}\n\nexport type IndexerServerLeaderboardRegisterResponse =\n IndexerServerLeaderboardRegistrationsResponse;\n\nexport interface IndexerServerLeaderboardRankResponse {\n // If the subaccount is not eligible for a given contest, it would not be included in the response.\n // contestId -> IndexerServerLeaderboardPosition\n positions: Record<string, IndexerServerLeaderboardPosition>;\n}\n\nexport interface IndexerServerLeaderboardContestsResponse {\n contests: IndexerServerLeaderboardContest[];\n}\n\nexport interface IndexerServerFastWithdrawalSignatureResponse {\n idx: string;\n tx: NadoWithdrawCollateralTx['withdraw_collateral'];\n // Present only for `WithdrawCollateralV2` withdrawals.\n tx_v2?: NadoWithdrawCollateralV2Tx['withdraw_collateral_v2'];\n tx_bytes: string;\n signatures: string[];\n}\n\nexport interface IndexerServerNlpSnapshotsResponse {\n snapshots: IndexerServerNlpSnapshot[];\n}\n\nexport interface IndexerServerDDAResponse {\n v1_address: string;\n}\n\nexport interface IndexerServerBacklogResponse {\n // Total number of transactions stored in the indexer DB\n total_txs: string;\n // Current nSubmissions value from the chain (i.e., number of processed txs)\n total_submissions: string;\n // Number of unprocessed transactions (total_txs - total_submissions)\n backlog_size: string;\n // UNIX timestamp (in seconds) of when the data was last updated\n updated_at: string;\n // Estimated time in seconds (float) to clear the entire backlog (null if unavailable)\n backlog_eta_in_seconds: string | null;\n // Current submission rate in transactions per second (float) (null if unavailable)\n txs_per_second: string | null;\n}\n\nexport interface IndexerServerPrivateAlphaChoiceResponse {\n points: string;\n fee_refund: string;\n nft_eligibility: boolean;\n}\n\nexport interface IndexerServerPointsEpoch {\n epoch: number;\n description: string;\n start_time: string;\n end_time: string;\n total_points: string;\n points: string;\n rank: number;\n tier: number;\n}\n\nexport interface IndexerServerAllTimePoints {\n points: string;\n rank: number;\n tier: number;\n}\n\nexport interface IndexerServerPointsResponse {\n points_per_epoch: IndexerServerPointsEpoch[];\n all_time_points: IndexerServerAllTimePoints;\n}\n\nexport interface IndexerServerXPointsQuest {\n quest_type: string;\n points: string;\n}\n\nexport interface IndexerServerXPointsEpoch {\n epoch: number;\n description: string;\n start_time: string;\n end_time: string;\n total_points: string;\n rank: number;\n quests: IndexerServerXPointsQuest[];\n}\n\nexport interface IndexerServerXPointsAllTime {\n total_points: string;\n rank: number;\n quests: IndexerServerXPointsQuest[];\n}\n\nexport interface IndexerServerXPointsResponse {\n points_per_epoch: IndexerServerXPointsEpoch[];\n all_time_points: IndexerServerXPointsAllTime;\n}\n\nexport interface IndexerServerCashIncentivesEventMetadata {\n event_id: number;\n description: string;\n // UNIX timestamp in seconds\n epoch_start: string;\n // UNIX timestamp in seconds\n epoch_end: string;\n // x18 string\n max_volume: string;\n // x18 string\n max_reward: string;\n // x18 string\n min_volume: string;\n // x18 string\n min_reward: string;\n}\n\nexport interface IndexerServerCashIncentivesEventPlatform {\n // x18 string\n platform_volume: string;\n // x18 string\n unlocked_reward: string;\n}\n\nexport interface IndexerServerCashIncentivesEventWallet {\n // x18 string\n reward: string;\n}\n\nexport interface IndexerServerCashIncentivesEvent {\n metadata: IndexerServerCashIncentivesEventMetadata;\n platform: IndexerServerCashIncentivesEventPlatform;\n wallet: IndexerServerCashIncentivesEventWallet;\n}\n\nexport interface IndexerServerCashIncentivesWalletSummary {\n // x18 string\n total_reward: string;\n // x18 string\n claimable_reward: string;\n}\n\nexport interface IndexerServerCashIncentivesResponse {\n events: IndexerServerCashIncentivesEvent[];\n wallet_summary: IndexerServerCashIncentivesWalletSummary;\n}\n\nexport interface IndexerServerSocialConnectResponse {\n url: string;\n}\n\nexport interface IndexerServerSocialAccountsResponse {\n accounts: IndexerServerSocialAccount[];\n}\n\n// Response\nexport interface IndexerServerQueryResponseByType {\n account_snapshots: IndexerServerMultiSubaccountSnapshotsResponse;\n backlog: IndexerServerBacklogResponse;\n candlesticks: IndexerServerCandlesticksResponse;\n direct_deposit_address: IndexerServerDDAResponse;\n edge_candlesticks: IndexerEdgeServerCandlesticksResponse;\n edge_market_snapshots: IndexerEdgeServerMarketSnapshotsResponse;\n events: IndexerServerEventsResponse;\n fast_withdrawal_signature: IndexerServerFastWithdrawalSignatureResponse;\n funding_rate: IndexerServerFundingRateResponse;\n funding_rate_history: IndexerServerFundingRateHistoryResponse;\n funding_rates: IndexerServerFundingRatesResponse;\n interest_and_funding: IndexerServerInterestFundingResponse;\n leaderboard: IndexerServerLeaderboardResponse;\n leaderboard_contests: IndexerServerLeaderboardContestsResponse;\n leaderboard_rank: IndexerServerLeaderboardRankResponse;\n leaderboard_register: IndexerServerLeaderboardRegisterResponse;\n leaderboard_registrations: IndexerServerLeaderboardRegistrationsResponse;\n linked_signer_rate_limit: IndexerServerLinkedSignerResponse;\n maker_statistics: IndexerServerMakerStatisticsResponse;\n market_snapshots: IndexerServerMarketSnapshotsResponse;\n matches: IndexerServerMatchEventsResponse;\n oracle_price: IndexerServerOraclePricesResponse;\n orders: IndexerServerOrdersResponse;\n perp_prices: IndexerServerPerpPricesResponse;\n portfolio: IndexerServerPortfolioResponse;\n price: IndexerServerPriceResponse;\n product_snapshots: IndexerServerMultiProductsResponse;\n products: IndexerServerProductsResponse;\n referral_code: IndexerServerReferralCodeResponse;\n subaccounts: IndexerServerListSubaccountsResponse;\n quote_price: IndexerServerQuotePriceResponse;\n nlp_snapshots: IndexerServerNlpSnapshotsResponse;\n private_alpha_choice: IndexerServerPrivateAlphaChoiceResponse;\n nado_points: IndexerServerPointsResponse;\n nado_xpoints: IndexerServerXPointsResponse;\n cash_incentives: IndexerServerCashIncentivesResponse;\n social_connect: IndexerServerSocialConnectResponse;\n list_social_accounts: IndexerServerSocialAccountsResponse;\n revoke_social_account: IndexerServerSocialAccountsResponse;\n}\n\n/**\n * V2 API Types\n */\n\n/**\n * Individual ticker data from v2 indexer endpoint (server format)\n */\nexport interface IndexerServerV2TickerResponse {\n product_id: number;\n ticker_id: string;\n base_currency: string;\n quote_currency: string;\n last_price: number;\n base_volume: number;\n quote_volume: number;\n price_change_percent_24h: number;\n}\n\n/**\n * Response from v2 tickers endpoint (server format)\n * Maps ticker IDs to their respective ticker data\n */\nexport type IndexerServerV2TickersResponse = Record<\n string,\n IndexerServerV2TickerResponse\n>;\n\n/**\n * Market hours data from v2 symbols endpoint (server format)\n */\nexport interface IndexerServerV2MarketHours {\n is_open: boolean;\n reason: string | null;\n next_close: string | null;\n next_open: string | null;\n}\n\n/**\n * Individual symbol data from v2 indexer endpoint (server format)\n */\nexport interface IndexerServerV2Symbol {\n type: string;\n product_id: number;\n symbol: string;\n price_increment_x18: string;\n size_increment: string;\n min_size: string;\n maker_fee_rate_x18: string;\n taker_fee_rate_x18: string;\n long_weight_initial_x18: string;\n long_weight_maintenance_x18: string;\n /**\n * Defined only for perp markets with a max OI cap\n */\n max_open_interest_x18: string | null;\n /**\n * Defined only for xStocks spot markets\n */\n exchange_rate_x18: string | null;\n trading_status: string;\n isolated_only: boolean;\n market_hours: IndexerServerV2MarketHours | null;\n /**\n * Boost tier for products with rewards boosts. Null for non-boosted products.\n * 0 = none, 1 = taker 4x / maker 4x, 2 = taker 3x / maker 4x\n */\n boost_type: number | null;\n /**\n * Taker rewards multiplier. Null for non-boosted products.\n */\n taker_multiplier: number | null;\n /**\n * Maker rewards multiplier. Null for non-boosted products.\n */\n maker_multiplier: number | null;\n}\n\n/**\n * Response from v2 symbols endpoint (server format)\n * Maps symbols to their respective data\n */\nexport type IndexerServerV2SymbolsResponse = Record<\n string,\n IndexerServerV2Symbol\n>;\n\n/**\n * Wire `request_type` the indexer echoes on failure envelopes. The indexer's failure envelope is\n * keyed by route (`<verb>_<query_type>`), mirroring the engine and trigger services. Kept as a\n * `${string}_${string}` template to avoid enumerating the full set of v1 query types declared\n * above.\n */\nexport type IndexerServerRequestType = `${string}_${string}`;\n\n/**\n * Failure envelope returned by the indexer service API. Mirrors the failure shape used by the\n * engine and trigger services: a `status: 'failure'` discriminant plus an `error`/`error_code`\n * pair and the originating `request_type`. A response missing this envelope shape (e.g. a\n * malformed body, or a non-JSON response) is a transport-level error, not a domain error.\n *\n * The v2 REST endpoints do not return this envelope — they use plain HTTP error responses\n * without an `error_code` field.\n */\nexport interface IndexerServerFailureResponse {\n status: 'failure';\n error: string;\n error_code: number;\n request_type: IndexerServerRequestType;\n}\n\n/**\n * Narrows an unknown response body to the indexer service API failure envelope.\n */\nexport function isIndexerServerFailureResponse(\n data: unknown,\n): data is IndexerServerFailureResponse {\n return (\n typeof data === 'object' &&\n data !== null &&\n (data as Record<string, unknown>).status === 'failure'\n );\n}\n"],"mappings":";;;;;AAwwBA,SAAgB,+BACd,MACsC;CACtC,OACE,OAAO,SAAS,YAChB,SAAS,QACR,KAAiC,WAAW;AAEjD"}
1
+ {"version":3,"file":"serverTypes.cjs","names":[],"sources":["../../src/types/serverTypes.ts"],"sourcesContent":["import {\n EIP712LeaderboardAuthenticationValues,\n EIP712SocialAuthenticationValues,\n SignedTx,\n} from '@nadohq/shared';\nimport { IndexerEventType } from './IndexerEventType';\nimport { IndexerLeaderboardRankType } from './IndexerLeaderboardType';\nimport { NadoWithdrawCollateralTx, NadoWithdrawCollateralV2Tx } from './NadoTx';\nimport {\n IndexerServerCandlestick,\n IndexerServerEvent,\n IndexerServerLeaderboardContest,\n IndexerServerLeaderboardPosition,\n IndexerServerLeaderboardRegistration,\n IndexerServerMaker,\n IndexerServerMarketSnapshot,\n IndexerServerMarketSnapshotInterval,\n IndexerServerMatchEvent,\n IndexerServerNlpSnapshot,\n IndexerServerOraclePrice,\n IndexerServerOrder,\n IndexerServerProductPayment,\n IndexerServerProductSnapshot,\n IndexerServerSnapshotsInterval,\n IndexerServerSocialAccount,\n IndexerServerTx,\n} from './serverModelTypes';\n\n/**\n * Params\n */\n\nexport interface IndexerServerListSubaccountsParams {\n // Inclusive, defaults to 0\n start?: number;\n // Defaults to 100\n limit?: number;\n address?: string;\n}\n\nexport interface IndexerServerMultiSubaccountSnapshotsParams {\n // Subaccount hex identifiers\n subaccounts: string[];\n timestamps: number[];\n // If not given, will return both isolated & non-iso balances\n isolated?: boolean;\n}\n\nexport interface IndexerServerReferralCodeParams {\n subaccount: string;\n}\n\nexport interface IndexerServerFundingRateParams {\n product_id: number;\n}\n\nexport interface IndexerServerFundingRatesParams {\n product_ids: number[];\n}\n\nexport interface IndexerServerFundingRateHistoryParams {\n product_id: number;\n start_time?: number | string;\n end_time?: number | string;\n // Max number of rates to return. Defaults to 100, max 1000.\n limit?: number;\n}\n\nexport interface IndexerServerPriceParams {\n product_id: number;\n}\n\nexport interface IndexerServerPerpPricesParams {\n product_ids: number[];\n}\n\nexport interface IndexerServerPortfolioParams {\n subaccount: string;\n}\n\nexport interface IndexerServerOraclePricesParams {\n product_ids: number[];\n}\n\nexport interface IndexerServerCandlesticksParams {\n product_id: number;\n granularity: number;\n // Seconds\n max_time?: number;\n limit: number;\n}\n\nexport type IndexerEdgeServerCandlesticksParams =\n IndexerServerCandlesticksParams;\n\nexport interface IndexerServerProductsParams {\n product_id: number;\n max_time?: number;\n limit: number;\n // submission_idx for pagination, inclusive\n idx?: string;\n}\n\nexport interface IndexerServerMultiProductsParams {\n product_ids: number[];\n max_time: number[];\n}\n\nexport interface IndexerServerEventsParams {\n subaccounts?: string[];\n product_ids?: number[];\n // If not given, will return both isolated & non-iso events\n isolated?: boolean;\n event_types?: IndexerEventType[];\n // Descending order for idx (time), defaults to true\n desc?: boolean;\n // submission_idx for pagination, inclusive\n idx?: string;\n max_time?: number;\n limit?:\n | {\n raw: number;\n }\n | {\n txs: number;\n };\n}\n\nexport type IndexerServerTriggerTypeFilter =\n | 'none'\n | 'price_trigger'\n | 'time_trigger';\n\nexport interface IndexerServerOrdersParams {\n subaccounts?: string[];\n product_ids?: number[];\n trigger_types?: IndexerServerTriggerTypeFilter[];\n digests?: string[];\n max_time?: number;\n limit?: number;\n // If not given, will return both isolated & non-iso orders\n isolated?: boolean;\n // submission_idx for pagination, inclusive\n idx?: string;\n}\n\nexport interface IndexerServerMatchEventsParams {\n subaccounts?: string[];\n product_ids?: number[];\n // If not given, will return both isolated & non-iso events\n isolated?: boolean;\n max_time?: number;\n limit: number;\n // submission_idx for pagination, inclusive\n idx?: string;\n}\n\nexport interface IndexerServerLinkedSignerParams {\n subaccount: string;\n}\n\nexport interface IndexerServerMarketSnapshotsParams {\n interval: IndexerServerMarketSnapshotInterval;\n // Defaults to all\n product_ids?: number[];\n}\n\nexport interface IndexerEdgeServerMarketSnapshotsParams {\n interval: IndexerServerMarketSnapshotInterval;\n}\n\nexport interface IndexerServerInterestFundingParams {\n subaccount: string;\n product_ids: number[];\n // If not given, defaults to latest\n max_idx?: string;\n max_time?: number;\n limit: number;\n}\n\nexport interface IndexerServerMakerStatisticsParams {\n product_id: number;\n epoch: number;\n interval: number;\n}\n\nexport interface IndexerServerLeaderboardParams {\n contest_id: number;\n rank_type?: IndexerLeaderboardRankType;\n start?: number | string;\n limit?: number | string;\n order?: 'ASC' | 'DESC';\n}\n\nexport interface IndexerServerLeaderboardRankParams {\n subaccount: string;\n contest_ids: number[];\n}\n\nexport interface IndexerServerLeaderboardContestsParams {\n contest_ids?: number[];\n active?: boolean;\n}\n\nexport interface IndexerServerLeaderboardRegistrationsParams {\n subaccount: string;\n contest_ids?: number[];\n active?: boolean;\n}\n\nexport interface IndexerServerLeaderboardRegisterParams {\n update_registration: SignedTx<EIP712LeaderboardAuthenticationValues>;\n}\n\nexport interface IndexerServerSocialConnectParams {\n update_social_account: SignedTx<EIP712SocialAuthenticationValues>;\n}\n\nexport interface IndexerServerListSocialAccountsParams {\n address: string;\n}\n\nexport type IndexerServerRevokeSocialAccountParams =\n IndexerServerSocialConnectParams;\n\nexport interface IndexerServerFastWithdrawalSignatureParams {\n /**\n * The submission index of the WithdrawCollateral tx to be used for fast withdraw.\n */\n idx: number | string;\n}\n\nexport interface IndexerServerNlpSnapshotsParams {\n interval: IndexerServerSnapshotsInterval;\n}\n\nexport interface IndexerServerDDAQueryParams {\n subaccount: string;\n}\n\nexport interface IndexerServerPrivateAlphaChoiceParams {\n address: string;\n}\n\nexport interface IndexerServerPointsParams {\n address: string;\n}\n\nexport interface IndexerServerXPointsParams {\n address: string;\n}\n\nexport interface IndexerServerCashIncentivesParams {\n wallet_address: string;\n}\n\n// Request\nexport interface IndexerServerQueryRequestByType {\n account_snapshots: IndexerServerMultiSubaccountSnapshotsParams;\n backlog: Record<string, never>;\n candlesticks: IndexerServerCandlesticksParams;\n direct_deposit_address: IndexerServerDDAQueryParams;\n edge_candlesticks: IndexerEdgeServerCandlesticksParams;\n edge_market_snapshots: IndexerEdgeServerMarketSnapshotsParams;\n events: IndexerServerEventsParams;\n fast_withdrawal_signature: IndexerServerFastWithdrawalSignatureParams;\n funding_rate: IndexerServerFundingRateParams;\n funding_rate_history: IndexerServerFundingRateHistoryParams;\n funding_rates: IndexerServerFundingRatesParams;\n interest_and_funding: IndexerServerInterestFundingParams;\n leaderboard: IndexerServerLeaderboardParams;\n leaderboard_contests: IndexerServerLeaderboardContestsParams;\n leaderboard_rank: IndexerServerLeaderboardRankParams;\n leaderboard_register: IndexerServerLeaderboardRegisterParams;\n leaderboard_registrations: IndexerServerLeaderboardRegistrationsParams;\n linked_signer_rate_limit: IndexerServerLinkedSignerParams;\n maker_statistics: IndexerServerMakerStatisticsParams;\n market_snapshots: IndexerServerMarketSnapshotsParams;\n matches: IndexerServerMatchEventsParams;\n oracle_price: IndexerServerOraclePricesParams;\n orders: IndexerServerOrdersParams;\n perp_prices: IndexerServerPerpPricesParams;\n portfolio: IndexerServerPortfolioParams;\n price: IndexerServerPriceParams;\n product_snapshots: IndexerServerMultiProductsParams;\n products: IndexerServerProductsParams;\n referral_code: IndexerServerReferralCodeParams;\n subaccounts: IndexerServerListSubaccountsParams;\n quote_price: Record<string, never>;\n nlp_snapshots: IndexerServerNlpSnapshotsParams;\n private_alpha_choice: IndexerServerPrivateAlphaChoiceParams;\n nado_points: IndexerServerPointsParams;\n nado_xpoints: IndexerServerXPointsParams;\n cash_incentives: IndexerServerCashIncentivesParams;\n social_connect: IndexerServerSocialConnectParams;\n list_social_accounts: IndexerServerListSocialAccountsParams;\n revoke_social_account: IndexerServerRevokeSocialAccountParams;\n}\n\nexport type IndexerServerQueryRequestType =\n keyof IndexerServerQueryRequestByType;\n\n/**\n * Responses\n */\n\nexport interface IndexerServerListSubaccountsResponse {\n subaccounts: {\n id: string;\n // Hex of subaccount bytes\n subaccount: string;\n // UNIX timestamp in seconds\n created_at: string;\n isolated: boolean;\n }[];\n}\n\nexport interface IndexerServerMultiSubaccountSnapshotsResponse {\n // Map of subaccount hex -> timestamp requested -> latest events corresponding to each product\n snapshots: Record<string, Record<string, IndexerServerEvent[]>>;\n}\n\nexport interface IndexerServerReferralCodeResponse {\n referral_code: string | null;\n}\n\nexport interface IndexerServerFundingRate {\n product_id: number;\n funding_rate_x18: string;\n update_time: number;\n}\n\nexport type IndexerServerFundingRateResponse = IndexerServerFundingRate;\n\n// Map of productId -> IndexerServerFundingRate\nexport type IndexerServerFundingRatesResponse = Record<\n string,\n IndexerServerFundingRate\n>;\n\nexport interface IndexerServerFundingRateHistoryEntry {\n product_id: number;\n // Epoch time in seconds of the settlement tick this funding rate was recorded at.\n timestamp: string;\n // Realized hourly funding rate at this tick, multiplied by 10^18 (% = rate * 100).\n funding_rate_x18: string;\n}\n\nexport interface IndexerServerFundingRateHistoryResponse {\n // Always ascending by timestamp.\n funding_rates: IndexerServerFundingRateHistoryEntry[];\n}\n\nexport type IndexerServerPortfolioPeriod =\n | 'day'\n | 'week'\n | 'month'\n | 'allTime'\n | 'perpDay'\n | 'perpWeek'\n | 'perpMonth'\n | 'perpAllTime';\n\n/**\n * [timestamp (unix seconds), value] — both x18-free decimal strings. Values are\n * USDT0-denominated, except `marketCountHistory` points, which are integer counts.\n */\nexport type IndexerServerPortfolioPoint = [string, string];\n\n// All five series are aligned: same timestamps, same length.\nexport interface IndexerServerPortfolioHistory {\n accountValueHistory: IndexerServerPortfolioPoint[];\n pnlHistory: IndexerServerPortfolioPoint[];\n volumeHistory: IndexerServerPortfolioPoint[];\n tradeSizeHistory: IndexerServerPortfolioPoint[];\n marketCountHistory: IndexerServerPortfolioPoint[];\n}\n\nexport type IndexerServerPortfolioResponse = [\n IndexerServerPortfolioPeriod,\n IndexerServerPortfolioHistory,\n][];\n\nexport interface IndexerServerPerpPrices {\n product_id: number;\n index_price_x18: string;\n mark_price_x18: string;\n update_time: number;\n}\n\nexport type IndexerServerPriceResponse = IndexerServerPerpPrices;\n\n// Map of productId -> IndexerServerPerpPrices\nexport type IndexerServerPerpPricesResponse = Record<\n string,\n IndexerServerPerpPrices\n>;\n\nexport interface IndexerServerOraclePricesResponse {\n prices: IndexerServerOraclePrice[];\n}\n\nexport interface IndexerServerCandlesticksResponse {\n candlesticks: IndexerServerCandlestick[];\n}\n\nexport type IndexerEdgeServerCandlesticksResponse =\n IndexerServerCandlesticksResponse;\n\nexport interface IndexerServerProductsResponse {\n products: IndexerServerProductSnapshot[];\n txs: IndexerServerTx[];\n}\n\n// Map of timestamp -> (productID -> IndexerServerProductSnapshot)\nexport type IndexerServerMultiProductsResponse = Record<\n string,\n Record<string, IndexerServerProductSnapshot>\n>;\n\nexport interface IndexerServerEventsResponse {\n events: IndexerServerEvent[];\n txs: IndexerServerTx[];\n}\n\nexport interface IndexerServerOrdersResponse {\n orders: IndexerServerOrder[];\n}\n\nexport interface IndexerServerMatchEventsResponse {\n matches: IndexerServerMatchEvent[];\n txs: IndexerServerTx[];\n}\n\nexport interface IndexerServerQuotePriceResponse {\n price_x18: string;\n}\n\nexport interface IndexerServerLinkedSignerResponse {\n total_tx_limit: string;\n remaining_tx: string;\n wait_time: string;\n signer: string;\n}\n\nexport interface IndexerServerMarketSnapshotsResponse {\n snapshots: IndexerServerMarketSnapshot[];\n}\n\nexport interface IndexerEdgeServerMarketSnapshotsResponse {\n snapshots: Record<number, IndexerServerMarketSnapshot[]>;\n}\n\nexport interface IndexerServerInterestFundingResponse {\n interest_payments: IndexerServerProductPayment[];\n funding_payments: IndexerServerProductPayment[];\n next_idx: string;\n}\n\nexport interface IndexerServerMakerStatisticsResponse {\n reward_coefficient: string;\n makers: IndexerServerMaker[];\n}\n\nexport interface IndexerServerLeaderboardResponse {\n positions: IndexerServerLeaderboardPosition[];\n}\n\nexport interface IndexerServerLeaderboardRegistrationsResponse {\n registrations: IndexerServerLeaderboardRegistration[];\n}\n\nexport type IndexerServerLeaderboardRegisterResponse =\n IndexerServerLeaderboardRegistrationsResponse;\n\nexport interface IndexerServerLeaderboardRankResponse {\n // If the subaccount is not eligible for a given contest, it would not be included in the response.\n // contestId -> IndexerServerLeaderboardPosition\n positions: Record<string, IndexerServerLeaderboardPosition>;\n}\n\nexport interface IndexerServerLeaderboardContestsResponse {\n contests: IndexerServerLeaderboardContest[];\n}\n\nexport interface IndexerServerFastWithdrawalSignatureResponse {\n idx: string;\n tx: NadoWithdrawCollateralTx['withdraw_collateral'];\n // Present only for `WithdrawCollateralV2` withdrawals.\n tx_v2?: NadoWithdrawCollateralV2Tx['withdraw_collateral_v2'];\n tx_bytes: string;\n signatures: string[];\n}\n\nexport interface IndexerServerNlpSnapshotsResponse {\n snapshots: IndexerServerNlpSnapshot[];\n}\n\nexport interface IndexerServerDDAResponse {\n v1_address: string;\n}\n\nexport interface IndexerServerBacklogResponse {\n // Total number of transactions stored in the indexer DB\n total_txs: string;\n // Current nSubmissions value from the chain (i.e., number of processed txs)\n total_submissions: string;\n // Number of unprocessed transactions (total_txs - total_submissions)\n backlog_size: string;\n // UNIX timestamp (in seconds) of when the data was last updated\n updated_at: string;\n // Estimated time in seconds (float) to clear the entire backlog (null if unavailable)\n backlog_eta_in_seconds: string | null;\n // Current submission rate in transactions per second (float) (null if unavailable)\n txs_per_second: string | null;\n}\n\nexport interface IndexerServerPrivateAlphaChoiceResponse {\n points: string;\n fee_refund: string;\n nft_eligibility: boolean;\n}\n\nexport interface IndexerServerPointsEpoch {\n epoch: number;\n description: string;\n start_time: string;\n end_time: string;\n total_points: string;\n points: string;\n rank: number;\n tier: number;\n}\n\nexport interface IndexerServerAllTimePoints {\n points: string;\n rank: number;\n tier: number;\n}\n\nexport interface IndexerServerPointsResponse {\n points_per_epoch: IndexerServerPointsEpoch[];\n all_time_points: IndexerServerAllTimePoints;\n}\n\nexport interface IndexerServerXPointsQuest {\n quest_type: string;\n points: string;\n}\n\nexport interface IndexerServerXPointsEpoch {\n epoch: number;\n description: string;\n start_time: string;\n end_time: string;\n total_points: string;\n rank: number;\n quests: IndexerServerXPointsQuest[];\n}\n\nexport interface IndexerServerXPointsAllTime {\n total_points: string;\n rank: number;\n quests: IndexerServerXPointsQuest[];\n}\n\nexport interface IndexerServerXPointsResponse {\n points_per_epoch: IndexerServerXPointsEpoch[];\n all_time_points: IndexerServerXPointsAllTime;\n}\n\nexport interface IndexerServerCashIncentivesEventMetadata {\n event_id: number;\n description: string;\n // UNIX timestamp in seconds\n epoch_start: string;\n // UNIX timestamp in seconds\n epoch_end: string;\n // x18 string\n max_volume: string;\n // x18 string\n max_reward: string;\n // x18 string\n min_volume: string;\n // x18 string\n min_reward: string;\n}\n\nexport interface IndexerServerCashIncentivesEventPlatform {\n // x18 string\n platform_volume: string;\n // x18 string\n unlocked_reward: string;\n}\n\nexport interface IndexerServerCashIncentivesEventWallet {\n // x18 string\n reward: string;\n}\n\nexport interface IndexerServerCashIncentivesEvent {\n metadata: IndexerServerCashIncentivesEventMetadata;\n platform: IndexerServerCashIncentivesEventPlatform;\n wallet: IndexerServerCashIncentivesEventWallet;\n}\n\nexport interface IndexerServerCashIncentivesWalletSummary {\n // x18 string\n total_reward: string;\n // x18 string\n claimable_reward: string;\n}\n\nexport interface IndexerServerCashIncentivesResponse {\n events: IndexerServerCashIncentivesEvent[];\n wallet_summary: IndexerServerCashIncentivesWalletSummary;\n}\n\nexport interface IndexerServerSocialConnectResponse {\n url: string;\n}\n\nexport interface IndexerServerSocialAccountsResponse {\n accounts: IndexerServerSocialAccount[];\n}\n\n// Response\nexport interface IndexerServerQueryResponseByType {\n account_snapshots: IndexerServerMultiSubaccountSnapshotsResponse;\n backlog: IndexerServerBacklogResponse;\n candlesticks: IndexerServerCandlesticksResponse;\n direct_deposit_address: IndexerServerDDAResponse;\n edge_candlesticks: IndexerEdgeServerCandlesticksResponse;\n edge_market_snapshots: IndexerEdgeServerMarketSnapshotsResponse;\n events: IndexerServerEventsResponse;\n fast_withdrawal_signature: IndexerServerFastWithdrawalSignatureResponse;\n funding_rate: IndexerServerFundingRateResponse;\n funding_rate_history: IndexerServerFundingRateHistoryResponse;\n funding_rates: IndexerServerFundingRatesResponse;\n interest_and_funding: IndexerServerInterestFundingResponse;\n leaderboard: IndexerServerLeaderboardResponse;\n leaderboard_contests: IndexerServerLeaderboardContestsResponse;\n leaderboard_rank: IndexerServerLeaderboardRankResponse;\n leaderboard_register: IndexerServerLeaderboardRegisterResponse;\n leaderboard_registrations: IndexerServerLeaderboardRegistrationsResponse;\n linked_signer_rate_limit: IndexerServerLinkedSignerResponse;\n maker_statistics: IndexerServerMakerStatisticsResponse;\n market_snapshots: IndexerServerMarketSnapshotsResponse;\n matches: IndexerServerMatchEventsResponse;\n oracle_price: IndexerServerOraclePricesResponse;\n orders: IndexerServerOrdersResponse;\n perp_prices: IndexerServerPerpPricesResponse;\n portfolio: IndexerServerPortfolioResponse;\n price: IndexerServerPriceResponse;\n product_snapshots: IndexerServerMultiProductsResponse;\n products: IndexerServerProductsResponse;\n referral_code: IndexerServerReferralCodeResponse;\n subaccounts: IndexerServerListSubaccountsResponse;\n quote_price: IndexerServerQuotePriceResponse;\n nlp_snapshots: IndexerServerNlpSnapshotsResponse;\n private_alpha_choice: IndexerServerPrivateAlphaChoiceResponse;\n nado_points: IndexerServerPointsResponse;\n nado_xpoints: IndexerServerXPointsResponse;\n cash_incentives: IndexerServerCashIncentivesResponse;\n social_connect: IndexerServerSocialConnectResponse;\n list_social_accounts: IndexerServerSocialAccountsResponse;\n revoke_social_account: IndexerServerSocialAccountsResponse;\n}\n\n/**\n * V2 API Types\n */\n\n/**\n * Individual ticker data from v2 indexer endpoint (server format)\n */\nexport interface IndexerServerV2TickerResponse {\n product_id: number;\n ticker_id: string;\n base_currency: string;\n quote_currency: string;\n last_price: number;\n base_volume: number;\n quote_volume: number;\n price_change_percent_24h: number;\n}\n\n/**\n * Response from v2 tickers endpoint (server format)\n * Maps ticker IDs to their respective ticker data\n */\nexport type IndexerServerV2TickersResponse = Record<\n string,\n IndexerServerV2TickerResponse\n>;\n\n/**\n * Market hours data from v2 symbols endpoint (server format)\n */\nexport interface IndexerServerV2MarketHours {\n is_open: boolean;\n reason: string | null;\n next_close: string | null;\n next_open: string | null;\n}\n\n/**\n * Individual symbol data from v2 indexer endpoint (server format)\n */\nexport interface IndexerServerV2Symbol {\n type: string;\n product_id: number;\n symbol: string;\n price_increment_x18: string;\n size_increment: string;\n min_size: string;\n maker_fee_rate_x18: string;\n taker_fee_rate_x18: string;\n long_weight_initial_x18: string;\n long_weight_maintenance_x18: string;\n /**\n * Defined only for perp markets with a max OI cap\n */\n max_open_interest_x18: string | null;\n /**\n * Defined only for xStocks spot markets\n */\n exchange_rate_x18: string | null;\n trading_status: string;\n isolated_only: boolean;\n market_hours: IndexerServerV2MarketHours | null;\n /**\n * Boost tier for products with rewards boosts. Null for non-boosted products.\n * 0 = none, 1 = taker 4x / maker 4x, 2 = taker 3x / maker 4x\n */\n boost_type: number | null;\n /**\n * Taker rewards multiplier. Null for non-boosted products.\n */\n taker_multiplier: number | null;\n /**\n * Maker rewards multiplier. Null for non-boosted products.\n */\n maker_multiplier: number | null;\n}\n\n/**\n * Response from v2 symbols endpoint (server format)\n * Maps symbols to their respective data\n */\nexport type IndexerServerV2SymbolsResponse = Record<\n string,\n IndexerServerV2Symbol\n>;\n\n/**\n * Wire `request_type` the indexer echoes on failure envelopes. The indexer's failure envelope is\n * keyed by route (`<verb>_<query_type>`), mirroring the engine and trigger services. Kept as a\n * `${string}_${string}` template to avoid enumerating the full set of v1 query types declared\n * above.\n */\nexport type IndexerServerRequestType = `${string}_${string}`;\n\n/**\n * Failure envelope returned by the indexer service API. Mirrors the failure shape used by the\n * engine and trigger services: a `status: 'failure'` discriminant plus an `error`/`error_code`\n * pair and the originating `request_type`. A response missing this envelope shape (e.g. a\n * malformed body, or a non-JSON response) is a transport-level error, not a domain error.\n *\n * The v2 REST endpoints do not return this envelope — they use plain HTTP error responses\n * without an `error_code` field.\n */\nexport interface IndexerServerFailureResponse {\n status: 'failure';\n error: string;\n error_code: number;\n request_type: IndexerServerRequestType;\n}\n\n/**\n * Narrows an unknown response body to the indexer service API failure envelope.\n */\nexport function isIndexerServerFailureResponse(\n data: unknown,\n): data is IndexerServerFailureResponse {\n return (\n typeof data === 'object' &&\n data !== null &&\n (data as Record<string, unknown>).status === 'failure'\n );\n}\n"],"mappings":";;;;;AA8wBA,SAAgB,+BACd,MACsC;CACtC,OACE,OAAO,SAAS,YAChB,SAAS,QACR,KAAiC,WAAW;AAEjD"}
@@ -1,2 +1,2 @@
1
- import { $ as IndexerServerMatchEventsResponse, A as IndexerServerFundingRatesResponse, At as IndexerServerQuotePriceResponse, B as IndexerServerLeaderboardRegistrationsParams, Bt as IndexerServerV2Symbol, C as IndexerServerFundingRate, Ct as IndexerServerPrivateAlphaChoiceParams, D as IndexerServerFundingRateParams, Dt as IndexerServerQueryRequestByType, E as IndexerServerFundingRateHistoryResponse, Et as IndexerServerProductsResponse, F as IndexerServerLeaderboardParams, Ft as IndexerServerSocialAccountsResponse, G as IndexerServerListSocialAccountsParams, Gt as IndexerServerXPointsEpoch, H as IndexerServerLeaderboardResponse, Ht as IndexerServerV2TickerResponse, I as IndexerServerLeaderboardRankParams, It as IndexerServerSocialConnectParams, J as IndexerServerMakerStatisticsParams, Jt as IndexerServerXPointsResponse, K as IndexerServerListSubaccountsParams, Kt as IndexerServerXPointsParams, L as IndexerServerLeaderboardRankResponse, Lt as IndexerServerSocialConnectResponse, M as IndexerServerInterestFundingResponse, Mt as IndexerServerReferralCodeResponse, N as IndexerServerLeaderboardContestsParams, Nt as IndexerServerRequestType, O as IndexerServerFundingRateResponse, Ot as IndexerServerQueryRequestType, P as IndexerServerLeaderboardContestsResponse, Pt as IndexerServerRevokeSocialAccountParams, Q as IndexerServerMatchEventsParams, R as IndexerServerLeaderboardRegisterParams, Rt as IndexerServerTriggerTypeFilter, S as IndexerServerFastWithdrawalSignatureResponse, St as IndexerServerPriceResponse, T as IndexerServerFundingRateHistoryParams, Tt as IndexerServerProductsParams, U as IndexerServerLinkedSignerParams, Ut as IndexerServerV2TickersResponse, V as IndexerServerLeaderboardRegistrationsResponse, Vt as IndexerServerV2SymbolsResponse, W as IndexerServerLinkedSignerResponse, Wt as IndexerServerXPointsAllTime, X as IndexerServerMarketSnapshotsParams, Y as IndexerServerMakerStatisticsResponse, Yt as isIndexerServerFailureResponse, Z as IndexerServerMarketSnapshotsResponse, _ as IndexerServerDDAResponse, _t as IndexerServerPortfolioParams, a as IndexerServerAllTimePoints, at as IndexerServerNlpSnapshotsResponse, b as IndexerServerFailureResponse, bt as IndexerServerPortfolioResponse, c as IndexerServerCandlesticksResponse, ct as IndexerServerOrdersParams, d as IndexerServerCashIncentivesEventPlatform, dt as IndexerServerPerpPricesParams, et as IndexerServerMultiProductsParams, f as IndexerServerCashIncentivesEventWallet, ft as IndexerServerPerpPricesResponse, g as IndexerServerDDAQueryParams, gt as IndexerServerPortfolioHistory, h as IndexerServerCashIncentivesWalletSummary, ht as IndexerServerPointsResponse, i as IndexerEdgeServerMarketSnapshotsResponse, it as IndexerServerNlpSnapshotsParams, j as IndexerServerInterestFundingParams, jt as IndexerServerReferralCodeParams, k as IndexerServerFundingRatesParams, kt as IndexerServerQueryResponseByType, l as IndexerServerCashIncentivesEvent, lt as IndexerServerOrdersResponse, m as IndexerServerCashIncentivesResponse, mt as IndexerServerPointsParams, n as IndexerEdgeServerCandlesticksResponse, nt as IndexerServerMultiSubaccountSnapshotsParams, o as IndexerServerBacklogResponse, ot as IndexerServerOraclePricesParams, p as IndexerServerCashIncentivesParams, pt as IndexerServerPointsEpoch, q as IndexerServerListSubaccountsResponse, qt as IndexerServerXPointsQuest, r as IndexerEdgeServerMarketSnapshotsParams, rt as IndexerServerMultiSubaccountSnapshotsResponse, s as IndexerServerCandlesticksParams, st as IndexerServerOraclePricesResponse, t as IndexerEdgeServerCandlesticksParams, tt as IndexerServerMultiProductsResponse, u as IndexerServerCashIncentivesEventMetadata, ut as IndexerServerPerpPrices, v as IndexerServerEventsParams, vt as IndexerServerPortfolioPeriod, w as IndexerServerFundingRateHistoryEntry, wt as IndexerServerPrivateAlphaChoiceResponse, x as IndexerServerFastWithdrawalSignatureParams, xt as IndexerServerPriceParams, y as IndexerServerEventsResponse, yt as IndexerServerPortfolioPoint, z as IndexerServerLeaderboardRegisterResponse, zt as IndexerServerV2MarketHours } from "../serverTypes-BNCw3_T1.cjs";
1
+ import { $ as IndexerServerMatchEventsResponse, A as IndexerServerFundingRatesResponse, At as IndexerServerQuotePriceResponse, B as IndexerServerLeaderboardRegistrationsParams, Bt as IndexerServerV2Symbol, C as IndexerServerFundingRate, Ct as IndexerServerPrivateAlphaChoiceParams, D as IndexerServerFundingRateParams, Dt as IndexerServerQueryRequestByType, E as IndexerServerFundingRateHistoryResponse, Et as IndexerServerProductsResponse, F as IndexerServerLeaderboardParams, Ft as IndexerServerSocialAccountsResponse, G as IndexerServerListSocialAccountsParams, Gt as IndexerServerXPointsEpoch, H as IndexerServerLeaderboardResponse, Ht as IndexerServerV2TickerResponse, I as IndexerServerLeaderboardRankParams, It as IndexerServerSocialConnectParams, J as IndexerServerMakerStatisticsParams, Jt as IndexerServerXPointsResponse, K as IndexerServerListSubaccountsParams, Kt as IndexerServerXPointsParams, L as IndexerServerLeaderboardRankResponse, Lt as IndexerServerSocialConnectResponse, M as IndexerServerInterestFundingResponse, Mt as IndexerServerReferralCodeResponse, N as IndexerServerLeaderboardContestsParams, Nt as IndexerServerRequestType, O as IndexerServerFundingRateResponse, Ot as IndexerServerQueryRequestType, P as IndexerServerLeaderboardContestsResponse, Pt as IndexerServerRevokeSocialAccountParams, Q as IndexerServerMatchEventsParams, R as IndexerServerLeaderboardRegisterParams, Rt as IndexerServerTriggerTypeFilter, S as IndexerServerFastWithdrawalSignatureResponse, St as IndexerServerPriceResponse, T as IndexerServerFundingRateHistoryParams, Tt as IndexerServerProductsParams, U as IndexerServerLinkedSignerParams, Ut as IndexerServerV2TickersResponse, V as IndexerServerLeaderboardRegistrationsResponse, Vt as IndexerServerV2SymbolsResponse, W as IndexerServerLinkedSignerResponse, Wt as IndexerServerXPointsAllTime, X as IndexerServerMarketSnapshotsParams, Y as IndexerServerMakerStatisticsResponse, Yt as isIndexerServerFailureResponse, Z as IndexerServerMarketSnapshotsResponse, _ as IndexerServerDDAResponse, _t as IndexerServerPortfolioParams, a as IndexerServerAllTimePoints, at as IndexerServerNlpSnapshotsResponse, b as IndexerServerFailureResponse, bt as IndexerServerPortfolioResponse, c as IndexerServerCandlesticksResponse, ct as IndexerServerOrdersParams, d as IndexerServerCashIncentivesEventPlatform, dt as IndexerServerPerpPricesParams, et as IndexerServerMultiProductsParams, f as IndexerServerCashIncentivesEventWallet, ft as IndexerServerPerpPricesResponse, g as IndexerServerDDAQueryParams, gt as IndexerServerPortfolioHistory, h as IndexerServerCashIncentivesWalletSummary, ht as IndexerServerPointsResponse, i as IndexerEdgeServerMarketSnapshotsResponse, it as IndexerServerNlpSnapshotsParams, j as IndexerServerInterestFundingParams, jt as IndexerServerReferralCodeParams, k as IndexerServerFundingRatesParams, kt as IndexerServerQueryResponseByType, l as IndexerServerCashIncentivesEvent, lt as IndexerServerOrdersResponse, m as IndexerServerCashIncentivesResponse, mt as IndexerServerPointsParams, n as IndexerEdgeServerCandlesticksResponse, nt as IndexerServerMultiSubaccountSnapshotsParams, o as IndexerServerBacklogResponse, ot as IndexerServerOraclePricesParams, p as IndexerServerCashIncentivesParams, pt as IndexerServerPointsEpoch, q as IndexerServerListSubaccountsResponse, qt as IndexerServerXPointsQuest, r as IndexerEdgeServerMarketSnapshotsParams, rt as IndexerServerMultiSubaccountSnapshotsResponse, s as IndexerServerCandlesticksParams, st as IndexerServerOraclePricesResponse, t as IndexerEdgeServerCandlesticksParams, tt as IndexerServerMultiProductsResponse, u as IndexerServerCashIncentivesEventMetadata, ut as IndexerServerPerpPrices, v as IndexerServerEventsParams, vt as IndexerServerPortfolioPeriod, w as IndexerServerFundingRateHistoryEntry, wt as IndexerServerPrivateAlphaChoiceResponse, x as IndexerServerFastWithdrawalSignatureParams, xt as IndexerServerPriceParams, y as IndexerServerEventsResponse, yt as IndexerServerPortfolioPoint, z as IndexerServerLeaderboardRegisterResponse, zt as IndexerServerV2MarketHours } from "../serverTypes-DrlzA5fi.cjs";
2
2
  export { IndexerEdgeServerCandlesticksParams, IndexerEdgeServerCandlesticksResponse, IndexerEdgeServerMarketSnapshotsParams, IndexerEdgeServerMarketSnapshotsResponse, IndexerServerAllTimePoints, IndexerServerBacklogResponse, IndexerServerCandlesticksParams, IndexerServerCandlesticksResponse, IndexerServerCashIncentivesEvent, IndexerServerCashIncentivesEventMetadata, IndexerServerCashIncentivesEventPlatform, IndexerServerCashIncentivesEventWallet, IndexerServerCashIncentivesParams, IndexerServerCashIncentivesResponse, IndexerServerCashIncentivesWalletSummary, IndexerServerDDAQueryParams, IndexerServerDDAResponse, IndexerServerEventsParams, IndexerServerEventsResponse, IndexerServerFailureResponse, IndexerServerFastWithdrawalSignatureParams, IndexerServerFastWithdrawalSignatureResponse, IndexerServerFundingRate, IndexerServerFundingRateHistoryEntry, IndexerServerFundingRateHistoryParams, IndexerServerFundingRateHistoryResponse, IndexerServerFundingRateParams, IndexerServerFundingRateResponse, IndexerServerFundingRatesParams, IndexerServerFundingRatesResponse, IndexerServerInterestFundingParams, IndexerServerInterestFundingResponse, IndexerServerLeaderboardContestsParams, IndexerServerLeaderboardContestsResponse, IndexerServerLeaderboardParams, IndexerServerLeaderboardRankParams, IndexerServerLeaderboardRankResponse, IndexerServerLeaderboardRegisterParams, IndexerServerLeaderboardRegisterResponse, IndexerServerLeaderboardRegistrationsParams, IndexerServerLeaderboardRegistrationsResponse, IndexerServerLeaderboardResponse, IndexerServerLinkedSignerParams, IndexerServerLinkedSignerResponse, IndexerServerListSocialAccountsParams, IndexerServerListSubaccountsParams, IndexerServerListSubaccountsResponse, IndexerServerMakerStatisticsParams, IndexerServerMakerStatisticsResponse, IndexerServerMarketSnapshotsParams, IndexerServerMarketSnapshotsResponse, IndexerServerMatchEventsParams, IndexerServerMatchEventsResponse, IndexerServerMultiProductsParams, IndexerServerMultiProductsResponse, IndexerServerMultiSubaccountSnapshotsParams, IndexerServerMultiSubaccountSnapshotsResponse, IndexerServerNlpSnapshotsParams, IndexerServerNlpSnapshotsResponse, IndexerServerOraclePricesParams, IndexerServerOraclePricesResponse, IndexerServerOrdersParams, IndexerServerOrdersResponse, IndexerServerPerpPrices, IndexerServerPerpPricesParams, IndexerServerPerpPricesResponse, IndexerServerPointsEpoch, IndexerServerPointsParams, IndexerServerPointsResponse, IndexerServerPortfolioHistory, IndexerServerPortfolioParams, IndexerServerPortfolioPeriod, IndexerServerPortfolioPoint, IndexerServerPortfolioResponse, IndexerServerPriceParams, IndexerServerPriceResponse, IndexerServerPrivateAlphaChoiceParams, IndexerServerPrivateAlphaChoiceResponse, IndexerServerProductsParams, IndexerServerProductsResponse, IndexerServerQueryRequestByType, IndexerServerQueryRequestType, IndexerServerQueryResponseByType, IndexerServerQuotePriceResponse, IndexerServerReferralCodeParams, IndexerServerReferralCodeResponse, IndexerServerRequestType, IndexerServerRevokeSocialAccountParams, IndexerServerSocialAccountsResponse, IndexerServerSocialConnectParams, IndexerServerSocialConnectResponse, IndexerServerTriggerTypeFilter, IndexerServerV2MarketHours, IndexerServerV2Symbol, IndexerServerV2SymbolsResponse, IndexerServerV2TickerResponse, IndexerServerV2TickersResponse, IndexerServerXPointsAllTime, IndexerServerXPointsEpoch, IndexerServerXPointsParams, IndexerServerXPointsQuest, IndexerServerXPointsResponse, isIndexerServerFailureResponse };
@@ -1,2 +1,2 @@
1
- import { $ as IndexerServerMatchEventsResponse, A as IndexerServerFundingRatesResponse, At as IndexerServerQuotePriceResponse, B as IndexerServerLeaderboardRegistrationsParams, Bt as IndexerServerV2Symbol, C as IndexerServerFundingRate, Ct as IndexerServerPrivateAlphaChoiceParams, D as IndexerServerFundingRateParams, Dt as IndexerServerQueryRequestByType, E as IndexerServerFundingRateHistoryResponse, Et as IndexerServerProductsResponse, F as IndexerServerLeaderboardParams, Ft as IndexerServerSocialAccountsResponse, G as IndexerServerListSocialAccountsParams, Gt as IndexerServerXPointsEpoch, H as IndexerServerLeaderboardResponse, Ht as IndexerServerV2TickerResponse, I as IndexerServerLeaderboardRankParams, It as IndexerServerSocialConnectParams, J as IndexerServerMakerStatisticsParams, Jt as IndexerServerXPointsResponse, K as IndexerServerListSubaccountsParams, Kt as IndexerServerXPointsParams, L as IndexerServerLeaderboardRankResponse, Lt as IndexerServerSocialConnectResponse, M as IndexerServerInterestFundingResponse, Mt as IndexerServerReferralCodeResponse, N as IndexerServerLeaderboardContestsParams, Nt as IndexerServerRequestType, O as IndexerServerFundingRateResponse, Ot as IndexerServerQueryRequestType, P as IndexerServerLeaderboardContestsResponse, Pt as IndexerServerRevokeSocialAccountParams, Q as IndexerServerMatchEventsParams, R as IndexerServerLeaderboardRegisterParams, Rt as IndexerServerTriggerTypeFilter, S as IndexerServerFastWithdrawalSignatureResponse, St as IndexerServerPriceResponse, T as IndexerServerFundingRateHistoryParams, Tt as IndexerServerProductsParams, U as IndexerServerLinkedSignerParams, Ut as IndexerServerV2TickersResponse, V as IndexerServerLeaderboardRegistrationsResponse, Vt as IndexerServerV2SymbolsResponse, W as IndexerServerLinkedSignerResponse, Wt as IndexerServerXPointsAllTime, X as IndexerServerMarketSnapshotsParams, Y as IndexerServerMakerStatisticsResponse, Yt as isIndexerServerFailureResponse, Z as IndexerServerMarketSnapshotsResponse, _ as IndexerServerDDAResponse, _t as IndexerServerPortfolioParams, a as IndexerServerAllTimePoints, at as IndexerServerNlpSnapshotsResponse, b as IndexerServerFailureResponse, bt as IndexerServerPortfolioResponse, c as IndexerServerCandlesticksResponse, ct as IndexerServerOrdersParams, d as IndexerServerCashIncentivesEventPlatform, dt as IndexerServerPerpPricesParams, et as IndexerServerMultiProductsParams, f as IndexerServerCashIncentivesEventWallet, ft as IndexerServerPerpPricesResponse, g as IndexerServerDDAQueryParams, gt as IndexerServerPortfolioHistory, h as IndexerServerCashIncentivesWalletSummary, ht as IndexerServerPointsResponse, i as IndexerEdgeServerMarketSnapshotsResponse, it as IndexerServerNlpSnapshotsParams, j as IndexerServerInterestFundingParams, jt as IndexerServerReferralCodeParams, k as IndexerServerFundingRatesParams, kt as IndexerServerQueryResponseByType, l as IndexerServerCashIncentivesEvent, lt as IndexerServerOrdersResponse, m as IndexerServerCashIncentivesResponse, mt as IndexerServerPointsParams, n as IndexerEdgeServerCandlesticksResponse, nt as IndexerServerMultiSubaccountSnapshotsParams, o as IndexerServerBacklogResponse, ot as IndexerServerOraclePricesParams, p as IndexerServerCashIncentivesParams, pt as IndexerServerPointsEpoch, q as IndexerServerListSubaccountsResponse, qt as IndexerServerXPointsQuest, r as IndexerEdgeServerMarketSnapshotsParams, rt as IndexerServerMultiSubaccountSnapshotsResponse, s as IndexerServerCandlesticksParams, st as IndexerServerOraclePricesResponse, t as IndexerEdgeServerCandlesticksParams, tt as IndexerServerMultiProductsResponse, u as IndexerServerCashIncentivesEventMetadata, ut as IndexerServerPerpPrices, v as IndexerServerEventsParams, vt as IndexerServerPortfolioPeriod, w as IndexerServerFundingRateHistoryEntry, wt as IndexerServerPrivateAlphaChoiceResponse, x as IndexerServerFastWithdrawalSignatureParams, xt as IndexerServerPriceParams, y as IndexerServerEventsResponse, yt as IndexerServerPortfolioPoint, z as IndexerServerLeaderboardRegisterResponse, zt as IndexerServerV2MarketHours } from "../serverTypes-DkRgWlZV.js";
1
+ import { $ as IndexerServerMatchEventsResponse, A as IndexerServerFundingRatesResponse, At as IndexerServerQuotePriceResponse, B as IndexerServerLeaderboardRegistrationsParams, Bt as IndexerServerV2Symbol, C as IndexerServerFundingRate, Ct as IndexerServerPrivateAlphaChoiceParams, D as IndexerServerFundingRateParams, Dt as IndexerServerQueryRequestByType, E as IndexerServerFundingRateHistoryResponse, Et as IndexerServerProductsResponse, F as IndexerServerLeaderboardParams, Ft as IndexerServerSocialAccountsResponse, G as IndexerServerListSocialAccountsParams, Gt as IndexerServerXPointsEpoch, H as IndexerServerLeaderboardResponse, Ht as IndexerServerV2TickerResponse, I as IndexerServerLeaderboardRankParams, It as IndexerServerSocialConnectParams, J as IndexerServerMakerStatisticsParams, Jt as IndexerServerXPointsResponse, K as IndexerServerListSubaccountsParams, Kt as IndexerServerXPointsParams, L as IndexerServerLeaderboardRankResponse, Lt as IndexerServerSocialConnectResponse, M as IndexerServerInterestFundingResponse, Mt as IndexerServerReferralCodeResponse, N as IndexerServerLeaderboardContestsParams, Nt as IndexerServerRequestType, O as IndexerServerFundingRateResponse, Ot as IndexerServerQueryRequestType, P as IndexerServerLeaderboardContestsResponse, Pt as IndexerServerRevokeSocialAccountParams, Q as IndexerServerMatchEventsParams, R as IndexerServerLeaderboardRegisterParams, Rt as IndexerServerTriggerTypeFilter, S as IndexerServerFastWithdrawalSignatureResponse, St as IndexerServerPriceResponse, T as IndexerServerFundingRateHistoryParams, Tt as IndexerServerProductsParams, U as IndexerServerLinkedSignerParams, Ut as IndexerServerV2TickersResponse, V as IndexerServerLeaderboardRegistrationsResponse, Vt as IndexerServerV2SymbolsResponse, W as IndexerServerLinkedSignerResponse, Wt as IndexerServerXPointsAllTime, X as IndexerServerMarketSnapshotsParams, Y as IndexerServerMakerStatisticsResponse, Yt as isIndexerServerFailureResponse, Z as IndexerServerMarketSnapshotsResponse, _ as IndexerServerDDAResponse, _t as IndexerServerPortfolioParams, a as IndexerServerAllTimePoints, at as IndexerServerNlpSnapshotsResponse, b as IndexerServerFailureResponse, bt as IndexerServerPortfolioResponse, c as IndexerServerCandlesticksResponse, ct as IndexerServerOrdersParams, d as IndexerServerCashIncentivesEventPlatform, dt as IndexerServerPerpPricesParams, et as IndexerServerMultiProductsParams, f as IndexerServerCashIncentivesEventWallet, ft as IndexerServerPerpPricesResponse, g as IndexerServerDDAQueryParams, gt as IndexerServerPortfolioHistory, h as IndexerServerCashIncentivesWalletSummary, ht as IndexerServerPointsResponse, i as IndexerEdgeServerMarketSnapshotsResponse, it as IndexerServerNlpSnapshotsParams, j as IndexerServerInterestFundingParams, jt as IndexerServerReferralCodeParams, k as IndexerServerFundingRatesParams, kt as IndexerServerQueryResponseByType, l as IndexerServerCashIncentivesEvent, lt as IndexerServerOrdersResponse, m as IndexerServerCashIncentivesResponse, mt as IndexerServerPointsParams, n as IndexerEdgeServerCandlesticksResponse, nt as IndexerServerMultiSubaccountSnapshotsParams, o as IndexerServerBacklogResponse, ot as IndexerServerOraclePricesParams, p as IndexerServerCashIncentivesParams, pt as IndexerServerPointsEpoch, q as IndexerServerListSubaccountsResponse, qt as IndexerServerXPointsQuest, r as IndexerEdgeServerMarketSnapshotsParams, rt as IndexerServerMultiSubaccountSnapshotsResponse, s as IndexerServerCandlesticksParams, st as IndexerServerOraclePricesResponse, t as IndexerEdgeServerCandlesticksParams, tt as IndexerServerMultiProductsResponse, u as IndexerServerCashIncentivesEventMetadata, ut as IndexerServerPerpPrices, v as IndexerServerEventsParams, vt as IndexerServerPortfolioPeriod, w as IndexerServerFundingRateHistoryEntry, wt as IndexerServerPrivateAlphaChoiceResponse, x as IndexerServerFastWithdrawalSignatureParams, xt as IndexerServerPriceParams, y as IndexerServerEventsResponse, yt as IndexerServerPortfolioPoint, z as IndexerServerLeaderboardRegisterResponse, zt as IndexerServerV2MarketHours } from "../serverTypes-BdNekzFR.js";
2
2
  export { IndexerEdgeServerCandlesticksParams, IndexerEdgeServerCandlesticksResponse, IndexerEdgeServerMarketSnapshotsParams, IndexerEdgeServerMarketSnapshotsResponse, IndexerServerAllTimePoints, IndexerServerBacklogResponse, IndexerServerCandlesticksParams, IndexerServerCandlesticksResponse, IndexerServerCashIncentivesEvent, IndexerServerCashIncentivesEventMetadata, IndexerServerCashIncentivesEventPlatform, IndexerServerCashIncentivesEventWallet, IndexerServerCashIncentivesParams, IndexerServerCashIncentivesResponse, IndexerServerCashIncentivesWalletSummary, IndexerServerDDAQueryParams, IndexerServerDDAResponse, IndexerServerEventsParams, IndexerServerEventsResponse, IndexerServerFailureResponse, IndexerServerFastWithdrawalSignatureParams, IndexerServerFastWithdrawalSignatureResponse, IndexerServerFundingRate, IndexerServerFundingRateHistoryEntry, IndexerServerFundingRateHistoryParams, IndexerServerFundingRateHistoryResponse, IndexerServerFundingRateParams, IndexerServerFundingRateResponse, IndexerServerFundingRatesParams, IndexerServerFundingRatesResponse, IndexerServerInterestFundingParams, IndexerServerInterestFundingResponse, IndexerServerLeaderboardContestsParams, IndexerServerLeaderboardContestsResponse, IndexerServerLeaderboardParams, IndexerServerLeaderboardRankParams, IndexerServerLeaderboardRankResponse, IndexerServerLeaderboardRegisterParams, IndexerServerLeaderboardRegisterResponse, IndexerServerLeaderboardRegistrationsParams, IndexerServerLeaderboardRegistrationsResponse, IndexerServerLeaderboardResponse, IndexerServerLinkedSignerParams, IndexerServerLinkedSignerResponse, IndexerServerListSocialAccountsParams, IndexerServerListSubaccountsParams, IndexerServerListSubaccountsResponse, IndexerServerMakerStatisticsParams, IndexerServerMakerStatisticsResponse, IndexerServerMarketSnapshotsParams, IndexerServerMarketSnapshotsResponse, IndexerServerMatchEventsParams, IndexerServerMatchEventsResponse, IndexerServerMultiProductsParams, IndexerServerMultiProductsResponse, IndexerServerMultiSubaccountSnapshotsParams, IndexerServerMultiSubaccountSnapshotsResponse, IndexerServerNlpSnapshotsParams, IndexerServerNlpSnapshotsResponse, IndexerServerOraclePricesParams, IndexerServerOraclePricesResponse, IndexerServerOrdersParams, IndexerServerOrdersResponse, IndexerServerPerpPrices, IndexerServerPerpPricesParams, IndexerServerPerpPricesResponse, IndexerServerPointsEpoch, IndexerServerPointsParams, IndexerServerPointsResponse, IndexerServerPortfolioHistory, IndexerServerPortfolioParams, IndexerServerPortfolioPeriod, IndexerServerPortfolioPoint, IndexerServerPortfolioResponse, IndexerServerPriceParams, IndexerServerPriceResponse, IndexerServerPrivateAlphaChoiceParams, IndexerServerPrivateAlphaChoiceResponse, IndexerServerProductsParams, IndexerServerProductsResponse, IndexerServerQueryRequestByType, IndexerServerQueryRequestType, IndexerServerQueryResponseByType, IndexerServerQuotePriceResponse, IndexerServerReferralCodeParams, IndexerServerReferralCodeResponse, IndexerServerRequestType, IndexerServerRevokeSocialAccountParams, IndexerServerSocialAccountsResponse, IndexerServerSocialConnectParams, IndexerServerSocialConnectResponse, IndexerServerTriggerTypeFilter, IndexerServerV2MarketHours, IndexerServerV2Symbol, IndexerServerV2SymbolsResponse, IndexerServerV2TickerResponse, IndexerServerV2TickersResponse, IndexerServerXPointsAllTime, IndexerServerXPointsEpoch, IndexerServerXPointsParams, IndexerServerXPointsQuest, IndexerServerXPointsResponse, isIndexerServerFailureResponse };
@@ -1 +1 @@
1
- {"version":3,"file":"serverTypes.js","names":[],"sources":["../../src/types/serverTypes.ts"],"sourcesContent":["import {\n EIP712LeaderboardAuthenticationValues,\n EIP712SocialAuthenticationValues,\n SignedTx,\n} from '@nadohq/shared';\nimport { IndexerEventType } from './IndexerEventType';\nimport { IndexerLeaderboardRankType } from './IndexerLeaderboardType';\nimport { NadoWithdrawCollateralTx, NadoWithdrawCollateralV2Tx } from './NadoTx';\nimport {\n IndexerServerCandlestick,\n IndexerServerEvent,\n IndexerServerLeaderboardContest,\n IndexerServerLeaderboardPosition,\n IndexerServerLeaderboardRegistration,\n IndexerServerMaker,\n IndexerServerMarketSnapshot,\n IndexerServerMarketSnapshotInterval,\n IndexerServerMatchEvent,\n IndexerServerNlpSnapshot,\n IndexerServerOraclePrice,\n IndexerServerOrder,\n IndexerServerProductPayment,\n IndexerServerProductSnapshot,\n IndexerServerSnapshotsInterval,\n IndexerServerSocialAccount,\n IndexerServerTx,\n} from './serverModelTypes';\n\n/**\n * Params\n */\n\nexport interface IndexerServerListSubaccountsParams {\n // Inclusive, defaults to 0\n start?: number;\n // Defaults to 100\n limit?: number;\n address?: string;\n}\n\nexport interface IndexerServerMultiSubaccountSnapshotsParams {\n // Subaccount hex identifiers\n subaccounts: string[];\n timestamps: number[];\n // If not given, will return both isolated & non-iso balances\n isolated?: boolean;\n}\n\nexport interface IndexerServerReferralCodeParams {\n subaccount: string;\n}\n\nexport interface IndexerServerFundingRateParams {\n product_id: number;\n}\n\nexport interface IndexerServerFundingRatesParams {\n product_ids: number[];\n}\n\nexport interface IndexerServerFundingRateHistoryParams {\n product_id: number;\n start_time?: number | string;\n end_time?: number | string;\n // Max number of rates to return. Defaults to 100, max 1000.\n limit?: number;\n}\n\nexport interface IndexerServerPriceParams {\n product_id: number;\n}\n\nexport interface IndexerServerPerpPricesParams {\n product_ids: number[];\n}\n\nexport interface IndexerServerPortfolioParams {\n subaccount: string;\n}\n\nexport interface IndexerServerOraclePricesParams {\n product_ids: number[];\n}\n\nexport interface IndexerServerCandlesticksParams {\n product_id: number;\n granularity: number;\n // Seconds\n max_time?: number;\n limit: number;\n}\n\nexport type IndexerEdgeServerCandlesticksParams =\n IndexerServerCandlesticksParams;\n\nexport interface IndexerServerProductsParams {\n product_id: number;\n max_time?: number;\n limit: number;\n // submission_idx for pagination, inclusive\n idx?: string;\n}\n\nexport interface IndexerServerMultiProductsParams {\n product_ids: number[];\n max_time: number[];\n}\n\nexport interface IndexerServerEventsParams {\n subaccounts?: string[];\n product_ids?: number[];\n // If not given, will return both isolated & non-iso events\n isolated?: boolean;\n event_types?: IndexerEventType[];\n // Descending order for idx (time), defaults to true\n desc?: boolean;\n // submission_idx for pagination, inclusive\n idx?: string;\n max_time?: number;\n limit?:\n | {\n raw: number;\n }\n | {\n txs: number;\n };\n}\n\nexport type IndexerServerTriggerTypeFilter =\n | 'none'\n | 'price_trigger'\n | 'time_trigger';\n\nexport interface IndexerServerOrdersParams {\n subaccounts?: string[];\n product_ids?: number[];\n trigger_types?: IndexerServerTriggerTypeFilter[];\n digests?: string[];\n max_time?: number;\n limit?: number;\n // If not given, will return both isolated & non-iso orders\n isolated?: boolean;\n // submission_idx for pagination, inclusive\n idx?: string;\n}\n\nexport interface IndexerServerMatchEventsParams {\n subaccounts?: string[];\n product_ids?: number[];\n // If not given, will return both isolated & non-iso events\n isolated?: boolean;\n max_time?: number;\n limit: number;\n // submission_idx for pagination, inclusive\n idx?: string;\n}\n\nexport interface IndexerServerLinkedSignerParams {\n subaccount: string;\n}\n\nexport interface IndexerServerMarketSnapshotsParams {\n interval: IndexerServerMarketSnapshotInterval;\n // Defaults to all\n product_ids?: number[];\n}\n\nexport interface IndexerEdgeServerMarketSnapshotsParams {\n interval: IndexerServerMarketSnapshotInterval;\n}\n\nexport interface IndexerServerInterestFundingParams {\n subaccount: string;\n product_ids: number[];\n // If not given, defaults to latest\n max_idx?: string;\n max_time?: number;\n limit: number;\n}\n\nexport interface IndexerServerMakerStatisticsParams {\n product_id: number;\n epoch: number;\n interval: number;\n}\n\nexport interface IndexerServerLeaderboardParams {\n contest_id: number;\n rank_type?: IndexerLeaderboardRankType;\n start?: number | string;\n limit?: number | string;\n order?: 'ASC' | 'DESC';\n}\n\nexport interface IndexerServerLeaderboardRankParams {\n subaccount: string;\n contest_ids: number[];\n}\n\nexport interface IndexerServerLeaderboardContestsParams {\n contest_ids?: number[];\n active?: boolean;\n}\n\nexport interface IndexerServerLeaderboardRegistrationsParams {\n subaccount: string;\n contest_ids?: number[];\n active?: boolean;\n}\n\nexport interface IndexerServerLeaderboardRegisterParams {\n update_registration: SignedTx<EIP712LeaderboardAuthenticationValues>;\n}\n\nexport interface IndexerServerSocialConnectParams {\n update_social_account: SignedTx<EIP712SocialAuthenticationValues>;\n}\n\nexport interface IndexerServerListSocialAccountsParams {\n address: string;\n}\n\nexport type IndexerServerRevokeSocialAccountParams =\n IndexerServerSocialConnectParams;\n\nexport interface IndexerServerFastWithdrawalSignatureParams {\n /**\n * The submission index of the WithdrawCollateral tx to be used for fast withdraw.\n */\n idx: number | string;\n}\n\nexport interface IndexerServerNlpSnapshotsParams {\n interval: IndexerServerSnapshotsInterval;\n}\n\nexport interface IndexerServerDDAQueryParams {\n subaccount: string;\n}\n\nexport interface IndexerServerPrivateAlphaChoiceParams {\n address: string;\n}\n\nexport interface IndexerServerPointsParams {\n address: string;\n}\n\nexport interface IndexerServerXPointsParams {\n address: string;\n}\n\nexport interface IndexerServerCashIncentivesParams {\n wallet_address: string;\n}\n\n// Request\nexport interface IndexerServerQueryRequestByType {\n account_snapshots: IndexerServerMultiSubaccountSnapshotsParams;\n backlog: Record<string, never>;\n candlesticks: IndexerServerCandlesticksParams;\n direct_deposit_address: IndexerServerDDAQueryParams;\n edge_candlesticks: IndexerEdgeServerCandlesticksParams;\n edge_market_snapshots: IndexerEdgeServerMarketSnapshotsParams;\n events: IndexerServerEventsParams;\n fast_withdrawal_signature: IndexerServerFastWithdrawalSignatureParams;\n funding_rate: IndexerServerFundingRateParams;\n funding_rate_history: IndexerServerFundingRateHistoryParams;\n funding_rates: IndexerServerFundingRatesParams;\n interest_and_funding: IndexerServerInterestFundingParams;\n leaderboard: IndexerServerLeaderboardParams;\n leaderboard_contests: IndexerServerLeaderboardContestsParams;\n leaderboard_rank: IndexerServerLeaderboardRankParams;\n leaderboard_register: IndexerServerLeaderboardRegisterParams;\n leaderboard_registrations: IndexerServerLeaderboardRegistrationsParams;\n linked_signer_rate_limit: IndexerServerLinkedSignerParams;\n maker_statistics: IndexerServerMakerStatisticsParams;\n market_snapshots: IndexerServerMarketSnapshotsParams;\n matches: IndexerServerMatchEventsParams;\n oracle_price: IndexerServerOraclePricesParams;\n orders: IndexerServerOrdersParams;\n perp_prices: IndexerServerPerpPricesParams;\n portfolio: IndexerServerPortfolioParams;\n price: IndexerServerPriceParams;\n product_snapshots: IndexerServerMultiProductsParams;\n products: IndexerServerProductsParams;\n referral_code: IndexerServerReferralCodeParams;\n subaccounts: IndexerServerListSubaccountsParams;\n quote_price: Record<string, never>;\n nlp_snapshots: IndexerServerNlpSnapshotsParams;\n private_alpha_choice: IndexerServerPrivateAlphaChoiceParams;\n nado_points: IndexerServerPointsParams;\n nado_xpoints: IndexerServerXPointsParams;\n cash_incentives: IndexerServerCashIncentivesParams;\n social_connect: IndexerServerSocialConnectParams;\n list_social_accounts: IndexerServerListSocialAccountsParams;\n revoke_social_account: IndexerServerRevokeSocialAccountParams;\n}\n\nexport type IndexerServerQueryRequestType =\n keyof IndexerServerQueryRequestByType;\n\n/**\n * Responses\n */\n\nexport interface IndexerServerListSubaccountsResponse {\n subaccounts: {\n id: string;\n // Hex of subaccount bytes\n subaccount: string;\n // UNIX timestamp in seconds\n created_at: string;\n isolated: boolean;\n }[];\n}\n\nexport interface IndexerServerMultiSubaccountSnapshotsResponse {\n // Map of subaccount hex -> timestamp requested -> latest events corresponding to each product\n snapshots: Record<string, Record<string, IndexerServerEvent[]>>;\n}\n\nexport interface IndexerServerReferralCodeResponse {\n referral_code: string | null;\n}\n\nexport interface IndexerServerFundingRate {\n product_id: number;\n funding_rate_x18: string;\n update_time: number;\n}\n\nexport type IndexerServerFundingRateResponse = IndexerServerFundingRate;\n\n// Map of productId -> IndexerServerFundingRate\nexport type IndexerServerFundingRatesResponse = Record<\n string,\n IndexerServerFundingRate\n>;\n\nexport interface IndexerServerFundingRateHistoryEntry {\n product_id: number;\n // Epoch time in seconds of the settlement tick this funding rate was recorded at.\n timestamp: string;\n // Realized hourly funding rate at this tick, multiplied by 10^18 (% = rate * 100).\n funding_rate_x18: string;\n}\n\nexport interface IndexerServerFundingRateHistoryResponse {\n // Always ascending by timestamp.\n funding_rates: IndexerServerFundingRateHistoryEntry[];\n}\n\nexport type IndexerServerPortfolioPeriod =\n | 'day'\n | 'week'\n | 'month'\n | 'allTime'\n | 'perpDay'\n | 'perpWeek'\n | 'perpMonth'\n | 'perpAllTime';\n\n// [timestamp (unix seconds), value] — both x18-free decimal strings, USDT0-denominated.\nexport type IndexerServerPortfolioPoint = [string, string];\n\nexport interface IndexerServerPortfolioHistory {\n accountValueHistory: IndexerServerPortfolioPoint[];\n pnlHistory: IndexerServerPortfolioPoint[];\n vlm: string;\n}\n\nexport type IndexerServerPortfolioResponse = [\n IndexerServerPortfolioPeriod,\n IndexerServerPortfolioHistory,\n][];\n\nexport interface IndexerServerPerpPrices {\n product_id: number;\n index_price_x18: string;\n mark_price_x18: string;\n update_time: number;\n}\n\nexport type IndexerServerPriceResponse = IndexerServerPerpPrices;\n\n// Map of productId -> IndexerServerPerpPrices\nexport type IndexerServerPerpPricesResponse = Record<\n string,\n IndexerServerPerpPrices\n>;\n\nexport interface IndexerServerOraclePricesResponse {\n prices: IndexerServerOraclePrice[];\n}\n\nexport interface IndexerServerCandlesticksResponse {\n candlesticks: IndexerServerCandlestick[];\n}\n\nexport type IndexerEdgeServerCandlesticksResponse =\n IndexerServerCandlesticksResponse;\n\nexport interface IndexerServerProductsResponse {\n products: IndexerServerProductSnapshot[];\n txs: IndexerServerTx[];\n}\n\n// Map of timestamp -> (productID -> IndexerServerProductSnapshot)\nexport type IndexerServerMultiProductsResponse = Record<\n string,\n Record<string, IndexerServerProductSnapshot>\n>;\n\nexport interface IndexerServerEventsResponse {\n events: IndexerServerEvent[];\n txs: IndexerServerTx[];\n}\n\nexport interface IndexerServerOrdersResponse {\n orders: IndexerServerOrder[];\n}\n\nexport interface IndexerServerMatchEventsResponse {\n matches: IndexerServerMatchEvent[];\n txs: IndexerServerTx[];\n}\n\nexport interface IndexerServerQuotePriceResponse {\n price_x18: string;\n}\n\nexport interface IndexerServerLinkedSignerResponse {\n total_tx_limit: string;\n remaining_tx: string;\n wait_time: string;\n signer: string;\n}\n\nexport interface IndexerServerMarketSnapshotsResponse {\n snapshots: IndexerServerMarketSnapshot[];\n}\n\nexport interface IndexerEdgeServerMarketSnapshotsResponse {\n snapshots: Record<number, IndexerServerMarketSnapshot[]>;\n}\n\nexport interface IndexerServerInterestFundingResponse {\n interest_payments: IndexerServerProductPayment[];\n funding_payments: IndexerServerProductPayment[];\n next_idx: string;\n}\n\nexport interface IndexerServerMakerStatisticsResponse {\n reward_coefficient: string;\n makers: IndexerServerMaker[];\n}\n\nexport interface IndexerServerLeaderboardResponse {\n positions: IndexerServerLeaderboardPosition[];\n}\n\nexport interface IndexerServerLeaderboardRegistrationsResponse {\n registrations: IndexerServerLeaderboardRegistration[];\n}\n\nexport type IndexerServerLeaderboardRegisterResponse =\n IndexerServerLeaderboardRegistrationsResponse;\n\nexport interface IndexerServerLeaderboardRankResponse {\n // If the subaccount is not eligible for a given contest, it would not be included in the response.\n // contestId -> IndexerServerLeaderboardPosition\n positions: Record<string, IndexerServerLeaderboardPosition>;\n}\n\nexport interface IndexerServerLeaderboardContestsResponse {\n contests: IndexerServerLeaderboardContest[];\n}\n\nexport interface IndexerServerFastWithdrawalSignatureResponse {\n idx: string;\n tx: NadoWithdrawCollateralTx['withdraw_collateral'];\n // Present only for `WithdrawCollateralV2` withdrawals.\n tx_v2?: NadoWithdrawCollateralV2Tx['withdraw_collateral_v2'];\n tx_bytes: string;\n signatures: string[];\n}\n\nexport interface IndexerServerNlpSnapshotsResponse {\n snapshots: IndexerServerNlpSnapshot[];\n}\n\nexport interface IndexerServerDDAResponse {\n v1_address: string;\n}\n\nexport interface IndexerServerBacklogResponse {\n // Total number of transactions stored in the indexer DB\n total_txs: string;\n // Current nSubmissions value from the chain (i.e., number of processed txs)\n total_submissions: string;\n // Number of unprocessed transactions (total_txs - total_submissions)\n backlog_size: string;\n // UNIX timestamp (in seconds) of when the data was last updated\n updated_at: string;\n // Estimated time in seconds (float) to clear the entire backlog (null if unavailable)\n backlog_eta_in_seconds: string | null;\n // Current submission rate in transactions per second (float) (null if unavailable)\n txs_per_second: string | null;\n}\n\nexport interface IndexerServerPrivateAlphaChoiceResponse {\n points: string;\n fee_refund: string;\n nft_eligibility: boolean;\n}\n\nexport interface IndexerServerPointsEpoch {\n epoch: number;\n description: string;\n start_time: string;\n end_time: string;\n total_points: string;\n points: string;\n rank: number;\n tier: number;\n}\n\nexport interface IndexerServerAllTimePoints {\n points: string;\n rank: number;\n tier: number;\n}\n\nexport interface IndexerServerPointsResponse {\n points_per_epoch: IndexerServerPointsEpoch[];\n all_time_points: IndexerServerAllTimePoints;\n}\n\nexport interface IndexerServerXPointsQuest {\n quest_type: string;\n points: string;\n}\n\nexport interface IndexerServerXPointsEpoch {\n epoch: number;\n description: string;\n start_time: string;\n end_time: string;\n total_points: string;\n rank: number;\n quests: IndexerServerXPointsQuest[];\n}\n\nexport interface IndexerServerXPointsAllTime {\n total_points: string;\n rank: number;\n quests: IndexerServerXPointsQuest[];\n}\n\nexport interface IndexerServerXPointsResponse {\n points_per_epoch: IndexerServerXPointsEpoch[];\n all_time_points: IndexerServerXPointsAllTime;\n}\n\nexport interface IndexerServerCashIncentivesEventMetadata {\n event_id: number;\n description: string;\n // UNIX timestamp in seconds\n epoch_start: string;\n // UNIX timestamp in seconds\n epoch_end: string;\n // x18 string\n max_volume: string;\n // x18 string\n max_reward: string;\n // x18 string\n min_volume: string;\n // x18 string\n min_reward: string;\n}\n\nexport interface IndexerServerCashIncentivesEventPlatform {\n // x18 string\n platform_volume: string;\n // x18 string\n unlocked_reward: string;\n}\n\nexport interface IndexerServerCashIncentivesEventWallet {\n // x18 string\n reward: string;\n}\n\nexport interface IndexerServerCashIncentivesEvent {\n metadata: IndexerServerCashIncentivesEventMetadata;\n platform: IndexerServerCashIncentivesEventPlatform;\n wallet: IndexerServerCashIncentivesEventWallet;\n}\n\nexport interface IndexerServerCashIncentivesWalletSummary {\n // x18 string\n total_reward: string;\n // x18 string\n claimable_reward: string;\n}\n\nexport interface IndexerServerCashIncentivesResponse {\n events: IndexerServerCashIncentivesEvent[];\n wallet_summary: IndexerServerCashIncentivesWalletSummary;\n}\n\nexport interface IndexerServerSocialConnectResponse {\n url: string;\n}\n\nexport interface IndexerServerSocialAccountsResponse {\n accounts: IndexerServerSocialAccount[];\n}\n\n// Response\nexport interface IndexerServerQueryResponseByType {\n account_snapshots: IndexerServerMultiSubaccountSnapshotsResponse;\n backlog: IndexerServerBacklogResponse;\n candlesticks: IndexerServerCandlesticksResponse;\n direct_deposit_address: IndexerServerDDAResponse;\n edge_candlesticks: IndexerEdgeServerCandlesticksResponse;\n edge_market_snapshots: IndexerEdgeServerMarketSnapshotsResponse;\n events: IndexerServerEventsResponse;\n fast_withdrawal_signature: IndexerServerFastWithdrawalSignatureResponse;\n funding_rate: IndexerServerFundingRateResponse;\n funding_rate_history: IndexerServerFundingRateHistoryResponse;\n funding_rates: IndexerServerFundingRatesResponse;\n interest_and_funding: IndexerServerInterestFundingResponse;\n leaderboard: IndexerServerLeaderboardResponse;\n leaderboard_contests: IndexerServerLeaderboardContestsResponse;\n leaderboard_rank: IndexerServerLeaderboardRankResponse;\n leaderboard_register: IndexerServerLeaderboardRegisterResponse;\n leaderboard_registrations: IndexerServerLeaderboardRegistrationsResponse;\n linked_signer_rate_limit: IndexerServerLinkedSignerResponse;\n maker_statistics: IndexerServerMakerStatisticsResponse;\n market_snapshots: IndexerServerMarketSnapshotsResponse;\n matches: IndexerServerMatchEventsResponse;\n oracle_price: IndexerServerOraclePricesResponse;\n orders: IndexerServerOrdersResponse;\n perp_prices: IndexerServerPerpPricesResponse;\n portfolio: IndexerServerPortfolioResponse;\n price: IndexerServerPriceResponse;\n product_snapshots: IndexerServerMultiProductsResponse;\n products: IndexerServerProductsResponse;\n referral_code: IndexerServerReferralCodeResponse;\n subaccounts: IndexerServerListSubaccountsResponse;\n quote_price: IndexerServerQuotePriceResponse;\n nlp_snapshots: IndexerServerNlpSnapshotsResponse;\n private_alpha_choice: IndexerServerPrivateAlphaChoiceResponse;\n nado_points: IndexerServerPointsResponse;\n nado_xpoints: IndexerServerXPointsResponse;\n cash_incentives: IndexerServerCashIncentivesResponse;\n social_connect: IndexerServerSocialConnectResponse;\n list_social_accounts: IndexerServerSocialAccountsResponse;\n revoke_social_account: IndexerServerSocialAccountsResponse;\n}\n\n/**\n * V2 API Types\n */\n\n/**\n * Individual ticker data from v2 indexer endpoint (server format)\n */\nexport interface IndexerServerV2TickerResponse {\n product_id: number;\n ticker_id: string;\n base_currency: string;\n quote_currency: string;\n last_price: number;\n base_volume: number;\n quote_volume: number;\n price_change_percent_24h: number;\n}\n\n/**\n * Response from v2 tickers endpoint (server format)\n * Maps ticker IDs to their respective ticker data\n */\nexport type IndexerServerV2TickersResponse = Record<\n string,\n IndexerServerV2TickerResponse\n>;\n\n/**\n * Market hours data from v2 symbols endpoint (server format)\n */\nexport interface IndexerServerV2MarketHours {\n is_open: boolean;\n reason: string | null;\n next_close: string | null;\n next_open: string | null;\n}\n\n/**\n * Individual symbol data from v2 indexer endpoint (server format)\n */\nexport interface IndexerServerV2Symbol {\n type: string;\n product_id: number;\n symbol: string;\n price_increment_x18: string;\n size_increment: string;\n min_size: string;\n maker_fee_rate_x18: string;\n taker_fee_rate_x18: string;\n long_weight_initial_x18: string;\n long_weight_maintenance_x18: string;\n /**\n * Defined only for perp markets with a max OI cap\n */\n max_open_interest_x18: string | null;\n /**\n * Defined only for xStocks spot markets\n */\n exchange_rate_x18: string | null;\n trading_status: string;\n isolated_only: boolean;\n market_hours: IndexerServerV2MarketHours | null;\n /**\n * Boost tier for products with rewards boosts. Null for non-boosted products.\n * 0 = none, 1 = taker 4x / maker 4x, 2 = taker 3x / maker 4x\n */\n boost_type: number | null;\n /**\n * Taker rewards multiplier. Null for non-boosted products.\n */\n taker_multiplier: number | null;\n /**\n * Maker rewards multiplier. Null for non-boosted products.\n */\n maker_multiplier: number | null;\n}\n\n/**\n * Response from v2 symbols endpoint (server format)\n * Maps symbols to their respective data\n */\nexport type IndexerServerV2SymbolsResponse = Record<\n string,\n IndexerServerV2Symbol\n>;\n\n/**\n * Wire `request_type` the indexer echoes on failure envelopes. The indexer's failure envelope is\n * keyed by route (`<verb>_<query_type>`), mirroring the engine and trigger services. Kept as a\n * `${string}_${string}` template to avoid enumerating the full set of v1 query types declared\n * above.\n */\nexport type IndexerServerRequestType = `${string}_${string}`;\n\n/**\n * Failure envelope returned by the indexer service API. Mirrors the failure shape used by the\n * engine and trigger services: a `status: 'failure'` discriminant plus an `error`/`error_code`\n * pair and the originating `request_type`. A response missing this envelope shape (e.g. a\n * malformed body, or a non-JSON response) is a transport-level error, not a domain error.\n *\n * The v2 REST endpoints do not return this envelope — they use plain HTTP error responses\n * without an `error_code` field.\n */\nexport interface IndexerServerFailureResponse {\n status: 'failure';\n error: string;\n error_code: number;\n request_type: IndexerServerRequestType;\n}\n\n/**\n * Narrows an unknown response body to the indexer service API failure envelope.\n */\nexport function isIndexerServerFailureResponse(\n data: unknown,\n): data is IndexerServerFailureResponse {\n return (\n typeof data === 'object' &&\n data !== null &&\n (data as Record<string, unknown>).status === 'failure'\n );\n}\n"],"mappings":";;;;AAwwBA,SAAgB,+BACd,MACsC;CACtC,OACE,OAAO,SAAS,YAChB,SAAS,QACR,KAAiC,WAAW;AAEjD"}
1
+ {"version":3,"file":"serverTypes.js","names":[],"sources":["../../src/types/serverTypes.ts"],"sourcesContent":["import {\n EIP712LeaderboardAuthenticationValues,\n EIP712SocialAuthenticationValues,\n SignedTx,\n} from '@nadohq/shared';\nimport { IndexerEventType } from './IndexerEventType';\nimport { IndexerLeaderboardRankType } from './IndexerLeaderboardType';\nimport { NadoWithdrawCollateralTx, NadoWithdrawCollateralV2Tx } from './NadoTx';\nimport {\n IndexerServerCandlestick,\n IndexerServerEvent,\n IndexerServerLeaderboardContest,\n IndexerServerLeaderboardPosition,\n IndexerServerLeaderboardRegistration,\n IndexerServerMaker,\n IndexerServerMarketSnapshot,\n IndexerServerMarketSnapshotInterval,\n IndexerServerMatchEvent,\n IndexerServerNlpSnapshot,\n IndexerServerOraclePrice,\n IndexerServerOrder,\n IndexerServerProductPayment,\n IndexerServerProductSnapshot,\n IndexerServerSnapshotsInterval,\n IndexerServerSocialAccount,\n IndexerServerTx,\n} from './serverModelTypes';\n\n/**\n * Params\n */\n\nexport interface IndexerServerListSubaccountsParams {\n // Inclusive, defaults to 0\n start?: number;\n // Defaults to 100\n limit?: number;\n address?: string;\n}\n\nexport interface IndexerServerMultiSubaccountSnapshotsParams {\n // Subaccount hex identifiers\n subaccounts: string[];\n timestamps: number[];\n // If not given, will return both isolated & non-iso balances\n isolated?: boolean;\n}\n\nexport interface IndexerServerReferralCodeParams {\n subaccount: string;\n}\n\nexport interface IndexerServerFundingRateParams {\n product_id: number;\n}\n\nexport interface IndexerServerFundingRatesParams {\n product_ids: number[];\n}\n\nexport interface IndexerServerFundingRateHistoryParams {\n product_id: number;\n start_time?: number | string;\n end_time?: number | string;\n // Max number of rates to return. Defaults to 100, max 1000.\n limit?: number;\n}\n\nexport interface IndexerServerPriceParams {\n product_id: number;\n}\n\nexport interface IndexerServerPerpPricesParams {\n product_ids: number[];\n}\n\nexport interface IndexerServerPortfolioParams {\n subaccount: string;\n}\n\nexport interface IndexerServerOraclePricesParams {\n product_ids: number[];\n}\n\nexport interface IndexerServerCandlesticksParams {\n product_id: number;\n granularity: number;\n // Seconds\n max_time?: number;\n limit: number;\n}\n\nexport type IndexerEdgeServerCandlesticksParams =\n IndexerServerCandlesticksParams;\n\nexport interface IndexerServerProductsParams {\n product_id: number;\n max_time?: number;\n limit: number;\n // submission_idx for pagination, inclusive\n idx?: string;\n}\n\nexport interface IndexerServerMultiProductsParams {\n product_ids: number[];\n max_time: number[];\n}\n\nexport interface IndexerServerEventsParams {\n subaccounts?: string[];\n product_ids?: number[];\n // If not given, will return both isolated & non-iso events\n isolated?: boolean;\n event_types?: IndexerEventType[];\n // Descending order for idx (time), defaults to true\n desc?: boolean;\n // submission_idx for pagination, inclusive\n idx?: string;\n max_time?: number;\n limit?:\n | {\n raw: number;\n }\n | {\n txs: number;\n };\n}\n\nexport type IndexerServerTriggerTypeFilter =\n | 'none'\n | 'price_trigger'\n | 'time_trigger';\n\nexport interface IndexerServerOrdersParams {\n subaccounts?: string[];\n product_ids?: number[];\n trigger_types?: IndexerServerTriggerTypeFilter[];\n digests?: string[];\n max_time?: number;\n limit?: number;\n // If not given, will return both isolated & non-iso orders\n isolated?: boolean;\n // submission_idx for pagination, inclusive\n idx?: string;\n}\n\nexport interface IndexerServerMatchEventsParams {\n subaccounts?: string[];\n product_ids?: number[];\n // If not given, will return both isolated & non-iso events\n isolated?: boolean;\n max_time?: number;\n limit: number;\n // submission_idx for pagination, inclusive\n idx?: string;\n}\n\nexport interface IndexerServerLinkedSignerParams {\n subaccount: string;\n}\n\nexport interface IndexerServerMarketSnapshotsParams {\n interval: IndexerServerMarketSnapshotInterval;\n // Defaults to all\n product_ids?: number[];\n}\n\nexport interface IndexerEdgeServerMarketSnapshotsParams {\n interval: IndexerServerMarketSnapshotInterval;\n}\n\nexport interface IndexerServerInterestFundingParams {\n subaccount: string;\n product_ids: number[];\n // If not given, defaults to latest\n max_idx?: string;\n max_time?: number;\n limit: number;\n}\n\nexport interface IndexerServerMakerStatisticsParams {\n product_id: number;\n epoch: number;\n interval: number;\n}\n\nexport interface IndexerServerLeaderboardParams {\n contest_id: number;\n rank_type?: IndexerLeaderboardRankType;\n start?: number | string;\n limit?: number | string;\n order?: 'ASC' | 'DESC';\n}\n\nexport interface IndexerServerLeaderboardRankParams {\n subaccount: string;\n contest_ids: number[];\n}\n\nexport interface IndexerServerLeaderboardContestsParams {\n contest_ids?: number[];\n active?: boolean;\n}\n\nexport interface IndexerServerLeaderboardRegistrationsParams {\n subaccount: string;\n contest_ids?: number[];\n active?: boolean;\n}\n\nexport interface IndexerServerLeaderboardRegisterParams {\n update_registration: SignedTx<EIP712LeaderboardAuthenticationValues>;\n}\n\nexport interface IndexerServerSocialConnectParams {\n update_social_account: SignedTx<EIP712SocialAuthenticationValues>;\n}\n\nexport interface IndexerServerListSocialAccountsParams {\n address: string;\n}\n\nexport type IndexerServerRevokeSocialAccountParams =\n IndexerServerSocialConnectParams;\n\nexport interface IndexerServerFastWithdrawalSignatureParams {\n /**\n * The submission index of the WithdrawCollateral tx to be used for fast withdraw.\n */\n idx: number | string;\n}\n\nexport interface IndexerServerNlpSnapshotsParams {\n interval: IndexerServerSnapshotsInterval;\n}\n\nexport interface IndexerServerDDAQueryParams {\n subaccount: string;\n}\n\nexport interface IndexerServerPrivateAlphaChoiceParams {\n address: string;\n}\n\nexport interface IndexerServerPointsParams {\n address: string;\n}\n\nexport interface IndexerServerXPointsParams {\n address: string;\n}\n\nexport interface IndexerServerCashIncentivesParams {\n wallet_address: string;\n}\n\n// Request\nexport interface IndexerServerQueryRequestByType {\n account_snapshots: IndexerServerMultiSubaccountSnapshotsParams;\n backlog: Record<string, never>;\n candlesticks: IndexerServerCandlesticksParams;\n direct_deposit_address: IndexerServerDDAQueryParams;\n edge_candlesticks: IndexerEdgeServerCandlesticksParams;\n edge_market_snapshots: IndexerEdgeServerMarketSnapshotsParams;\n events: IndexerServerEventsParams;\n fast_withdrawal_signature: IndexerServerFastWithdrawalSignatureParams;\n funding_rate: IndexerServerFundingRateParams;\n funding_rate_history: IndexerServerFundingRateHistoryParams;\n funding_rates: IndexerServerFundingRatesParams;\n interest_and_funding: IndexerServerInterestFundingParams;\n leaderboard: IndexerServerLeaderboardParams;\n leaderboard_contests: IndexerServerLeaderboardContestsParams;\n leaderboard_rank: IndexerServerLeaderboardRankParams;\n leaderboard_register: IndexerServerLeaderboardRegisterParams;\n leaderboard_registrations: IndexerServerLeaderboardRegistrationsParams;\n linked_signer_rate_limit: IndexerServerLinkedSignerParams;\n maker_statistics: IndexerServerMakerStatisticsParams;\n market_snapshots: IndexerServerMarketSnapshotsParams;\n matches: IndexerServerMatchEventsParams;\n oracle_price: IndexerServerOraclePricesParams;\n orders: IndexerServerOrdersParams;\n perp_prices: IndexerServerPerpPricesParams;\n portfolio: IndexerServerPortfolioParams;\n price: IndexerServerPriceParams;\n product_snapshots: IndexerServerMultiProductsParams;\n products: IndexerServerProductsParams;\n referral_code: IndexerServerReferralCodeParams;\n subaccounts: IndexerServerListSubaccountsParams;\n quote_price: Record<string, never>;\n nlp_snapshots: IndexerServerNlpSnapshotsParams;\n private_alpha_choice: IndexerServerPrivateAlphaChoiceParams;\n nado_points: IndexerServerPointsParams;\n nado_xpoints: IndexerServerXPointsParams;\n cash_incentives: IndexerServerCashIncentivesParams;\n social_connect: IndexerServerSocialConnectParams;\n list_social_accounts: IndexerServerListSocialAccountsParams;\n revoke_social_account: IndexerServerRevokeSocialAccountParams;\n}\n\nexport type IndexerServerQueryRequestType =\n keyof IndexerServerQueryRequestByType;\n\n/**\n * Responses\n */\n\nexport interface IndexerServerListSubaccountsResponse {\n subaccounts: {\n id: string;\n // Hex of subaccount bytes\n subaccount: string;\n // UNIX timestamp in seconds\n created_at: string;\n isolated: boolean;\n }[];\n}\n\nexport interface IndexerServerMultiSubaccountSnapshotsResponse {\n // Map of subaccount hex -> timestamp requested -> latest events corresponding to each product\n snapshots: Record<string, Record<string, IndexerServerEvent[]>>;\n}\n\nexport interface IndexerServerReferralCodeResponse {\n referral_code: string | null;\n}\n\nexport interface IndexerServerFundingRate {\n product_id: number;\n funding_rate_x18: string;\n update_time: number;\n}\n\nexport type IndexerServerFundingRateResponse = IndexerServerFundingRate;\n\n// Map of productId -> IndexerServerFundingRate\nexport type IndexerServerFundingRatesResponse = Record<\n string,\n IndexerServerFundingRate\n>;\n\nexport interface IndexerServerFundingRateHistoryEntry {\n product_id: number;\n // Epoch time in seconds of the settlement tick this funding rate was recorded at.\n timestamp: string;\n // Realized hourly funding rate at this tick, multiplied by 10^18 (% = rate * 100).\n funding_rate_x18: string;\n}\n\nexport interface IndexerServerFundingRateHistoryResponse {\n // Always ascending by timestamp.\n funding_rates: IndexerServerFundingRateHistoryEntry[];\n}\n\nexport type IndexerServerPortfolioPeriod =\n | 'day'\n | 'week'\n | 'month'\n | 'allTime'\n | 'perpDay'\n | 'perpWeek'\n | 'perpMonth'\n | 'perpAllTime';\n\n/**\n * [timestamp (unix seconds), value] — both x18-free decimal strings. Values are\n * USDT0-denominated, except `marketCountHistory` points, which are integer counts.\n */\nexport type IndexerServerPortfolioPoint = [string, string];\n\n// All five series are aligned: same timestamps, same length.\nexport interface IndexerServerPortfolioHistory {\n accountValueHistory: IndexerServerPortfolioPoint[];\n pnlHistory: IndexerServerPortfolioPoint[];\n volumeHistory: IndexerServerPortfolioPoint[];\n tradeSizeHistory: IndexerServerPortfolioPoint[];\n marketCountHistory: IndexerServerPortfolioPoint[];\n}\n\nexport type IndexerServerPortfolioResponse = [\n IndexerServerPortfolioPeriod,\n IndexerServerPortfolioHistory,\n][];\n\nexport interface IndexerServerPerpPrices {\n product_id: number;\n index_price_x18: string;\n mark_price_x18: string;\n update_time: number;\n}\n\nexport type IndexerServerPriceResponse = IndexerServerPerpPrices;\n\n// Map of productId -> IndexerServerPerpPrices\nexport type IndexerServerPerpPricesResponse = Record<\n string,\n IndexerServerPerpPrices\n>;\n\nexport interface IndexerServerOraclePricesResponse {\n prices: IndexerServerOraclePrice[];\n}\n\nexport interface IndexerServerCandlesticksResponse {\n candlesticks: IndexerServerCandlestick[];\n}\n\nexport type IndexerEdgeServerCandlesticksResponse =\n IndexerServerCandlesticksResponse;\n\nexport interface IndexerServerProductsResponse {\n products: IndexerServerProductSnapshot[];\n txs: IndexerServerTx[];\n}\n\n// Map of timestamp -> (productID -> IndexerServerProductSnapshot)\nexport type IndexerServerMultiProductsResponse = Record<\n string,\n Record<string, IndexerServerProductSnapshot>\n>;\n\nexport interface IndexerServerEventsResponse {\n events: IndexerServerEvent[];\n txs: IndexerServerTx[];\n}\n\nexport interface IndexerServerOrdersResponse {\n orders: IndexerServerOrder[];\n}\n\nexport interface IndexerServerMatchEventsResponse {\n matches: IndexerServerMatchEvent[];\n txs: IndexerServerTx[];\n}\n\nexport interface IndexerServerQuotePriceResponse {\n price_x18: string;\n}\n\nexport interface IndexerServerLinkedSignerResponse {\n total_tx_limit: string;\n remaining_tx: string;\n wait_time: string;\n signer: string;\n}\n\nexport interface IndexerServerMarketSnapshotsResponse {\n snapshots: IndexerServerMarketSnapshot[];\n}\n\nexport interface IndexerEdgeServerMarketSnapshotsResponse {\n snapshots: Record<number, IndexerServerMarketSnapshot[]>;\n}\n\nexport interface IndexerServerInterestFundingResponse {\n interest_payments: IndexerServerProductPayment[];\n funding_payments: IndexerServerProductPayment[];\n next_idx: string;\n}\n\nexport interface IndexerServerMakerStatisticsResponse {\n reward_coefficient: string;\n makers: IndexerServerMaker[];\n}\n\nexport interface IndexerServerLeaderboardResponse {\n positions: IndexerServerLeaderboardPosition[];\n}\n\nexport interface IndexerServerLeaderboardRegistrationsResponse {\n registrations: IndexerServerLeaderboardRegistration[];\n}\n\nexport type IndexerServerLeaderboardRegisterResponse =\n IndexerServerLeaderboardRegistrationsResponse;\n\nexport interface IndexerServerLeaderboardRankResponse {\n // If the subaccount is not eligible for a given contest, it would not be included in the response.\n // contestId -> IndexerServerLeaderboardPosition\n positions: Record<string, IndexerServerLeaderboardPosition>;\n}\n\nexport interface IndexerServerLeaderboardContestsResponse {\n contests: IndexerServerLeaderboardContest[];\n}\n\nexport interface IndexerServerFastWithdrawalSignatureResponse {\n idx: string;\n tx: NadoWithdrawCollateralTx['withdraw_collateral'];\n // Present only for `WithdrawCollateralV2` withdrawals.\n tx_v2?: NadoWithdrawCollateralV2Tx['withdraw_collateral_v2'];\n tx_bytes: string;\n signatures: string[];\n}\n\nexport interface IndexerServerNlpSnapshotsResponse {\n snapshots: IndexerServerNlpSnapshot[];\n}\n\nexport interface IndexerServerDDAResponse {\n v1_address: string;\n}\n\nexport interface IndexerServerBacklogResponse {\n // Total number of transactions stored in the indexer DB\n total_txs: string;\n // Current nSubmissions value from the chain (i.e., number of processed txs)\n total_submissions: string;\n // Number of unprocessed transactions (total_txs - total_submissions)\n backlog_size: string;\n // UNIX timestamp (in seconds) of when the data was last updated\n updated_at: string;\n // Estimated time in seconds (float) to clear the entire backlog (null if unavailable)\n backlog_eta_in_seconds: string | null;\n // Current submission rate in transactions per second (float) (null if unavailable)\n txs_per_second: string | null;\n}\n\nexport interface IndexerServerPrivateAlphaChoiceResponse {\n points: string;\n fee_refund: string;\n nft_eligibility: boolean;\n}\n\nexport interface IndexerServerPointsEpoch {\n epoch: number;\n description: string;\n start_time: string;\n end_time: string;\n total_points: string;\n points: string;\n rank: number;\n tier: number;\n}\n\nexport interface IndexerServerAllTimePoints {\n points: string;\n rank: number;\n tier: number;\n}\n\nexport interface IndexerServerPointsResponse {\n points_per_epoch: IndexerServerPointsEpoch[];\n all_time_points: IndexerServerAllTimePoints;\n}\n\nexport interface IndexerServerXPointsQuest {\n quest_type: string;\n points: string;\n}\n\nexport interface IndexerServerXPointsEpoch {\n epoch: number;\n description: string;\n start_time: string;\n end_time: string;\n total_points: string;\n rank: number;\n quests: IndexerServerXPointsQuest[];\n}\n\nexport interface IndexerServerXPointsAllTime {\n total_points: string;\n rank: number;\n quests: IndexerServerXPointsQuest[];\n}\n\nexport interface IndexerServerXPointsResponse {\n points_per_epoch: IndexerServerXPointsEpoch[];\n all_time_points: IndexerServerXPointsAllTime;\n}\n\nexport interface IndexerServerCashIncentivesEventMetadata {\n event_id: number;\n description: string;\n // UNIX timestamp in seconds\n epoch_start: string;\n // UNIX timestamp in seconds\n epoch_end: string;\n // x18 string\n max_volume: string;\n // x18 string\n max_reward: string;\n // x18 string\n min_volume: string;\n // x18 string\n min_reward: string;\n}\n\nexport interface IndexerServerCashIncentivesEventPlatform {\n // x18 string\n platform_volume: string;\n // x18 string\n unlocked_reward: string;\n}\n\nexport interface IndexerServerCashIncentivesEventWallet {\n // x18 string\n reward: string;\n}\n\nexport interface IndexerServerCashIncentivesEvent {\n metadata: IndexerServerCashIncentivesEventMetadata;\n platform: IndexerServerCashIncentivesEventPlatform;\n wallet: IndexerServerCashIncentivesEventWallet;\n}\n\nexport interface IndexerServerCashIncentivesWalletSummary {\n // x18 string\n total_reward: string;\n // x18 string\n claimable_reward: string;\n}\n\nexport interface IndexerServerCashIncentivesResponse {\n events: IndexerServerCashIncentivesEvent[];\n wallet_summary: IndexerServerCashIncentivesWalletSummary;\n}\n\nexport interface IndexerServerSocialConnectResponse {\n url: string;\n}\n\nexport interface IndexerServerSocialAccountsResponse {\n accounts: IndexerServerSocialAccount[];\n}\n\n// Response\nexport interface IndexerServerQueryResponseByType {\n account_snapshots: IndexerServerMultiSubaccountSnapshotsResponse;\n backlog: IndexerServerBacklogResponse;\n candlesticks: IndexerServerCandlesticksResponse;\n direct_deposit_address: IndexerServerDDAResponse;\n edge_candlesticks: IndexerEdgeServerCandlesticksResponse;\n edge_market_snapshots: IndexerEdgeServerMarketSnapshotsResponse;\n events: IndexerServerEventsResponse;\n fast_withdrawal_signature: IndexerServerFastWithdrawalSignatureResponse;\n funding_rate: IndexerServerFundingRateResponse;\n funding_rate_history: IndexerServerFundingRateHistoryResponse;\n funding_rates: IndexerServerFundingRatesResponse;\n interest_and_funding: IndexerServerInterestFundingResponse;\n leaderboard: IndexerServerLeaderboardResponse;\n leaderboard_contests: IndexerServerLeaderboardContestsResponse;\n leaderboard_rank: IndexerServerLeaderboardRankResponse;\n leaderboard_register: IndexerServerLeaderboardRegisterResponse;\n leaderboard_registrations: IndexerServerLeaderboardRegistrationsResponse;\n linked_signer_rate_limit: IndexerServerLinkedSignerResponse;\n maker_statistics: IndexerServerMakerStatisticsResponse;\n market_snapshots: IndexerServerMarketSnapshotsResponse;\n matches: IndexerServerMatchEventsResponse;\n oracle_price: IndexerServerOraclePricesResponse;\n orders: IndexerServerOrdersResponse;\n perp_prices: IndexerServerPerpPricesResponse;\n portfolio: IndexerServerPortfolioResponse;\n price: IndexerServerPriceResponse;\n product_snapshots: IndexerServerMultiProductsResponse;\n products: IndexerServerProductsResponse;\n referral_code: IndexerServerReferralCodeResponse;\n subaccounts: IndexerServerListSubaccountsResponse;\n quote_price: IndexerServerQuotePriceResponse;\n nlp_snapshots: IndexerServerNlpSnapshotsResponse;\n private_alpha_choice: IndexerServerPrivateAlphaChoiceResponse;\n nado_points: IndexerServerPointsResponse;\n nado_xpoints: IndexerServerXPointsResponse;\n cash_incentives: IndexerServerCashIncentivesResponse;\n social_connect: IndexerServerSocialConnectResponse;\n list_social_accounts: IndexerServerSocialAccountsResponse;\n revoke_social_account: IndexerServerSocialAccountsResponse;\n}\n\n/**\n * V2 API Types\n */\n\n/**\n * Individual ticker data from v2 indexer endpoint (server format)\n */\nexport interface IndexerServerV2TickerResponse {\n product_id: number;\n ticker_id: string;\n base_currency: string;\n quote_currency: string;\n last_price: number;\n base_volume: number;\n quote_volume: number;\n price_change_percent_24h: number;\n}\n\n/**\n * Response from v2 tickers endpoint (server format)\n * Maps ticker IDs to their respective ticker data\n */\nexport type IndexerServerV2TickersResponse = Record<\n string,\n IndexerServerV2TickerResponse\n>;\n\n/**\n * Market hours data from v2 symbols endpoint (server format)\n */\nexport interface IndexerServerV2MarketHours {\n is_open: boolean;\n reason: string | null;\n next_close: string | null;\n next_open: string | null;\n}\n\n/**\n * Individual symbol data from v2 indexer endpoint (server format)\n */\nexport interface IndexerServerV2Symbol {\n type: string;\n product_id: number;\n symbol: string;\n price_increment_x18: string;\n size_increment: string;\n min_size: string;\n maker_fee_rate_x18: string;\n taker_fee_rate_x18: string;\n long_weight_initial_x18: string;\n long_weight_maintenance_x18: string;\n /**\n * Defined only for perp markets with a max OI cap\n */\n max_open_interest_x18: string | null;\n /**\n * Defined only for xStocks spot markets\n */\n exchange_rate_x18: string | null;\n trading_status: string;\n isolated_only: boolean;\n market_hours: IndexerServerV2MarketHours | null;\n /**\n * Boost tier for products with rewards boosts. Null for non-boosted products.\n * 0 = none, 1 = taker 4x / maker 4x, 2 = taker 3x / maker 4x\n */\n boost_type: number | null;\n /**\n * Taker rewards multiplier. Null for non-boosted products.\n */\n taker_multiplier: number | null;\n /**\n * Maker rewards multiplier. Null for non-boosted products.\n */\n maker_multiplier: number | null;\n}\n\n/**\n * Response from v2 symbols endpoint (server format)\n * Maps symbols to their respective data\n */\nexport type IndexerServerV2SymbolsResponse = Record<\n string,\n IndexerServerV2Symbol\n>;\n\n/**\n * Wire `request_type` the indexer echoes on failure envelopes. The indexer's failure envelope is\n * keyed by route (`<verb>_<query_type>`), mirroring the engine and trigger services. Kept as a\n * `${string}_${string}` template to avoid enumerating the full set of v1 query types declared\n * above.\n */\nexport type IndexerServerRequestType = `${string}_${string}`;\n\n/**\n * Failure envelope returned by the indexer service API. Mirrors the failure shape used by the\n * engine and trigger services: a `status: 'failure'` discriminant plus an `error`/`error_code`\n * pair and the originating `request_type`. A response missing this envelope shape (e.g. a\n * malformed body, or a non-JSON response) is a transport-level error, not a domain error.\n *\n * The v2 REST endpoints do not return this envelope — they use plain HTTP error responses\n * without an `error_code` field.\n */\nexport interface IndexerServerFailureResponse {\n status: 'failure';\n error: string;\n error_code: number;\n request_type: IndexerServerRequestType;\n}\n\n/**\n * Narrows an unknown response body to the indexer service API failure envelope.\n */\nexport function isIndexerServerFailureResponse(\n data: unknown,\n): data is IndexerServerFailureResponse {\n return (\n typeof data === 'object' &&\n data !== null &&\n (data as Record<string, unknown>).status === 'failure'\n );\n}\n"],"mappings":";;;;AA8wBA,SAAgB,+BACd,MACsC;CACtC,OACE,OAAO,SAAS,YAChB,SAAS,QACR,KAAiC,WAAW;AAEjD"}
@@ -1,2 +1,2 @@
1
- import { n as calcIndexerPerpBalanceValue, r as calcIndexerSpotBalanceValue, t as calcIndexerPerpBalanceNotionalValue } from "../indexerBalanceValue-DyBxYbS1.cjs";
1
+ import { n as calcIndexerPerpBalanceValue, r as calcIndexerSpotBalanceValue, t as calcIndexerPerpBalanceNotionalValue } from "../indexerBalanceValue-DaLg1BCK.cjs";
2
2
  export { calcIndexerPerpBalanceNotionalValue, calcIndexerPerpBalanceValue, calcIndexerSpotBalanceValue };
@@ -1,2 +1,2 @@
1
- import { n as calcIndexerPerpBalanceValue, r as calcIndexerSpotBalanceValue, t as calcIndexerPerpBalanceNotionalValue } from "../indexerBalanceValue-Dz405nR_.js";
1
+ import { n as calcIndexerPerpBalanceValue, r as calcIndexerSpotBalanceValue, t as calcIndexerPerpBalanceNotionalValue } from "../indexerBalanceValue-CuM_RYc3.js";
2
2
  export { calcIndexerPerpBalanceNotionalValue, calcIndexerPerpBalanceValue, calcIndexerSpotBalanceValue };
@@ -1,2 +1,2 @@
1
- import { n as calcIndexerPerpBalanceValue, r as calcIndexerSpotBalanceValue, t as calcIndexerPerpBalanceNotionalValue } from "../indexerBalanceValue-DyBxYbS1.cjs";
1
+ import { n as calcIndexerPerpBalanceValue, r as calcIndexerSpotBalanceValue, t as calcIndexerPerpBalanceNotionalValue } from "../indexerBalanceValue-DaLg1BCK.cjs";
2
2
  export { calcIndexerPerpBalanceNotionalValue, calcIndexerPerpBalanceValue, calcIndexerSpotBalanceValue };
@@ -1,2 +1,2 @@
1
- import { n as calcIndexerPerpBalanceValue, r as calcIndexerSpotBalanceValue, t as calcIndexerPerpBalanceNotionalValue } from "../indexerBalanceValue-Dz405nR_.js";
1
+ import { n as calcIndexerPerpBalanceValue, r as calcIndexerSpotBalanceValue, t as calcIndexerPerpBalanceNotionalValue } from "../indexerBalanceValue-CuM_RYc3.js";
2
2
  export { calcIndexerPerpBalanceNotionalValue, calcIndexerPerpBalanceValue, calcIndexerSpotBalanceValue };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nadohq/indexer-client",
3
- "version": "0.31.0",
3
+ "version": "0.32.0",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "description": "HTTP client for the Nado indexer — historical data, events, and analytics queries",
@@ -41,8 +41,8 @@
41
41
  "module": "./dist/index.js",
42
42
  "types": "./dist/index.d.ts",
43
43
  "dependencies": {
44
- "@nadohq/engine-client": "^0.31.0",
45
- "@nadohq/shared": "^0.31.0",
44
+ "@nadohq/engine-client": "^0.32.0",
45
+ "@nadohq/shared": "^0.32.0",
46
46
  "axios": "1.16.1",
47
47
  "ts-mixer": "6.0.4"
48
48
  },
@@ -54,5 +54,5 @@
54
54
  "bignumber.js": "11.1.1",
55
55
  "viem": "2.52.0"
56
56
  },
57
- "gitHead": "64989d50de00614c9e437cbac5a6b5785e514df5"
57
+ "gitHead": "7785798d3026d745818c0b4676687dbb547e90ec"
58
58
  }
@@ -322,9 +322,14 @@ export class IndexerBaseClient {
322
322
  }
323
323
 
324
324
  /**
325
- * Retrieves a subaccount's account-value and PnL history across all
326
- * timeframes, keyed by period. The value aggregates the cross-margin account
327
- * plus every isolated child; the queried subaccount must be cross-margin.
325
+ * Retrieves a subaccount's account-value, PnL, traded-volume, average-trade-size,
326
+ * and markets-traded history across all timeframes, keyed by period. The value
327
+ * aggregates the cross-margin account plus every isolated child; the queried
328
+ * subaccount must be cross-margin.
329
+ *
330
+ * Points are downsampled per timeframe, so the most recent point can be up to
331
+ * ~20 minutes stale. For the exact live value, use the engine client's
332
+ * `getSubaccountSummary` query instead.
328
333
  *
329
334
  * @param params
330
335
  */
@@ -271,7 +271,13 @@ export function mapIndexerPortfolio(
271
271
  mapIndexerPortfolioPoint,
272
272
  ),
273
273
  pnlHistory: history.pnlHistory.map(mapIndexerPortfolioPoint),
274
- volume: toBigNumber(history.vlm),
274
+ volumeHistory: history.volumeHistory.map(mapIndexerPortfolioPoint),
275
+ tradeSizeHistory: history.tradeSizeHistory.map(
276
+ mapIndexerPortfolioPoint,
277
+ ),
278
+ marketCountHistory: history.marketCountHistory.map(
279
+ mapIndexerPortfolioPoint,
280
+ ),
275
281
  },
276
282
  ]),
277
283
  ) as GetIndexerPortfolioResponse;
@@ -262,19 +262,40 @@ export type IndexerPortfolioPeriod =
262
262
  export interface IndexerPortfolioPoint {
263
263
  // Unix seconds
264
264
  timestamp: BigNumber;
265
- // USDT0-denominated
265
+ // USDT0-denominated, except on `marketCountHistory`, where it is an integer count.
266
266
  value: BigNumber;
267
267
  }
268
268
 
269
+ /**
270
+ * All five series are aligned: same timestamps, same length. They share the same
271
+ * baseline — the first snapshot at or after the timeframe start — so every series
272
+ * except `accountValueHistory` begins at `0` and accumulates from there.
273
+ */
269
274
  export interface IndexerPortfolioHistory {
275
+ // Mark-to-market account value at each timestamp, USDT0-denominated.
270
276
  accountValueHistory: IndexerPortfolioPoint[];
271
277
  /**
272
278
  * Trading PnL over the timeframe, baseline-subtracted so the first visible
273
279
  * point is `0`. Capital flows (deposits/withdrawals/transfers) are netted out.
274
280
  */
275
281
  pnlHistory: IndexerPortfolioPoint[];
276
- // Total traded volume over the timeframe, USDT0-denominated.
277
- volume: BigNumber;
282
+ /**
283
+ * Cumulative traded quote volume within the timeframe up to each timestamp,
284
+ * USDT0-denominated.
285
+ */
286
+ volumeHistory: IndexerPortfolioPoint[];
287
+ /**
288
+ * Average trade size within the timeframe up to each timestamp — the
289
+ * timeframe's quote volume divided by its trade count, or `0` when no trades
290
+ * have occurred yet. A trade is a single fill, so an order matched against
291
+ * multiple resting orders counts once per fill.
292
+ */
293
+ tradeSizeHistory: IndexerPortfolioPoint[];
294
+ /**
295
+ * Number of distinct markets traded within the timeframe up to each
296
+ * timestamp. Only markets with at least one fill inside the timeframe count.
297
+ */
298
+ marketCountHistory: IndexerPortfolioPoint[];
278
299
  }
279
300
 
280
301
  export type GetIndexerPortfolioResponse = Record<
@@ -361,13 +361,19 @@ export type IndexerServerPortfolioPeriod =
361
361
  | 'perpMonth'
362
362
  | 'perpAllTime';
363
363
 
364
- // [timestamp (unix seconds), value] — both x18-free decimal strings, USDT0-denominated.
364
+ /**
365
+ * [timestamp (unix seconds), value] — both x18-free decimal strings. Values are
366
+ * USDT0-denominated, except `marketCountHistory` points, which are integer counts.
367
+ */
365
368
  export type IndexerServerPortfolioPoint = [string, string];
366
369
 
370
+ // All five series are aligned: same timestamps, same length.
367
371
  export interface IndexerServerPortfolioHistory {
368
372
  accountValueHistory: IndexerServerPortfolioPoint[];
369
373
  pnlHistory: IndexerServerPortfolioPoint[];
370
- vlm: string;
374
+ volumeHistory: IndexerServerPortfolioPoint[];
375
+ tradeSizeHistory: IndexerServerPortfolioPoint[];
376
+ marketCountHistory: IndexerServerPortfolioPoint[];
371
377
  }
372
378
 
373
379
  export type IndexerServerPortfolioResponse = [
@@ -1 +0,0 @@
1
- {"version":3,"file":"IndexerBaseClient-B7cApziU.cjs","names":["mapIndexerEvent","mapIndexerFundingRate","mapIndexerFundingRateHistory","mapIndexerPortfolio","mapIndexerPerpPrices","mapIndexerCandlesticks","mapIndexerServerProduct","mapIndexerEventWithTx","mapIndexerOrder","mapIndexerMatchEventBalances","mapIndexerProductPayment","mapSnapshotsIntervalToServerParams","mapIndexerMarketSnapshot","mapIndexerMakerStatistics","mapIndexerLeaderboardPosition","mapIndexerLeaderboardRegistration","mapIndexerLeaderboardContest","getValidatedHex","mapIndexerNlpSnapshot","mapIndexerV2Ticker","mapIndexerV2Symbols","WalletNotProvidedError","isIndexerServerFailureResponse","IndexerServerFailureError"],"sources":["../src/IndexerBaseClient.ts"],"sourcesContent":["import {\n EIP712LeaderboardAuthenticationParams,\n EIP712LeaderboardAuthenticationValues,\n EIP712SocialAuthenticationParams,\n getDefaultRecvTime,\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 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 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 URLs\n url: string;\n v2Url?: 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}\n\ntype IndexerQueryRequestBody = Partial<IndexerServerQueryRequestByType>;\n\n/**\n * Base client for all indexer requests\n */\nexport class IndexerBaseClient {\n readonly opts: IndexerClientOpts;\n readonly v2Url: 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 });\n this.v2Url = opts.v2Url ? opts.v2Url : opts.url.replace('v1', 'v2');\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 and PnL history across all\n * timeframes, keyed by period. The value aggregates the cross-margin account\n * plus every isolated child; the queried subaccount must be cross-margin.\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 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.query('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.query('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.query('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.query('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.query('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.query('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.query('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.query('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 (platform volume and unlocked rewards) for a given wallet address.\n * If no `eventId` is provided, the latest event is returned.\n * @param params\n */\n async getCashIncentives(\n params: GetIndexerCashIncentivesParams,\n ): Promise<GetIndexerCashIncentivesResponse> {\n const baseResponse = await this.query('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 },\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.query('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.query('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.query('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 async query<TRequestType extends IndexerServerQueryRequestType>(\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 >(this.opts.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 +0,0 @@
1
- {"version":3,"file":"clientTypes-B9CLpWyr.d.ts","names":[],"sources":["../src/types/src/types/clientTypes.ts"],"mappings":"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"}