@nadohq/indexer-client 0.14.0 → 0.17.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 (155) hide show
  1. package/dist/CandlestickPeriod-1DtcEiOb.d.ts +15 -0
  2. package/dist/CandlestickPeriod-1DtcEiOb.d.ts.map +1 -0
  3. package/dist/CandlestickPeriod-D3_IoSev.d.cts +15 -0
  4. package/dist/CandlestickPeriod-D3_IoSev.d.cts.map +1 -0
  5. package/dist/IndexerBaseClient-3KfzA2ph.cjs +639 -0
  6. package/dist/IndexerBaseClient-3KfzA2ph.cjs.map +1 -0
  7. package/dist/IndexerBaseClient.cjs +3 -788
  8. package/dist/IndexerBaseClient.d.cts +223 -229
  9. package/dist/IndexerBaseClient.d.cts.map +1 -0
  10. package/dist/IndexerBaseClient.d.ts +223 -229
  11. package/dist/IndexerBaseClient.d.ts.map +1 -0
  12. package/dist/IndexerBaseClient.js +601 -783
  13. package/dist/IndexerBaseClient.js.map +1 -1
  14. package/dist/IndexerClient.cjs +275 -381
  15. package/dist/IndexerClient.cjs.map +1 -1
  16. package/dist/IndexerClient.d.cts +32 -43
  17. package/dist/IndexerClient.d.cts.map +1 -0
  18. package/dist/IndexerClient.d.ts +32 -43
  19. package/dist/IndexerClient.d.ts.map +1 -0
  20. package/dist/IndexerClient.js +273 -362
  21. package/dist/IndexerClient.js.map +1 -1
  22. package/dist/IndexerEventType-B-uXsf-a.d.cts +5 -0
  23. package/dist/IndexerEventType-B-uXsf-a.d.cts.map +1 -0
  24. package/dist/IndexerEventType-DCLkSlgR.d.ts +5 -0
  25. package/dist/IndexerEventType-DCLkSlgR.d.ts.map +1 -0
  26. package/dist/IndexerLeaderboardType-Ck12QVWR.d.cts +13 -0
  27. package/dist/IndexerLeaderboardType-Ck12QVWR.d.cts.map +1 -0
  28. package/dist/IndexerLeaderboardType-DAKw2tfI.d.ts +13 -0
  29. package/dist/IndexerLeaderboardType-DAKw2tfI.d.ts.map +1 -0
  30. package/dist/NadoTx-CWCklgY4.d.ts +50 -0
  31. package/dist/NadoTx-CWCklgY4.d.ts.map +1 -0
  32. package/dist/NadoTx-MYNIlXyq.d.cts +50 -0
  33. package/dist/NadoTx-MYNIlXyq.d.cts.map +1 -0
  34. package/dist/clientTypes-BpxOUu1q.d.ts +709 -0
  35. package/dist/clientTypes-BpxOUu1q.d.ts.map +1 -0
  36. package/dist/clientTypes-BsJ2yIC4.d.cts +709 -0
  37. package/dist/clientTypes-BsJ2yIC4.d.cts.map +1 -0
  38. package/dist/collateralEventType-CzH_2iTV.d.ts +5 -0
  39. package/dist/collateralEventType-CzH_2iTV.d.ts.map +1 -0
  40. package/dist/collateralEventType-DIm6Te7F.d.cts +5 -0
  41. package/dist/collateralEventType-DIm6Te7F.d.cts.map +1 -0
  42. package/dist/dataMappers.cjs +269 -346
  43. package/dist/dataMappers.cjs.map +1 -1
  44. package/dist/dataMappers.d.cts +7 -12
  45. package/dist/dataMappers.d.cts.map +1 -0
  46. package/dist/dataMappers.d.ts +7 -12
  47. package/dist/dataMappers.d.ts.map +1 -0
  48. package/dist/dataMappers.js +248 -314
  49. package/dist/dataMappers.js.map +1 -1
  50. package/dist/endpoints.cjs +8 -32
  51. package/dist/endpoints.cjs.map +1 -1
  52. package/dist/endpoints.d.cts +4 -2
  53. package/dist/endpoints.d.cts.map +1 -0
  54. package/dist/endpoints.d.ts +4 -2
  55. package/dist/endpoints.d.ts.map +1 -0
  56. package/dist/endpoints.js +8 -8
  57. package/dist/endpoints.js.map +1 -1
  58. package/dist/index-D6CnpA_r.d.cts +1 -0
  59. package/dist/index-DhI2LvVQ.d.ts +1 -0
  60. package/dist/index.cjs +15 -33
  61. package/dist/index.d.cts +14 -18
  62. package/dist/index.d.ts +14 -18
  63. package/dist/index.js +8 -7
  64. package/dist/indexerBalanceValue-4AuNuTAc.d.cts +32 -0
  65. package/dist/indexerBalanceValue-4AuNuTAc.d.cts.map +1 -0
  66. package/dist/indexerBalanceValue-B0OggI67.d.ts +32 -0
  67. package/dist/indexerBalanceValue-B0OggI67.d.ts.map +1 -0
  68. package/dist/paginatedEventsTypes-DtGDU-kI.d.cts +110 -0
  69. package/dist/paginatedEventsTypes-DtGDU-kI.d.cts.map +1 -0
  70. package/dist/paginatedEventsTypes-RwXoQrEa.d.ts +110 -0
  71. package/dist/paginatedEventsTypes-RwXoQrEa.d.ts.map +1 -0
  72. package/dist/serverModelTypes-CM2g040o.d.cts +262 -0
  73. package/dist/serverModelTypes-CM2g040o.d.cts.map +1 -0
  74. package/dist/serverModelTypes-DPHMUSZe.d.ts +262 -0
  75. package/dist/serverModelTypes-DPHMUSZe.d.ts.map +1 -0
  76. package/dist/serverTypes-BMSNh2GK.d.cts +452 -0
  77. package/dist/serverTypes-BMSNh2GK.d.cts.map +1 -0
  78. package/dist/serverTypes-c8IABU73.d.ts +452 -0
  79. package/dist/serverTypes-c8IABU73.d.ts.map +1 -0
  80. package/dist/types/CandlestickPeriod.cjs +16 -40
  81. package/dist/types/CandlestickPeriod.cjs.map +1 -1
  82. package/dist/types/CandlestickPeriod.d.cts +2 -13
  83. package/dist/types/CandlestickPeriod.d.ts +2 -13
  84. package/dist/types/CandlestickPeriod.js +16 -16
  85. package/dist/types/CandlestickPeriod.js.map +1 -1
  86. package/dist/types/IndexerEventType.cjs +0 -19
  87. package/dist/types/IndexerEventType.d.cts +2 -3
  88. package/dist/types/IndexerEventType.d.ts +2 -3
  89. package/dist/types/IndexerEventType.js +1 -1
  90. package/dist/types/IndexerLeaderboardType.cjs +0 -19
  91. package/dist/types/IndexerLeaderboardType.d.cts +2 -11
  92. package/dist/types/IndexerLeaderboardType.d.ts +2 -11
  93. package/dist/types/IndexerLeaderboardType.js +1 -1
  94. package/dist/types/NadoTx.cjs +0 -19
  95. package/dist/types/NadoTx.d.cts +2 -48
  96. package/dist/types/NadoTx.d.ts +2 -48
  97. package/dist/types/NadoTx.js +1 -1
  98. package/dist/types/clientTypes.cjs +0 -19
  99. package/dist/types/clientTypes.d.cts +2 -709
  100. package/dist/types/clientTypes.d.ts +2 -709
  101. package/dist/types/clientTypes.js +1 -1
  102. package/dist/types/collateralEventType.cjs +0 -19
  103. package/dist/types/collateralEventType.d.cts +2 -3
  104. package/dist/types/collateralEventType.d.ts +2 -3
  105. package/dist/types/collateralEventType.js +1 -1
  106. package/dist/types/index.cjs +3 -41
  107. package/dist/types/index.d.cts +10 -13
  108. package/dist/types/index.d.ts +10 -13
  109. package/dist/types/index.js +2 -11
  110. package/dist/types/paginatedEventsTypes.cjs +0 -19
  111. package/dist/types/paginatedEventsTypes.d.cts +2 -115
  112. package/dist/types/paginatedEventsTypes.d.ts +2 -115
  113. package/dist/types/paginatedEventsTypes.js +1 -1
  114. package/dist/types/serverModelTypes.cjs +0 -19
  115. package/dist/types/serverModelTypes.d.cts +2 -260
  116. package/dist/types/serverModelTypes.d.ts +2 -260
  117. package/dist/types/serverModelTypes.js +1 -1
  118. package/dist/types/serverTypes.cjs +0 -19
  119. package/dist/types/serverTypes.d.cts +2 -451
  120. package/dist/types/serverTypes.d.ts +2 -451
  121. package/dist/types/serverTypes.js +1 -1
  122. package/dist/utils/index.cjs +5 -25
  123. package/dist/utils/index.d.cts +2 -12
  124. package/dist/utils/index.d.ts +2 -12
  125. package/dist/utils/index.js +2 -3
  126. package/dist/utils/indexerBalanceValue.cjs +32 -36
  127. package/dist/utils/indexerBalanceValue.cjs.map +1 -1
  128. package/dist/utils/indexerBalanceValue.d.cts +2 -39
  129. package/dist/utils/indexerBalanceValue.d.ts +2 -39
  130. package/dist/utils/indexerBalanceValue.js +29 -9
  131. package/dist/utils/indexerBalanceValue.js.map +1 -1
  132. package/package.json +10 -10
  133. package/dist/IndexerBaseClient.cjs.map +0 -1
  134. package/dist/index.cjs.map +0 -1
  135. package/dist/index.js.map +0 -1
  136. package/dist/types/IndexerEventType.cjs.map +0 -1
  137. package/dist/types/IndexerEventType.js.map +0 -1
  138. package/dist/types/IndexerLeaderboardType.cjs.map +0 -1
  139. package/dist/types/IndexerLeaderboardType.js.map +0 -1
  140. package/dist/types/NadoTx.cjs.map +0 -1
  141. package/dist/types/NadoTx.js.map +0 -1
  142. package/dist/types/clientTypes.cjs.map +0 -1
  143. package/dist/types/clientTypes.js.map +0 -1
  144. package/dist/types/collateralEventType.cjs.map +0 -1
  145. package/dist/types/collateralEventType.js.map +0 -1
  146. package/dist/types/index.cjs.map +0 -1
  147. package/dist/types/index.js.map +0 -1
  148. package/dist/types/paginatedEventsTypes.cjs.map +0 -1
  149. package/dist/types/paginatedEventsTypes.js.map +0 -1
  150. package/dist/types/serverModelTypes.cjs.map +0 -1
  151. package/dist/types/serverModelTypes.js.map +0 -1
  152. package/dist/types/serverTypes.cjs.map +0 -1
  153. package/dist/types/serverTypes.js.map +0 -1
  154. package/dist/utils/index.cjs.map +0 -1
  155. package/dist/utils/index.js.map +0 -1
