@nadohq/client 0.1.0-alpha.18 → 0.1.0-alpha.19

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.
@@ -45,6 +45,29 @@ var MarketExecuteAPI = class extends import_base.BaseNadoAPI {
45
45
  nonce
46
46
  });
47
47
  }
48
+ /**
49
+ * Places multiple orders through the engine
50
+ * @param params
51
+ */
52
+ async placeOrders(params) {
53
+ return this.context.engineClient.placeOrders(
54
+ params.map((orderParams) => {
55
+ const { id, productId, order, nonce, spotLeverage } = orderParams;
56
+ return {
57
+ id,
58
+ order: {
59
+ ...order,
60
+ subaccountOwner: this.getSubaccountOwnerIfNeeded(order)
61
+ },
62
+ chainId: this.getWalletClientChainIdIfNeeded(orderParams),
63
+ verifyingAddr: (0, import_shared.getOrderVerifyingAddress)(productId),
64
+ productId,
65
+ spotLeverage,
66
+ nonce
67
+ };
68
+ })
69
+ );
70
+ }
48
71
  /**
49
72
  * Cancels orders through the engine
50
73
  * @param params
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/apis/market/MarketExecuteAPI.ts"],"sourcesContent":["import { getOrderVerifyingAddress } from '@nadohq/shared';\nimport { BaseNadoAPI } from '../base';\nimport {\n CancelAndPlaceOrderParams,\n CancelOrdersParams,\n CancelProductOrdersParams,\n CancelTriggerOrdersParams,\n CancelTriggerProductOrdersParams,\n PlaceOrderParams,\n PlaceTriggerOrderParams,\n} from './types';\n\nexport class MarketExecuteAPI extends BaseNadoAPI {\n /**\n * Places an order through the engine\n * @param params\n */\n async placeOrder(params: PlaceOrderParams) {\n const { id: orderId, productId, order, nonce } = params;\n\n return this.context.engineClient.placeOrder({\n id: orderId,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n productId,\n spotLeverage: params.spotLeverage,\n nonce,\n });\n }\n\n /**\n * Cancels orders through the engine\n * @param params\n */\n async cancelOrders(params: CancelOrdersParams) {\n return this.context.engineClient.cancelOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels orders through the engine and places a new one\n * @param params\n */\n async cancelAndPlace(params: CancelAndPlaceOrderParams) {\n const { productId, order, nonce, spotLeverage } = params.placeOrder;\n const subaccountOwner = this.getSubaccountOwnerIfNeeded(\n params.cancelOrders,\n );\n const chainId = this.getWalletClientChainIdIfNeeded(params.cancelOrders);\n\n return this.context.engineClient.cancelAndPlace({\n cancelOrders: {\n ...params.cancelOrders,\n subaccountOwner,\n verifyingAddr:\n params.cancelOrders.verifyingAddr ?? this.getEndpointAddress(),\n chainId,\n },\n placeOrder: {\n order: {\n ...order,\n subaccountOwner,\n },\n verifyingAddr: getOrderVerifyingAddress(productId),\n chainId,\n productId,\n spotLeverage,\n nonce,\n },\n });\n }\n\n /**\n * Cancels all orders for provided products through the engine.\n * @param params\n */\n async cancelProductOrders(params: CancelProductOrdersParams) {\n return this.context.engineClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Places a trigger order through the trigger service\n * @param params\n */\n async placeTriggerOrder(params: PlaceTriggerOrderParams) {\n return this.context.triggerClient.placeTriggerOrder({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n ...params.order,\n },\n });\n }\n\n /**\n * Cancels all trigger orders for provided digests through the trigger service.\n * @param params\n */\n async cancelTriggerOrders(params: CancelTriggerOrdersParams) {\n return this.context.triggerClient.cancelTriggerOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels all trigger orders for provided products through the trigger service.\n * @param params\n */\n async cancelTriggerProductOrders(params: CancelTriggerProductOrdersParams) {\n return this.context.triggerClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/apis/market/MarketExecuteAPI.ts"],"sourcesContent":["import { EngineServerExecuteSuccessResult } from '@nadohq/engine-client';\nimport { getOrderVerifyingAddress } from '@nadohq/shared';\nimport { BaseNadoAPI } from '../base';\nimport {\n CancelAndPlaceOrderParams,\n CancelOrdersParams,\n CancelProductOrdersParams,\n CancelTriggerOrdersParams,\n CancelTriggerProductOrdersParams,\n PlaceOrderParams,\n PlaceOrdersParams,\n PlaceTriggerOrderParams,\n} from './types';\n\nexport class MarketExecuteAPI extends BaseNadoAPI {\n /**\n * Places an order through the engine\n * @param params\n */\n async placeOrder(params: PlaceOrderParams) {\n const { id: orderId, productId, order, nonce } = params;\n\n return this.context.engineClient.placeOrder({\n id: orderId,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n productId,\n spotLeverage: params.spotLeverage,\n nonce,\n });\n }\n\n /**\n * Places multiple orders through the engine\n * @param params\n */\n async placeOrders(\n params: PlaceOrdersParams,\n ): Promise<EngineServerExecuteSuccessResult<'place_orders'>> {\n return this.context.engineClient.placeOrders(\n params.map((orderParams) => {\n const { id, productId, order, nonce, spotLeverage } = orderParams;\n return {\n id,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(orderParams),\n verifyingAddr: getOrderVerifyingAddress(productId),\n productId,\n spotLeverage,\n nonce,\n };\n }),\n );\n }\n\n /**\n * Cancels orders through the engine\n * @param params\n */\n async cancelOrders(params: CancelOrdersParams) {\n return this.context.engineClient.cancelOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels orders through the engine and places a new one\n * @param params\n */\n async cancelAndPlace(params: CancelAndPlaceOrderParams) {\n const { productId, order, nonce, spotLeverage } = params.placeOrder;\n const subaccountOwner = this.getSubaccountOwnerIfNeeded(\n params.cancelOrders,\n );\n const chainId = this.getWalletClientChainIdIfNeeded(params.cancelOrders);\n\n return this.context.engineClient.cancelAndPlace({\n cancelOrders: {\n ...params.cancelOrders,\n subaccountOwner,\n verifyingAddr:\n params.cancelOrders.verifyingAddr ?? this.getEndpointAddress(),\n chainId,\n },\n placeOrder: {\n order: {\n ...order,\n subaccountOwner,\n },\n verifyingAddr: getOrderVerifyingAddress(productId),\n chainId,\n productId,\n spotLeverage,\n nonce,\n },\n });\n }\n\n /**\n * Cancels all orders for provided products through the engine.\n * @param params\n */\n async cancelProductOrders(params: CancelProductOrdersParams) {\n return this.context.engineClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Places a trigger order through the trigger service\n * @param params\n */\n async placeTriggerOrder(params: PlaceTriggerOrderParams) {\n return this.context.triggerClient.placeTriggerOrder({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n ...params.order,\n },\n });\n }\n\n /**\n * Cancels all trigger orders for provided digests through the trigger service.\n * @param params\n */\n async cancelTriggerOrders(params: CancelTriggerOrdersParams) {\n return this.context.triggerClient.cancelTriggerOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels all trigger orders for provided products through the trigger service.\n * @param params\n */\n async cancelTriggerProductOrders(params: CancelTriggerProductOrdersParams) {\n return this.context.triggerClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,7 +1,8 @@
1
1
  import * as _nadohq_trigger_client from '@nadohq/trigger-client';
2
2
  import * as _nadohq_engine_client from '@nadohq/engine-client';
3
+ import { EngineServerExecuteSuccessResult } from '@nadohq/engine-client';
3
4
  import { BaseNadoAPI } from '../base.cjs';
4
- import { PlaceOrderParams, CancelOrdersParams, CancelAndPlaceOrderParams, CancelProductOrdersParams, PlaceTriggerOrderParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams } from './types.cjs';
5
+ import { PlaceOrderParams, PlaceOrdersParams, CancelOrdersParams, CancelAndPlaceOrderParams, CancelProductOrdersParams, PlaceTriggerOrderParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams } from './types.cjs';
5
6
  import '@nadohq/shared';
6
7
  import '../../context.cjs';
7
8
  import '@nadohq/indexer-client';
@@ -14,21 +15,26 @@ declare class MarketExecuteAPI extends BaseNadoAPI {
14
15
  * @param params
15
16
  */
16
17
  placeOrder(params: PlaceOrderParams): Promise<_nadohq_engine_client.EnginePlaceOrderResult>;
18
+ /**
19
+ * Places multiple orders through the engine
20
+ * @param params
21
+ */
22
+ placeOrders(params: PlaceOrdersParams): Promise<EngineServerExecuteSuccessResult<'place_orders'>>;
17
23
  /**
18
24
  * Cancels orders through the engine
19
25
  * @param params
20
26
  */
21
- cancelOrders(params: CancelOrdersParams): Promise<_nadohq_engine_client.EngineServerExecuteSuccessResult<"cancel_orders">>;
27
+ cancelOrders(params: CancelOrdersParams): Promise<EngineServerExecuteSuccessResult<"cancel_orders">>;
22
28
  /**
23
29
  * Cancels orders through the engine and places a new one
24
30
  * @param params
25
31
  */
26
- cancelAndPlace(params: CancelAndPlaceOrderParams): Promise<_nadohq_engine_client.EngineServerExecuteSuccessResult<"cancel_and_place">>;
32
+ cancelAndPlace(params: CancelAndPlaceOrderParams): Promise<EngineServerExecuteSuccessResult<"cancel_and_place">>;
27
33
  /**
28
34
  * Cancels all orders for provided products through the engine.
29
35
  * @param params
30
36
  */
31
- cancelProductOrders(params: CancelProductOrdersParams): Promise<_nadohq_engine_client.EngineServerExecuteSuccessResult<"cancel_product_orders">>;
37
+ cancelProductOrders(params: CancelProductOrdersParams): Promise<EngineServerExecuteSuccessResult<"cancel_product_orders">>;
32
38
  /**
33
39
  * Places a trigger order through the trigger service
34
40
  * @param params
@@ -1,7 +1,8 @@
1
1
  import * as _nadohq_trigger_client from '@nadohq/trigger-client';
2
2
  import * as _nadohq_engine_client from '@nadohq/engine-client';
3
+ import { EngineServerExecuteSuccessResult } from '@nadohq/engine-client';
3
4
  import { BaseNadoAPI } from '../base.js';
4
- import { PlaceOrderParams, CancelOrdersParams, CancelAndPlaceOrderParams, CancelProductOrdersParams, PlaceTriggerOrderParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams } from './types.js';
5
+ import { PlaceOrderParams, PlaceOrdersParams, CancelOrdersParams, CancelAndPlaceOrderParams, CancelProductOrdersParams, PlaceTriggerOrderParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams } from './types.js';
5
6
  import '@nadohq/shared';
6
7
  import '../../context.js';
7
8
  import '@nadohq/indexer-client';
@@ -14,21 +15,26 @@ declare class MarketExecuteAPI extends BaseNadoAPI {
14
15
  * @param params
15
16
  */
16
17
  placeOrder(params: PlaceOrderParams): Promise<_nadohq_engine_client.EnginePlaceOrderResult>;
18
+ /**
19
+ * Places multiple orders through the engine
20
+ * @param params
21
+ */
22
+ placeOrders(params: PlaceOrdersParams): Promise<EngineServerExecuteSuccessResult<'place_orders'>>;
17
23
  /**
18
24
  * Cancels orders through the engine
19
25
  * @param params
20
26
  */
21
- cancelOrders(params: CancelOrdersParams): Promise<_nadohq_engine_client.EngineServerExecuteSuccessResult<"cancel_orders">>;
27
+ cancelOrders(params: CancelOrdersParams): Promise<EngineServerExecuteSuccessResult<"cancel_orders">>;
22
28
  /**
23
29
  * Cancels orders through the engine and places a new one
24
30
  * @param params
25
31
  */
26
- cancelAndPlace(params: CancelAndPlaceOrderParams): Promise<_nadohq_engine_client.EngineServerExecuteSuccessResult<"cancel_and_place">>;
32
+ cancelAndPlace(params: CancelAndPlaceOrderParams): Promise<EngineServerExecuteSuccessResult<"cancel_and_place">>;
27
33
  /**
28
34
  * Cancels all orders for provided products through the engine.
29
35
  * @param params
30
36
  */
31
- cancelProductOrders(params: CancelProductOrdersParams): Promise<_nadohq_engine_client.EngineServerExecuteSuccessResult<"cancel_product_orders">>;
37
+ cancelProductOrders(params: CancelProductOrdersParams): Promise<EngineServerExecuteSuccessResult<"cancel_product_orders">>;
32
38
  /**
33
39
  * Places a trigger order through the trigger service
34
40
  * @param params
@@ -21,6 +21,29 @@ var MarketExecuteAPI = class extends BaseNadoAPI {
21
21
  nonce
22
22
  });
23
23
  }
24
+ /**
25
+ * Places multiple orders through the engine
26
+ * @param params
27
+ */
28
+ async placeOrders(params) {
29
+ return this.context.engineClient.placeOrders(
30
+ params.map((orderParams) => {
31
+ const { id, productId, order, nonce, spotLeverage } = orderParams;
32
+ return {
33
+ id,
34
+ order: {
35
+ ...order,
36
+ subaccountOwner: this.getSubaccountOwnerIfNeeded(order)
37
+ },
38
+ chainId: this.getWalletClientChainIdIfNeeded(orderParams),
39
+ verifyingAddr: getOrderVerifyingAddress(productId),
40
+ productId,
41
+ spotLeverage,
42
+ nonce
43
+ };
44
+ })
45
+ );
46
+ }
24
47
  /**
25
48
  * Cancels orders through the engine
26
49
  * @param params
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/apis/market/MarketExecuteAPI.ts"],"sourcesContent":["import { getOrderVerifyingAddress } from '@nadohq/shared';\nimport { BaseNadoAPI } from '../base';\nimport {\n CancelAndPlaceOrderParams,\n CancelOrdersParams,\n CancelProductOrdersParams,\n CancelTriggerOrdersParams,\n CancelTriggerProductOrdersParams,\n PlaceOrderParams,\n PlaceTriggerOrderParams,\n} from './types';\n\nexport class MarketExecuteAPI extends BaseNadoAPI {\n /**\n * Places an order through the engine\n * @param params\n */\n async placeOrder(params: PlaceOrderParams) {\n const { id: orderId, productId, order, nonce } = params;\n\n return this.context.engineClient.placeOrder({\n id: orderId,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n productId,\n spotLeverage: params.spotLeverage,\n nonce,\n });\n }\n\n /**\n * Cancels orders through the engine\n * @param params\n */\n async cancelOrders(params: CancelOrdersParams) {\n return this.context.engineClient.cancelOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels orders through the engine and places a new one\n * @param params\n */\n async cancelAndPlace(params: CancelAndPlaceOrderParams) {\n const { productId, order, nonce, spotLeverage } = params.placeOrder;\n const subaccountOwner = this.getSubaccountOwnerIfNeeded(\n params.cancelOrders,\n );\n const chainId = this.getWalletClientChainIdIfNeeded(params.cancelOrders);\n\n return this.context.engineClient.cancelAndPlace({\n cancelOrders: {\n ...params.cancelOrders,\n subaccountOwner,\n verifyingAddr:\n params.cancelOrders.verifyingAddr ?? this.getEndpointAddress(),\n chainId,\n },\n placeOrder: {\n order: {\n ...order,\n subaccountOwner,\n },\n verifyingAddr: getOrderVerifyingAddress(productId),\n chainId,\n productId,\n spotLeverage,\n nonce,\n },\n });\n }\n\n /**\n * Cancels all orders for provided products through the engine.\n * @param params\n */\n async cancelProductOrders(params: CancelProductOrdersParams) {\n return this.context.engineClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Places a trigger order through the trigger service\n * @param params\n */\n async placeTriggerOrder(params: PlaceTriggerOrderParams) {\n return this.context.triggerClient.placeTriggerOrder({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n ...params.order,\n },\n });\n }\n\n /**\n * Cancels all trigger orders for provided digests through the trigger service.\n * @param params\n */\n async cancelTriggerOrders(params: CancelTriggerOrdersParams) {\n return this.context.triggerClient.cancelTriggerOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels all trigger orders for provided products through the trigger service.\n * @param params\n */\n async cancelTriggerProductOrders(params: CancelTriggerProductOrdersParams) {\n return this.context.triggerClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/apis/market/MarketExecuteAPI.ts"],"sourcesContent":["import { EngineServerExecuteSuccessResult } from '@nadohq/engine-client';\nimport { getOrderVerifyingAddress } from '@nadohq/shared';\nimport { BaseNadoAPI } from '../base';\nimport {\n CancelAndPlaceOrderParams,\n CancelOrdersParams,\n CancelProductOrdersParams,\n CancelTriggerOrdersParams,\n CancelTriggerProductOrdersParams,\n PlaceOrderParams,\n PlaceOrdersParams,\n PlaceTriggerOrderParams,\n} from './types';\n\nexport class MarketExecuteAPI extends BaseNadoAPI {\n /**\n * Places an order through the engine\n * @param params\n */\n async placeOrder(params: PlaceOrderParams) {\n const { id: orderId, productId, order, nonce } = params;\n\n return this.context.engineClient.placeOrder({\n id: orderId,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n productId,\n spotLeverage: params.spotLeverage,\n nonce,\n });\n }\n\n /**\n * Places multiple orders through the engine\n * @param params\n */\n async placeOrders(\n params: PlaceOrdersParams,\n ): Promise<EngineServerExecuteSuccessResult<'place_orders'>> {\n return this.context.engineClient.placeOrders(\n params.map((orderParams) => {\n const { id, productId, order, nonce, spotLeverage } = orderParams;\n return {\n id,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(orderParams),\n verifyingAddr: getOrderVerifyingAddress(productId),\n productId,\n spotLeverage,\n nonce,\n };\n }),\n );\n }\n\n /**\n * Cancels orders through the engine\n * @param params\n */\n async cancelOrders(params: CancelOrdersParams) {\n return this.context.engineClient.cancelOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels orders through the engine and places a new one\n * @param params\n */\n async cancelAndPlace(params: CancelAndPlaceOrderParams) {\n const { productId, order, nonce, spotLeverage } = params.placeOrder;\n const subaccountOwner = this.getSubaccountOwnerIfNeeded(\n params.cancelOrders,\n );\n const chainId = this.getWalletClientChainIdIfNeeded(params.cancelOrders);\n\n return this.context.engineClient.cancelAndPlace({\n cancelOrders: {\n ...params.cancelOrders,\n subaccountOwner,\n verifyingAddr:\n params.cancelOrders.verifyingAddr ?? this.getEndpointAddress(),\n chainId,\n },\n placeOrder: {\n order: {\n ...order,\n subaccountOwner,\n },\n verifyingAddr: getOrderVerifyingAddress(productId),\n chainId,\n productId,\n spotLeverage,\n nonce,\n },\n });\n }\n\n /**\n * Cancels all orders for provided products through the engine.\n * @param params\n */\n async cancelProductOrders(params: CancelProductOrdersParams) {\n return this.context.engineClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Places a trigger order through the trigger service\n * @param params\n */\n async placeTriggerOrder(params: PlaceTriggerOrderParams) {\n return this.context.triggerClient.placeTriggerOrder({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n ...params.order,\n },\n });\n }\n\n /**\n * Cancels all trigger orders for provided digests through the trigger service.\n * @param params\n */\n async cancelTriggerOrders(params: CancelTriggerOrdersParams) {\n return this.context.triggerClient.cancelTriggerOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels all trigger orders for provided products through the trigger service.\n * @param params\n */\n async cancelTriggerProductOrders(params: CancelTriggerProductOrdersParams) {\n return this.context.triggerClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,7 +1,7 @@
1
1
  import * as ts_mixer_dist_types_types from 'ts-mixer/dist/types/types';
2
2
  import { MarketExecuteAPI } from './MarketExecuteAPI.cjs';
3
3
  import { MarketQueryAPI } from './MarketQueryAPI.cjs';
4
- export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceTriggerOrderParams } from './types.cjs';
4
+ export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceOrdersParams, PlaceTriggerOrderParams } from './types.cjs';
5
5
  import '@nadohq/trigger-client';
6
6
  import '@nadohq/engine-client';
7
7
  import '../base.cjs';
@@ -1,7 +1,7 @@
1
1
  import * as ts_mixer_dist_types_types from 'ts-mixer/dist/types/types';
2
2
  import { MarketExecuteAPI } from './MarketExecuteAPI.js';
3
3
  import { MarketQueryAPI } from './MarketQueryAPI.js';
4
- export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceTriggerOrderParams } from './types.js';
4
+ export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceOrdersParams, PlaceTriggerOrderParams } from './types.js';
5
5
  import '@nadohq/trigger-client';
6
6
  import '@nadohq/engine-client';
7
7
  import '../base.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/apis/market/types.ts"],"sourcesContent":["import {\n EngineCancelOrdersParams,\n EngineCancelProductOrdersParams,\n EngineOrderParams,\n EnginePlaceOrderParams,\n} from '@nadohq/engine-client';\nimport {\n TriggerCancelOrdersParams,\n TriggerCancelProductOrdersParams,\n TriggerListOrdersParams,\n TriggerPlaceOrderParams,\n} from '@nadohq/trigger-client';\nimport { OptionalSignatureParams, OptionalSubaccountOwner } from '../types';\n\ntype ClientOrderParams<T extends { order: EngineOrderParams }> = Omit<\n OptionalSignatureParams<T>,\n // Order is overridden to make subaccount owner optional\n | 'order'\n // Verifying address can be derived from product ID\n | 'verifyingAddr'\n> & {\n order: OptionalSubaccountOwner<EngineOrderParams>;\n};\n\nexport type PlaceOrderParams = ClientOrderParams<EnginePlaceOrderParams>;\n\nexport type CancelOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<EngineCancelOrdersParams>\n>;\n\nexport type CancelProductOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<EngineCancelProductOrdersParams>\n>;\n\nexport interface CancelAndPlaceOrderParams {\n placeOrder: PlaceOrderParams;\n cancelOrders: CancelOrdersParams;\n}\n\nexport type PlaceTriggerOrderParams =\n ClientOrderParams<TriggerPlaceOrderParams>;\n\nexport type CancelTriggerOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<TriggerCancelOrdersParams>\n>;\n\nexport type CancelTriggerProductOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<TriggerCancelProductOrdersParams>\n>;\n\nexport type GetTriggerOrdersParams =\n OptionalSignatureParams<TriggerListOrdersParams>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../../src/apis/market/types.ts"],"sourcesContent":["import {\n EngineCancelOrdersParams,\n EngineCancelProductOrdersParams,\n EngineOrderParams,\n EnginePlaceOrderParams,\n} from '@nadohq/engine-client';\nimport {\n TriggerCancelOrdersParams,\n TriggerCancelProductOrdersParams,\n TriggerListOrdersParams,\n TriggerPlaceOrderParams,\n} from '@nadohq/trigger-client';\nimport { OptionalSignatureParams, OptionalSubaccountOwner } from '../types';\n\ntype ClientOrderParams<T extends { order: EngineOrderParams }> = Omit<\n OptionalSignatureParams<T>,\n // Order is overridden to make subaccount owner optional\n | 'order'\n // Verifying address can be derived from product ID\n | 'verifyingAddr'\n> & {\n order: OptionalSubaccountOwner<EngineOrderParams>;\n};\n\nexport type PlaceOrderParams = ClientOrderParams<EnginePlaceOrderParams>;\n\nexport type PlaceOrdersParams = PlaceOrderParams[];\n\nexport type CancelOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<EngineCancelOrdersParams>\n>;\n\nexport type CancelProductOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<EngineCancelProductOrdersParams>\n>;\n\nexport interface CancelAndPlaceOrderParams {\n placeOrder: PlaceOrderParams;\n cancelOrders: CancelOrdersParams;\n}\n\nexport type PlaceTriggerOrderParams =\n ClientOrderParams<TriggerPlaceOrderParams>;\n\nexport type CancelTriggerOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<TriggerCancelOrdersParams>\n>;\n\nexport type CancelTriggerProductOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<TriggerCancelProductOrdersParams>\n>;\n\nexport type GetTriggerOrdersParams =\n OptionalSignatureParams<TriggerListOrdersParams>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -8,6 +8,7 @@ type ClientOrderParams<T extends {
8
8
  order: OptionalSubaccountOwner<EngineOrderParams>;
9
9
  };
10
10
  type PlaceOrderParams = ClientOrderParams<EnginePlaceOrderParams>;
11
+ type PlaceOrdersParams = PlaceOrderParams[];
11
12
  type CancelOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner<EngineCancelOrdersParams>>;
12
13
  type CancelProductOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner<EngineCancelProductOrdersParams>>;
13
14
  interface CancelAndPlaceOrderParams {
@@ -19,4 +20,4 @@ type CancelTriggerOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner
19
20
  type CancelTriggerProductOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner<TriggerCancelProductOrdersParams>>;
20
21
  type GetTriggerOrdersParams = OptionalSignatureParams<TriggerListOrdersParams>;
21
22
 
22
- export type { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceTriggerOrderParams };
23
+ export type { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceOrdersParams, PlaceTriggerOrderParams };
@@ -8,6 +8,7 @@ type ClientOrderParams<T extends {
8
8
  order: OptionalSubaccountOwner<EngineOrderParams>;
9
9
  };
10
10
  type PlaceOrderParams = ClientOrderParams<EnginePlaceOrderParams>;
11
+ type PlaceOrdersParams = PlaceOrderParams[];
11
12
  type CancelOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner<EngineCancelOrdersParams>>;
12
13
  type CancelProductOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner<EngineCancelProductOrdersParams>>;
13
14
  interface CancelAndPlaceOrderParams {
@@ -19,4 +20,4 @@ type CancelTriggerOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner
19
20
  type CancelTriggerProductOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner<TriggerCancelProductOrdersParams>>;
20
21
  type GetTriggerOrdersParams = OptionalSignatureParams<TriggerListOrdersParams>;
21
22
 
22
- export type { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceTriggerOrderParams };
23
+ export type { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceOrdersParams, PlaceTriggerOrderParams };
package/dist/index.d.cts CHANGED
@@ -9,7 +9,7 @@ export * from '@nadohq/engine-client';
9
9
  export * from '@nadohq/indexer-client';
10
10
  export * from '@nadohq/shared';
11
11
  export * from '@nadohq/trigger-client';
12
- export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceTriggerOrderParams } from './apis/market/types.cjs';
12
+ export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceOrdersParams, PlaceTriggerOrderParams } from './apis/market/types.cjs';
13
13
  export { ApproveAllowanceParams, BurnNlpParams, GetTokenAllowanceParams, GetTokenWalletBalanceParams, MintMockERC20Params, MintNlpParams, ProductIdOrTokenAddress, TransferQuoteParams, WithdrawCollateralParams } from './apis/spot/types.cjs';
14
14
  export { CreateStandardLinkedSignerResult, LinkSignerParams, LiquidateSubaccountParams } from './apis/subaccount/types.cjs';
15
15
  import './apis/ws/index.cjs';
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export * from '@nadohq/engine-client';
9
9
  export * from '@nadohq/indexer-client';
10
10
  export * from '@nadohq/shared';
11
11
  export * from '@nadohq/trigger-client';
12
- export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceTriggerOrderParams } from './apis/market/types.js';
12
+ export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceOrdersParams, PlaceTriggerOrderParams } from './apis/market/types.js';
13
13
  export { ApproveAllowanceParams, BurnNlpParams, GetTokenAllowanceParams, GetTokenWalletBalanceParams, MintMockERC20Params, MintNlpParams, ProductIdOrTokenAddress, TransferQuoteParams, WithdrawCollateralParams } from './apis/spot/types.js';
14
14
  export { CreateStandardLinkedSignerResult, LinkSignerParams, LiquidateSubaccountParams } from './apis/subaccount/types.js';
15
15
  import './apis/ws/index.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nadohq/client",
3
- "version": "0.1.0-alpha.18",
3
+ "version": "0.1.0-alpha.19",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "description": "> TODO: description",
@@ -37,10 +37,10 @@
37
37
  }
38
38
  },
39
39
  "dependencies": {
40
- "@nadohq/engine-client": "^0.1.0-alpha.18",
41
- "@nadohq/indexer-client": "^0.1.0-alpha.18",
42
- "@nadohq/shared": "^0.1.0-alpha.18",
43
- "@nadohq/trigger-client": "^0.1.0-alpha.18",
40
+ "@nadohq/engine-client": "^0.1.0-alpha.19",
41
+ "@nadohq/indexer-client": "^0.1.0-alpha.19",
42
+ "@nadohq/shared": "^0.1.0-alpha.19",
43
+ "@nadohq/trigger-client": "^0.1.0-alpha.19",
44
44
  "ts-mixer": "*"
45
45
  },
46
46
  "peerDependencies": {
@@ -49,5 +49,5 @@
49
49
  "devDependencies": {
50
50
  "viem": "*"
51
51
  },
52
- "gitHead": "8c885cff2a2f504d6136446c1e9620080b6dd880"
52
+ "gitHead": "0a0748ffdebccd713ead66ed7f4849b20e58ad10"
53
53
  }
@@ -1,3 +1,4 @@
1
+ import { EngineServerExecuteSuccessResult } from '@nadohq/engine-client';
1
2
  import { getOrderVerifyingAddress } from '@nadohq/shared';
2
3
  import { BaseNadoAPI } from '../base';
3
4
  import {
@@ -7,6 +8,7 @@ import {
7
8
  CancelTriggerOrdersParams,
8
9
  CancelTriggerProductOrdersParams,
9
10
  PlaceOrderParams,
11
+ PlaceOrdersParams,
10
12
  PlaceTriggerOrderParams,
11
13
  } from './types';
12
14
 
@@ -32,6 +34,32 @@ export class MarketExecuteAPI extends BaseNadoAPI {
32
34
  });
33
35
  }
34
36
 
37
+ /**
38
+ * Places multiple orders through the engine
39
+ * @param params
40
+ */
41
+ async placeOrders(
42
+ params: PlaceOrdersParams,
43
+ ): Promise<EngineServerExecuteSuccessResult<'place_orders'>> {
44
+ return this.context.engineClient.placeOrders(
45
+ params.map((orderParams) => {
46
+ const { id, productId, order, nonce, spotLeverage } = orderParams;
47
+ return {
48
+ id,
49
+ order: {
50
+ ...order,
51
+ subaccountOwner: this.getSubaccountOwnerIfNeeded(order),
52
+ },
53
+ chainId: this.getWalletClientChainIdIfNeeded(orderParams),
54
+ verifyingAddr: getOrderVerifyingAddress(productId),
55
+ productId,
56
+ spotLeverage,
57
+ nonce,
58
+ };
59
+ }),
60
+ );
61
+ }
62
+
35
63
  /**
36
64
  * Cancels orders through the engine
37
65
  * @param params
@@ -24,6 +24,8 @@ type ClientOrderParams<T extends { order: EngineOrderParams }> = Omit<
24
24
 
25
25
  export type PlaceOrderParams = ClientOrderParams<EnginePlaceOrderParams>;
26
26
 
27
+ export type PlaceOrdersParams = PlaceOrderParams[];
28
+
27
29
  export type CancelOrdersParams = OptionalSignatureParams<
28
30
  OptionalSubaccountOwner<EngineCancelOrdersParams>
29
31
  >;