@pear-protocol/types 0.0.21 → 1.0.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 (78) hide show
  1. package/dist/admin/client-ids/entities.d.ts +11 -0
  2. package/dist/admin/client-ids/entities.js +13 -0
  3. package/dist/admin/client-ids/index.d.ts +4 -0
  4. package/dist/admin/client-ids/index.js +4 -0
  5. package/dist/admin/client-ids/payloads.d.ts +14 -0
  6. package/dist/admin/client-ids/payloads.js +13 -0
  7. package/dist/admin/client-ids/queries.d.ts +10 -0
  8. package/dist/admin/client-ids/queries.js +7 -0
  9. package/dist/admin/client-ids/responses.d.ts +11 -0
  10. package/dist/admin/client-ids/responses.js +6 -0
  11. package/dist/auth/api-keys.d.ts +67 -0
  12. package/dist/auth/api-keys.js +35 -0
  13. package/dist/auth/entities.d.ts +1 -0
  14. package/dist/auth/entities.js +1 -1
  15. package/dist/auth/index.d.ts +1 -0
  16. package/dist/auth/index.js +1 -0
  17. package/dist/auth/response.d.ts +2 -0
  18. package/dist/bundle.d.ts +5 -0
  19. package/dist/bundle.js +5 -0
  20. package/dist/common/client-id.d.ts +2 -0
  21. package/dist/common/client-id.js +5 -0
  22. package/dist/common/index.d.ts +1 -0
  23. package/dist/common/index.js +1 -0
  24. package/dist/instrument/queries.d.ts +2 -2
  25. package/dist/market/entities.d.ts +66 -0
  26. package/dist/market/entities.js +42 -0
  27. package/dist/market/index.d.ts +3 -0
  28. package/dist/market/index.js +3 -0
  29. package/dist/market/queries.d.ts +38 -0
  30. package/dist/market/queries.js +19 -0
  31. package/dist/market/responses.d.ts +72 -0
  32. package/dist/market/responses.js +15 -0
  33. package/dist/portfolio/entities.d.ts +199 -0
  34. package/dist/portfolio/entities.js +100 -0
  35. package/dist/portfolio/index.d.ts +3 -0
  36. package/dist/portfolio/index.js +3 -0
  37. package/dist/portfolio/queries.d.ts +46 -0
  38. package/dist/portfolio/queries.js +20 -0
  39. package/dist/portfolio/responses.d.ts +172 -0
  40. package/dist/portfolio/responses.js +16 -0
  41. package/dist/rebalance/payloads.d.ts +1 -0
  42. package/dist/rebalance/payloads.js +6 -1
  43. package/dist/schedule/payloads.d.ts +4 -0
  44. package/dist/schedule/payloads.js +11 -2
  45. package/dist/tca/entities.d.ts +8 -0
  46. package/dist/tca/entities.js +6 -0
  47. package/dist/tca/index.d.ts +3 -0
  48. package/dist/tca/index.js +3 -0
  49. package/dist/tca/queries.d.ts +15 -0
  50. package/dist/tca/queries.js +14 -0
  51. package/dist/tca/responses.d.ts +353 -0
  52. package/dist/tca/responses.js +105 -0
  53. package/dist/trade/payloads.d.ts +8 -0
  54. package/dist/trade/payloads.js +21 -4
  55. package/dist/trigger/entities/conditions.d.ts +170 -0
  56. package/dist/trigger/entities/conditions.js +43 -3
  57. package/dist/trigger/entities/index.d.ts +369 -0
  58. package/dist/trigger/index.d.ts +1 -0
  59. package/dist/trigger/index.js +1 -0
  60. package/dist/trigger/oracle.d.ts +31 -0
  61. package/dist/trigger/oracle.js +15 -0
  62. package/dist/trigger/payloads/conditions.d.ts +50 -0
  63. package/dist/trigger/payloads/conditions.js +35 -1
  64. package/dist/trigger/payloads/index.d.ts +90 -0
  65. package/dist/trigger/payloads/index.js +16 -3
  66. package/dist/trigger/responses.d.ts +246 -0
  67. package/dist/triggers/entities.d.ts +34 -0
  68. package/dist/triggers/entities.js +21 -0
  69. package/dist/triggers/index.d.ts +3 -0
  70. package/dist/triggers/index.js +3 -0
  71. package/dist/triggers/queries.d.ts +8 -0
  72. package/dist/triggers/queries.js +10 -0
  73. package/dist/triggers/responses.d.ts +26 -0
  74. package/dist/triggers/responses.js +9 -0
  75. package/dist/users/entities.d.ts +1 -0
  76. package/dist/users/entities.js +1 -1
  77. package/dist/users/response.d.ts +1 -0
  78. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ export * from './entities';
