@nadohq/trigger-client 0.1.0-alpha.4 → 0.1.0-alpha.40
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.
- package/dist/TriggerClient.cjs +57 -24
- package/dist/TriggerClient.cjs.map +1 -1
- package/dist/TriggerClient.d.cts +5 -2
- package/dist/TriggerClient.d.ts +5 -2
- package/dist/TriggerClient.js +62 -25
- package/dist/TriggerClient.js.map +1 -1
- package/dist/dataMappers.cjs +64 -18
- package/dist/dataMappers.cjs.map +1 -1
- package/dist/dataMappers.d.cts +4 -3
- package/dist/dataMappers.d.ts +4 -3
- package/dist/dataMappers.js +57 -11
- package/dist/dataMappers.js.map +1 -1
- package/dist/endpoints.cjs +2 -2
- package/dist/endpoints.cjs.map +1 -1
- package/dist/endpoints.js +2 -2
- package/dist/endpoints.js.map +1 -1
- package/dist/index.cjs +4 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/types/clientModelTypes.cjs.map +1 -1
- package/dist/types/clientModelTypes.d.cts +14 -2
- package/dist/types/clientModelTypes.d.ts +14 -2
- package/dist/types/clientTypes.cjs.map +1 -1
- package/dist/types/clientTypes.d.cts +39 -5
- package/dist/types/clientTypes.d.ts +39 -5
- package/dist/types/index.cjs +2 -2
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.cts +3 -3
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/serverExecuteTypes.cjs.map +1 -1
- package/dist/types/serverExecuteTypes.d.cts +7 -2
- package/dist/types/serverExecuteTypes.d.ts +7 -2
- package/dist/types/serverModelTypes.cjs.map +1 -1
- package/dist/types/serverModelTypes.d.cts +1 -1
- package/dist/types/serverModelTypes.d.ts +1 -1
- package/dist/types/serverQueryTypes.cjs.map +1 -1
- package/dist/types/serverQueryTypes.d.cts +45 -8
- package/dist/types/serverQueryTypes.d.ts +45 -8
- package/package.json +8 -4
- package/src/TriggerClient.ts +79 -26
- package/src/dataMappers.ts +58 -8
- package/src/endpoints.ts +2 -2
- package/src/index.ts +2 -2
- package/src/types/clientModelTypes.ts +19 -3
- package/src/types/clientTypes.ts +53 -6
- package/src/types/index.ts +1 -1
- package/src/types/serverExecuteTypes.ts +7 -1
- package/src/types/serverModelTypes.ts +1 -1
- 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
|
};
|
package/src/types/clientTypes.ts
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|
+
}
|
package/src/types/index.ts
CHANGED
|
@@ -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:
|
|
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
|
-
|
|
9
|
-
triggered: EngineServerExecuteResult;
|
|
7
|
+
cancelled: TriggerServerCancelReason;
|
|
10
8
|
}
|
|
11
9
|
| {
|
|
12
|
-
|
|
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' | '
|
|
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
|
-
|
|
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<
|