@nadohq/engine-client 0.20.0 → 0.21.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.
- package/dist/{EngineBaseClient-DOOXIhnZ.d.ts → EngineBaseClient-Cn4PMYKt.d.ts} +30 -5
- package/dist/EngineBaseClient-Cn4PMYKt.d.ts.map +1 -0
- package/dist/{EngineBaseClient-L1ue7jBx.d.cts → EngineBaseClient-a2leWTER.d.cts} +30 -5
- package/dist/EngineBaseClient-a2leWTER.d.cts.map +1 -0
- package/dist/{EngineBaseClient-Uc1D8ftx.cjs → EngineBaseClient-zgQmbhJv.cjs} +41 -7
- package/dist/EngineBaseClient-zgQmbhJv.cjs.map +1 -0
- package/dist/EngineBaseClient.cjs +1 -1
- package/dist/EngineBaseClient.d.cts +1 -1
- package/dist/EngineBaseClient.d.ts +1 -1
- package/dist/EngineBaseClient.js +40 -6
- package/dist/EngineBaseClient.js.map +1 -1
- package/dist/EngineClient.cjs +4 -3
- package/dist/EngineClient.cjs.map +1 -1
- package/dist/EngineClient.d.cts +6 -5
- package/dist/EngineClient.d.cts.map +1 -1
- package/dist/EngineClient.d.ts +6 -5
- package/dist/EngineClient.d.ts.map +1 -1
- package/dist/EngineClient.js +3 -2
- package/dist/EngineClient.js.map +1 -1
- package/dist/EngineEdgeQueryClient-B9Y8srJa.d.ts +79 -0
- package/dist/EngineEdgeQueryClient-B9Y8srJa.d.ts.map +1 -0
- package/dist/EngineEdgeQueryClient-CPEDAOd0.d.cts +79 -0
- package/dist/EngineEdgeQueryClient-CPEDAOd0.d.cts.map +1 -0
- package/dist/EngineEdgeQueryClient.cjs +143 -0
- package/dist/EngineEdgeQueryClient.cjs.map +1 -0
- package/dist/EngineEdgeQueryClient.d.cts +2 -0
- package/dist/EngineEdgeQueryClient.d.ts +2 -0
- package/dist/EngineEdgeQueryClient.js +142 -0
- package/dist/EngineEdgeQueryClient.js.map +1 -0
- package/dist/{EngineExecuteBuilder-t8EQ5Rmp.d.ts → EngineExecuteBuilder-BXKoW0uz.d.ts} +2 -2
- package/dist/{EngineExecuteBuilder-t8EQ5Rmp.d.ts.map → EngineExecuteBuilder-BXKoW0uz.d.ts.map} +1 -1
- package/dist/{EngineExecuteBuilder-VLrEndhv.d.cts → EngineExecuteBuilder-BaMHTuf-.d.cts} +2 -2
- package/dist/{EngineExecuteBuilder-VLrEndhv.d.cts.map → EngineExecuteBuilder-BaMHTuf-.d.cts.map} +1 -1
- package/dist/EngineExecuteBuilder.cjs +1 -1
- package/dist/EngineExecuteBuilder.d.cts +1 -1
- package/dist/EngineExecuteBuilder.d.ts +1 -1
- package/dist/{EngineExecuteClient-BGlNK5Le.d.cts → EngineExecuteClient-BLUkw1vR.d.cts} +3 -3
- package/dist/{EngineExecuteClient-BGlNK5Le.d.cts.map → EngineExecuteClient-BLUkw1vR.d.cts.map} +1 -1
- package/dist/{EngineExecuteClient-0EBoXRd7.d.ts → EngineExecuteClient-ReEcySA_.d.ts} +3 -3
- package/dist/{EngineExecuteClient-0EBoXRd7.d.ts.map → EngineExecuteClient-ReEcySA_.d.ts.map} +1 -1
- package/dist/EngineExecuteClient.cjs +1 -1
- package/dist/EngineExecuteClient.d.cts +1 -1
- package/dist/EngineExecuteClient.d.ts +1 -1
- package/dist/{EngineQueryClient-C_7p1oRx.d.cts → EngineQueryClient-Br-BC5LQ.d.cts} +3 -3
- package/dist/{EngineQueryClient-C_7p1oRx.d.cts.map → EngineQueryClient-Br-BC5LQ.d.cts.map} +1 -1
- package/dist/{EngineQueryClient-DQwCRaYl.d.ts → EngineQueryClient-C0xBMTo-.d.ts} +3 -3
- package/dist/{EngineQueryClient-DQwCRaYl.d.ts.map → EngineQueryClient-C0xBMTo-.d.ts.map} +1 -1
- package/dist/EngineQueryClient.cjs +1 -1
- package/dist/EngineQueryClient.d.cts +1 -1
- package/dist/EngineQueryClient.d.ts +1 -1
- package/dist/{EngineWebClient-CEwqgd4t.d.ts → EngineWebClient-KXOdpUol.d.ts} +3 -3
- package/dist/{EngineWebClient-CEwqgd4t.d.ts.map → EngineWebClient-KXOdpUol.d.ts.map} +1 -1
- package/dist/{EngineWebClient-DajZqKAQ.d.cts → EngineWebClient-i8BslipN.d.cts} +3 -3
- package/dist/{EngineWebClient-DajZqKAQ.d.cts.map → EngineWebClient-i8BslipN.d.cts.map} +1 -1
- package/dist/EngineWebClient.cjs +1 -1
- package/dist/EngineWebClient.d.cts +1 -1
- package/dist/EngineWebClient.d.ts +1 -1
- package/dist/{clientQueryTypes-DlTtS_mX.d.cts → clientQueryTypes-BTKfuoGI.d.cts} +39 -2
- package/dist/{clientQueryTypes-DlTtS_mX.d.cts.map → clientQueryTypes-BTKfuoGI.d.cts.map} +1 -1
- package/dist/{clientQueryTypes-DuRgEeBT.d.ts → clientQueryTypes-BaYOTnpm.d.ts} +39 -2
- package/dist/{clientQueryTypes-DuRgEeBT.d.ts.map → clientQueryTypes-BaYOTnpm.d.ts.map} +1 -1
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +6 -5
- package/dist/index.d.ts +6 -5
- package/dist/index.js +2 -2
- package/dist/{queryDataMappers-BguxA579.d.ts → queryDataMappers-CyUgQn0_.d.ts} +5 -3
- package/dist/{queryDataMappers-DO9yWdLo.d.cts.map → queryDataMappers-CyUgQn0_.d.ts.map} +1 -1
- package/dist/{queryDataMappers-DO9yWdLo.d.cts → queryDataMappers-kC-SPiHX.d.cts} +5 -3
- package/dist/queryDataMappers-kC-SPiHX.d.cts.map +1 -0
- package/dist/serverEdgeQueryTypes-BpMlbsCD.d.cts +100 -0
- package/dist/serverEdgeQueryTypes-BpMlbsCD.d.cts.map +1 -0
- package/dist/serverEdgeQueryTypes-DbSUWFzo.d.ts +100 -0
- package/dist/serverEdgeQueryTypes-DbSUWFzo.d.ts.map +1 -0
- package/dist/{serverSubscriptionEventTypes-CbT2Fx8Y.d.ts → serverSubscriptionEventTypes-Co3utjCs.d.ts} +1 -1
- package/dist/{serverSubscriptionEventTypes-CbT2Fx8Y.d.ts.map → serverSubscriptionEventTypes-Co3utjCs.d.ts.map} +1 -1
- package/dist/{serverSubscriptionEventTypes-UorThoIE.d.cts → serverSubscriptionEventTypes-CpmdNk1G.d.cts} +1 -1
- package/dist/{serverSubscriptionEventTypes-UorThoIE.d.cts.map → serverSubscriptionEventTypes-CpmdNk1G.d.cts.map} +1 -1
- package/dist/{serverSubscriptionTypes-CE6BIS-C.d.cts → serverSubscriptionTypes-BA92bWic.d.cts} +1 -1
- package/dist/{serverSubscriptionTypes-CE6BIS-C.d.cts.map → serverSubscriptionTypes-BA92bWic.d.cts.map} +1 -1
- package/dist/{serverSubscriptionTypes-Cgz-h0ot.d.ts → serverSubscriptionTypes-CEis5IgT.d.ts} +1 -1
- package/dist/{serverSubscriptionTypes-Cgz-h0ot.d.ts.map → serverSubscriptionTypes-CEis5IgT.d.ts.map} +1 -1
- package/dist/types/clientQueryTypes.d.cts +2 -2
- package/dist/types/clientQueryTypes.d.ts +2 -2
- package/dist/types/index.d.cts +5 -4
- package/dist/types/index.d.ts +5 -4
- package/dist/types/serverEdgeQueryTypes.cjs +0 -0
- package/dist/types/serverEdgeQueryTypes.d.cts +2 -0
- package/dist/types/serverEdgeQueryTypes.d.ts +2 -0
- package/dist/types/serverEdgeQueryTypes.js +1 -0
- package/dist/types/serverSubscriptionEventTypes.d.cts +1 -1
- package/dist/types/serverSubscriptionEventTypes.d.ts +1 -1
- package/dist/types/serverSubscriptionTypes.d.cts +1 -1
- package/dist/types/serverSubscriptionTypes.d.ts +1 -1
- package/dist/utils/index.cjs +1 -0
- package/dist/utils/index.d.cts +2 -2
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.js +2 -2
- package/dist/utils/productEngineTypeMappers.cjs +1 -1
- package/dist/utils/queryDataMappers.cjs +14 -1
- package/dist/utils/queryDataMappers.cjs.map +1 -1
- package/dist/utils/queryDataMappers.d.cts +2 -2
- package/dist/utils/queryDataMappers.d.ts +2 -2
- package/dist/utils/queryDataMappers.js +13 -1
- package/dist/utils/queryDataMappers.js.map +1 -1
- package/package.json +3 -3
- package/src/EngineBaseClient.ts +86 -10
- package/src/EngineClient.ts +3 -1
- package/src/EngineEdgeQueryClient.ts +211 -0
- package/src/types/clientQueryTypes.ts +54 -0
- package/src/types/index.ts +1 -0
- package/src/types/serverEdgeQueryTypes.ts +153 -0
- package/src/utils/queryDataMappers.ts +17 -0
- package/dist/EngineBaseClient-DOOXIhnZ.d.ts.map +0 -1
- package/dist/EngineBaseClient-L1ue7jBx.d.cts.map +0 -1
- package/dist/EngineBaseClient-Uc1D8ftx.cjs.map +0 -1
- package/dist/queryDataMappers-BguxA579.d.ts.map +0 -1
- /package/dist/{index-CmCelmEL.d.cts → index-D6CnpA_r.d.cts} +0 -0
- /package/dist/{index-D0E78WnU.d.ts → index-DhI2LvVQ.d.ts} +0 -0
|
@@ -307,3 +307,57 @@ export interface NlpPool {
|
|
|
307
307
|
export interface GetEngineNlpPoolInfoResponse {
|
|
308
308
|
nlpPools: NlpPool[];
|
|
309
309
|
}
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* Params for the cached (`edge`) market prices query. Unlike the live
|
|
313
|
+
* {@link GetEngineMarketPricesParams}, `productIds` is optional — omit it to return every
|
|
314
|
+
* product currently in the cache.
|
|
315
|
+
*/
|
|
316
|
+
export interface GetEngineCachedMarketPricesParams {
|
|
317
|
+
productIds?: number[];
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
export interface GetEngineCachedBboHistoryParams {
|
|
321
|
+
productIds?: number[];
|
|
322
|
+
// Down-sampling stride in ms. Default 500, must be >= 500, rounded up to a multiple of 500
|
|
323
|
+
intervalMs?: number;
|
|
324
|
+
// Upper time bound (epoch ms). Omit for the most recent samples
|
|
325
|
+
maxTimeMs?: number;
|
|
326
|
+
// Max samples per product. Default 500, capped at 3600
|
|
327
|
+
limit?: number;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
export interface EngineBboHistorySample {
|
|
331
|
+
productId: number;
|
|
332
|
+
// Sample time, epoch milliseconds
|
|
333
|
+
timestamp: number;
|
|
334
|
+
bid: BigNumber;
|
|
335
|
+
ask: BigNumber;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
export interface GetEngineCachedBboHistoryResponse {
|
|
339
|
+
// The effective (normalized) sampling stride applied
|
|
340
|
+
intervalMs: number;
|
|
341
|
+
// The effective per-product sample cap applied
|
|
342
|
+
limit: number;
|
|
343
|
+
// Samples sorted ascending by (timestamp, productId)
|
|
344
|
+
history: EngineBboHistorySample[];
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
export interface EnginePingParams {
|
|
348
|
+
id?: number;
|
|
349
|
+
// If provided, echoed back so the caller can measure round-trip latency / clock offset
|
|
350
|
+
clientTime?: number;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
export interface EnginePingResponse {
|
|
354
|
+
id?: number;
|
|
355
|
+
// Epoch ms
|
|
356
|
+
serverTime: number;
|
|
357
|
+
// Epoch ms, echoed from the request (only present when provided in the request)
|
|
358
|
+
clientTime?: number;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
export interface EngineCachedTimeParams {
|
|
362
|
+
id?: number;
|
|
363
|
+
}
|
package/src/types/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './clientExecuteTypes';
|
|
2
2
|
export * from './clientQueryTypes';
|
|
3
3
|
export * from './EngineServerFailureError';
|
|
4
|
+
export * from './serverEdgeQueryTypes';
|
|
4
5
|
export * from './serverExecuteTypes';
|
|
5
6
|
export * from './serverQueryModelTypes';
|
|
6
7
|
export * from './serverQueryTypes';
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import {
|
|
2
|
+
EngineServerAllProductsResponse,
|
|
3
|
+
EngineServerContractsResponse,
|
|
4
|
+
EngineServerEdgeAllProductsResponse,
|
|
5
|
+
EngineServerHealthGroupsResponse,
|
|
6
|
+
EngineServerMarketPricesQueryParams,
|
|
7
|
+
EngineServerMarketPricesResponse,
|
|
8
|
+
EngineServerNlpPoolInfoResponse,
|
|
9
|
+
EngineServerQueryFailureResponse,
|
|
10
|
+
EngineServerStatusResponse,
|
|
11
|
+
EngineServerSymbolsQueryParams,
|
|
12
|
+
EngineServerSymbolsResponse,
|
|
13
|
+
} from './serverQueryTypes';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* "Edge" queries are fast, read-only market-data lookups served straight from the gateway's
|
|
17
|
+
* in-memory cache (no round-trip to the matching engine). They share a single endpoint
|
|
18
|
+
* (`/edge/query`), distinguished by the `type` field, and are eventually consistent — not
|
|
19
|
+
* suitable for order, margin, or settlement decisions.
|
|
20
|
+
*
|
|
21
|
+
* The cached data queries (`cached_*`) mirror their live counterparts, so their request/response
|
|
22
|
+
* types are reused here. Only `cached_bbo_history` is genuinely new.
|
|
23
|
+
*
|
|
24
|
+
* @see https://docs.nado.xyz/developer-resources/api/gateway/edge
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
export interface EngineServerCachedBboHistoryQueryParams {
|
|
28
|
+
product_ids?: number[];
|
|
29
|
+
// Down-sampling stride. Default 500, must be >= 500, rounded up to the nearest multiple of 500
|
|
30
|
+
interval_ms?: number;
|
|
31
|
+
// Upper time bound (epoch ms). Omit for the most recent samples
|
|
32
|
+
max_time_ms?: number;
|
|
33
|
+
// Max samples per product. Default 500, capped at 3600
|
|
34
|
+
limit?: number;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface EngineServerCachedQueryRequestByType {
|
|
38
|
+
// Unlike the live `market_prices` query, `product_ids` is optional — omit to return every
|
|
39
|
+
// product currently in the cache
|
|
40
|
+
cached_prices: Partial<EngineServerMarketPricesQueryParams>;
|
|
41
|
+
cached_symbols: EngineServerSymbolsQueryParams;
|
|
42
|
+
cached_contracts: Record<string, never>;
|
|
43
|
+
cached_status: Record<string, never>;
|
|
44
|
+
cached_all_products: Record<string, never>;
|
|
45
|
+
cached_edge_all_products: Record<string, never>;
|
|
46
|
+
cached_health_groups: Record<string, never>;
|
|
47
|
+
cached_nlp_pool_info: Record<string, never>;
|
|
48
|
+
cached_bbo_history: EngineServerCachedBboHistoryQueryParams;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export type EngineServerCachedQueryRequestType =
|
|
52
|
+
keyof EngineServerCachedQueryRequestByType;
|
|
53
|
+
|
|
54
|
+
export type EngineServerCachedQueryRequest<
|
|
55
|
+
TRequestType extends EngineServerCachedQueryRequestType,
|
|
56
|
+
> = {
|
|
57
|
+
type: TRequestType;
|
|
58
|
+
} & EngineServerCachedQueryRequestByType[TRequestType];
|
|
59
|
+
|
|
60
|
+
export interface EngineServerCachedBboHistorySample {
|
|
61
|
+
product_id: number;
|
|
62
|
+
// Sample time, epoch milliseconds
|
|
63
|
+
timestamp: string;
|
|
64
|
+
// Best bid at that sample, scaled by 10^18
|
|
65
|
+
bid: string;
|
|
66
|
+
// Best ask at that sample, scaled by 10^18
|
|
67
|
+
ask: string;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export interface EngineServerCachedBboHistoryResponse {
|
|
71
|
+
// The effective (normalized) sampling stride applied
|
|
72
|
+
interval_ms: number;
|
|
73
|
+
// The effective per-product sample cap applied
|
|
74
|
+
limit: number;
|
|
75
|
+
// Flat list of samples, sorted ascending by (timestamp, product_id)
|
|
76
|
+
history: EngineServerCachedBboHistorySample[];
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export interface EngineServerCachedQueryResponseByType {
|
|
80
|
+
cached_prices: EngineServerMarketPricesResponse;
|
|
81
|
+
cached_symbols: EngineServerSymbolsResponse;
|
|
82
|
+
cached_contracts: EngineServerContractsResponse;
|
|
83
|
+
cached_status: EngineServerStatusResponse;
|
|
84
|
+
cached_all_products: EngineServerAllProductsResponse;
|
|
85
|
+
cached_edge_all_products: EngineServerEdgeAllProductsResponse;
|
|
86
|
+
cached_health_groups: EngineServerHealthGroupsResponse;
|
|
87
|
+
cached_nlp_pool_info: EngineServerNlpPoolInfoResponse;
|
|
88
|
+
cached_bbo_history: EngineServerCachedBboHistoryResponse;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export interface EngineServerCachedQuerySuccessResponse<
|
|
92
|
+
TQueryType extends keyof EngineServerCachedQueryResponseByType =
|
|
93
|
+
EngineServerCachedQueryRequestType,
|
|
94
|
+
> {
|
|
95
|
+
status: 'success';
|
|
96
|
+
data: EngineServerCachedQueryResponseByType[TQueryType];
|
|
97
|
+
request_type: TQueryType;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export type EngineServerCachedQueryResponse<
|
|
101
|
+
TQueryType extends keyof EngineServerCachedQueryResponseByType =
|
|
102
|
+
EngineServerCachedQueryRequestType,
|
|
103
|
+
> =
|
|
104
|
+
| EngineServerCachedQuerySuccessResponse<TQueryType>
|
|
105
|
+
// The failure envelope is identical to the live query failure response
|
|
106
|
+
| EngineServerQueryFailureResponse;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* `ping` / `time` control messages. These share the `/edge/query` endpoint but return immediately
|
|
110
|
+
* from the server clock and use a different envelope than the cached data queries (no `data`
|
|
111
|
+
* field).
|
|
112
|
+
*/
|
|
113
|
+
|
|
114
|
+
export interface EngineServerPingQueryParams {
|
|
115
|
+
id?: number;
|
|
116
|
+
// Echoed back so the caller can measure round-trip latency / clock offset. Epoch ms
|
|
117
|
+
client_time?: string;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export interface EngineServerTimeQueryParams {
|
|
121
|
+
id?: number;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export interface EngineServerEdgeControlRequestByType {
|
|
125
|
+
ping: EngineServerPingQueryParams;
|
|
126
|
+
time: EngineServerTimeQueryParams;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export type EngineServerEdgeControlRequestType =
|
|
130
|
+
keyof EngineServerEdgeControlRequestByType;
|
|
131
|
+
|
|
132
|
+
export interface EngineServerPingResponse {
|
|
133
|
+
status: 'success';
|
|
134
|
+
method: 'pong';
|
|
135
|
+
id?: number;
|
|
136
|
+
// Epoch ms
|
|
137
|
+
server_time: string;
|
|
138
|
+
// Echoed from the request, only present when the request provided it
|
|
139
|
+
client_time?: string;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export interface EngineServerControlTimeResponse {
|
|
143
|
+
status: 'success';
|
|
144
|
+
method: 'time';
|
|
145
|
+
id?: number;
|
|
146
|
+
// Epoch ms
|
|
147
|
+
server_time: string;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export interface EngineServerEdgeControlResponseByType {
|
|
151
|
+
ping: EngineServerPingResponse;
|
|
152
|
+
time: EngineServerControlTimeResponse;
|
|
153
|
+
}
|
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
EngineNlpLockedBalance,
|
|
17
17
|
EngineOrder,
|
|
18
18
|
EnginePriceTickLiquidity,
|
|
19
|
+
EngineServerCachedBboHistoryResponse,
|
|
19
20
|
EngineServerIsolatedPositionsResponse,
|
|
20
21
|
EngineServerMarketPrice,
|
|
21
22
|
EngineServerNlpLockedBalancesResponse,
|
|
@@ -30,6 +31,7 @@ import {
|
|
|
30
31
|
EngineServerSymbolsResponse,
|
|
31
32
|
EngineSymbol,
|
|
32
33
|
EngineSymbolsResponse,
|
|
34
|
+
GetEngineCachedBboHistoryResponse,
|
|
33
35
|
GetEngineIsolatedPositionsResponse,
|
|
34
36
|
GetEngineNlpLockedBalancesResponse,
|
|
35
37
|
GetEngineNlpPoolInfoResponse,
|
|
@@ -317,6 +319,21 @@ export function mapEngineMarketPrice(
|
|
|
317
319
|
};
|
|
318
320
|
}
|
|
319
321
|
|
|
322
|
+
export function mapEngineBboHistory(
|
|
323
|
+
baseResponse: EngineServerCachedBboHistoryResponse,
|
|
324
|
+
): GetEngineCachedBboHistoryResponse {
|
|
325
|
+
return {
|
|
326
|
+
intervalMs: baseResponse.interval_ms,
|
|
327
|
+
limit: baseResponse.limit,
|
|
328
|
+
history: baseResponse.history.map((item) => ({
|
|
329
|
+
productId: item.product_id,
|
|
330
|
+
timestamp: Number(item.timestamp),
|
|
331
|
+
bid: removeDecimals(item.bid),
|
|
332
|
+
ask: removeDecimals(item.ask),
|
|
333
|
+
})),
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
|
|
320
337
|
export function mapEngineServerNlpLockedBalances(
|
|
321
338
|
baseResponse: EngineServerNlpLockedBalancesResponse,
|
|
322
339
|
): GetEngineNlpLockedBalancesResponse {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EngineBaseClient-DOOXIhnZ.d.ts","names":[],"sources":["../src/src/EngineBaseClient.ts"],"mappings":";;;;;;;UAwBiB,gBAAA;EAEf,GAAA;EAEA,YAAA,GAAe,uBAAA;EAEf,wBAAA,GAA2B,uBAAuB;AAAA;AAAA,KAI/C,wBAAA,GAA2B,OAAO,CAAC,gCAAA;;;;cAS3B,gBAAA;EAAA,SACF,IAAA,EAAM,gBAAA;EAAA,SACN,aAAA,EAAe,aAAA;cAEZ,IAAA,EAAM,gBAAA;EAjBS;;AAAuB;AACnD;;EA8BQ,eAAA,CACL,wBAAA,EAA0B,uBAAA;EAKf,UAAA,CAAW,OAAA,YAAmB,OAAA;EAc9B,SAAA,CACX,MAAA,EAAQ,qBAAA,GACP,OAAA,CAAQ,uBAAA;EAxCA;;;;;;;EAwDE,KAAA,sBAA2B,4BAAA,CAAA,CACtC,WAAA,EAAa,YAAA,EACb,MAAA,EAAQ,8BAAA,CAA+B,YAAA,IACtC,OAAA,CAAQ,+BAAA,CAAgC,YAAA;EApBjC;;;;;;EA4CH,eAAA,sBAAqC,4BAAA,CAAA,CAC1C,WAAA,EAAa,YAAA,EACb,MAAA,EAAQ,8BAAA,CAA+B,YAAA,IACtC,wBAAA,CAAyB,YAAA;EA3BjB;;;;;;;;EA0CE,OAAA,sBAA6B,8BAAA,CAAA,CACxC,WAAA,EAAa,YAAA,EACb,MAAA,EAAQ,gCAAA,CAAiC,YAAA,IACxC,OAAA,CAAQ,gCAAA,CAAiC,YAAA;EAHF;;;;;;EAsBnC,iBAAA,sBAAuC,8BAAA,CAAA,CAC5C,WAAA,EAAa,YAAA,EACb,MAAA,EAAQ,gCAAA,CAAiC,YAAA,IACxC,wBAAA;EAH2C;;;;;;;;;EAkBjC,IAAA,WAAe,mBAAA,CAAA,CAC1B,WAAA,EAAa,CAAA,EACb,iBAAA,UACA,OAAA,UACA,MAAA,EAAQ,2BAAA,CAA4B,CAAA,IAAE,OAAA;EAAA,QAmBhC,mBAAA;EAAA,QAQA,iBAAA;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EngineBaseClient-L1ue7jBx.d.cts","names":[],"sources":["../src/src/EngineBaseClient.ts"],"mappings":";;;;;;;UAwBiB,gBAAA;EAEf,GAAA;EAEA,YAAA,GAAe,uBAAA;EAEf,wBAAA,GAA2B,uBAAuB;AAAA;AAAA,KAI/C,wBAAA,GAA2B,OAAO,CAAC,gCAAA;;;;cAS3B,gBAAA;EAAA,SACF,IAAA,EAAM,gBAAA;EAAA,SACN,aAAA,EAAe,aAAA;cAEZ,IAAA,EAAM,gBAAA;EAjBS;;AAAuB;AACnD;;EA8BQ,eAAA,CACL,wBAAA,EAA0B,uBAAA;EAKf,UAAA,CAAW,OAAA,YAAmB,OAAA;EAc9B,SAAA,CACX,MAAA,EAAQ,qBAAA,GACP,OAAA,CAAQ,uBAAA;EAxCA;;;;;;;EAwDE,KAAA,sBAA2B,4BAAA,CAAA,CACtC,WAAA,EAAa,YAAA,EACb,MAAA,EAAQ,8BAAA,CAA+B,YAAA,IACtC,OAAA,CAAQ,+BAAA,CAAgC,YAAA;EApBjC;;;;;;EA4CH,eAAA,sBAAqC,4BAAA,CAAA,CAC1C,WAAA,EAAa,YAAA,EACb,MAAA,EAAQ,8BAAA,CAA+B,YAAA,IACtC,wBAAA,CAAyB,YAAA;EA3BjB;;;;;;;;EA0CE,OAAA,sBAA6B,8BAAA,CAAA,CACxC,WAAA,EAAa,YAAA,EACb,MAAA,EAAQ,gCAAA,CAAiC,YAAA,IACxC,OAAA,CAAQ,gCAAA,CAAiC,YAAA;EAHF;;;;;;EAsBnC,iBAAA,sBAAuC,8BAAA,CAAA,CAC5C,WAAA,EAAa,YAAA,EACb,MAAA,EAAQ,gCAAA,CAAiC,YAAA,IACxC,wBAAA;EAH2C;;;;;;;;;EAkBjC,IAAA,WAAe,mBAAA,CAAA,CAC1B,WAAA,EAAa,CAAA,EACb,iBAAA,UACA,OAAA,UACA,MAAA,EAAQ,2BAAA,CAA4B,CAAA,IAAE,OAAA;EAAA,QAmBhC,mBAAA;EAAA,QAQA,iBAAA;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EngineBaseClient-Uc1D8ftx.cjs","names":["WalletNotProvidedError","successResponse","EngineServerFailureError"],"sources":["../src/EngineBaseClient.ts"],"sourcesContent":["import {\n getSignedTransactionRequest,\n SignableRequestType,\n SignableRequestTypeToParams,\n WalletClientWithAccount,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport axios, { AxiosInstance, AxiosResponse } from 'axios';\nimport {\n EngineServerExecuteRequestByType,\n EngineServerExecuteRequestType,\n EngineServerExecuteResult,\n EngineServerExecuteSuccessResult,\n EngineServerQueryRequest,\n EngineServerQueryRequestByType,\n EngineServerQueryRequestType,\n EngineServerQueryResponse,\n EngineServerQueryResponseByType,\n EngineServerQuerySuccessResponse,\n GetEngineNoncesParams,\n GetEngineNoncesResponse,\n} from './types';\nimport { EngineServerFailureError } from './types/EngineServerFailureError';\n\nexport interface EngineClientOpts {\n // Server URL\n url: 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\n// Only 1 key can be defined per execute request\ntype EngineExecuteRequestBody = Partial<EngineServerExecuteRequestByType>;\n\ntype EngineQueryRequestResponse<\n T extends EngineServerQueryRequestType = EngineServerQueryRequestType,\n> = EngineServerQueryResponse<T>;\n\n/**\n * Base client for all engine requests\n */\nexport class EngineBaseClient {\n readonly opts: EngineClientOpts;\n readonly axiosInstance: AxiosInstance;\n\n constructor(opts: EngineClientOpts) {\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 }\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 public async getTxNonce(address?: string): Promise<string> {\n const addr = address ?? this.opts.walletClient?.account.address;\n\n if (!addr) {\n throw new WalletNotProvidedError();\n }\n\n return (\n await this.getNonces({\n address: addr,\n })\n ).txNonce;\n }\n\n public async getNonces(\n params: GetEngineNoncesParams,\n ): Promise<GetEngineNoncesResponse> {\n const baseResp = await this.query('nonces', params);\n\n return {\n orderNonce: baseResp.order_nonce,\n txNonce: baseResp.tx_nonce,\n };\n }\n\n /**\n * Queries the engine, all query params are stringified into the query string\n *\n * @param requestType\n * @param params\n * @public\n */\n public async query<TRequestType extends EngineServerQueryRequestType>(\n requestType: TRequestType,\n params: EngineServerQueryRequestByType[TRequestType],\n ): Promise<EngineServerQueryResponseByType[TRequestType]> {\n const request = this.getQueryRequest(requestType, params);\n const response = await this.axiosInstance.post<EngineQueryRequestResponse>(\n `${this.opts.url}/query`,\n request,\n );\n\n this.checkResponseStatus(response);\n this.checkServerStatus(response);\n\n // checkServerStatus throws on failure responses so the cast to the success response is acceptable here\n const successResponse = response as AxiosResponse<\n EngineServerQuerySuccessResponse<TRequestType>\n >;\n\n return successResponse.data.data;\n }\n\n /**\n * A simple, typechecked fn for constructing a query request in the format expected by the server.\n *\n * @param requestType\n * @param params\n */\n public getQueryRequest<TRequestType extends EngineServerQueryRequestType>(\n requestType: TRequestType,\n params: EngineServerQueryRequestByType[TRequestType],\n ): EngineServerQueryRequest<TRequestType> {\n return {\n type: requestType,\n ...params,\n };\n }\n\n /**\n * POSTs an execute message to the engine and returns the successful response. Throws the failure response wrapped\n * in an EngineServerFailureError on failure.\n *\n * @param requestType\n * @param params\n * @public\n */\n public async execute<TRequestType extends EngineServerExecuteRequestType>(\n requestType: TRequestType,\n params: EngineServerExecuteRequestByType[TRequestType],\n ): Promise<EngineServerExecuteSuccessResult<TRequestType>> {\n const reqBody = this.getExecuteRequest(requestType, params);\n const response = await this.axiosInstance.post<\n EngineServerExecuteResult<TRequestType>\n >(`${this.opts.url}/execute`, reqBody);\n\n this.checkResponseStatus(response);\n this.checkServerStatus(response);\n\n // checkServerStatus catches the failure result and throws the error, so the cast to the success response is acceptable here\n return response.data as EngineServerExecuteSuccessResult<TRequestType>;\n }\n\n /**\n * A simple, typechecked fn for constructing an execute request in the format expected by the server.\n *\n * @param requestType\n * @param params\n */\n public getExecuteRequest<TRequestType extends EngineServerExecuteRequestType>(\n requestType: TRequestType,\n params: EngineServerExecuteRequestByType[TRequestType],\n ): EngineExecuteRequestBody {\n return {\n [requestType]: params,\n };\n }\n\n /**\n * Signs a given request with the signer provided to the engine\n *\n * @param requestType\n * @param verifyingContract\n * @param chainId\n * @param params\n * @public\n */\n public async sign<T extends SignableRequestType>(\n requestType: T,\n verifyingContract: string,\n chainId: number,\n params: SignableRequestTypeToParams[T],\n ) {\n // Use the linked signer if provided, otherwise use the default signer provided to the engine\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 (response.status !== 200 || !response.data) {\n throw Error(\n `Unexpected response from server: ${response.status} ${response.statusText}. Data: ${response.data}`,\n );\n }\n }\n\n private checkServerStatus(\n response: AxiosResponse<\n EngineServerExecuteResult | EngineQueryRequestResponse\n >,\n ) {\n if (response.data.status !== 'success') {\n throw new EngineServerFailureError(response.data);\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,IAAa,mBAAb,MAA8B;CAI5B,YAAY,MAAwB;EAClC,KAAK,OAAO;EACZ,KAAK,gBAAgB,MAAA,QAAM,OAAO;GAChC,iBAAiB;GAEjB,sBAAsB;EACxB,CAAC;CACH;;;;;;CAOA,gBACE,0BACA;EACA,KAAK,KAAK,2BAA2B,4BAA4B,KAAA;CACnE;CAEA,MAAa,WAAW,SAAmC;EACzD,MAAM,OAAO,WAAW,KAAK,KAAK,cAAc,QAAQ;EAExD,IAAI,CAAC,MACH,MAAM,IAAIA,eAAAA,uBAAuB;EAGnC,QACE,MAAM,KAAK,UAAU,EACnB,SAAS,KACX,CAAC,GACD;CACJ;CAEA,MAAa,UACX,QACkC;EAClC,MAAM,WAAW,MAAM,KAAK,MAAM,UAAU,MAAM;EAElD,OAAO;GACL,YAAY,SAAS;GACrB,SAAS,SAAS;EACpB;CACF;;;;;;;;CASA,MAAa,MACX,aACA,QACwD;EACxD,MAAM,UAAU,KAAK,gBAAgB,aAAa,MAAM;EACxD,MAAM,WAAW,MAAM,KAAK,cAAc,KACxC,GAAG,KAAK,KAAK,IAAI,SACjB,OACF;EAEA,KAAK,oBAAoB,QAAQ;EACjC,KAAK,kBAAkB,QAAQ;EAO/B,OAAOC,SAAgB,KAAK;CAC9B;;;;;;;CAQA,gBACE,aACA,QACwC;EACxC,OAAO;GACL,MAAM;GACN,GAAG;EACL;CACF;;;;;;;;;CAUA,MAAa,QACX,aACA,QACyD;EACzD,MAAM,UAAU,KAAK,kBAAkB,aAAa,MAAM;EAC1D,MAAM,WAAW,MAAM,KAAK,cAAc,KAExC,GAAG,KAAK,KAAK,IAAI,WAAW,OAAO;EAErC,KAAK,oBAAoB,QAAQ;EACjC,KAAK,kBAAkB,QAAQ;EAG/B,OAAO,SAAS;CAClB;;;;;;;CAQA,kBACE,aACA,QAC0B;EAC1B,OAAO,GACJ,cAAc,OACjB;CACF;;;;;;;;;;CAWA,MAAa,KACX,aACA,mBACA,SACA,QACA;EAEA,MAAM,eACJ,KAAK,KAAK,4BAA4B,KAAK,KAAK;EAElD,IAAI,CAAC,cACH,MAAM,IAAID,eAAAA,uBAAuB;EAGnC,QAAA,GAAA,eAAA,6BAAmC;GACjC;GACA,eAAe;GACf;GACA;GACA;EACF,CAAC;CACH;CAEA,oBAA4B,UAAyB;EACnD,IAAI,SAAS,WAAW,OAAO,CAAC,SAAS,MACvC,MAAM,MACJ,oCAAoC,SAAS,OAAO,GAAG,SAAS,WAAW,UAAU,SAAS,MAChG;CAEJ;CAEA,kBACE,UAGA;EACA,IAAI,SAAS,KAAK,WAAW,WAC3B,MAAM,IAAIE,uCAAAA,yBAAyB,SAAS,IAAI;CAEpD;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queryDataMappers-BguxA579.d.ts","names":[],"sources":["../src/utils/src/utils/queryDataMappers.ts"],"mappings":";;;;;;iBAwCgB,4BAAA,CACd,IAAA,EAAM,8BAAA,GACL,wBAAwB;AAAA,iBAOX,oBAAA,CACd,KAAA,EAAO,yBAAA,GACN,WAAW;AAAA,iBAiBE,0BAAA,CACd,OAAA,EAAS,uBAAA,GACR,UAAU;AAAA,iBAuCG,0BAAA,CACd,OAAA,EAAS,uBAAA,GACR,UAAU;AAAA,iBA8BG,yCAAA,CACd,6BAAA,aACC,0BAA0B;AAAA,iBAQb,oBAAA,CACd,YAAA,EAAc,kCAAA,GACb,kCAAkC;AAAA,iBAkFrB,gCAAA,CACd,YAAA,EAAc,qCAAA,GACb,kCAAkC;AAAA,iBAoCrB,sBAAA,CACd,YAAA,EAAc,2BAAA,GACb,qBAAqB;AAAA,iBAWR,qBAAA,CACd,kBAAA,EAAoB,kBAAA,GACnB,YAAY;AAAA,iBAqBC,oBAAA,CACd,YAAA,EAAc,uBAAA,GACb,iBAAiB;AAAA,iBAQJ,gCAAA,CACd,YAAA,EAAc,qCAAA,GACb,kCAAkC;AAAA,iBAqBrB,0BAAA,CACd,YAAA,EAAc,+BAAA,GACb,4BAA4B"}
|
|
File without changes
|
|
File without changes
|