@pear-protocol/types 1.31.0 → 1.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/baskets/recommended/entities.d.ts +36 -0
  2. package/dist/baskets/recommended/entities.js +22 -0
  3. package/dist/baskets/recommended/index.d.ts +2 -0
  4. package/dist/baskets/recommended/index.js +2 -0
  5. package/dist/baskets/recommended/responses.d.ts +28 -0
  6. package/dist/baskets/recommended/responses.js +8 -0
  7. package/dist/{saved-baskets → baskets/saved}/entities.d.ts +3 -0
  8. package/dist/{saved-baskets → baskets/saved}/entities.js +6 -3
  9. package/dist/{saved-baskets → baskets/saved}/payloads.d.ts +4 -0
  10. package/dist/{saved-baskets → baskets/saved}/payloads.js +1 -1
  11. package/dist/{saved-baskets → baskets/saved}/responses.d.ts +6 -0
  12. package/dist/bundle.d.ts +2 -1
  13. package/dist/bundle.js +2 -1
  14. package/dist/common/refinement.d.ts +9 -0
  15. package/dist/common/refinement.js +9 -1
  16. package/dist/common/trade-legs.d.ts +2 -0
  17. package/dist/common/trade-legs.js +7 -3
  18. package/dist/execution/entities.d.ts +13 -0
  19. package/dist/execution/entities.js +2 -0
  20. package/dist/execution/responses.d.ts +8 -0
  21. package/dist/ladder/entities.d.ts +549 -0
  22. package/dist/ladder/payloads.d.ts +4 -0
  23. package/dist/ladder/responses.d.ts +2039 -392
  24. package/dist/notification/entities.d.ts +176 -3
  25. package/dist/notification/entities.js +31 -0
  26. package/dist/notification/responses.d.ts +86 -0
  27. package/dist/schedule/entities.d.ts +3 -0
  28. package/dist/schedule/entities.js +2 -0
  29. package/dist/schedule/payloads.d.ts +2 -0
  30. package/dist/schedule/payloads.js +6 -29
  31. package/dist/schedule/responses.d.ts +2 -0
  32. package/dist/schedule/twap-config.d.ts +41 -0
  33. package/dist/schedule/twap-config.js +29 -0
  34. package/dist/trade/payloads.d.ts +8 -0
  35. package/dist/trade/responses.d.ts +20 -0
  36. package/dist/trigger/entities/index.d.ts +1707 -54
  37. package/dist/trigger/entities/index.js +55 -2
  38. package/dist/trigger/payloads/index.d.ts +898 -91
  39. package/dist/trigger/payloads/index.js +68 -5
  40. package/dist/trigger/responses.d.ts +1151 -53
  41. package/package.json +1 -1
  42. /package/dist/{saved-baskets → baskets/saved}/index.d.ts +0 -0
  43. /package/dist/{saved-baskets → baskets/saved}/index.js +0 -0
  44. /package/dist/{saved-baskets → baskets/saved}/responses.js +0 -0
@@ -4,6 +4,8 @@ import { TradeLegPostOnly, TradeLeg } from '../../common/trade-legs';
4
4
  import { Connector } from '../../connector';
5
5
  import { Fill } from '../../fill';
6
6
  import { InstrumentId } from '../../instrument';
7
+ import { TWAPRandomization } from '../../schedule/randomization';
8
+ import { TWAPSliceIntervalSec, MIN_TWAP_SLICE_INTERVAL_SEC, FINAL_TWAP_SLICE_START_HEADROOM_SEC, MAX_TWAP_DURATION_SEC, TWAPTargetNotional, TriggerTWAPOpenLegs } from '../../schedule/twap-config';
7
9
  import { TrailingMode, BracketType, TriggerStatus, TriggerCancelledReason, TpSlBracketType } from '../common';
8
10
  import { TriggerConditionOpen, TriggerConditionAdjust, TriggerConditionClose } from './conditions';
9
11
 
@@ -197,8 +199,59 @@ const TriggerMarket = z.discriminatedUnion("intent", [
197
199
  TriggerMarketAdjust,
198
200
  TriggerMarketClose
199
201
  ]);
202
+ const TriggerTWAPContext = z.object({
203
+ type: z.literal("TWAP"),
204
+ durationSec: z.int().min(MIN_TWAP_SLICE_INTERVAL_SEC + FINAL_TWAP_SLICE_START_HEADROOM_SEC).max(MAX_TWAP_DURATION_SEC),
205
+ sliceIntervalSec: TWAPSliceIntervalSec,
206
+ randomization: TWAPRandomization,
207
+ position: z.object({
208
+ id: z.uuid(),
209
+ initialExposure: z.record(InstrumentId, SignedDecimalString)
210
+ })
211
+ }).refine((context) => context.durationSec >= context.sliceIntervalSec + FINAL_TWAP_SLICE_START_HEADROOM_SEC, {
212
+ message: `TWAP duration must leave ${FINAL_TWAP_SLICE_START_HEADROOM_SEC} seconds after the first slice`,
213
+ path: [
214
+ "durationSec"
215
+ ]
216
+ });
217
+ const TriggerTWAPAdjust = BaseTrigger.extend({
218
+ /** Intent. */
219
+ intent: z.literal("ADJUST"),
220
+ /** Order type. */
221
+ type: z.literal("TWAP"),
222
+ /** Schedule created when the trigger fired, absent before firing or after a skipped fire. */
223
+ scheduleId: z.uuid().optional(),
224
+ /** Condition. */
225
+ condition: TriggerConditionAdjust,
226
+ /** Persisted TWAP execution context. */
227
+ context: TriggerTWAPContext.safeExtend({
228
+ legs: TriggerTWAPOpenLegs,
229
+ targetNotional: TWAPTargetNotional
230
+ }),
231
+ /** Optional trailing configuration. */
232
+ trailing: Trailing.optional()
233
+ });
234
+ const TriggerTWAPClose = BaseTrigger.extend({
235
+ /** Intent. */
236
+ intent: z.literal("CLOSE"),
237
+ /** Order type. */
238
+ type: z.literal("TWAP"),
239
+ /** Schedule created when the trigger fired, absent before firing or after a skipped fire. */
240
+ scheduleId: z.uuid().optional(),
241
+ /** Condition. */
242
+ condition: TriggerConditionClose,
243
+ /** Persisted TWAP execution context. */
244
+ context: TriggerTWAPContext,
245
+ /** Optional trailing configuration. */
246
+ trailing: Trailing.optional()
247
+ });
248
+ const TriggerTWAP = z.discriminatedUnion("intent", [
249
+ TriggerTWAPAdjust,
250
+ TriggerTWAPClose
251
+ ]);
200
252
  const Trigger = z.discriminatedUnion("type", [
201
- TriggerMarket
253
+ TriggerMarket,
254
+ TriggerTWAP
202
255
  ]);
203
256
 
204
- export { Trailing, Trigger, TriggerMarket, TriggerMarketAdjust, TriggerMarketClose, TriggerMarketOpen, TriggerMarketOpenAttachedTrigger };
257
+ export { Trailing, Trigger, TriggerMarket, TriggerMarketAdjust, TriggerMarketClose, TriggerMarketOpen, TriggerMarketOpenAttachedTrigger, TriggerTWAP, TriggerTWAPAdjust, TriggerTWAPClose };