2
+ export * from './queries';
3
+ export * from './responses';
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ export declare const TcaPositionQueryParams: z.ZodObject<{
3
+ limit: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<number>>>;
4
+ cursor: z.ZodOptional<z.ZodISODateTime>;
5
+ }, z.core.$strip>;
6
+ export type TcaPositionQueryParamsInput = z.input<typeof TcaPositionQueryParams>;
7
+ export type TcaPositionQueryParams = z.output<typeof TcaPositionQueryParams>;
8
+ export declare const TcaSummaryQueryParams: z.ZodObject<{
9
+ limit: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<number>>>;
10
+ cursor: z.ZodOptional<z.ZodISODateTime>;
11
+ from: z.ZodOptional<z.ZodISODateTime>;
12
+ to: z.ZodOptional<z.ZodISODateTime>;
13
+ }, z.core.$strip>;
14
+ export type TcaSummaryQueryParamsInput = z.input<typeof TcaSummaryQueryParams>;
15
+ export type TcaSummaryQueryParams = z.output<typeof TcaSummaryQueryParams>;
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+
3
+ const TcaPositionQueryParams = z.object({
4
+ limit: z.coerce.number().int().positive().max(2e3).optional().default(100),
5
+ cursor: z.iso.datetime().optional()
6
+ });
7
+ const TcaSummaryQueryParams = z.object({
8
+ limit: z.coerce.number().int().positive().max(2e3).optional().default(100),
9
+ cursor: z.iso.datetime().optional(),
10
+ from: z.iso.datetime().optional(),
11
+ to: z.iso.datetime().optional()
12
+ });
13
+
14
+ export { TcaPositionQueryParams, TcaSummaryQueryParams };
@@ -0,0 +1,353 @@
1
+ import { z } from 'zod';
2
+ export declare const TcaBenchmarkResponse: z.ZodObject<{
3
+ id: z.ZodUUID;
4
+ executionId: z.ZodUUID;
5
+ orderId: z.ZodOptional<z.ZodUUID>;
6
+ cloid: z.ZodOptional<z.ZodString>;
7
+ legIndex: z.ZodNumber;
8
+ connector: z.ZodEnum<{
9
+ hyperliquid: "hyperliquid";
10
+ binance: "binance";
11
+ bybit: "bybit";
12
+ okx: "okx";
13
+ lighter: "lighter";
14
+ }>;
15
+ symbol: z.ZodString;
16
+ side: z.ZodEnum<{
17
+ BUY: "BUY";
18
+ SELL: "SELL";
19
+ }>;
20
+ decisionPrice: z.ZodOptional<z.ZodString>;
21
+ arrivalMid: z.ZodOptional<z.ZodString>;
22
+ arrivalBid: z.ZodOptional<z.ZodString>;
23
+ arrivalAsk: z.ZodOptional<z.ZodString>;
24
+ markPrice: z.ZodOptional<z.ZodString>;
25
+ indexPrice: z.ZodOptional<z.ZodString>;
26
+ source: z.ZodString;
27
+ timestamp: z.ZodISODateTime;
28
+ quoteAsset: z.ZodOptional<z.ZodString>;
29
+ usdConversionPrice: z.ZodOptional<z.ZodString>;
30
+ createdAt: z.ZodISODateTime;
31
+ }, z.core.$strip>;
32
+ export type TcaBenchmarkResponse = z.output<typeof TcaBenchmarkResponse>;
33
+ export declare const TcaFillMetricResponse: z.ZodObject<{
34
+ id: z.ZodUUID;
35
+ fillId: z.ZodUUID;
36
+ benchmarkId: z.ZodOptional<z.ZodUUID>;
37
+ executionId: z.ZodOptional<z.ZodUUID>;
38
+ positionId: z.ZodOptional<z.ZodUUID>;
39
+ tradeAccountId: z.ZodUUID;
40
+ connector: z.ZodEnum<{
41
+ hyperliquid: "hyperliquid";
42
+ binance: "binance";
43
+ bybit: "bybit";
44
+ okx: "okx";
45
+ lighter: "lighter";
46
+ }>;
47
+ symbol: z.ZodString;
48
+ cloid: z.ZodOptional<z.ZodString>;
49
+ exchangeFillId: z.ZodOptional<z.ZodString>;
50
+ slippageBps: z.ZodOptional<z.ZodString>;
51
+ slippageQuote: z.ZodOptional<z.ZodString>;
52
+ slippageUsd: z.ZodOptional<z.ZodString>;
53
+ implementationShortfallBps: z.ZodOptional<z.ZodString>;
54
+ spreadCostQuote: z.ZodOptional<z.ZodString>;
55
+ spreadCostUsd: z.ZodOptional<z.ZodString>;
56
+ tradeFee: z.ZodOptional<z.ZodString>;
57
+ pearFee: z.ZodOptional<z.ZodString>;
58
+ totalCostUsd: z.ZodOptional<z.ZodString>;
59
+ gatewayLatencyMs: z.ZodOptional<z.ZodNumber>;
60
+ timeToFillMs: z.ZodOptional<z.ZodNumber>;
61
+ quoteAsset: z.ZodOptional<z.ZodString>;
62
+ notionalQuote: z.ZodOptional<z.ZodString>;
63
+ notionalUsd: z.ZodOptional<z.ZodString>;
64
+ submittedAt: z.ZodOptional<z.ZodISODateTime>;
65
+ acknowledgedAt: z.ZodOptional<z.ZodISODateTime>;
66
+ exchangeExecutedAt: z.ZodOptional<z.ZodISODateTime>;
67
+ timingGranularity: z.ZodOptional<z.ZodEnum<{
68
+ BATCH: "BATCH";
69
+ LEG: "LEG";
70
+ }>>;
71
+ status: z.ZodLiteral<"FINAL">;
72
+ createdAt: z.ZodISODateTime;
73
+ updatedAt: z.ZodISODateTime;
74
+ benchmark: z.ZodOptional<z.ZodObject<{
75
+ id: z.ZodUUID;
76
+ executionId: z.ZodUUID;
77
+ orderId: z.ZodOptional<z.ZodUUID>;
78
+ cloid: z.ZodOptional<z.ZodString>;
79
+ legIndex: z.ZodNumber;
80
+ connector: z.ZodEnum<{
81
+ hyperliquid: "hyperliquid";
82
+ binance: "binance";
83
+ bybit: "bybit";
84
+ okx: "okx";
85
+ lighter: "lighter";
86
+ }>;
87
+ symbol: z.ZodString;
88
+ side: z.ZodEnum<{
89
+ BUY: "BUY";
90
+ SELL: "SELL";
91
+ }>;
92
+ decisionPrice: z.ZodOptional<z.ZodString>;
93
+ arrivalMid: z.ZodOptional<z.ZodString>;
94
+ arrivalBid: z.ZodOptional<z.ZodString>;
95
+ arrivalAsk: z.ZodOptional<z.ZodString>;
96
+ markPrice: z.ZodOptional<z.ZodString>;
97
+ indexPrice: z.ZodOptional<z.ZodString>;
98
+ source: z.ZodString;
99
+ timestamp: z.ZodISODateTime;
100
+ quoteAsset: z.ZodOptional<z.ZodString>;
101
+ usdConversionPrice: z.ZodOptional<z.ZodString>;
102
+ createdAt: z.ZodISODateTime;
103
+ }, z.core.$strip>>;
104
+ }, z.core.$strip>;
105
+ export type TcaFillMetricResponse = z.output<typeof TcaFillMetricResponse>;
106
+ export declare const TcaExecutionSummaryResponse: z.ZodObject<{
107
+ id: z.ZodUUID;
108
+ executionId: z.ZodUUID;
109
+ tradeAccountId: z.ZodUUID;
110
+ connector: z.ZodEnum<{
111
+ hyperliquid: "hyperliquid";
112
+ binance: "binance";
113
+ bybit: "bybit";
114
+ okx: "okx";
115
+ lighter: "lighter";
116
+ }>;
117
+ notionalQuote: z.ZodOptional<z.ZodString>;
118
+ notionalUsd: z.ZodOptional<z.ZodString>;
119
+ weightedSlippageBps: z.ZodOptional<z.ZodString>;
120
+ totalSlippageUsd: z.ZodOptional<z.ZodString>;
121
+ totalTradeFee: z.ZodOptional<z.ZodString>;
122
+ totalPearFee: z.ZodOptional<z.ZodString>;
123
+ totalCostUsd: z.ZodOptional<z.ZodString>;
124
+ fillCount: z.ZodNumber;
125
+ status: z.ZodLiteral<"FINAL">;
126
+ createdAt: z.ZodISODateTime;
127
+ updatedAt: z.ZodISODateTime;
128
+ }, z.core.$strip>;
129
+ export type TcaExecutionSummaryResponse = z.output<typeof TcaExecutionSummaryResponse>;
130
+ export declare const TcaExecutionResponse: z.ZodObject<{
131
+ summary: z.ZodOptional<z.ZodObject<{
132
+ id: z.ZodUUID;
133
+ executionId: z.ZodUUID;
134
+ tradeAccountId: z.ZodUUID;
135
+ connector: z.ZodEnum<{
136
+ hyperliquid: "hyperliquid";
137
+ binance: "binance";
138
+ bybit: "bybit";
139
+ okx: "okx";
140
+ lighter: "lighter";
141
+ }>;
142
+ notionalQuote: z.ZodOptional<z.ZodString>;
143
+ notionalUsd: z.ZodOptional<z.ZodString>;
144
+ weightedSlippageBps: z.ZodOptional<z.ZodString>;
145
+ totalSlippageUsd: z.ZodOptional<z.ZodString>;
146
+ totalTradeFee: z.ZodOptional<z.ZodString>;
147
+ totalPearFee: z.ZodOptional<z.ZodString>;
148
+ totalCostUsd: z.ZodOptional<z.ZodString>;
149
+ fillCount: z.ZodNumber;
150
+ status: z.ZodLiteral<"FINAL">;
151
+ createdAt: z.ZodISODateTime;
152
+ updatedAt: z.ZodISODateTime;
153
+ }, z.core.$strip>>;
154
+ fillMetrics: z.ZodArray<z.ZodObject<{
155
+ id: z.ZodUUID;
156
+ fillId: z.ZodUUID;
157
+ benchmarkId: z.ZodOptional<z.ZodUUID>;
158
+ executionId: z.ZodOptional<z.ZodUUID>;
159
+ positionId: z.ZodOptional<z.ZodUUID>;
160
+ tradeAccountId: z.ZodUUID;
161
+ connector: z.ZodEnum<{
162
+ hyperliquid: "hyperliquid";
163
+ binance: "binance";
164
+ bybit: "bybit";
165
+ okx: "okx";
166
+ lighter: "lighter";
167
+ }>;
168
+ symbol: z.ZodString;
169
+ cloid: z.ZodOptional<z.ZodString>;
170
+ exchangeFillId: z.ZodOptional<z.ZodString>;
171
+ slippageBps: z.ZodOptional<z.ZodString>;
172
+ slippageQuote: z.ZodOptional<z.ZodString>;
173
+ slippageUsd: z.ZodOptional<z.ZodString>;
174
+ implementationShortfallBps: z.ZodOptional<z.ZodString>;
175
+ spreadCostQuote: z.ZodOptional<z.ZodString>;
176
+ spreadCostUsd: z.ZodOptional<z.ZodString>;
177
+ tradeFee: z.ZodOptional<z.ZodString>;
178
+ pearFee: z.ZodOptional<z.ZodString>;
179
+ totalCostUsd: z.ZodOptional<z.ZodString>;
180
+ gatewayLatencyMs: z.ZodOptional<z.ZodNumber>;
181
+ timeToFillMs: z.ZodOptional<z.ZodNumber>;
182
+ quoteAsset: z.ZodOptional<z.ZodString>;
183
+ notionalQuote: z.ZodOptional<z.ZodString>;
184
+ notionalUsd: z.ZodOptional<z.ZodString>;
185
+ submittedAt: z.ZodOptional<z.ZodISODateTime>;
186
+ acknowledgedAt: z.ZodOptional<z.ZodISODateTime>;
187
+ exchangeExecutedAt: z.ZodOptional<z.ZodISODateTime>;
188
+ timingGranularity: z.ZodOptional<z.ZodEnum<{
189
+ BATCH: "BATCH";
190
+ LEG: "LEG";
191
+ }>>;
192
+ status: z.ZodLiteral<"FINAL">;
193
+ createdAt: z.ZodISODateTime;
194
+ updatedAt: z.ZodISODateTime;
195
+ benchmark: z.ZodOptional<z.ZodObject<{
196
+ id: z.ZodUUID;
197
+ executionId: z.ZodUUID;
198
+ orderId: z.ZodOptional<z.ZodUUID>;
199
+ cloid: z.ZodOptional<z.ZodString>;
200
+ legIndex: z.ZodNumber;
201
+ connector: z.ZodEnum<{
202
+ hyperliquid: "hyperliquid";
203
+ binance: "binance";
204
+ bybit: "bybit";
205
+ okx: "okx";
206
+ lighter: "lighter";
207
+ }>;
208
+ symbol: z.ZodString;
209
+ side: z.ZodEnum<{
210
+ BUY: "BUY";
211
+ SELL: "SELL";
212
+ }>;
213
+ decisionPrice: z.ZodOptional<z.ZodString>;
214
+ arrivalMid: z.ZodOptional<z.ZodString>;
215
+ arrivalBid: z.ZodOptional<z.ZodString>;
216
+ arrivalAsk: z.ZodOptional<z.ZodString>;
217
+ markPrice: z.ZodOptional<z.ZodString>;
218
+ indexPrice: z.ZodOptional<z.ZodString>;
219
+ source: z.ZodString;
220
+ timestamp: z.ZodISODateTime;
221
+ quoteAsset: z.ZodOptional<z.ZodString>;
222
+ usdConversionPrice: z.ZodOptional<z.ZodString>;
223
+ createdAt: z.ZodISODateTime;
224
+ }, z.core.$strip>>;
225
+ }, z.core.$strip>>;
226
+ }, z.core.$strip>;
227
+ export type TcaExecutionResponse = z.output<typeof TcaExecutionResponse>;
228
+ export declare const TcaPositionResponse: z.ZodObject<{
229
+ limit: z.ZodNumber;
230
+ nextCursor: z.ZodOptional<z.ZodISODateTime>;
231
+ fillMetrics: z.ZodArray<z.ZodObject<{
232
+ id: z.ZodUUID;
233
+ fillId: z.ZodUUID;
234
+ benchmarkId: z.ZodOptional<z.ZodUUID>;
235
+ executionId: z.ZodOptional<z.ZodUUID>;
236
+ positionId: z.ZodOptional<z.ZodUUID>;
237
+ tradeAccountId: z.ZodUUID;
238
+ connector: z.ZodEnum<{
239
+ hyperliquid: "hyperliquid";
240
+ binance: "binance";
241
+ bybit: "bybit";
242
+ okx: "okx";
243
+ lighter: "lighter";
244
+ }>;
245
+ symbol: z.ZodString;
246
+ cloid: z.ZodOptional<z.ZodString>;
247
+ exchangeFillId: z.ZodOptional<z.ZodString>;
248
+ slippageBps: z.ZodOptional<z.ZodString>;
249
+ slippageQuote: z.ZodOptional<z.ZodString>;
250
+ slippageUsd: z.ZodOptional<z.ZodString>;
251
+ implementationShortfallBps: z.ZodOptional<z.ZodString>;
252
+ spreadCostQuote: z.ZodOptional<z.ZodString>;
253
+ spreadCostUsd: z.ZodOptional<z.ZodString>;
254
+ tradeFee: z.ZodOptional<z.ZodString>;
255
+ pearFee: z.ZodOptional<z.ZodString>;
256
+ totalCostUsd: z.ZodOptional<z.ZodString>;
257
+ gatewayLatencyMs: z.ZodOptional<z.ZodNumber>;
258
+ timeToFillMs: z.ZodOptional<z.ZodNumber>;
259
+ quoteAsset: z.ZodOptional<z.ZodString>;
260
+ notionalQuote: z.ZodOptional<z.ZodString>;
261
+ notionalUsd: z.ZodOptional<z.ZodString>;
262
+ submittedAt: z.ZodOptional<z.ZodISODateTime>;
263
+ acknowledgedAt: z.ZodOptional<z.ZodISODateTime>;
264
+ exchangeExecutedAt: z.ZodOptional<z.ZodISODateTime>;
265
+ timingGranularity: z.ZodOptional<z.ZodEnum<{
266
+ BATCH: "BATCH";
267
+ LEG: "LEG";
268
+ }>>;
269
+ status: z.ZodLiteral<"FINAL">;
270
+ createdAt: z.ZodISODateTime;
271
+ updatedAt: z.ZodISODateTime;
272
+ benchmark: z.ZodOptional<z.ZodObject<{
273
+ id: z.ZodUUID;
274
+ executionId: z.ZodUUID;
275
+ orderId: z.ZodOptional<z.ZodUUID>;
276
+ cloid: z.ZodOptional<z.ZodString>;
277
+ legIndex: z.ZodNumber;
278
+ connector: z.ZodEnum<{
279
+ hyperliquid: "hyperliquid";
280
+ binance: "binance";
281
+ bybit: "bybit";
282
+ okx: "okx";
283
+ lighter: "lighter";
284
+ }>;
285
+ symbol: z.ZodString;
286
+ side: z.ZodEnum<{
287
+ BUY: "BUY";
288
+ SELL: "SELL";
289
+ }>;
290
+ decisionPrice: z.ZodOptional<z.ZodString>;
291
+ arrivalMid: z.ZodOptional<z.ZodString>;
292
+ arrivalBid: z.ZodOptional<z.ZodString>;
293
+ arrivalAsk: z.ZodOptional<z.ZodString>;
294
+ markPrice: z.ZodOptional<z.ZodString>;
295
+ indexPrice: z.ZodOptional<z.ZodString>;
296
+ source: z.ZodString;
297
+ timestamp: z.ZodISODateTime;
298
+ quoteAsset: z.ZodOptional<z.ZodString>;
299
+ usdConversionPrice: z.ZodOptional<z.ZodString>;
300
+ createdAt: z.ZodISODateTime;
301
+ }, z.core.$strip>>;
302
+ }, z.core.$strip>>;
303
+ }, z.core.$strip>;
304
+ export type TcaPositionResponse = z.output<typeof TcaPositionResponse>;
305
+ export declare const TcaSummaryTotalsResponse: z.ZodObject<{
306
+ executionCount: z.ZodNumber;
307
+ fillCount: z.ZodNumber;
308
+ notionalQuote: z.ZodOptional<z.ZodString>;
309
+ notionalUsd: z.ZodOptional<z.ZodString>;
310
+ totalSlippageUsd: z.ZodOptional<z.ZodString>;
311
+ totalTradeFee: z.ZodOptional<z.ZodString>;
312
+ totalPearFee: z.ZodOptional<z.ZodString>;
313
+ totalCostUsd: z.ZodOptional<z.ZodString>;
314
+ }, z.core.$strip>;
315
+ export type TcaSummaryTotalsResponse = z.output<typeof TcaSummaryTotalsResponse>;
316
+ export declare const TcaSummaryResponse: z.ZodObject<{
317
+ limit: z.ZodNumber;
318
+ nextCursor: z.ZodOptional<z.ZodISODateTime>;
319
+ summaries: z.ZodArray<z.ZodObject<{
320
+ id: z.ZodUUID;
321
+ executionId: z.ZodUUID;
322
+ tradeAccountId: z.ZodUUID;
323
+ connector: z.ZodEnum<{
324
+ hyperliquid: "hyperliquid";
325
+ binance: "binance";
326
+ bybit: "bybit";
327
+ okx: "okx";
328
+ lighter: "lighter";
329
+ }>;
330
+ notionalQuote: z.ZodOptional<z.ZodString>;
331
+ notionalUsd: z.ZodOptional<z.ZodString>;
332
+ weightedSlippageBps: z.ZodOptional<z.ZodString>;
333
+ totalSlippageUsd: z.ZodOptional<z.ZodString>;
334
+ totalTradeFee: z.ZodOptional<z.ZodString>;
335
+ totalPearFee: z.ZodOptional<z.ZodString>;
336
+ totalCostUsd: z.ZodOptional<z.ZodString>;
337
+ fillCount: z.ZodNumber;
338
+ status: z.ZodLiteral<"FINAL">;
339
+ createdAt: z.ZodISODateTime;
340
+ updatedAt: z.ZodISODateTime;
341
+ }, z.core.$strip>>;
342
+ totals: z.ZodObject<{
343
+ executionCount: z.ZodNumber;
344
+ fillCount: z.ZodNumber;
345
+ notionalQuote: z.ZodOptional<z.ZodString>;
346
+ notionalUsd: z.ZodOptional<z.ZodString>;
347
+ totalSlippageUsd: z.ZodOptional<z.ZodString>;
348
+ totalTradeFee: z.ZodOptional<z.ZodString>;
349
+ totalPearFee: z.ZodOptional<z.ZodString>;
350
+ totalCostUsd: z.ZodOptional<z.ZodString>;
351
+ }, z.core.$strip>;
352
+ }, z.core.$strip>;
353
+ export type TcaSummaryResponse = z.output<typeof TcaSummaryResponse>;
@@ -0,0 +1,105 @@
1
+ import { z } from 'zod';
2
+ import { Connector } from '../connector';
3
+ import { TcaMetricStatus, TcaTimingGranularity } from './entities';
4
+
5
+ const optionalNumeric = z.string().optional();
6
+ const optionalTimestamp = z.iso.datetime().optional();
7
+ const TcaBenchmarkResponse = z.object({
8
+ id: z.uuid(),
9
+ executionId: z.uuid(),
10
+ orderId: z.uuid().optional(),
11
+ cloid: z.string().optional(),
12
+ legIndex: z.number(),
13
+ connector: Connector,
14
+ symbol: z.string(),
15
+ side: z.enum(["BUY", "SELL"]),
16
+ decisionPrice: optionalNumeric,
17
+ arrivalMid: optionalNumeric,
18
+ arrivalBid: optionalNumeric,
19
+ arrivalAsk: optionalNumeric,
20
+ markPrice: optionalNumeric,
21
+ indexPrice: optionalNumeric,
22
+ source: z.string(),
23
+ timestamp: z.iso.datetime(),
24
+ quoteAsset: z.string().optional(),
25
+ usdConversionPrice: optionalNumeric,
26
+ createdAt: z.iso.datetime()
27
+ });
28
+ const TcaFillMetricResponse = z.object({
29
+ id: z.uuid(),
30
+ fillId: z.uuid(),
31
+ benchmarkId: z.uuid().optional(),
32
+ executionId: z.uuid().optional(),
33
+ positionId: z.uuid().optional(),
34
+ tradeAccountId: z.uuid(),
35
+ connector: Connector,
36
+ symbol: z.string(),
37
+ cloid: z.string().optional(),
38
+ exchangeFillId: z.string().optional(),
39
+ slippageBps: optionalNumeric,
40
+ slippageQuote: optionalNumeric,
41
+ slippageUsd: optionalNumeric,
42
+ implementationShortfallBps: optionalNumeric,
43
+ spreadCostQuote: optionalNumeric,
44
+ spreadCostUsd: optionalNumeric,
45
+ tradeFee: optionalNumeric,
46
+ pearFee: optionalNumeric,
47
+ totalCostUsd: optionalNumeric,
48
+ gatewayLatencyMs: z.number().optional(),
49
+ timeToFillMs: z.number().optional(),
50
+ quoteAsset: z.string().optional(),
51
+ notionalQuote: optionalNumeric,
52
+ notionalUsd: optionalNumeric,
53
+ submittedAt: optionalTimestamp,
54
+ acknowledgedAt: optionalTimestamp,
55
+ exchangeExecutedAt: optionalTimestamp,
56
+ timingGranularity: TcaTimingGranularity.optional(),
57
+ status: TcaMetricStatus,
58
+ createdAt: z.iso.datetime(),
59
+ updatedAt: z.iso.datetime(),
60
+ benchmark: TcaBenchmarkResponse.optional()
61
+ });
62
+ const TcaExecutionSummaryResponse = z.object({
63
+ id: z.uuid(),
64
+ executionId: z.uuid(),
65
+ tradeAccountId: z.uuid(),
66
+ connector: Connector,
67
+ notionalQuote: optionalNumeric,
68
+ notionalUsd: optionalNumeric,
69
+ weightedSlippageBps: optionalNumeric,
70
+ totalSlippageUsd: optionalNumeric,
71
+ totalTradeFee: optionalNumeric,
72
+ totalPearFee: optionalNumeric,
73
+ totalCostUsd: optionalNumeric,
74
+ fillCount: z.number(),
75
+ status: TcaMetricStatus,
76
+ createdAt: z.iso.datetime(),
77
+ updatedAt: z.iso.datetime()
78
+ });
79
+ const TcaExecutionResponse = z.object({
80
+ summary: TcaExecutionSummaryResponse.optional(),
81
+ fillMetrics: z.array(TcaFillMetricResponse)
82
+ });
83
+ const TcaPositionResponse = z.object({
84
+ limit: z.number(),
85
+ nextCursor: z.iso.datetime().optional(),
86
+ fillMetrics: z.array(TcaFillMetricResponse)
87
+ });
88
+ const TcaSummaryTotalsResponse = z.object({
89
+ executionCount: z.number(),
90
+ fillCount: z.number(),
91
+ notionalQuote: optionalNumeric,
92
+ notionalUsd: optionalNumeric,
93
+ totalSlippageUsd: optionalNumeric,
94
+ totalTradeFee: optionalNumeric,
95
+ totalPearFee: optionalNumeric,
96
+ totalCostUsd: optionalNumeric
97
+ });
98
+ const TcaSummaryResponse = z.object({
99
+ limit: z.number(),
100
+ nextCursor: z.iso.datetime().optional(),
101
+ summaries: z.array(TcaExecutionSummaryResponse),
102
+ totals: TcaSummaryTotalsResponse
103
+ });
104
+
105
+ export { TcaBenchmarkResponse, TcaExecutionResponse, TcaExecutionSummaryResponse, TcaFillMetricResponse, TcaPositionResponse, TcaSummaryResponse, TcaSummaryTotalsResponse };
@@ -97,6 +97,7 @@ export declare const CreateMarketOpen: z.ZodObject<{
97
97
  activationValue: z.ZodOptional<z.ZodNumber>;
98
98
  }, z.core.$strip>;