@@ -0,0 +1,709 @@
1
+ import { t as CandlestickPeriod } from "./CandlestickPeriod-1DtcEiOb.js";
2
+ import { t as IndexerEventType } from "./IndexerEventType-DCLkSlgR.js";
3
+ import { t as IndexerLeaderboardRankType } from "./IndexerLeaderboardType-DAKw2tfI.js";
4
+ import { o as NadoTx, s as NadoWithdrawCollateralTx } from "./NadoTx-CWCklgY4.js";
5
+ import { F as IndexerServerListSubaccountsParams, p as IndexerServerFastWithdrawalSignatureParams, xt as IndexerServerTriggerTypeFilter } from "./serverTypes-c8IABU73.js";
6
+ import { EIP712OrderValues, Market, OrderAppendix, PerpBalance, PerpMarket, ProductEngineType, SpotBalance, SpotMarket, Subaccount } from "@nadohq/shared";
7
+ import BigNumber from "bignumber.js";
8
+ import { Address, Hex } from "viem";
9
+
10
+ //#region src/types/clientTypes.d.ts
11
+ /**
12
+ * Base types
13
+ */
14
+ type IndexerSpotBalance = Omit<SpotBalance, 'healthContributions'>;
15
+ type IndexerPerpBalance = Omit<PerpBalance, 'healthContributions'>;
16
+ interface IndexerEventSpotStateSnapshot {
17
+ type: ProductEngineType.SPOT;
18
+ preBalance: IndexerSpotBalance;
19
+ postBalance: IndexerSpotBalance;
20
+ market: SpotMarket;
21
+ }
22
+ interface IndexerEventPerpStateSnapshot {
23
+ type: ProductEngineType.PERP;
24
+ preBalance: IndexerPerpBalance;
25
+ postBalance: IndexerPerpBalance;
26
+ market: PerpMarket;
27
+ }
28
+ type IndexerEventBalanceStateSnapshot = IndexerEventSpotStateSnapshot | IndexerEventPerpStateSnapshot;
29
+ interface IndexerBalanceTrackedVars {
30
+ netInterestUnrealized: BigNumber;
31
+ netInterestCumulative: BigNumber;
32
+ netFundingUnrealized: BigNumber;
33
+ netFundingCumulative: BigNumber;
34
+ netEntryUnrealized: BigNumber;
35
+ netEntryCumulative: BigNumber;
36
+ quoteVolumeCumulative: BigNumber;
37
+ }
38
+ interface IndexerEvent<TStateType extends IndexerEventBalanceStateSnapshot = IndexerEventBalanceStateSnapshot> {
39
+ subaccount: string;
40
+ isolated: boolean;
41
+ isolatedProductId: number | null;
42
+ productId: number;
43
+ submissionIndex: string;
44
+ eventType: IndexerEventType;
45
+ state: TStateType;
46
+ trackedVars: IndexerBalanceTrackedVars;
47
+ }
48
+ interface IndexerEventWithTx<TStateType extends IndexerEventBalanceStateSnapshot = IndexerEventBalanceStateSnapshot> extends IndexerEvent<TStateType> {
49
+ timestamp: BigNumber;
50
+ tx: NadoTx;
51
+ }
52
+ /**
53
+ * List subaccounts
54
+ */
55
+ type ListIndexerSubaccountsParams = IndexerServerListSubaccountsParams;
56
+ type ListIndexerSubaccountsResponse = ({
57
+ hexId: string;
58
+ createdAt: number;
59
+ isolated: boolean;
60
+ } & Subaccount)[];
61
+ /**
62
+ * Subaccount snapshots
63
+ */
64
+ interface GetIndexerMultiSubaccountSnapshotsParams {
65
+ subaccounts: Subaccount[];
66
+ timestamps: number[];
67
+ isolated?: boolean;
68
+ }
69
+ type IndexerSnapshotBalance<TStateType extends IndexerEventBalanceStateSnapshot = IndexerEventBalanceStateSnapshot> = IndexerEvent<TStateType>;
70
+ interface IndexerSubaccountSnapshot {
71
+ timestamp: BigNumber;
72
+ balances: IndexerSnapshotBalance[];
73
+ }
74
+ interface GetIndexerMultiSubaccountSnapshotsResponse {
75
+ subaccountHexIds: string[];
76
+ snapshots: Record<string, Record<string, IndexerSubaccountSnapshot>>;
77
+ }
78
+ /**
79
+ * Perp prices
80
+ */
81
+ interface GetIndexerPerpPricesParams {
82
+ productId: number;
83
+ }
84
+ interface IndexerPerpPrices {
85
+ productId: number;
86
+ indexPrice: BigNumber;
87
+ markPrice: BigNumber;
88
+ updateTime: BigNumber;
89
+ }
90
+ type GetIndexerPerpPricesResponse = IndexerPerpPrices;
91
+ interface GetIndexerMultiProductPerpPricesParams {
92
+ productIds: number[];
93
+ }
94
+ type GetIndexerMultiProductPerpPricesResponse = Record<number, IndexerPerpPrices>;
95
+ /**
96
+ * Oracle prices
97
+ */
98
+ interface GetIndexerOraclePricesParams {
99
+ productIds: number[];
100
+ }
101
+ interface IndexerOraclePrice {
102
+ productId: number;
103
+ oraclePrice: BigNumber;
104
+ updateTime: BigNumber;
105
+ }
106
+ type GetIndexerOraclePricesResponse = IndexerOraclePrice[];
107
+ /**
108
+ * Funding rates
109
+ */
110
+ interface GetIndexerFundingRateParams {
111
+ productId: number;
112
+ }
113
+ interface IndexerFundingRate {
114
+ productId: number;
115
+ fundingRate: BigNumber;
116
+ updateTime: BigNumber;
117
+ }
118
+ type GetIndexerFundingRateResponse = IndexerFundingRate;
119
+ interface GetIndexerMultiProductFundingRatesParams {
120
+ productIds: number[];
121
+ }
122
+ type GetIndexerMultiProductFundingRatesResponse = Record<number, IndexerFundingRate>;
123
+ /**
124
+ * Candlesticks
125
+ */
126
+ interface GetIndexerCandlesticksParams {
127
+ productId: number;
128
+ period: CandlestickPeriod;
129
+ maxTimeInclusive?: number;
130
+ limit: number;
131
+ }
132
+ interface Candlestick {
133
+ time: BigNumber;
134
+ open: BigNumber;
135
+ high: BigNumber;
136
+ low: BigNumber;
137
+ close: BigNumber;
138
+ volume: BigNumber;
139
+ }
140
+ type GetIndexerCandlesticksResponse = Candlestick[];
141
+ type GetIndexerEdgeCandlesticksResponse = GetIndexerCandlesticksResponse;
142
+ type GetIndexerEdgeCandlesticksParams = GetIndexerCandlesticksParams;
143
+ /**
144
+ * Product snapshots
145
+ */
146
+ interface GetIndexerProductSnapshotsParams {
147
+ startCursor?: string;
148
+ productId: number;
149
+ maxTimestampInclusive?: number;
150
+ limit: number;
151
+ }
152
+ interface IndexerProductSnapshot extends Market {
153
+ submissionIndex: string;
154
+ }
155
+ type GetIndexerProductSnapshotsResponse = IndexerProductSnapshot[];
156
+ interface GetIndexerMultiProductSnapshotsParams {
157
+ productIds: number[];
158
+ maxTimestampInclusive?: number[];
159
+ }
160
+ type GetIndexerMultiProductSnapshotsResponse = Record<string, Record<number, IndexerProductSnapshot>>;
161
+ interface IndexerSnapshotsIntervalParams {
162
+ /** Currently accepts all integers, in seconds */
163
+ granularity: number;
164
+ /**
165
+ * Optional upper bound for snapshot timestamps (in seconds).
166
+ * Without this, snapshots will default to align with last UTC midnight,
167
+ * which can make "Last 24h" metrics inaccurate.
168
+ */
169
+ maxTimeInclusive?: number;
170
+ limit: number;
171
+ }
172
+ /**
173
+ * Market snapshots
174
+ */
175
+ interface GetIndexerMarketSnapshotsParams extends IndexerSnapshotsIntervalParams {
176
+ productIds?: number[];
177
+ }
178
+ interface IndexerMarketSnapshot {
179
+ timestamp: BigNumber;
180
+ cumulativeUsers: BigNumber;
181
+ dailyActiveUsers: BigNumber;
182
+ tvl: BigNumber;
183
+ cumulativeVolumes: Record<number, BigNumber>;
184
+ cumulativeTakerFees: Record<number, BigNumber>;
185
+ cumulativeSequencerFees: Record<number, BigNumber>;
186
+ cumulativeMakerFees: Record<number, BigNumber>;
187
+ cumulativeTrades: Record<number, BigNumber>;
188
+ cumulativeLiquidationAmounts: Record<number, BigNumber>;
189
+ openInterestsQuote: Record<number, BigNumber>;
190
+ totalDeposits: Record<number, BigNumber>;
191
+ totalBorrows: Record<number, BigNumber>;
192
+ fundingRates: Record<number, BigNumber>;
193
+ depositRates: Record<number, BigNumber>;
194
+ borrowRates: Record<number, BigNumber>;
195
+ cumulativeTradeSizes: Record<number, BigNumber>;
196
+ cumulativeInflows: Record<number, BigNumber>;
197
+ cumulativeOutflows: Record<number, BigNumber>;
198
+ oraclePrices: Record<number, BigNumber>;
199
+ }
200
+ type GetIndexerMarketSnapshotsResponse = IndexerMarketSnapshot[];
201
+ type GetIndexerEdgeMarketSnapshotsParams = IndexerSnapshotsIntervalParams;
202
+ type GetIndexerEdgeMarketSnapshotResponse = Record<number, IndexerMarketSnapshot[]>;
203
+ /**
204
+ * Events
205
+ */
206
+ type GetIndexerEventsLimitType = 'events' | 'txs';
207
+ interface GetIndexerEventsParams {
208
+ startCursor?: string;
209
+ subaccounts?: Subaccount[];
210
+ productIds?: number[];
211
+ isolated?: boolean;
212
+ eventTypes?: IndexerEventType[];
213
+ maxTimestampInclusive?: number;
214
+ desc?: boolean;
215
+ limit?: {
216
+ type: GetIndexerEventsLimitType;
217
+ value: number;
218
+ };
219
+ }
220
+ type GetIndexerEventsResponse = IndexerEventWithTx[];
221
+ /**
222
+ * Historical orders
223
+ */
224
+ interface GetIndexerOrdersParams {
225
+ startCursor?: string;
226
+ subaccounts?: Subaccount[];
227
+ minTimestampInclusive?: number;
228
+ maxTimestampInclusive?: number;
229
+ limit?: number;
230
+ productIds?: number[];
231
+ triggerTypes?: IndexerServerTriggerTypeFilter[];
232
+ isolated?: boolean;
233
+ digests?: string[];
234
+ }
235
+ interface IndexerOrder {
236
+ digest: string;
237
+ subaccount: string;
238
+ productId: number;
239
+ submissionIndex: string;
240
+ lastFillSubmissionIndex: string;
241
+ amount: BigNumber;
242
+ price: BigNumber;
243
+ expiration: number;
244
+ appendix: OrderAppendix;
245
+ nonce: BigNumber;
246
+ isolated: boolean;
247
+ recvTimeSeconds: number;
248
+ baseFilled: BigNumber;
249
+ quoteFilled: BigNumber;
250
+ totalFee: BigNumber;
251
+ builderFee: BigNumber;
252
+ realizedPnl: BigNumber;
253
+ closedAmount: BigNumber;
254
+ closedNetEntry: BigNumber;
255
+ preCloseMargin: BigNumber | null;
256
+ firstFillTimestamp: BigNumber;
257
+ lastFillTimestamp: BigNumber;
258
+ /** Balances before the order was filled */
259
+ preBalances: IndexerMatchEventBalances;
260
+ /** Balances after the order was filled */
261
+ postBalances: IndexerMatchEventBalances;
262
+ }
263
+ type GetIndexerOrdersResponse = IndexerOrder[];
264
+ /**
265
+ * Match events
266
+ */
267
+ interface GetIndexerMatchEventsParams {
268
+ subaccounts?: Subaccount[];
269
+ productIds?: number[];
270
+ isolated?: boolean;
271
+ maxTimestampInclusive?: number;
272
+ limit: number;
273
+ startCursor?: string;
274
+ }
275
+ interface IndexerMatchEventBalances {
276
+ base: IndexerSpotBalance | IndexerPerpBalance;
277
+ quote?: IndexerSpotBalance;
278
+ }
279
+ interface IndexerMatchEvent extends Subaccount {
280
+ productId: number;
281
+ digest: string;
282
+ isolated: boolean;
283
+ order: EIP712OrderValues;
284
+ baseFilled: BigNumber;
285
+ quoteFilled: BigNumber;
286
+ totalFee: BigNumber;
287
+ sequencerFee: BigNumber;
288
+ builderFee: BigNumber;
289
+ cumulativeBaseFilled: BigNumber;
290
+ cumulativeQuoteFilled: BigNumber;
291
+ cumulativeFee: BigNumber;
292
+ submissionIndex: string;
293
+ timestamp: BigNumber;
294
+ isTaker: boolean;
295
+ preEventTrackedVars: Pick<IndexerBalanceTrackedVars, 'netEntryCumulative' | 'netEntryUnrealized'>;
296
+ preBalances: IndexerMatchEventBalances;
297
+ postBalances: IndexerMatchEventBalances;
298
+ tx: NadoTx;
299
+ realizedPnl: BigNumber;
300
+ closedAmount: BigNumber;
301
+ closedNetEntry: BigNumber;
302
+ margin: BigNumber | null;
303
+ }
304
+ type GetIndexerMatchEventsResponse = IndexerMatchEvent[];
305
+ /**
306
+ * Quote price
307
+ */
308
+ interface GetIndexerQuotePriceResponse {
309
+ price: BigNumber;
310
+ }
311
+ /**
312
+ * Linked Signer
313
+ */
314
+ interface GetIndexerLinkedSignerParams {
315
+ subaccount: Subaccount;
316
+ }
317
+ interface GetIndexerLinkedSignerResponse {
318
+ totalTxLimit: BigNumber;
319
+ remainingTxs: BigNumber;
320
+ waitTimeUntilNextTx: BigNumber;
321
+ signer: string;
322
+ }
323
+ /**
324
+ * Interest / funding payments
325
+ */
326
+ interface GetIndexerInterestFundingPaymentsParams {
327
+ subaccount: Subaccount;
328
+ productIds: number[];
329
+ maxTimestampInclusive?: number;
330
+ limit: number;
331
+ startCursor?: string;
332
+ }
333
+ interface IndexerProductPayment {
334
+ productId: number;
335
+ submissionIndex: string;
336
+ timestamp: BigNumber;
337
+ paymentAmount: BigNumber;
338
+ balanceAmount: BigNumber;
339
+ annualPaymentRate: BigNumber;
340
+ oraclePrice: BigNumber;
341
+ isolated: boolean;
342
+ isolatedProductId: number | null;
343
+ }
344
+ interface GetIndexerInterestFundingPaymentsResponse {
345
+ interestPayments: IndexerProductPayment[];
346
+ fundingPayments: IndexerProductPayment[];
347
+ nextCursor: string | null;
348
+ }
349
+ /**
350
+ * Referral code
351
+ */
352
+ interface GetIndexerReferralCodeParams {
353
+ subaccount: Subaccount;
354
+ }
355
+ interface GetIndexerReferralCodeResponse {
356
+ referralCode: string | null;
357
+ }
358
+ /**
359
+ * Maker stats
360
+ */
361
+ interface GetIndexerMakerStatisticsParams {
362
+ productId: number;
363
+ epoch: number;
364
+ interval: number;
365
+ }
366
+ interface IndexerMakerSnapshot {
367
+ timestamp: BigNumber;
368
+ makerFee: BigNumber;
369
+ uptime: BigNumber;
370
+ sumQMin: BigNumber;
371
+ qScore: BigNumber;
372
+ makerShare: BigNumber;
373
+ expectedMakerReward: BigNumber;
374
+ }
375
+ interface IndexerMaker {
376
+ address: string;
377
+ snapshots: IndexerMakerSnapshot[];
378
+ }
379
+ interface GetIndexerMakerStatisticsResponse {
380
+ rewardCoefficient: BigNumber;
381
+ makers: IndexerMaker[];
382
+ }
383
+ /**
384
+ * Leaderboards
385
+ */
386
+ interface GetIndexerLeaderboardParams {
387
+ contestId: number;
388
+ /**
389
+ * The ranking metric to query by.
390
+ * Optional for single-track contests (auto-selects the only track).
391
+ * Required for multi-track contests — omitting it returns an error.
392
+ */
393
+ rankType?: IndexerLeaderboardRankType;
394
+ startCursor?: string;
395
+ limit?: number;
396
+ /** Sort order. Defaults to `'DESC'`. */
397
+ order?: 'ASC' | 'DESC';
398
+ }
399
+ interface IndexerSocialAccountInfo {
400
+ provider: 'twitter';
401
+ username: string;
402
+ displayName: string;
403
+ profileImageUrl: string;
404
+ }
405
+ interface IndexerLeaderboardTrackPosition {
406
+ value: BigNumber;
407
+ rank: BigNumber;
408
+ qualificationStatus: 'qualified' | 'insufficient_account_value';
409
+ }
410
+ interface IndexerLeaderboardParticipant {
411
+ subaccount: Subaccount;
412
+ contestId: number;
413
+ accountValue: BigNumber;
414
+ updateTime: BigNumber;
415
+ tracks: Partial<Record<IndexerLeaderboardRankType, IndexerLeaderboardTrackPosition>>;
416
+ socialAccounts: IndexerSocialAccountInfo[];
417
+ }
418
+ interface GetIndexerLeaderboardResponse {
419
+ participants: IndexerLeaderboardParticipant[];
420
+ }
421
+ interface GetIndexerLeaderboardParticipantParams {
422
+ contestIds: number[];
423
+ subaccount: Subaccount;
424
+ }
425
+ interface GetIndexerLeaderboardParticipantResponse {
426
+ participant: Record<string, IndexerLeaderboardParticipant>;
427
+ }
428
+ interface SignatureParams {
429
+ verifyingAddr: string;
430
+ chainId: number;
431
+ }
432
+ interface GetIndexerLeaderboardRegistrationsParams {
433
+ subaccount: Subaccount;
434
+ /** Filter by contest IDs. Omit to return all. */
435
+ contestIds?: number[];
436
+ /** Filter by contest active status. `true` = active only, `false` = inactive only, omit for all. */
437
+ active?: boolean;
438
+ }
439
+ interface RegisterLeaderboardParams extends Subaccount, SignatureParams {
440
+ contestIds: number[];
441
+ /** In millis, defaults to 90s in the future. */
442
+ recvTime?: BigNumber;
443
+ }
444
+ interface IndexerLeaderboardRegistration {
445
+ subaccount: Subaccount;
446
+ contestId: number;
447
+ updateTime: BigNumber;
448
+ }
449
+ interface GetIndexerLeaderboardRegistrationsResponse {
450
+ registrations: IndexerLeaderboardRegistration[];
451
+ }
452
+ type RegisterLeaderboardResponse = GetIndexerLeaderboardRegistrationsResponse;
453
+ interface GetIndexerLeaderboardContestsParams {
454
+ /** Filter by contest IDs. Omit to return all. */
455
+ contestIds?: number[];
456
+ /** Filter by contest active status. `true` = active only, `false` = inactive only, omit for all. */
457
+ active?: boolean;
458
+ }
459
+ interface IndexerLeaderboardContestTrack {
460
+ trackId: number;
461
+ rankType: IndexerLeaderboardRankType;
462
+ sortOrder: 'ASC' | 'DESC';
463
+ minRequiredAccountValue: BigNumber;
464
+ }
465
+ interface IndexerLeaderboardContest {
466
+ contestId: number;
467
+ startTime: BigNumber;
468
+ endTime: BigNumber;
469
+ lastUpdated: BigNumber;
470
+ totalParticipants: BigNumber;
471
+ requiredProductIds: number[];
472
+ active: boolean;
473
+ title: string;
474
+ description: string;
475
+ tracks: IndexerLeaderboardContestTrack[];
476
+ }
477
+ interface GetIndexerLeaderboardContestsResponse {
478
+ contests: IndexerLeaderboardContest[];
479
+ }
480
+ /**
481
+ * Social Accounts
482
+ */
483
+ interface ConnectSocialAccountParams extends Subaccount, SignatureParams {
484
+ provider: 'twitter';
485
+ /** In millis, defaults to 90s in the future. */
486
+ recvTime?: BigNumber;
487
+ }
488
+ interface ConnectSocialAccountResponse {
489
+ url: string;
490
+ }
491
+ interface ListIndexerSocialAccountsParams {
492
+ address: Address;
493
+ }
494
+ interface ListIndexerSocialAccountsResponse {
495
+ accounts: IndexerSocialAccountInfo[];
496
+ }
497
+ type RevokeSocialAccountParams = ConnectSocialAccountParams;
498
+ type RevokeSocialAccountResponse = ListIndexerSocialAccountsResponse;
499
+ type GetIndexerFastWithdrawalSignatureParams = IndexerServerFastWithdrawalSignatureParams;
500
+ interface GetIndexerFastWithdrawalSignatureResponse {
501
+ idx: bigint;
502
+ tx: NadoWithdrawCollateralTx['withdraw_collateral'];
503
+ txBytes: Hex;
504
+ signatures: Hex[];
505
+ }
506
+ /**
507
+ * NLP
508
+ */
509
+ type GetIndexerNlpSnapshotsParams = IndexerSnapshotsIntervalParams;
510
+ interface IndexerNlpSnapshot {
511
+ submissionIndex: string;
512
+ timestamp: BigNumber;
513
+ cumulativeVolume: BigNumber;
514
+ cumulativeTrades: BigNumber;
515
+ cumulativeMintAmountQuote: BigNumber;
516
+ cumulativeBurnAmountQuote: BigNumber;
517
+ cumulativePnl: BigNumber;
518
+ tvl: BigNumber;
519
+ oraclePrice: BigNumber;
520
+ depositors: BigNumber;
521
+ }
522
+ interface GetIndexerNlpSnapshotsResponse {
523
+ snapshots: IndexerNlpSnapshot[];
524
+ }
525
+ interface GetIndexerBacklogResponse {
526
+ totalTxs: BigNumber;
527
+ totalSubmissions: BigNumber;
528
+ backlogSize: BigNumber;
529
+ updatedAt: BigNumber;
530
+ backlogEtaInSeconds: BigNumber | null;
531
+ txsPerSecond: BigNumber | null;
532
+ }
533
+ interface GetIndexerSubaccountDDAParams {
534
+ subaccount: Subaccount;
535
+ }
536
+ interface GetIndexerSubaccountDDAResponse {
537
+ address: Address;
538
+ }
539
+ /**
540
+ * Private Alpha Choice
541
+ */
542
+ interface GetIndexerPrivateAlphaChoiceParams {
543
+ address: Address;
544
+ }
545
+ interface GetIndexerPrivateAlphaChoiceResponse {
546
+ points: BigNumber;
547
+ feeRefund: BigNumber;
548
+ nftEligibility: boolean;
549
+ }
550
+ /**
551
+ * Nado Points
552
+ */
553
+ interface GetIndexerPointsParams {
554
+ address: Address;
555
+ }
556
+ interface IndexerPointsEpoch {
557
+ epoch: number;
558
+ description: string;
559
+ /** Unix timestamp in seconds */
560
+ startTime: BigNumber;
561
+ /** Unix timestamp in seconds */
562
+ endTime: BigNumber;
563
+ totalPoints: BigNumber;
564
+ points: BigNumber;
565
+ rank: number;
566
+ tier: number;
567
+ }
568
+ interface IndexerAllTimePoints {
569
+ points: BigNumber;
570
+ rank: number;
571
+ tier: number;
572
+ }
573
+ interface GetIndexerPointsResponse {
574
+ pointsPerEpoch: IndexerPointsEpoch[];
575
+ allTimePoints: IndexerAllTimePoints;
576
+ }
577
+ /**
578
+ * V2 Tickers
579
+ */
580
+ /**
581
+ * Market type for ticker filtering
582
+ */
583
+ type TickerMarketType = 'spot' | 'perp';
584
+ /**
585
+ * Parameters for querying v2 tickers endpoint
586
+ */
587
+ interface GetIndexerV2TickersParams {
588
+ /**
589
+ * Filter tickers by market type (spot or perp)
590
+ * @example 'spot'
591
+ * @example 'perp'
592
+ */
593
+ market?: TickerMarketType;
594
+ /**
595
+ * Whether to include edge products
596
+ * @default false
597
+ */
598
+ edge?: boolean;
599
+ }
600
+ /**
601
+ * Individual ticker data from v2 endpoint
602
+ */
603
+ interface IndexerV2TickerResponse {
604
+ /** Unique product identifier */
605
+ productId: number;
606
+ /** Unique ticker identifier */
607
+ tickerId: string;
608
+ /** Base currency symbol */
609
+ baseCurrency: string;
610
+ /** Quote currency symbol */
611
+ quoteCurrency: string;
612
+ /** Last traded price */
613
+ lastPrice: number;
614
+ /** 24h trading volume in base currency */
615
+ baseVolume: number;
616
+ /** 24h trading volume in quote currency */
617
+ quoteVolume: number;
618
+ /** 24h price change percentage */
619
+ priceChangePercent24h: number;
620
+ }
621
+ /**
622
+ * Response from v2 tickers endpoint
623
+ * Maps ticker IDs to their respective ticker data
624
+ */
625
+ type GetIndexerV2TickersResponse = Record<string, IndexerV2TickerResponse>;
626
+ /**
627
+ * Parameters for querying v2 symbols endpoint
628
+ */
629
+ interface GetIndexerV2SymbolsParams {
630
+ /**
631
+ * Filter by product type
632
+ * @example 'spot'
633
+ * @example 'perp'
634
+ */
635
+ productType?: 'spot' | 'perp';
636
+ /**
637
+ * Comma-separated list of product IDs to filter by
638
+ * @example '2,4,42'
639
+ */
640
+ productIds?: string;
641
+ }
642
+ /**
643
+ * Market hours information for a product
644
+ */
645
+ interface IndexerV2MarketHours {
646
+ /** Whether the market is currently in its regular trading session */
647
+ isOpen: boolean;
648
+ /** Why the market is closed: "weekend" or "holiday". Null when open. */
649
+ reason: string | null;
650
+ /** ISO 8601 UTC timestamp of the next session close. Null when closed. */
651
+ nextClose: string | null;
652
+ /** ISO 8601 UTC timestamp of the next session open. Null when no upcoming open. */
653
+ nextOpen: string | null;
654
+ }
655
+ type IndexerV2TradingStatus = 'live' | 'post_only' | 'reduce_only' | 'soft_reduce_only' | 'not_tradable';
656
+ /**
657
+ * Individual symbol data from v2 endpoint
658
+ */
659
+ interface IndexerV2Symbol {
660
+ /** Product type: "spot" or "perp" */
661
+ type: string;
662
+ /** Unique product identifier */
663
+ productId: number;
664
+ /** Trading symbol (e.g., "BTC-PERP", "WETH") */
665
+ symbol: string;
666
+ /** Minimum price increment */
667
+ priceIncrement: BigNumber;
668
+ /** Minimum order size increment (base denominated) */
669
+ sizeIncrement: string;
670
+ /** Minimum order size (USDT0 denominated) */
671
+ minSize: string;
672
+ /** Default maker fee rate (negative = rebate) */
673
+ makerFeeRate: BigNumber;
674
+ /** Default taker fee rate */
675
+ takerFeeRate: BigNumber;
676
+ /** Initial margin weight for long positions */
677
+ longWeightInitial: BigNumber;
678
+ /** Maintenance margin weight for long positions */
679
+ longWeightMaintenance: BigNumber;
680
+ /** Maximum open interest cap. Null if uncapped. */
681
+ maxOpenInterest: BigNumber | null;
682
+ /**
683
+ * Exchange rate for xStocks. Null if not applicable.
684
+ */
685
+ exchangeRate: BigNumber | null;
686
+ /** Current trading status */
687
+ tradingStatus: IndexerV2TradingStatus;
688
+ /** Whether the market only accepts isolated margin orders */
689
+ isolatedOnly: boolean;
690
+ /** Market hours information. Null for 24/7 markets. */
691
+ marketHours: IndexerV2MarketHours | null;
692
+ /**
693
+ * Boost tier for products with rewards boosts. Null for non-boosted products.
694
+ * 0 = none, 1 = taker 4x / maker 4x, 2 = taker 3x / maker 4x
695
+ */
696
+ boostType: number | null;
697
+ /** Taker rewards multiplier. Null for non-boosted products. */
698
+ takerMultiplier: number | null;
699
+ /** Maker rewards multiplier. Null for non-boosted products. */
700
+ makerMultiplier: number | null;
701
+ }
702
+ /**
703
+ * Response from v2 symbols endpoint
704
+ * Maps symbols to their respective data
705
+ */
706
+ type GetIndexerV2SymbolsResponse = Record<string, IndexerV2Symbol>;
707
+ //#endregion
708
+ export { GetIndexerPointsResponse as $, RegisterLeaderboardResponse as $t, GetIndexerMakerStatisticsParams as A, IndexerMatchEventBalances as At, GetIndexerMultiProductSnapshotsParams as B, IndexerSnapshotsIntervalParams as Bt, GetIndexerLeaderboardParticipantParams as C, IndexerLeaderboardParticipant as Ct, GetIndexerLeaderboardResponse as D, IndexerMakerSnapshot as Dt, GetIndexerLeaderboardRegistrationsResponse as E, IndexerMaker as Et, GetIndexerMatchEventsResponse as F, IndexerPerpPrices as Ft, GetIndexerNlpSnapshotsResponse as G, IndexerV2Symbol as Gt, GetIndexerMultiSubaccountSnapshotsParams as H, IndexerSpotBalance as Ht, GetIndexerMultiProductFundingRatesParams as I, IndexerPointsEpoch as It, GetIndexerOrdersParams as J, ListIndexerSocialAccountsParams as Jt, GetIndexerOraclePricesParams as K, IndexerV2TickerResponse as Kt, GetIndexerMultiProductFundingRatesResponse as L, IndexerProductPayment as Lt, GetIndexerMarketSnapshotsParams as M, IndexerOraclePrice as Mt, GetIndexerMarketSnapshotsResponse as N, IndexerOrder as Nt, GetIndexerLinkedSignerParams as O, IndexerMarketSnapshot as Ot, GetIndexerMatchEventsParams as P, IndexerPerpBalance as Pt, GetIndexerPointsParams as Q, RegisterLeaderboardParams as Qt, GetIndexerMultiProductPerpPricesParams as R, IndexerProductSnapshot as Rt, GetIndexerLeaderboardParams as S, IndexerLeaderboardContestTrack as St, GetIndexerLeaderboardRegistrationsParams as T, IndexerLeaderboardTrackPosition as Tt, GetIndexerMultiSubaccountSnapshotsResponse as U, IndexerSubaccountSnapshot as Ut, GetIndexerMultiProductSnapshotsResponse as V, IndexerSocialAccountInfo as Vt, GetIndexerNlpSnapshotsParams as W, IndexerV2MarketHours as Wt, GetIndexerPerpPricesParams as X, ListIndexerSubaccountsParams as Xt, GetIndexerOrdersResponse as Y, ListIndexerSocialAccountsResponse as Yt, GetIndexerPerpPricesResponse as Z, ListIndexerSubaccountsResponse as Zt, GetIndexerFundingRateResponse as _, IndexerEventPerpStateSnapshot as _t, GetIndexerCandlesticksParams as a, GetIndexerReferralCodeParams as at, GetIndexerLeaderboardContestsParams as b, IndexerFundingRate as bt, GetIndexerEdgeCandlesticksResponse as c, GetIndexerSubaccountDDAResponse as ct, GetIndexerEventsLimitType as d, GetIndexerV2TickersParams as dt, RevokeSocialAccountParams as en, GetIndexerPrivateAlphaChoiceParams as et, GetIndexerEventsParams as f, GetIndexerV2TickersResponse as ft, GetIndexerFundingRateParams as g, IndexerEventBalanceStateSnapshot as gt, GetIndexerFastWithdrawalSignatureResponse as h, IndexerEvent as ht, GetIndexerBacklogResponse as i, GetIndexerQuotePriceResponse as it, GetIndexerMakerStatisticsResponse as j, IndexerNlpSnapshot as jt, GetIndexerLinkedSignerResponse as k, IndexerMatchEvent as kt, GetIndexerEdgeMarketSnapshotResponse as l, GetIndexerV2SymbolsParams as lt, GetIndexerFastWithdrawalSignatureParams as m, IndexerBalanceTrackedVars as mt, ConnectSocialAccountParams as n, TickerMarketType as nn, GetIndexerProductSnapshotsParams as nt, GetIndexerCandlesticksResponse as o, GetIndexerReferralCodeResponse as ot, GetIndexerEventsResponse as p, IndexerAllTimePoints as pt, GetIndexerOraclePricesResponse as q, IndexerV2TradingStatus as qt, ConnectSocialAccountResponse as r, GetIndexerProductSnapshotsResponse as rt, GetIndexerEdgeCandlesticksParams as s, GetIndexerSubaccountDDAParams as st, Candlestick as t, RevokeSocialAccountResponse as tn, GetIndexerPrivateAlphaChoiceResponse as tt, GetIndexerEdgeMarketSnapshotsParams as u, GetIndexerV2SymbolsResponse as ut, GetIndexerInterestFundingPaymentsParams as v, IndexerEventSpotStateSnapshot as vt, GetIndexerLeaderboardParticipantResponse as w, IndexerLeaderboardRegistration as wt, GetIndexerLeaderboardContestsResponse as x, IndexerLeaderboardContest as xt, GetIndexerInterestFundingPaymentsResponse as y, IndexerEventWithTx as yt, GetIndexerMultiProductPerpPricesResponse as z, IndexerSnapshotBalance as zt };
709
+ //# sourceMappingURL=clientTypes-BpxOUu1q.d.ts.map