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

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 (64) hide show
  1. package/dist/TriggerClient.cjs +22 -15
  2. package/dist/TriggerClient.cjs.map +1 -1
  3. package/dist/TriggerClient.d.cts +3 -2
  4. package/dist/TriggerClient.d.ts +3 -2
  5. package/dist/TriggerClient.js +15 -7
  6. package/dist/TriggerClient.js.map +1 -1
  7. package/dist/dataMappers.cjs +125 -68
  8. package/dist/dataMappers.cjs.map +1 -1
  9. package/dist/dataMappers.d.cts +21 -8
  10. package/dist/dataMappers.d.ts +21 -8
  11. package/dist/dataMappers.js +124 -65
  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.d.cts +1 -1
  16. package/dist/endpoints.d.ts +1 -1
  17. package/dist/endpoints.js +2 -2
  18. package/dist/endpoints.js.map +1 -1
  19. package/dist/index.d.cts +6 -5
  20. package/dist/index.d.ts +6 -5
  21. package/dist/types/TriggerServerFailureError.cjs +1 -1
  22. package/dist/types/TriggerServerFailureError.cjs.map +1 -1
  23. package/dist/types/TriggerServerFailureError.d.cts +3 -2
  24. package/dist/types/TriggerServerFailureError.d.ts +3 -2
  25. package/dist/types/TriggerServerFailureError.js +1 -1
  26. package/dist/types/TriggerServerFailureError.js.map +1 -1
  27. package/dist/types/clientModelTypes.cjs +19 -0
  28. package/dist/types/clientModelTypes.cjs.map +1 -0
  29. package/dist/types/clientModelTypes.d.cts +55 -0
  30. package/dist/types/clientModelTypes.d.ts +55 -0
  31. package/dist/types/clientModelTypes.js +1 -0
  32. package/dist/types/clientModelTypes.js.map +1 -0
  33. package/dist/types/clientTypes.cjs.map +1 -1
  34. package/dist/types/clientTypes.d.cts +15 -23
  35. package/dist/types/clientTypes.d.ts +15 -23
  36. package/dist/types/index.cjs +4 -0
  37. package/dist/types/index.cjs.map +1 -1
  38. package/dist/types/index.d.cts +6 -5
  39. package/dist/types/index.d.ts +6 -5
  40. package/dist/types/index.js +2 -0
  41. package/dist/types/index.js.map +1 -1
  42. package/dist/types/serverExecuteTypes.cjs.map +1 -1
  43. package/dist/types/serverExecuteTypes.d.cts +4 -15
  44. package/dist/types/serverExecuteTypes.d.ts +4 -15
  45. package/dist/types/serverModelTypes.cjs +19 -0
  46. package/dist/types/serverModelTypes.cjs.map +1 -0
  47. package/dist/types/serverModelTypes.d.cts +42 -0
  48. package/dist/types/serverModelTypes.d.ts +42 -0
  49. package/dist/types/serverModelTypes.js +1 -0
  50. package/dist/types/serverModelTypes.js.map +1 -0
  51. package/dist/types/serverQueryTypes.cjs.map +1 -1
  52. package/dist/types/serverQueryTypes.d.cts +6 -2
  53. package/dist/types/serverQueryTypes.d.ts +6 -2
  54. package/package.json +4 -5
  55. package/src/TriggerClient.ts +14 -6
  56. package/src/dataMappers.ts +173 -69
  57. package/src/endpoints.ts +2 -2
  58. package/src/types/TriggerServerFailureError.ts +2 -2
  59. package/src/types/clientModelTypes.ts +79 -0
  60. package/src/types/clientTypes.ts +20 -38
  61. package/src/types/index.ts +2 -0
  62. package/src/types/serverExecuteTypes.ts +3 -24
  63. package/src/types/serverModelTypes.ts +55 -0
  64. package/src/types/serverQueryTypes.ts +5 -1
@@ -1,30 +1,18 @@
1
- import { EIP712CancelOrdersParams, EIP712CancelProductOrdersParams, Subaccount } from '@nadohq/contracts';
2
- import { EngineOrderParams, EngineServerExecuteResult } from '@nadohq/engine-client';
3
- import { BigDecimalish, BigDecimal } from '@nadohq/utils';
4
- import { TriggerServerOrder } from './serverQueryTypes.cjs';
1
+ import { EIP712CancelOrdersParams, EIP712CancelProductOrdersParams, Subaccount, BigDecimal, OrderAppendix } from '@nadohq/shared';
2
+ import { EngineOrderParams } from '@nadohq/engine-client';
3
+ import { TriggerCriteria, TriggerOrderStatus } from './clientModelTypes.cjs';
4
+ import { TriggerServerTriggerTypeFilter, TriggerServerOrder } from './serverQueryTypes.cjs';
5
5
  import './serverExecuteTypes.cjs';
6
+ import './serverModelTypes.cjs';
6
7
 
7
8
  type WithOptionalNonce<T> = Omit<T, 'nonce'> & {
8
9
  nonce?: string;
9
10
  };
10
- type TriggerCriteriaType = 'oracle_price_above' | 'oracle_price_below' | 'last_price_above' | 'last_price_below' | 'mid_price_above' | 'mid_price_below';
11
- type TriggerCriteria = {
12
- type: TriggerCriteriaType;
13
- triggerPrice: BigDecimalish;
14
- };
15
- type TriggerOrderStatus = {
16
- type: 'pending';
17
- } | {
18
- type: 'cancelled';
19
- reason: string;
20
- } | {
21
- type: 'triggered';
22
- result: EngineServerExecuteResult;
23
- } | {
24
- type: 'internal_error';
25
- error: string;
26
- };
27
11
  interface SignatureParams {
12
+ /**
13
+ * Address derived from productId for placement (see getOrderVerifyingAddr)
14
+ * endpoint address for cancellation & listing
15
+ */
28
16
  verifyingAddr: string;
29
17
  chainId: number;
30
18
  }
@@ -37,6 +25,7 @@ interface TriggerPlaceOrderParams extends SignatureParams {
37
25
  order: EngineOrderParams;
38
26
  triggerCriteria: TriggerCriteria;
39
27
  spotLeverage?: boolean;
28
+ borrowMargin?: boolean;
40
29
  digest?: string;
41
30
  nonce?: string;
42
31
  }
