@nadohq/trigger-client 0.1.0-alpha.4 → 0.1.0-alpha.41

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 (54) hide show
  1. package/dist/TriggerClient.cjs +57 -24
  2. package/dist/TriggerClient.cjs.map +1 -1
  3. package/dist/TriggerClient.d.cts +5 -2
  4. package/dist/TriggerClient.d.ts +5 -2
  5. package/dist/TriggerClient.js +62 -25
  6. package/dist/TriggerClient.js.map +1 -1
  7. package/dist/dataMappers.cjs +64 -18
  8. package/dist/dataMappers.cjs.map +1 -1
  9. package/dist/dataMappers.d.cts +4 -3
  10. package/dist/dataMappers.d.ts +4 -3
  11. package/dist/dataMappers.js +57 -11
  12. package/dist/dataMappers.js.map +1 -1
  13. package/dist/endpoints.cjs +2 -2
  14. package/dist/endpoints.cjs.map +1 -1
  15. package/dist/endpoints.js +2 -2
  16. package/dist/endpoints.js.map +1 -1
  17. package/dist/index.cjs +4 -4
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.cts +6 -6
  20. package/dist/index.d.ts +6 -6
  21. package/dist/index.js +2 -2
  22. package/dist/index.js.map +1 -1
  23. package/dist/types/clientModelTypes.cjs.map +1 -1
  24. package/dist/types/clientModelTypes.d.cts +14 -2
  25. package/dist/types/clientModelTypes.d.ts +14 -2
  26. package/dist/types/clientTypes.cjs.map +1 -1
  27. package/dist/types/clientTypes.d.cts +39 -5
  28. package/dist/types/clientTypes.d.ts +39 -5
  29. package/dist/types/index.cjs +2 -2
  30. package/dist/types/index.cjs.map +1 -1
  31. package/dist/types/index.d.cts +3 -3
  32. package/dist/types/index.d.ts +3 -3
  33. package/dist/types/index.js +1 -1
  34. package/dist/types/index.js.map +1 -1
  35. package/dist/types/serverExecuteTypes.cjs.map +1 -1
  36. package/dist/types/serverExecuteTypes.d.cts +7 -2
  37. package/dist/types/serverExecuteTypes.d.ts +7 -2
  38. package/dist/types/serverModelTypes.cjs.map +1 -1
  39. package/dist/types/serverModelTypes.d.cts +1 -1
  40. package/dist/types/serverModelTypes.d.ts +1 -1
  41. package/dist/types/serverQueryTypes.cjs.map +1 -1
  42. package/dist/types/serverQueryTypes.d.cts +45 -8
  43. package/dist/types/serverQueryTypes.d.ts +45 -8
  44. package/package.json +8 -4
  45. package/src/TriggerClient.ts +79 -26
  46. package/src/dataMappers.ts +58 -8
  47. package/src/endpoints.ts +2 -2
  48. package/src/index.ts +2 -2
  49. package/src/types/clientModelTypes.ts +19 -3
  50. package/src/types/clientTypes.ts +53 -6
  51. package/src/types/index.ts +1 -1
  52. package/src/types/serverExecuteTypes.ts +7 -1
  53. package/src/types/serverModelTypes.ts +1 -1
  54. package/src/types/serverQueryTypes.ts +72 -10
@@ -62,9 +62,6 @@ export type TriggerCriteria =
62
62
  export type TriggerCriteriaType = TriggerCriteria['type'];
63
63
 
64
64
  export type TriggerOrderStatus =