99
99
  }, z.core.$strip>]>>;
100
+ clientId: z.ZodOptional<z.ZodString>;
100
101
  }, z.core.$strip>;
101
102
  export declare const CreateMarketAdjust: z.ZodObject<{
102
103
  type: z.ZodLiteral<"MARKET">;
@@ -125,12 +126,15 @@ export declare const CreateMarketAdjust: z.ZodObject<{
125
126
  amount: z.ZodString;
126
127
  reduceOnly: z.ZodBoolean;
127
128
  }, z.core.$strip>>;
129
+ clientId: z.ZodOptional<z.ZodString>;
128
130
  }, z.core.$strip>;
129
131
  export declare const CreateMarketClose: z.ZodObject<{
130
132
  type: z.ZodLiteral<"MARKET">;
133
+ clientId: z.ZodOptional<z.ZodString>;
131
134
  }, z.core.$strip>;
132
135
  export declare const CreateMarketCloseAll: z.ZodObject<{
133
136
  type: z.ZodLiteral<"MARKET">;
137
+ clientId: z.ZodOptional<z.ZodString>;
134
138
  }, z.core.$strip>;
135
139
  export declare const CreateTradeOpen: z.ZodDiscriminatedUnion<[z.ZodObject<{
136
140
  type: z.ZodLiteral<"MARKET">;
@@ -230,6 +234,7 @@ export declare const CreateTradeOpen: z.ZodDiscriminatedUnion<[z.ZodObject<{
230
234
  activationValue: z.ZodOptional<z.ZodNumber>;
231
235
  }, z.core.$strip>;
232
236
  }, z.core.$strip>]>>;
237
+ clientId: z.ZodOptional<z.ZodString>;
233
238
  }, z.core.$strip>], "type">;