@@ -52,15 +41,18 @@ interface TriggerListOrdersParams extends Subaccount, SignatureParams {
52
41
  maxUpdateTimeInclusive?: number;
53
42
  digests?: string[];
54
43
  limit?: number;
44
+ triggerTypes?: TriggerServerTriggerTypeFilter[];
45
+ reduceOnly?: boolean;
55
46
  }
56
47
  interface TriggerOrder {
57
48
  productId: number;
58
49
  triggerCriteria: TriggerCriteria;
59
50
  price: BigDecimal;
60
51
  amount: BigDecimal;
61
- expiration: BigDecimal;
52
+ expiration: number;
62
53
  nonce: string;
63
54
  digest: string;
55
+ appendix: OrderAppendix;
64
56
  }
65
57
  interface TriggerOrderInfo {
66
58
  order: TriggerOrder;
@@ -72,4 +64,4 @@ interface TriggerListOrdersResponse {
72
64
  orders: TriggerOrderInfo[];
73
65
  }
74
66
 
75
- export type { TriggerCancelOrdersParams, TriggerCancelProductOrdersParams, TriggerCriteria, TriggerCriteriaType, TriggerListOrdersParams, TriggerListOrdersResponse, TriggerOrder, TriggerOrderInfo, TriggerOrderStatus, TriggerPlaceOrderParams };
67
+ export type { TriggerCancelOrdersParams, TriggerCancelProductOrdersParams, TriggerListOrdersParams, TriggerListOrdersResponse, TriggerOrder, TriggerOrderInfo, TriggerPlaceOrderParams };
@@ -1,30 +1,18 @@
1
- import { EIP712CancelOrdersParams, EIP712CancelProductOrdersParams, Subaccount } from '@nadohq/contracts';
2
- import { EngineOrderParams, EngineServerExecuteResult } from '@nadohq/engine-client';
3
- import { BigDecimalish, BigDecimal } from '@nadohq/utils';
4
- import { TriggerServerOrder } from './serverQueryTypes.js';
1
+ import { EIP712CancelOrdersParams, EIP712CancelProductOrdersParams, Subaccount, BigDecimal, OrderAppendix } from '@nadohq/shared';
2
+ import { EngineOrderParams } from '@nadohq/engine-client';
3
+ import { TriggerCriteria, TriggerOrderStatus } from './clientModelTypes.js';
4
+ import { TriggerServerTriggerTypeFilter, TriggerServerOrder } from './serverQueryTypes.js';
5
5
  import './serverExecuteTypes.js';
6
+ import './serverModelTypes.js';
6
7
 
7
8
  type WithOptionalNonce<T> = Omit<T, 'nonce'> & {
8
9
  nonce?: string;
9
10
  };
10
- type TriggerCriteriaType = 'oracle_price_above' | 'oracle_price_below' | 'last_price_above' | 'last_price_below' | 'mid_price_above' | 'mid_price_below';
11
- type TriggerCriteria = {
12
- type: TriggerCriteriaType;
13
- triggerPrice: BigDecimalish;
14
- };
15
- type TriggerOrderStatus = {
16
- type: 'pending';
17
- } | {
18
- type: 'cancelled';
19
- reason: string;
20
- } | {
21
- type: 'triggered';
22
- result: EngineServerExecuteResult;
23
- } | {
24
- type: 'internal_error';
25
- error: string;
26
- };
27
11
  interface SignatureParams {
12
+ /**
13
+ * Address derived from productId for placement (see getOrderVerifyingAddr)
14
+ * endpoint address for cancellation & listing
15
+ */
28
16
  verifyingAddr: string;
29
17
  chainId: number;
30
18
  }
@@ -37,6 +25,7 @@ interface TriggerPlaceOrderParams extends SignatureParams {
37
25
  order: EngineOrderParams;
38
26
  triggerCriteria: TriggerCriteria;
39
27
  spotLeverage?: boolean;
28
+ borrowMargin?: boolean;
40
29
  digest?: string;
41
30
  nonce?: string;
42
31
  }
@@ -52,15 +41,18 @@ interface TriggerListOrdersParams extends Subaccount, SignatureParams {
52
41
  maxUpdateTimeInclusive?: number;
53
42
  digests?: string[];
54
43
  limit?: number;
44
+ triggerTypes?: TriggerServerTriggerTypeFilter[];
45
+ reduceOnly?: boolean;
55
46
  }
56
47
  interface TriggerOrder {
57
48
  productId: number;
58
49
  triggerCriteria: TriggerCriteria;
59
50
  price: BigDecimal;
60
51
  amount: BigDecimal;
61
- expiration: BigDecimal;
52
+ expiration: number;
62
53
  nonce: string;
63
54
  digest: string;
55
+ appendix: OrderAppendix;
64
56
  }
65
57
  interface TriggerOrderInfo {
66
58
  order: TriggerOrder;
@@ -72,4 +64,4 @@ interface TriggerListOrdersResponse {
72
64
  orders: TriggerOrderInfo[];
73
65
  }
74
66
 
75
- export type { TriggerCancelOrdersParams, TriggerCancelProductOrdersParams, TriggerCriteria, TriggerCriteriaType, TriggerListOrdersParams, TriggerListOrdersResponse, TriggerOrder, TriggerOrderInfo, TriggerOrderStatus, TriggerPlaceOrderParams };
67
+ export type { TriggerCancelOrdersParams, TriggerCancelProductOrdersParams, TriggerListOrdersParams, TriggerListOrdersResponse, TriggerOrder, TriggerOrderInfo, TriggerPlaceOrderParams };
@@ -17,13 +17,17 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
17
17
  // src/types/index.ts
18
18
  var types_exports = {};
19
19
  module.exports = __toCommonJS(types_exports);
20
+ __reExport(types_exports, require("./clientModelTypes.cjs"), module.exports);
20
21
  __reExport(types_exports, require("./clientTypes.cjs"), module.exports);
22
+ __reExport(types_exports, require("./serverModelTypes.cjs"), module.exports);
21
23
  __reExport(types_exports, require("./serverExecuteTypes.cjs"), module.exports);
22
24
  __reExport(types_exports, require("./serverQueryTypes.cjs"), module.exports);
23
25
  __reExport(types_exports, require("./TriggerServerFailureError.cjs"), module.exports);
24
26
  // Annotate the CommonJS export names for ESM import in node:
25
27
  0 && (module.exports = {
28
+ ...require("./clientModelTypes.cjs"),
26
29
  ...require("./clientTypes.cjs"),
30
+ ...require("./serverModelTypes.cjs"),
27
31
  ...require("./serverExecuteTypes.cjs"),
28
32
  ...require("./serverQueryTypes.cjs"),
29
33
  ...require("./TriggerServerFailureError.cjs")
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/types/index.ts"],"sourcesContent":["export * from './clientTypes';\nexport * from './serverExecuteTypes';\nexport * from './serverQueryTypes';\nexport * from './TriggerServerFailureError';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,8BAAd;AACA,0BAAc,qCADd;AAEA,0BAAc,mCAFd;AAGA,0BAAc,4CAHd;","names":[]}
1
+ {"version":3,"sources":["../../src/types/index.ts"],"sourcesContent":["export * from './clientModelTypes';\nexport * from './clientTypes';\nexport * from './serverModelTypes';\nexport * from './serverExecuteTypes';\nexport * from './serverQueryTypes';\nexport * from './TriggerServerFailureError';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,mCAAd;AACA,0BAAc,8BADd;AAEA,0BAAc,mCAFd;AAGA,0BAAc,qCAHd;AAIA,0BAAc,mCAJd;AAKA,0BAAc,4CALd;","names":[]}
@@ -1,7 +1,8 @@
1
- export { TriggerCancelOrdersParams, TriggerCancelProductOrdersParams, TriggerCriteria, TriggerCriteriaType, TriggerListOrdersParams, TriggerListOrdersResponse, TriggerOrder, TriggerOrderInfo, TriggerOrderStatus, TriggerPlaceOrderParams } from './clientTypes.cjs';
2
- export { TriggerServerCancelOrdersParams, TriggerServerCancelProductOrdersParams, TriggerServerExecuteRequestByType, TriggerServerExecuteRequestType, TriggerServerExecuteResult, TriggerServerExecuteSuccessResult, TriggerServerPlaceOrderParams, TriggerServerTriggerCriteria } from './serverExecuteTypes.cjs';
3
- export { TriggerServerListTriggerOrdersParams, TriggerServerListTriggerOrdersResponse, TriggerServerOrder, TriggerServerOrderInfo, TriggerServerOrderStatus, TriggerServerQueryFailureResponse, TriggerServerQueryRequestByType, TriggerServerQueryRequestType, TriggerServerQueryResponse, TriggerServerQueryResponseByType, TriggerServerQuerySuccessResponse } from './serverQueryTypes.cjs';
1
+ export { PriceTriggerCriteria, PriceTriggerDependency, PriceTriggerRequirementType, TimeTriggerCriteria, TriggerCriteria, TriggerCriteriaType, TriggerOrderStatus } from './clientModelTypes.cjs';
2
+ export { TriggerCancelOrdersParams, TriggerCancelProductOrdersParams, TriggerListOrdersParams, TriggerListOrdersResponse, TriggerOrder, TriggerOrderInfo, TriggerPlaceOrderParams } from './clientTypes.cjs';
3
+ export { TriggerServerDependency, TriggerServerPriceRequirement, TriggerServerPriceTriggerCriteria, TriggerServerTimeTriggerCriteria, TriggerServerTriggerCriteria } from './serverModelTypes.cjs';
4
+ export { TriggerServerCancelOrdersParams, TriggerServerCancelProductOrdersParams, TriggerServerExecuteRequestByType, TriggerServerExecuteRequestType, TriggerServerExecuteResult, TriggerServerExecuteSuccessResult, TriggerServerPlaceOrderParams } from './serverExecuteTypes.cjs';
5
+ export { TriggerServerListTriggerOrdersParams, TriggerServerListTriggerOrdersResponse, TriggerServerOrder, TriggerServerOrderInfo, TriggerServerOrderStatus, TriggerServerQueryFailureResponse, TriggerServerQueryRequestByType, TriggerServerQueryRequestType, TriggerServerQueryResponse, TriggerServerQueryResponseByType, TriggerServerQuerySuccessResponse, TriggerServerTriggerTypeFilter } from './serverQueryTypes.cjs';
4
6
  export { TriggerServerFailureError } from './TriggerServerFailureError.cjs';
5
- import '@nadohq/contracts';
6
7
  import '@nadohq/engine-client';
7
- import '@nadohq/utils';
8
+ import '@nadohq/shared';
@@ -1,7 +1,8 @@
1
- export { TriggerCancelOrdersParams, TriggerCancelProductOrdersParams, TriggerCriteria, TriggerCriteriaType, TriggerListOrdersParams, TriggerListOrdersResponse, TriggerOrder, TriggerOrderInfo, TriggerOrderStatus, TriggerPlaceOrderParams } from './clientTypes.js';
2
- export { TriggerServerCancelOrdersParams, TriggerServerCancelProductOrdersParams, TriggerServerExecuteRequestByType, TriggerServerExecuteRequestType, TriggerServerExecuteResult, TriggerServerExecuteSuccessResult, TriggerServerPlaceOrderParams, TriggerServerTriggerCriteria } from './serverExecuteTypes.js';
3
- export { TriggerServerListTriggerOrdersParams, TriggerServerListTriggerOrdersResponse, TriggerServerOrder, TriggerServerOrderInfo, TriggerServerOrderStatus, TriggerServerQueryFailureResponse, TriggerServerQueryRequestByType, TriggerServerQueryRequestType, TriggerServerQueryResponse, TriggerServerQueryResponseByType, TriggerServerQuerySuccessResponse } from './serverQueryTypes.js';
1
+ export { PriceTriggerCriteria, PriceTriggerDependency, PriceTriggerRequirementType, TimeTriggerCriteria, TriggerCriteria, TriggerCriteriaType, TriggerOrderStatus } from './clientModelTypes.js';
2
+ export { TriggerCancelOrdersParams, TriggerCancelProductOrdersParams, TriggerListOrdersParams, TriggerListOrdersResponse, TriggerOrder, TriggerOrderInfo, TriggerPlaceOrderParams } from './clientTypes.js';
3
+ export { TriggerServerDependency, TriggerServerPriceRequirement, TriggerServerPriceTriggerCriteria, TriggerServerTimeTriggerCriteria, TriggerServerTriggerCriteria } from './serverModelTypes.js';
4
+ export { TriggerServerCancelOrdersParams, TriggerServerCancelProductOrdersParams, TriggerServerExecuteRequestByType, TriggerServerExecuteRequestType, TriggerServerExecuteResult, TriggerServerExecuteSuccessResult, TriggerServerPlaceOrderParams } from './serverExecuteTypes.js';
5
+ export { TriggerServerListTriggerOrdersParams, TriggerServerListTriggerOrdersResponse, TriggerServerOrder, TriggerServerOrderInfo, TriggerServerOrderStatus, TriggerServerQueryFailureResponse, TriggerServerQueryRequestByType, TriggerServerQueryRequestType, TriggerServerQueryResponse, TriggerServerQueryResponseByType, TriggerServerQuerySuccessResponse, TriggerServerTriggerTypeFilter } from './serverQueryTypes.js';
4
6
  export { TriggerServerFailureError } from './TriggerServerFailureError.js';
5
- import '@nadohq/contracts';
6
7
  import '@nadohq/engine-client';
7
- import '@nadohq/utils';
8
+ import '@nadohq/shared';
@@ -1,5 +1,7 @@
1
1
  // src/types/index.ts
2
+ export * from "./clientModelTypes.js";
2
3
  export * from "./clientTypes.js";
4
+ export * from "./serverModelTypes.js";
3
5
  export * from "./serverExecuteTypes.js";
4
6
  export * from "./serverQueryTypes.js";
5
7
  export * from "./TriggerServerFailureError.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/types/index.ts"],"sourcesContent":["export * from './clientTypes';\nexport * from './serverExecuteTypes';\nexport * from './serverQueryTypes';\nexport * from './TriggerServerFailureError';\n"],"mappings":";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../src/types/index.ts"],"sourcesContent":["export * from './clientModelTypes';\nexport * from './clientTypes';\nexport * from './serverModelTypes';\nexport * from './serverExecuteTypes';\nexport * from './serverQueryTypes';\nexport * from './TriggerServerFailureError';\n"],"mappings":";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/types/serverExecuteTypes.ts"],"sourcesContent":["import { EIP712OrderValues } from '@nadohq/contracts';\nimport {\n EngineServerExecuteFailureResult,\n EngineServerExecuteRequestByType,\n EngineServerExecuteSuccessResult,\n} from '@nadohq/engine-client';\n\nexport type TriggerServerTriggerCriteria =\n // These trigger on fast oracle price\n | {\n price_above: string;\n }\n | {\n price_below: string;\n }\n // These trigger on last trade price\n | {\n last_price_above: string;\n }\n | {\n last_price_below: string;\n }\n // These trigger on mid-book price\n | {\n mid_price_above: string;\n }\n | {\n mid_price_below: string;\n };\n\nexport interface TriggerServerPlaceOrderParams {\n id: number | null;\n product_id: number;\n order: EIP712OrderValues;\n trigger: TriggerServerTriggerCriteria;\n signature: string;\n digest: string | null;\n // Trigger service defaults this to true\n spot_leverage: boolean | null;\n}\n\nexport type TriggerServerCancelOrdersParams =\n EngineServerExecuteRequestByType['cancel_orders'];\n\nexport type TriggerServerCancelProductOrdersParams =\n EngineServerExecuteRequestByType['cancel_product_orders'];\n\nexport interface TriggerServerExecuteRequestByType {\n place_order: TriggerServerPlaceOrderParams;\n cancel_orders: TriggerServerCancelOrdersParams;\n cancel_product_orders: TriggerServerCancelProductOrdersParams;\n}\n\nexport type TriggerServerExecuteRequestType =\n keyof TriggerServerExecuteRequestByType;\n\nexport type TriggerServerExecuteSuccessResult<\n T extends TriggerServerExecuteRequestType = TriggerServerExecuteRequestType,\n> = EngineServerExecuteSuccessResult<T>;\n\nexport type TriggerServerExecuteResult<\n T extends TriggerServerExecuteRequestType = TriggerServerExecuteRequestType,\n> = TriggerServerExecuteSuccessResult<T> | EngineServerExecuteFailureResult;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../src/types/serverExecuteTypes.ts"],"sourcesContent":["import { EIP712OrderValues } from '@nadohq/shared';\nimport {\n EngineServerExecuteFailureResult,\n EngineServerExecuteRequestByType,\n EngineServerExecuteSuccessResult,\n} from '@nadohq/engine-client';\nimport { TriggerServerTriggerCriteria } from './serverModelTypes';\n\nexport interface TriggerServerPlaceOrderParams {\n id: number | null;\n product_id: number;\n order: EIP712OrderValues;\n trigger: TriggerServerTriggerCriteria;\n signature: string;\n digest: string | null;\n // Trigger service defaults this to true\n spot_leverage: boolean | null;\n borrow_margin: boolean | null;\n}\n\nexport type TriggerServerCancelOrdersParams =\n EngineServerExecuteRequestByType['cancel_orders'];\n\nexport type TriggerServerCancelProductOrdersParams =\n EngineServerExecuteRequestByType['cancel_product_orders'];\n\nexport interface TriggerServerExecuteRequestByType {\n place_order: TriggerServerPlaceOrderParams;\n cancel_orders: TriggerServerCancelOrdersParams;\n cancel_product_orders: TriggerServerCancelProductOrdersParams;\n}\n\nexport type TriggerServerExecuteRequestType =\n keyof TriggerServerExecuteRequestByType;\n\nexport type TriggerServerExecuteSuccessResult<\n T extends TriggerServerExecuteRequestType = TriggerServerExecuteRequestType,\n> = EngineServerExecuteSuccessResult<T>;\n\nexport type TriggerServerExecuteResult<\n T extends TriggerServerExecuteRequestType = TriggerServerExecuteRequestType,\n> = TriggerServerExecuteSuccessResult<T> | EngineServerExecuteFailureResult;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -1,19 +1,7 @@
1
- import { EIP712OrderValues } from '@nadohq/contracts';
1
+ import { EIP712OrderValues } from '@nadohq/shared';
2
2
  import { EngineServerExecuteRequestByType, EngineServerExecuteSuccessResult, EngineServerExecuteFailureResult } from '@nadohq/engine-client';
3
+ import { TriggerServerTriggerCriteria } from './serverModelTypes.cjs';
3
4
 
4
- type TriggerServerTriggerCriteria = {
5
- price_above: string;
6
- } | {
7
- price_below: string;
8
- } | {
9
- last_price_above: string;
10
- } | {
11
- last_price_below: string;
12
- } | {
13
- mid_price_above: string;
14
- } | {
15
- mid_price_below: string;
16
- };
17
5
  interface TriggerServerPlaceOrderParams {
18
6
  id: number | null;
19
7
  product_id: number;
@@ -22,6 +10,7 @@ interface TriggerServerPlaceOrderParams {
22
10
  signature: string;
23
11
  digest: string | null;
24
12
  spot_leverage: boolean | null;
13
+ borrow_margin: boolean | null;
25
14
  }
26
15
  type TriggerServerCancelOrdersParams = EngineServerExecuteRequestByType['cancel_orders'];
27
16
  type TriggerServerCancelProductOrdersParams = EngineServerExecuteRequestByType['cancel_product_orders'];
@@ -34,4 +23,4 @@ type TriggerServerExecuteRequestType = keyof TriggerServerExecuteRequestByType;
34
23
  type TriggerServerExecuteSuccessResult<T extends TriggerServerExecuteRequestType = TriggerServerExecuteRequestType> = EngineServerExecuteSuccessResult<T>;
35
24
  type TriggerServerExecuteResult<T extends TriggerServerExecuteRequestType = TriggerServerExecuteRequestType> = TriggerServerExecuteSuccessResult<T> | EngineServerExecuteFailureResult;
36
25
 
37
- export type { TriggerServerCancelOrdersParams, TriggerServerCancelProductOrdersParams, TriggerServerExecuteRequestByType, TriggerServerExecuteRequestType, TriggerServerExecuteResult, TriggerServerExecuteSuccessResult, TriggerServerPlaceOrderParams, TriggerServerTriggerCriteria };
26
+ export type { TriggerServerCancelOrdersParams, TriggerServerCancelProductOrdersParams, TriggerServerExecuteRequestByType, TriggerServerExecuteRequestType, TriggerServerExecuteResult, TriggerServerExecuteSuccessResult, TriggerServerPlaceOrderParams };
@@ -1,19 +1,7 @@
1
- import { EIP712OrderValues } from '@nadohq/contracts';
1
+ import { EIP712OrderValues } from '@nadohq/shared';
2
2
  import { EngineServerExecuteRequestByType, EngineServerExecuteSuccessResult, EngineServerExecuteFailureResult } from '@nadohq/engine-client';
3
+ import { TriggerServerTriggerCriteria } from './serverModelTypes.js';
3
4
 
4
- type TriggerServerTriggerCriteria = {
5
- price_above: string;
6
- } | {
7
- price_below: string;
8
- } | {
9
- last_price_above: string;
10
- } | {
11
- last_price_below: string;
12
- } | {
13
- mid_price_above: string;
14
- } | {
15
- mid_price_below: string;
16
- };
17
5
  interface TriggerServerPlaceOrderParams {
18
6
  id: number | null;
19
7
  product_id: number;
@@ -22,6 +10,7 @@ interface TriggerServerPlaceOrderParams {
22
10
  signature: string;
23
11
  digest: string | null;
24
12
  spot_leverage: boolean | null;
13
+ borrow_margin: boolean | null;
25
14
  }
26
15
  type TriggerServerCancelOrdersParams = EngineServerExecuteRequestByType['cancel_orders'];
27
16
  type TriggerServerCancelProductOrdersParams = EngineServerExecuteRequestByType['cancel_product_orders'];
@@ -34,4 +23,4 @@ type TriggerServerExecuteRequestType = keyof TriggerServerExecuteRequestByType;
34
23
  type TriggerServerExecuteSuccessResult<T extends TriggerServerExecuteRequestType = TriggerServerExecuteRequestType> = EngineServerExecuteSuccessResult<T>;
35
24
  type TriggerServerExecuteResult<T extends TriggerServerExecuteRequestType = TriggerServerExecuteRequestType> = TriggerServerExecuteSuccessResult<T> | EngineServerExecuteFailureResult;
36
25
 
37
- export type { TriggerServerCancelOrdersParams, TriggerServerCancelProductOrdersParams, TriggerServerExecuteRequestByType, TriggerServerExecuteRequestType, TriggerServerExecuteResult, TriggerServerExecuteSuccessResult, TriggerServerPlaceOrderParams, TriggerServerTriggerCriteria };
26
+ export type { TriggerServerCancelOrdersParams, TriggerServerCancelProductOrdersParams, TriggerServerExecuteRequestByType, TriggerServerExecuteRequestType, TriggerServerExecuteResult, TriggerServerExecuteSuccessResult, TriggerServerPlaceOrderParams };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // src/types/serverModelTypes.ts
17
+ var serverModelTypes_exports = {};
18
+ module.exports = __toCommonJS(serverModelTypes_exports);
19
+ //# sourceMappingURL=serverModelTypes.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types/serverModelTypes.ts"],"sourcesContent":["export interface TriggerServerDependency {\n digest: string;\n /**\n * Whether to trigger on partial fills.\n */\n on_partial_fill: boolean;\n}\n\nexport type TriggerServerPriceRequirement =\n // These trigger on fast oracle price\n | {\n oracle_price_above: string;\n }\n | {\n oracle_price_below: string;\n }\n // These trigger on last trade price\n | {\n last_price_above: string;\n }\n | {\n last_price_below: string;\n }\n // These trigger on mid-book price\n | {\n mid_price_above: string;\n }\n | {\n mid_price_below: string;\n };\n\nexport interface TriggerServerPriceTriggerCriteria {\n price_requirement: TriggerServerPriceRequirement;\n dependency?: TriggerServerDependency;\n}\n\nexport interface TriggerServerTimeTriggerCriteria {\n /**\n * Trigger interval in seconds\n */\n interval: string;\n /**\n * By default, trigger service will split up orders as per total amount / interval\n * If you want to specify the amounts for each interval, you can provide them here.\n */\n amounts?: string[];\n}\n\nexport type TriggerServerTriggerCriteria =\n | {\n price_trigger: TriggerServerPriceTriggerCriteria;\n }\n | {\n time_trigger: TriggerServerTimeTriggerCriteria;\n };\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -0,0 +1,42 @@
1
+ interface TriggerServerDependency {
2
+ digest: string;
3
+ /**
4
+ * Whether to trigger on partial fills.
5
+ */
6
+ on_partial_fill: boolean;
7
+ }
8
+ type TriggerServerPriceRequirement = {
9
+ oracle_price_above: string;
10
+ } | {
11
+ oracle_price_below: string;
12
+ } | {
13
+ last_price_above: string;
14
+ } | {
15
+ last_price_below: string;
16
+ } | {
17
+ mid_price_above: string;
18
+ } | {
19
+ mid_price_below: string;
20
+ };
21
+ interface TriggerServerPriceTriggerCriteria {
22
+ price_requirement: TriggerServerPriceRequirement;
23
+ dependency?: TriggerServerDependency;
24
+ }
25
+ interface TriggerServerTimeTriggerCriteria {
26
+ /**
27
+ * Trigger interval in seconds
28
+ */
29
+ interval: string;
30
+ /**
31
+ * By default, trigger service will split up orders as per total amount / interval
32
+ * If you want to specify the amounts for each interval, you can provide them here.
33
+ */
34
+ amounts?: string[];
35
+ }
36
+ type TriggerServerTriggerCriteria = {
37
+ price_trigger: TriggerServerPriceTriggerCriteria;
38
+ } | {
39
+ time_trigger: TriggerServerTimeTriggerCriteria;
40
+ };
41
+
42
+ export type { TriggerServerDependency, TriggerServerPriceRequirement, TriggerServerPriceTriggerCriteria, TriggerServerTimeTriggerCriteria, TriggerServerTriggerCriteria };
@@ -0,0 +1,42 @@
1
+ interface TriggerServerDependency {
2
+ digest: string;
3
+ /**
4
+ * Whether to trigger on partial fills.
5
+ */
6
+ on_partial_fill: boolean;
7
+ }
8
+ type TriggerServerPriceRequirement = {
9
+ oracle_price_above: string;
10
+ } | {
11
+ oracle_price_below: string;
12
+ } | {
13
+ last_price_above: string;
14
+ } | {
15
+ last_price_below: string;
16
+ } | {
17
+ mid_price_above: string;
18
+ } | {
19
+ mid_price_below: string;
20
+ };
21
+ interface TriggerServerPriceTriggerCriteria {
22
+ price_requirement: TriggerServerPriceRequirement;
23
+ dependency?: TriggerServerDependency;
24
+ }
25
+ interface TriggerServerTimeTriggerCriteria {
26
+ /**
27
+ * Trigger interval in seconds
28
+ */
29
+ interval: string;
30
+ /**
31
+ * By default, trigger service will split up orders as per total amount / interval
32
+ * If you want to specify the amounts for each interval, you can provide them here.
33
+ */
34
+ amounts?: string[];
35
+ }
36
+ type TriggerServerTriggerCriteria = {
37
+ price_trigger: TriggerServerPriceTriggerCriteria;
38
+ } | {
39
+ time_trigger: TriggerServerTimeTriggerCriteria;
40
+ };
41
+
42
+ export type { TriggerServerDependency, TriggerServerPriceRequirement, TriggerServerPriceTriggerCriteria, TriggerServerTimeTriggerCriteria, TriggerServerTriggerCriteria };
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=serverModelTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/types/serverQueryTypes.ts"],"sourcesContent":["import { EIP712ListTriggerOrdersValues, SignedTx } from '@nadohq/contracts';\nimport { EngineServerExecuteResult } from '@nadohq/engine-client';\nimport { TriggerServerPlaceOrderParams } from './serverExecuteTypes';\n\nexport type TriggerServerOrderStatus =\n | 'pending'\n | {\n // Result from sending to engine\n triggered: EngineServerExecuteResult;\n }\n | {\n // Reason string\n cancelled: string;\n }\n | {\n // Error message\n internal_error: string;\n };\n\n/**\n * Request types\n */\n\nexport interface TriggerServerListTriggerOrdersParams\n extends SignedTx<EIP712ListTriggerOrdersValues> {\n pending: boolean;\n // If not given, defaults to all products\n product_id?: number;\n max_update_time?: number;\n digests?: string[];\n limit?: number;\n}\n\nexport interface TriggerServerQueryRequestByType {\n list_trigger_orders: TriggerServerListTriggerOrdersParams;\n}\n\nexport type TriggerServerQueryRequestType =\n keyof TriggerServerQueryRequestByType;\n\n/**\n * Response types\n */\n\nexport type TriggerServerOrder = TriggerServerPlaceOrderParams & {\n // Digest is always populated here\n digest: string;\n};\n\nexport interface TriggerServerOrderInfo {\n order: TriggerServerOrder;\n status: TriggerServerOrderStatus;\n updated_at: number;\n}\n\nexport interface TriggerServerListTriggerOrdersResponse {\n orders: TriggerServerOrderInfo[];\n}\n\nexport interface TriggerServerQueryResponseByType {\n list_trigger_orders: TriggerServerListTriggerOrdersResponse;\n}\n\nexport interface TriggerServerQuerySuccessResponse<\n TQueryType extends\n keyof TriggerServerQueryResponseByType = TriggerServerQueryRequestType,\n> {\n status: 'success';\n data: TriggerServerQueryResponseByType[TQueryType];\n}\n\nexport interface TriggerServerQueryFailureResponse {\n status: 'failure';\n error: string;\n error_code: number;\n}\n\nexport type TriggerServerQueryResponse<\n TQueryType extends\n keyof TriggerServerQueryResponseByType = TriggerServerQueryRequestType,\n> =\n | TriggerServerQuerySuccessResponse<TQueryType>\n | TriggerServerQueryFailureResponse;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../src/types/serverQueryTypes.ts"],"sourcesContent":["import { EIP712ListTriggerOrdersValues, SignedTx } from '@nadohq/shared';\nimport { EngineServerExecuteResult } from '@nadohq/engine-client';\nimport { TriggerServerPlaceOrderParams } from './serverExecuteTypes';\n\nexport type TriggerServerOrderStatus =\n | 'pending'\n | {\n // Result from sending to engine\n triggered: EngineServerExecuteResult;\n }\n | {\n // Reason string\n cancelled: string;\n }\n | {\n // Error message\n internal_error: string;\n };\n\n/**\n * Request types\n */\n\nexport type TriggerServerTriggerTypeFilter = 'price_trigger' | 'twap';\n\nexport interface TriggerServerListTriggerOrdersParams\n extends SignedTx<EIP712ListTriggerOrdersValues> {\n pending: boolean;\n // If not given, defaults to all products\n product_id?: number;\n max_update_time?: number;\n digests?: string[];\n limit?: number;\n trigger_types?: TriggerServerTriggerTypeFilter[];\n reduce_only?: boolean;\n}\n\nexport interface TriggerServerQueryRequestByType {\n list_trigger_orders: TriggerServerListTriggerOrdersParams;\n}\n\nexport type TriggerServerQueryRequestType =\n keyof TriggerServerQueryRequestByType;\n\n/**\n * Response types\n */\n\nexport type TriggerServerOrder = TriggerServerPlaceOrderParams & {\n // Digest is always populated here\n digest: string;\n};\n\nexport interface TriggerServerOrderInfo {\n order: TriggerServerOrder;\n status: TriggerServerOrderStatus;\n updated_at: number;\n}\n\nexport interface TriggerServerListTriggerOrdersResponse {\n orders: TriggerServerOrderInfo[];\n}\n\nexport interface TriggerServerQueryResponseByType {\n list_trigger_orders: TriggerServerListTriggerOrdersResponse;\n}\n\nexport interface TriggerServerQuerySuccessResponse<\n TQueryType extends\n keyof TriggerServerQueryResponseByType = TriggerServerQueryRequestType,\n> {\n status: 'success';\n data: TriggerServerQueryResponseByType[TQueryType];\n}\n\nexport interface TriggerServerQueryFailureResponse {\n status: 'failure';\n error: string;\n error_code: number;\n}\n\nexport type TriggerServerQueryResponse<\n TQueryType extends\n keyof TriggerServerQueryResponseByType = TriggerServerQueryRequestType,\n> =\n | TriggerServerQuerySuccessResponse<TQueryType>\n | TriggerServerQueryFailureResponse;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -1,6 +1,7 @@
1
- import { SignedTx, EIP712ListTriggerOrdersValues } from '@nadohq/contracts';
1
+ import { SignedTx, EIP712ListTriggerOrdersValues } from '@nadohq/shared';
2
2
  import { EngineServerExecuteResult } from '@nadohq/engine-client';
3
3
  import { TriggerServerPlaceOrderParams } from './serverExecuteTypes.cjs';
4
+ import './serverModelTypes.cjs';
4
5
 
5
6
  type TriggerServerOrderStatus = 'pending' | {
6
7
  triggered: EngineServerExecuteResult;
@@ -12,12 +13,15 @@ type TriggerServerOrderStatus = 'pending' | {
12
13
  /**
13
14
  * Request types
14
15
  */
16
+ type TriggerServerTriggerTypeFilter = 'price_trigger' | 'twap';
15
17
  interface TriggerServerListTriggerOrdersParams extends SignedTx<EIP712ListTriggerOrdersValues> {
16
18
  pending: boolean;
17
19
  product_id?: number;
18
20
  max_update_time?: number;
19
21
  digests?: string[];
20
22
  limit?: number;
23
+ trigger_types?: TriggerServerTriggerTypeFilter[];
24
+ reduce_only?: boolean;
21
25
  }
22
26
  interface TriggerServerQueryRequestByType {
23
27
  list_trigger_orders: TriggerServerListTriggerOrdersParams;
@@ -51,4 +55,4 @@ interface TriggerServerQueryFailureResponse {
51
55
  }
52
56
  type TriggerServerQueryResponse<TQueryType extends keyof TriggerServerQueryResponseByType = TriggerServerQueryRequestType> = TriggerServerQuerySuccessResponse<TQueryType> | TriggerServerQueryFailureResponse;
53
57
 
54
- export type { TriggerServerListTriggerOrdersParams, TriggerServerListTriggerOrdersResponse, TriggerServerOrder, TriggerServerOrderInfo, TriggerServerOrderStatus, TriggerServerQueryFailureResponse, TriggerServerQueryRequestByType, TriggerServerQueryRequestType, TriggerServerQueryResponse, TriggerServerQueryResponseByType, TriggerServerQuerySuccessResponse };
58
+ export type { TriggerServerListTriggerOrdersParams, TriggerServerListTriggerOrdersResponse, TriggerServerOrder, TriggerServerOrderInfo, TriggerServerOrderStatus, TriggerServerQueryFailureResponse, TriggerServerQueryRequestByType, TriggerServerQueryRequestType, TriggerServerQueryResponse, TriggerServerQueryResponseByType, TriggerServerQuerySuccessResponse, TriggerServerTriggerTypeFilter };
@@ -1,6 +1,7 @@
1
- import { SignedTx, EIP712ListTriggerOrdersValues } from '@nadohq/contracts';
1
+ import { SignedTx, EIP712ListTriggerOrdersValues } from '@nadohq/shared';
2
2
  import { EngineServerExecuteResult } from '@nadohq/engine-client';
3
3
  import { TriggerServerPlaceOrderParams } from './serverExecuteTypes.js';
4
+ import './serverModelTypes.js';
4
5
 
5
6
  type TriggerServerOrderStatus = 'pending' | {
6
7
  triggered: EngineServerExecuteResult;
@@ -12,12 +13,15 @@ type TriggerServerOrderStatus = 'pending' | {
12
13
  /**
13
14
  * Request types
14
15
  */
16
+ type TriggerServerTriggerTypeFilter = 'price_trigger' | 'twap';
15
17
  interface TriggerServerListTriggerOrdersParams extends SignedTx<EIP712ListTriggerOrdersValues> {
16
18
  pending: boolean;
17
19
  product_id?: number;
18
20
  max_update_time?: number;
19
21
  digests?: string[];
20
22
  limit?: number;
23
+ trigger_types?: TriggerServerTriggerTypeFilter[];
24
+ reduce_only?: boolean;
21
25
  }
22
26
  interface TriggerServerQueryRequestByType {
23
27
  list_trigger_orders: TriggerServerListTriggerOrdersParams;
@@ -51,4 +55,4 @@ interface TriggerServerQueryFailureResponse {
51
55
  }
52
56
  type TriggerServerQueryResponse<TQueryType extends keyof TriggerServerQueryResponseByType = TriggerServerQueryRequestType> = TriggerServerQuerySuccessResponse<TQueryType> | TriggerServerQueryFailureResponse;
53
57
 
54
- export type { TriggerServerListTriggerOrdersParams, TriggerServerListTriggerOrdersResponse, TriggerServerOrder, TriggerServerOrderInfo, TriggerServerOrderStatus, TriggerServerQueryFailureResponse, TriggerServerQueryRequestByType, TriggerServerQueryRequestType, TriggerServerQueryResponse, TriggerServerQueryResponseByType, TriggerServerQuerySuccessResponse };
58
+ export type { TriggerServerListTriggerOrdersParams, TriggerServerListTriggerOrdersResponse, TriggerServerOrder, TriggerServerOrderInfo, TriggerServerOrderStatus, TriggerServerQueryFailureResponse, TriggerServerQueryRequestByType, TriggerServerQueryRequestType, TriggerServerQueryResponse, TriggerServerQueryResponseByType, TriggerServerQuerySuccessResponse, TriggerServerTriggerTypeFilter };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nadohq/trigger-client",
3
- "version": "0.1.0-alpha.3",
3
+ "version": "0.1.0-alpha.4",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "description": "> TODO: description",
@@ -37,9 +37,8 @@
37
37
  }
38
38
  },
39
39
  "dependencies": {
40
- "@nadohq/contracts": "^0.1.0-alpha.3",
41
- "@nadohq/engine-client": "^0.1.0-alpha.3",
42
- "@nadohq/utils": "^0.1.0-alpha.3",
40
+ "@nadohq/engine-client": "^0.1.0-alpha.4",
41
+ "@nadohq/shared": "^0.1.0-alpha.4",
43
42
  "axios": "*",
44
43
  "ts-mixer": "*"
45
44
  },
@@ -49,5 +48,5 @@
49
48
  "devDependencies": {
50
49
  "viem": "*"
51
50
  },
52
- "gitHead": "2bfcc344b596b7a33e9b8e4e3256a117de3fda04"
51
+ "gitHead": "b852ce36b851303225d3f4b81739ac667c64cf8c"
53
52
  }
@@ -7,12 +7,12 @@ import {
7
7
  getNadoEIP712Values,
8
8
  getOrderNonce,
9
9
  getSignedTransactionRequest,
10
- getTriggerOrderNonce,
11
10
  SignableRequestType,
12
11
  SignableRequestTypeToParams,
12
+ toIntegerString,
13
13
  WalletClientWithAccount,
14
- } from '@nadohq/contracts';
15
- import { toIntegerString, WalletNotProvidedError } from '@nadohq/utils';
14
+ WalletNotProvidedError,
15
+ } from '@nadohq/shared';
16
16
  import axios, { AxiosInstance, AxiosResponse } from 'axios';
17
17
  import { mapServerOrderInfo, mapTriggerCriteria } from './dataMappers';
18
18
  import {
@@ -52,7 +52,11 @@ export class TriggerClient {
52
52
 
53
53
  constructor(opts: TriggerClientOpts) {
54
54
  this.opts = opts;
55
- this.axiosInstance = axios.create({ withCredentials: true });
55
+ this.axiosInstance = axios.create({
56
+ withCredentials: true,
57
+ // We have custom logic to validate response status and create an appropriate error
58
+ validateStatus: () => true,
59
+ });
56
60
  }
57
61
 
58
62
  /**
@@ -77,7 +81,8 @@ export class TriggerClient {
77
81
  price: params.order.price,
78
82
  subaccountName: params.order.subaccountName,
79
83
  subaccountOwner: params.order.subaccountOwner,
80
- nonce: params.nonce ?? getTriggerOrderNonce(),
84
+ nonce: params.nonce ?? getOrderNonce(),
85
+ appendix: params.order.appendix,
81
86
  };
82
87
  const signature = await this.sign(
83
88
  'place_order',
@@ -94,6 +99,7 @@ export class TriggerClient {
94
99
  product_id: params.productId,
95
100
  spot_leverage: params.spotLeverage ?? null,
96
101
  digest: params.digest ?? null,
102
+ borrow_margin: params.borrowMargin ?? null,
97
103
  };
98
104
 
99
105
  return this.execute('place_order', executeParams);
@@ -176,6 +182,8 @@ export class TriggerClient {
176
182
  pending: params.pending,
177
183
  product_id: params.productId,
178
184
  digests: params.digests,
185
+ trigger_types: params.triggerTypes,
186
+ reduce_only: params.reduceOnly,
179
187
  signature,
180
188
  tx,
181
189
  };
@@ -267,7 +275,7 @@ export class TriggerClient {
267
275
  private checkResponseStatus(response: AxiosResponse) {
268
276
  if (response.status !== 200 || !response.data) {
269
277
  throw Error(
270
- `Unexpected response from server: ${response.status} ${response.statusText}`,
278
+ `Unexpected response from server: ${response.status} ${response.statusText}. Data: ${response.data}`,
271
279
  );
272
280
  }
273
281
  }