65
- | {
66
- type: 'pending';
67
- }
68
65
  | {
69
66
  type: 'cancelled';
70
67
  reason: string;
@@ -76,4 +73,23 @@ export type TriggerOrderStatus =
76
73
  | {
77
74
  type: 'internal_error';
78
75
  error: string;
76
+ }
77
+ | {
78
+ type: 'triggering';
79
+ }
80
+ | {
81
+ type: 'waiting_price';
82
+ }
83
+ | {
84
+ type: 'waiting_dependency';
85
+ }
86
+ | {
87
+ type: 'twap_executing';
88
+ currentExecution: number;
89
+ totalExecutions: number;
90
+ }
91
+ | {
92
+ type: 'twap_completed';
93
+ executed: number;
94
+ total: number;
79
95
  };
@@ -1,14 +1,18 @@
1
1
  import {
2
+ EngineOrderParams,
3
+ EngineServerExecuteResult,
4
+ } from '@nadohq/engine-client';
5
+ import {
6
+ BigDecimal,
2
7
  EIP712CancelOrdersParams,
3
8
  EIP712CancelProductOrdersParams,
4
9
  OrderAppendix,
5
10
  Subaccount,
6
11
  } from '@nadohq/shared';
7
- import { EngineOrderParams } from '@nadohq/engine-client';
8
- import { BigDecimal } from '@nadohq/shared';
9
12
  import { TriggerCriteria, TriggerOrderStatus } from './clientModelTypes';
10
13
  import {
11
14
  TriggerServerOrder,
15
+ TriggerServerStatusTypeFilter,
12
16
  TriggerServerTriggerTypeFilter,
13
17
  } from './serverQueryTypes';
14
18
 
@@ -34,12 +38,21 @@ export interface TriggerPlaceOrderParams extends SignatureParams {
34
38
  triggerCriteria: TriggerCriteria;
35
39
  // If not given, engine defaults to true (leverage/borrow enabled)
36
40
  spotLeverage?: boolean;
37
- // For isolated orders, this specifies whether margin can be borrowed (i.e. whether the cross account can have a negative USDC balance)
41
+ // For isolated orders, this specifies whether margin can be borrowed (i.e. whether the cross account can have a negative USDT balance)
38
42
  borrowMargin?: boolean;
39
43
  digest?: string;
40
44
  nonce?: string;
41
45
  }
42
46
 
47
+ export interface TriggerPlaceOrdersParams {
48
+ orders: TriggerPlaceOrderParams[];
49
+ /**
50
+ * If `true`, aborts the batch after the first failed order; if `false`, remaining orders continue to execute.
51
+ * If not provided, the default value is `false`.
52
+ */
53
+ stopOnFailure?: boolean;
54
+ }
55
+
43
56
  export type TriggerCancelOrdersParams = SignatureParams &
44
57
  WithOptionalNonce<EIP712CancelOrdersParams>;
45
58
 
@@ -54,14 +67,14 @@ export interface TriggerListOrdersParams extends Subaccount, SignatureParams {
54
67
  // In millis, defaults to 90s in the future
55
68
  recvTime?: BigDecimal;
56
69
  // If not given, defaults to all products
57
- productId?: number;
58
- // Pending trigger orders only, ignores cancelled & triggered orders
59
- pending: boolean;
70
+ productIds?: number[];
60
71
  // In seconds
61
72
  maxUpdateTimeInclusive?: number;
62
73
  // When provided, the associated trigger orders are returned regardless of other filters
63
74
  digests?: string[];
64
75
  limit?: number;
76
+ // Filter by status types
77
+ statusTypes?: TriggerServerStatusTypeFilter[];
65
78
  // Filter by trigger types
66
79
  triggerTypes?: TriggerServerTriggerTypeFilter[];
67
80
  // Filter by reduce-only orders
@@ -84,8 +97,42 @@ export interface TriggerOrderInfo {
84
97
  serverOrder: TriggerServerOrder;
85
98
  status: TriggerOrderStatus;
86
99
  updatedAt: number;
100
+ placementTime: number;
87
101
  }
88
102
 
89
103
  export interface TriggerListOrdersResponse {
90
104
  orders: TriggerOrderInfo[];
91
105
  }
106
+
107
+ export interface TriggerListTwapExecutionsParams {
108
+ digest: string;
109
+ }
110
+
111
+ export type TwapExecutionStatus =
112
+ | {
113
+ type: 'pending';
114
+ }
115
+ | {
116
+ type: 'executed';
117
+ executedTime: number;
118
+ executeResponse: EngineServerExecuteResult;
119
+ }
120
+ | {
121
+ type: 'failed';
122
+ error: string;
123
+ }
124
+ | {
125
+ type: 'cancelled';
126
+ reason: string;
127
+ };
128
+
129
+ export interface TwapExecutionInfo {
130
+ executionId: number;
131
+ scheduledTime: number;
132
+ status: TwapExecutionStatus;
133
+ updatedAt: number;
134
+ }
135
+
136
+ export interface TriggerListTwapExecutionsResponse {
137
+ executions: TwapExecutionInfo[];
138
+ }
@@ -1,6 +1,6 @@
1
1
  export * from './clientModelTypes';
2
2
  export * from './clientTypes';
3
- export * from './serverModelTypes';
4
3
  export * from './serverExecuteTypes';
4
+ export * from './serverModelTypes';
5
5
  export * from './serverQueryTypes';
6
6
  export * from './TriggerServerFailureError';
@@ -1,9 +1,9 @@
1
- import { EIP712OrderValues } from '@nadohq/shared';
2
1
  import {
3
2
  EngineServerExecuteFailureResult,
4
3
  EngineServerExecuteRequestByType,
5
4
  EngineServerExecuteSuccessResult,
6
5
  } from '@nadohq/engine-client';
6
+ import { EIP712OrderValues } from '@nadohq/shared';
7
7
  import { TriggerServerTriggerCriteria } from './serverModelTypes';
8
8
 
9
9
  export interface TriggerServerPlaceOrderParams {
@@ -24,8 +24,14 @@ export type TriggerServerCancelOrdersParams =
24
24
  export type TriggerServerCancelProductOrdersParams =
25
25
  EngineServerExecuteRequestByType['cancel_product_orders'];
26
26
 
27
+ export interface TriggerServerPlaceOrdersParams {
28
+ orders: TriggerServerPlaceOrderParams[];
29
+ stop_on_failure: boolean | null;
30
+ }
31
+
27
32
  export interface TriggerServerExecuteRequestByType {
28
33
  place_order: TriggerServerPlaceOrderParams;
34
+ place_orders: TriggerServerPlaceOrdersParams;
29
35
  cancel_orders: TriggerServerCancelOrdersParams;
30
36
  cancel_product_orders: TriggerServerCancelProductOrdersParams;
31
37
  }
@@ -38,7 +38,7 @@ export interface TriggerServerTimeTriggerCriteria {
38
38
  /**
39
39
  * Trigger interval in seconds
40
40
  */
41
- interval: string;
41
+ interval: number;
42
42
  /**
43
43
  * By default, trigger service will split up orders as per total amount / interval
44
44
  * If you want to specify the amounts for each interval, you can provide them here.
@@ -1,42 +1,68 @@
1
- import { EIP712ListTriggerOrdersValues, SignedTx } from '@nadohq/shared';
2
1
  import { EngineServerExecuteResult } from '@nadohq/engine-client';
2
+ import { EIP712ListTriggerOrdersValues, SignedTx } from '@nadohq/shared';
3
3
  import { TriggerServerPlaceOrderParams } from './serverExecuteTypes';
4
4
 
5
5
  export type TriggerServerOrderStatus =
6
- | 'pending'
7
6
  | {
8
- // Result from sending to engine
9
- triggered: EngineServerExecuteResult;
7
+ cancelled: TriggerServerCancelReason;
10
8
  }
11
9
  | {
12
- // Reason string
13
- cancelled: string;
10
+ triggered: EngineServerExecuteResult;
14
11
  }
15
12
  | {
16
- // Error message
17
13
  internal_error: string;
14
+ }
15
+ | 'triggering'
16
+ | 'waiting_price'
17
+ | 'waiting_dependency'
18
+ | {
19
+ twap_executing: {
20
+ current_execution: number;
21
+ total_executions: number;
22
+ };
23
+ }
24
+ | {
25
+ twap_completed: {
26
+ executed: number;
27
+ total: number;
28
+ };
18
29
  };
19
30
 
20
31
  /**
21
32
  * Request types
22
33
  */
23
34
 
24
- export type TriggerServerTriggerTypeFilter = 'price_trigger' | 'twap';
35
+ export type TriggerServerTriggerTypeFilter = 'price_trigger' | 'time_trigger';
36
+
37
+ export type TriggerServerStatusTypeFilter =
38
+ | 'cancelled'
39
+ | 'triggered'
40
+ | 'internal_error'
41
+ | 'triggering'
42
+ | 'waiting_price'
43
+ | 'waiting_dependency'
44
+ | 'twap_executing'
45
+ | 'twap_completed';
25
46
 
26
47
  export interface TriggerServerListTriggerOrdersParams
27
48
  extends SignedTx<EIP712ListTriggerOrdersValues> {
28
- pending: boolean;
29
49
  // If not given, defaults to all products
30
- product_id?: number;
50
+ product_ids?: number[];
31
51
  max_update_time?: number;
32
52
  digests?: string[];
33
53
  limit?: number;
34
54
  trigger_types?: TriggerServerTriggerTypeFilter[];
55
+ status_types?: TriggerServerStatusTypeFilter[];
35
56
  reduce_only?: boolean;
36
57
  }
37
58
 
59
+ export interface TriggerServerListTwapExecutionsParams {
60
+ digest: string;
61
+ }
62
+
38
63
  export interface TriggerServerQueryRequestByType {
39
64
  list_trigger_orders: TriggerServerListTriggerOrdersParams;
65
+ list_twap_executions: TriggerServerListTwapExecutionsParams;
40
66
  }
41
67
 
42
68
  export type TriggerServerQueryRequestType =
@@ -55,14 +81,50 @@ export interface TriggerServerOrderInfo {
55
81
  order: TriggerServerOrder;
56
82
  status: TriggerServerOrderStatus;
57
83
  updated_at: number;
84
+ placed_at: number;
58
85
  }
59
86
 
60
87
  export interface TriggerServerListTriggerOrdersResponse {
61
88
  orders: TriggerServerOrderInfo[];
62
89
  }
63
90
 
91
+ export type TriggerServerCancelReason =
92
+ | 'user_requested'
93
+ | 'linked_signer_changed'
94
+ | 'expired'
95
+ | 'account_health'
96
+ | 'isolated_subaccount_closed'
97
+ | 'dependent_order_cancelled';
98
+
99
+ export type TriggerServerTwapExecutionStatus =
100
+ | 'pending'
101
+ | {
102
+ executed: {
103
+ executed_time: number;
104
+ execute_response: EngineServerExecuteResult;
105
+ };
106
+ }
107
+ | {
108
+ failed: string;
109
+ }
110
+ | {
111
+ cancelled: TriggerServerCancelReason;
112
+ };
113
+
114
+ export interface TriggerServerTwapExecutionInfo {
115
+ execution_id: number;
116
+ scheduled_time: number;
117
+ status: TriggerServerTwapExecutionStatus;
118
+ updated_at: number;
119
+ }
120
+
121
+ export interface TriggerServerTwapExecutionsResponse {
122
+ executions: TriggerServerTwapExecutionInfo[];
123
+ }
124
+
64
125
  export interface TriggerServerQueryResponseByType {
65
126
  list_trigger_orders: TriggerServerListTriggerOrdersResponse;
127
+ list_twap_executions: TriggerServerTwapExecutionsResponse;
66
128
  }
67
129
 
68
130
  export interface TriggerServerQuerySuccessResponse<