234
239
  export declare const CreateTradeAdjust: z.ZodDiscriminatedUnion<[z.ZodObject<{
235
240
  type: z.ZodLiteral<"MARKET">;
@@ -258,12 +263,15 @@ export declare const CreateTradeAdjust: z.ZodDiscriminatedUnion<[z.ZodObject<{
258
263
  amount: z.ZodString;
259
264
  reduceOnly: z.ZodBoolean;
260
265
  }, z.core.$strip>>;
266
+ clientId: z.ZodOptional<z.ZodString>;
261
267
  }, z.core.$strip>], "type">;
262
268
  export declare const CreateTradeClose: z.ZodDiscriminatedUnion<[z.ZodObject<{
263
269
  type: z.ZodLiteral<"MARKET">;
270
+ clientId: z.ZodOptional<z.ZodString>;
264
271
  }, z.core.$strip>], "type">;
265
272
  export declare const CreateTradeCloseAll: z.ZodDiscriminatedUnion<[z.ZodObject<{
266
273
  type: z.ZodLiteral<"MARKET">;
274
+ clientId: z.ZodOptional<z.ZodString>;
267
275
  }, z.core.$strip>], "type">;
268
276
  export type CreateMarketOpen = z.output<typeof CreateMarketOpen>;
269
277
  export type CreateMarketAdjust = z.output<typeof CreateMarketAdjust>;
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { ClientIdCode } from '../common/client-id';
2
3
  import { RefineMinimumOneSymbol, RefineUniqueSymbols } from '../common/refinement';
3
4
  import { TradeLegPostOnly, TradeLeg } from '../common/trade-legs';
4
5
  import { AttachTriggerMarketClose } from '../trigger';
@@ -12,20 +13,36 @@ const CreateMarketOpen = z.object({
12
13
  /**
13
14
  * Close trigger to attach to the execution
14
15
  */
15
- trigger: AttachTriggerMarketClose.optional()
16
+ trigger: AttachTriggerMarketClose.optional(),
17
+ /**
18
+ * Attribution route code (client_ids.code)
19
+ */
20
+ clientId: ClientIdCode
16
21
  });
17
22
  const CreateMarketAdjust = z.object({
18
23
  type: z.literal("MARKET"),
19
24
  /**
20
25
  * Requested legs
21
26
  */
22
- legs: z.tuple([TradeLeg]).rest(TradeLeg).superRefine(RefineMinimumOneSymbol).superRefine(RefineUniqueSymbols).describe("Array of legs to modify the position")
27
+ legs: z.tuple([TradeLeg]).rest(TradeLeg).superRefine(RefineMinimumOneSymbol).superRefine(RefineUniqueSymbols).describe("Array of legs to modify the position"),
28
+ /**
29
+ * Attribution route code (client_ids.code)
30
+ */
31
+ clientId: ClientIdCode
23
32
  });
24
33
  const CreateMarketClose = z.object({
25
- type: z.literal("MARKET")
34
+ type: z.literal("MARKET"),
35
+ /**
36
+ * Attribution route code (client_ids.code)
37
+ */
38
+ clientId: ClientIdCode
26
39
  });
27
40
  const CreateMarketCloseAll = z.object({
28
- type: z.literal("MARKET")
41
+ type: z.literal("MARKET"),
42
+ /**
43
+ * Attribution route code (client_ids.code)
44
+ */
45
+ clientId: ClientIdCode
29
46
  });
30
47
  const CreateTradeOpen = z.discriminatedUnion("type", [CreateMarketOpen]);
31
48
  const CreateTradeAdjust = z.discriminatedUnion("type", [CreateMarketAdjust]);