@pear-protocol/types 0.0.20 → 0.1.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 (50) 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/entities.d.ts +1 -0
  12. package/dist/auth/entities.js +1 -1
  13. package/dist/auth/payloads.d.ts +4 -0
  14. package/dist/auth/payloads.js +5 -2
  15. package/dist/auth/response.d.ts +2 -0
  16. package/dist/bundle.d.ts +4 -0
  17. package/dist/bundle.js +4 -0
  18. package/dist/instrument/entities.d.ts +25 -0
  19. package/dist/instrument/entities.js +12 -2
  20. package/dist/instrument/queries.d.ts +14 -0
  21. package/dist/instrument/queries.js +4 -2
  22. package/dist/instrument/responses.d.ts +8 -0
  23. package/dist/market/entities.d.ts +66 -0
  24. package/dist/market/entities.js +42 -0
  25. package/dist/market/index.d.ts +3 -0
  26. package/dist/market/index.js +3 -0
  27. package/dist/market/queries.d.ts +38 -0
  28. package/dist/market/queries.js +19 -0
  29. package/dist/market/responses.d.ts +72 -0
  30. package/dist/market/responses.js +15 -0
  31. package/dist/portfolio/entities.d.ts +199 -0
  32. package/dist/portfolio/entities.js +100 -0
  33. package/dist/portfolio/index.d.ts +3 -0
  34. package/dist/portfolio/index.js +3 -0
  35. package/dist/portfolio/queries.d.ts +46 -0
  36. package/dist/portfolio/queries.js +20 -0
  37. package/dist/portfolio/responses.d.ts +172 -0
  38. package/dist/portfolio/responses.js +16 -0
  39. package/dist/tca/entities.d.ts +8 -0
  40. package/dist/tca/entities.js +6 -0
  41. package/dist/tca/index.d.ts +3 -0
  42. package/dist/tca/index.js +3 -0
  43. package/dist/tca/queries.d.ts +15 -0
  44. package/dist/tca/queries.js +14 -0
  45. package/dist/tca/responses.d.ts +353 -0
  46. package/dist/tca/responses.js +105 -0
  47. package/dist/users/entities.d.ts +1 -0
  48. package/dist/users/entities.js +1 -1
  49. package/dist/users/response.d.ts +1 -0
  50. package/package.json +1 -1
@@ -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 };
@@ -8,6 +8,7 @@ export declare const UserProfile: z.ZodObject<{
8
8
  role: z.ZodEnum<{
9
9
  basic: "basic";
10
10
  pro: "pro";
11
+ admin: "admin";
11
12
  }>;
12
13
  address: z.ZodNullable<z.ZodString>;
13
14
  email: z.ZodNullable<z.ZodString>;
@@ -6,7 +6,7 @@ const UserPreferences = z.object({
6
6
  const UserProfile = z.object({
7
7
  id: z.uuid().describe("User UUID"),
8
8
  displayName: z.string().describe("Public display name"),
9
- role: z.enum(["basic", "pro"]).describe("User role"),
9
+ role: z.enum(["basic", "pro", "admin"]).describe("User role"),
10
10
  address: z.string().nullable().describe("Linked wallet address (for evm_wallet provider)"),
11
11
  email: z.string().nullable().describe("Linked email address (for email provider)"),
12
12
  emailVerified: z.boolean().describe("Whether the email is verified")
@@ -6,6 +6,7 @@ export declare const ProfileResponse: z.ZodObject<{
6
6
  role: z.ZodEnum<{
7
7
  basic: "basic";
8
8
  pro: "pro";
9
+ admin: "admin";
9
10
  }>;
10
11
  address: z.ZodNullable<z.ZodString>;
11
12
  email: z.ZodNullable<z.ZodString>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pear-protocol/types",
3
- "version": "0.0.20",
3
+ "version": "0.1.0",
4
4
  "description": "Pear Protocol Types definitions",
5
5
  "private": false,
6
6
  "type": "module",