@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
@@ -2,6 +2,8 @@ import { z } from 'zod';
2
2
  import { ClientIdCode } from '../../common/client-id';
3
3
  import { RefineMinimumOneSymbol, RefineUniqueSymbols } from '../../common/refinement';
4
4
  import { TradeLegPostOnly } from '../../common/trade-legs';
5
+ import { TWAPRandomization, DEFAULT_TWAP_RANDOMIZATION } from '../../schedule/randomization';
6
+ import { TWAPSliceIntervalSec, MIN_TWAP_SLICE_INTERVAL_SEC, FINAL_TWAP_SLICE_START_HEADROOM_SEC, MAX_TWAP_DURATION_SEC, TWAPTargetNotional, TriggerTWAPOpenLegs } from '../../schedule/twap-config';
5
7
  import { TrailingMode, TpSlBracketType, BracketType } from '../common';
6
8
  import { RefineStaticLogicalRules } from '../refinement/static.refinement';
7
9
  import { RefineTrailingConfig, RefineTrailingLogicalRules } from '../refinement/trailing.refinement';
@@ -16,6 +18,21 @@ const CreateTriggerMarketPayload = z.object({
16
18
  TradeLegPostOnly.strict()
17
19
  ]).rest(TradeLegPostOnly.strict()).superRefine(RefineMinimumOneSymbol).superRefine(RefineUniqueSymbols).describe("Array of legs to make up the exposure")
18
20
  }).strict();
21
+ const CreateTriggerTWAPConfig = z.object({
22
+ type: z.literal("TWAP"),
23
+ durationSec: z.int().min(MIN_TWAP_SLICE_INTERVAL_SEC + FINAL_TWAP_SLICE_START_HEADROOM_SEC).max(MAX_TWAP_DURATION_SEC),
24
+ sliceIntervalSec: TWAPSliceIntervalSec,
25
+ randomization: TWAPRandomization.optional().default(DEFAULT_TWAP_RANDOMIZATION)
26
+ }).strict().refine((payload) => payload.durationSec >= payload.sliceIntervalSec + FINAL_TWAP_SLICE_START_HEADROOM_SEC, {
27
+ message: `TWAP duration must leave ${FINAL_TWAP_SLICE_START_HEADROOM_SEC} seconds after the first slice`,
28
+ path: [
29
+ "durationSec"
30
+ ]
31
+ });
32
+ const CreateTriggerTWAPAdjustPayload = CreateTriggerTWAPConfig.safeExtend({
33
+ legs: TriggerTWAPOpenLegs,
34
+ targetNotional: TWAPTargetNotional
35
+ });
19
36
  const TrailingConfig = z.object({
20
37
  mode: TrailingMode,
21
38
  deltaValue: z.number(),
@@ -68,6 +85,17 @@ const CreateTriggerMarketAdjust = z.object({
68
85
  */
69
86
  clientId: ClientIdCode
70
87
  }).strict();
88
+ const CreateTriggerTWAPAdjust = z.object({
89
+ intent: z.literal("ADJUST"),
90
+ type: z.literal("TWAP"),
91
+ positionId: z.uuid(),
92
+ condition: CreateTriggerConditionOpen,
93
+ payload: CreateTriggerTWAPAdjustPayload,
94
+ /**
95
+ * Attribution route code (client_ids.code)
96
+ */
97
+ clientId: ClientIdCode
98
+ }).strict();
71
99
  const CreateTriggerMarketCloseStatic = z.object({
72
100
  intent: z.literal("CLOSE"),
73
101
  type: z.literal("MARKET"),
@@ -97,14 +125,49 @@ const CreateTriggerMarketClose = z.union([
97
125
  CreateTriggerMarketCloseStatic,
98
126
  CreateTriggerMarketCloseTrailing
99
127
  ]);
100
- const CreateTriggerOpen = z.discriminatedUnion("intent", [
101
- CreateTriggerMarketOpen,
102
- CreateTriggerMarketAdjust
128
+ const CreateTriggerTWAPCloseStatic = z.object({
129
+ intent: z.literal("CLOSE"),
130
+ type: z.literal("TWAP"),
131
+ positionId: z.uuid(),
132
+ bracketType: BracketType,
133
+ semanticBracketType: TpSlBracketType.optional(),
134
+ condition: CreateTriggerConditionCloseStatic,
135
+ payload: CreateTriggerTWAPConfig,
136
+ /**
137
+ * Attribution route code (client_ids.code)
138
+ */
139
+ clientId: ClientIdCode
140
+ }).strict().superRefine(RefineStaticLogicalRules);
141
+ const CreateTriggerTWAPCloseTrailing = z.object({
142
+ intent: z.literal("CLOSE"),
143
+ type: z.literal("TWAP"),
144
+ positionId: z.uuid(),
145
+ condition: CreateTriggerConditionCloseTrailing,
146
+ trailing: TrailingConfig,
147
+ payload: CreateTriggerTWAPConfig,
148
+ /**
149
+ * Attribution route code (client_ids.code)
150
+ */
151
+ clientId: ClientIdCode
152
+ }).strict().superRefine(RefineTrailingLogicalRules);
153
+ const CreateTriggerTWAPClose = z.union([
154
+ CreateTriggerTWAPCloseStatic,
155
+ CreateTriggerTWAPCloseTrailing
156
+ ]);
157
+ const CreateTriggerOpen = z.discriminatedUnion("type", [
158
+ z.discriminatedUnion("intent", [
159
+ CreateTriggerMarketOpen,
160
+ CreateTriggerMarketAdjust
161
+ ]),
162
+ CreateTriggerTWAPAdjust
163
+ ]);
164
+ const CreateTriggerClose = z.union([
165
+ CreateTriggerMarketClose,
166
+ CreateTriggerTWAPClose
103
167
  ]);
104
- const CreateTriggerClose = CreateTriggerMarketClose;
105
168
  function isAttachTriggerMarketCloseTrailing(attachedTrigger) {
106
169
  return "trailing" in attachedTrigger && attachedTrigger.trailing !== void 0;
107
170
  }
108
171
  __name(isAttachTriggerMarketCloseTrailing, "isAttachTriggerMarketCloseTrailing");
109
172
 
110
- export { AttachTriggerMarketClose, AttachTriggerMarketCloseList, AttachTriggerMarketCloseStatic, AttachTriggerMarketCloseTrailing, CreateTriggerClose, CreateTriggerMarketAdjust, CreateTriggerMarketClose, CreateTriggerMarketCloseStatic, CreateTriggerMarketCloseTrailing, CreateTriggerMarketOpen, CreateTriggerOpen, TrailingConfig, isAttachTriggerMarketCloseTrailing };
173
+ export { AttachTriggerMarketClose, AttachTriggerMarketCloseList, AttachTriggerMarketCloseStatic, AttachTriggerMarketCloseTrailing, CreateTriggerClose, CreateTriggerMarketAdjust, CreateTriggerMarketClose, CreateTriggerMarketCloseStatic, CreateTriggerMarketCloseTrailing, CreateTriggerMarketOpen, CreateTriggerOpen, CreateTriggerTWAPAdjust, CreateTriggerTWAPClose, CreateTriggerTWAPCloseStatic, CreateTriggerTWAPCloseTrailing, TrailingConfig, isAttachTriggerMarketCloseTrailing };