@nadohq/engine-client 0.1.0-alpha.1

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 (142) hide show
  1. package/README.md +2 -0
  2. package/dist/EngineBaseClient.cjs +166 -0
  3. package/dist/EngineBaseClient.cjs.map +1 -0
  4. package/dist/EngineBaseClient.d.cts +75 -0
  5. package/dist/EngineBaseClient.d.ts +75 -0
  6. package/dist/EngineBaseClient.js +133 -0
  7. package/dist/EngineBaseClient.js.map +1 -0
  8. package/dist/EngineClient.cjs +40 -0
  9. package/dist/EngineClient.cjs.map +1 -0
  10. package/dist/EngineClient.d.cts +23 -0
  11. package/dist/EngineClient.d.ts +23 -0
  12. package/dist/EngineClient.js +15 -0
  13. package/dist/EngineClient.js.map +1 -0
  14. package/dist/EngineExecuteBuilder.cjs +304 -0
  15. package/dist/EngineExecuteBuilder.cjs.map +1 -0
  16. package/dist/EngineExecuteBuilder.d.cts +118 -0
  17. package/dist/EngineExecuteBuilder.d.ts +118 -0
  18. package/dist/EngineExecuteBuilder.js +282 -0
  19. package/dist/EngineExecuteBuilder.js.map +1 -0
  20. package/dist/EngineExecuteClient.cjs +114 -0
  21. package/dist/EngineExecuteClient.cjs.map +1 -0
  22. package/dist/EngineExecuteClient.d.cts +28 -0
  23. package/dist/EngineExecuteClient.d.ts +28 -0
  24. package/dist/EngineExecuteClient.js +89 -0
  25. package/dist/EngineExecuteClient.js.map +1 -0
  26. package/dist/EngineQueryClient.cjs +431 -0
  27. package/dist/EngineQueryClient.cjs.map +1 -0
  28. package/dist/EngineQueryClient.d.cts +143 -0
  29. package/dist/EngineQueryClient.d.ts +143 -0
  30. package/dist/EngineQueryClient.js +424 -0
  31. package/dist/EngineQueryClient.js.map +1 -0
  32. package/dist/EngineWebClient.cjs +75 -0
  33. package/dist/EngineWebClient.cjs.map +1 -0
  34. package/dist/EngineWebClient.d.cts +31 -0
  35. package/dist/EngineWebClient.d.ts +31 -0
  36. package/dist/EngineWebClient.js +50 -0
  37. package/dist/EngineWebClient.js.map +1 -0
  38. package/dist/endpoints.cjs +49 -0
  39. package/dist/endpoints.cjs.map +1 -0
  40. package/dist/endpoints.d.cts +7 -0
  41. package/dist/endpoints.d.ts +7 -0
  42. package/dist/endpoints.js +22 -0
  43. package/dist/endpoints.js.map +1 -0
  44. package/dist/index.cjs +31 -0
  45. package/dist/index.cjs.map +1 -0
  46. package/dist/index.d.cts +20 -0
  47. package/dist/index.d.ts +20 -0
  48. package/dist/index.js +6 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/types/EngineServerFailureError.cjs +36 -0
  51. package/dist/types/EngineServerFailureError.cjs.map +1 -0
  52. package/dist/types/EngineServerFailureError.d.cts +11 -0
  53. package/dist/types/EngineServerFailureError.d.ts +11 -0
  54. package/dist/types/EngineServerFailureError.js +11 -0
  55. package/dist/types/EngineServerFailureError.js.map +1 -0
  56. package/dist/types/clientExecuteTypes.cjs +19 -0
  57. package/dist/types/clientExecuteTypes.cjs.map +1 -0
  58. package/dist/types/clientExecuteTypes.d.cts +74 -0
  59. package/dist/types/clientExecuteTypes.d.ts +74 -0
  60. package/dist/types/clientExecuteTypes.js +1 -0
  61. package/dist/types/clientExecuteTypes.js.map +1 -0
  62. package/dist/types/clientQueryTypes.cjs +19 -0
  63. package/dist/types/clientQueryTypes.cjs.map +1 -0
  64. package/dist/types/clientQueryTypes.d.cts +189 -0
  65. package/dist/types/clientQueryTypes.d.ts +189 -0
  66. package/dist/types/clientQueryTypes.js +1 -0
  67. package/dist/types/clientQueryTypes.js.map +1 -0
  68. package/dist/types/index.cjs +39 -0
  69. package/dist/types/index.cjs.map +1 -0
  70. package/dist/types/index.d.cts +10 -0
  71. package/dist/types/index.d.ts +10 -0
  72. package/dist/types/index.js +10 -0
  73. package/dist/types/index.js.map +1 -0
  74. package/dist/types/serverExecuteTypes.cjs +19 -0
  75. package/dist/types/serverExecuteTypes.cjs.map +1 -0
  76. package/dist/types/serverExecuteTypes.d.cts +91 -0
  77. package/dist/types/serverExecuteTypes.d.ts +91 -0
  78. package/dist/types/serverExecuteTypes.js +1 -0
  79. package/dist/types/serverExecuteTypes.js.map +1 -0
  80. package/dist/types/serverQueryModelTypes.cjs +19 -0
  81. package/dist/types/serverQueryModelTypes.cjs.map +1 -0
  82. package/dist/types/serverQueryModelTypes.d.cts +73 -0
  83. package/dist/types/serverQueryModelTypes.d.ts +73 -0
  84. package/dist/types/serverQueryModelTypes.js +1 -0
  85. package/dist/types/serverQueryModelTypes.js.map +1 -0
  86. package/dist/types/serverQueryTypes.cjs +19 -0
  87. package/dist/types/serverQueryTypes.cjs.map +1 -0
  88. package/dist/types/serverQueryTypes.d.cts +292 -0
  89. package/dist/types/serverQueryTypes.d.ts +292 -0
  90. package/dist/types/serverQueryTypes.js +1 -0
  91. package/dist/types/serverQueryTypes.js.map +1 -0
  92. package/dist/types/serverSubscriptionEventTypes.cjs +19 -0
  93. package/dist/types/serverSubscriptionEventTypes.cjs.map +1 -0
  94. package/dist/types/serverSubscriptionEventTypes.d.cts +71 -0
  95. package/dist/types/serverSubscriptionEventTypes.d.ts +71 -0
  96. package/dist/types/serverSubscriptionEventTypes.js +1 -0
  97. package/dist/types/serverSubscriptionEventTypes.js.map +1 -0
  98. package/dist/types/serverSubscriptionTypes.cjs +19 -0
  99. package/dist/types/serverSubscriptionTypes.cjs.map +1 -0
  100. package/dist/types/serverSubscriptionTypes.d.cts +63 -0
  101. package/dist/types/serverSubscriptionTypes.d.ts +63 -0
  102. package/dist/types/serverSubscriptionTypes.js +1 -0
  103. package/dist/types/serverSubscriptionTypes.js.map +1 -0
  104. package/dist/utils/index.cjs +25 -0
  105. package/dist/utils/index.cjs.map +1 -0
  106. package/dist/utils/index.d.cts +6 -0
  107. package/dist/utils/index.d.ts +6 -0
  108. package/dist/utils/index.js +3 -0
  109. package/dist/utils/index.js.map +1 -0
  110. package/dist/utils/productEngineTypeMappers.cjs +49 -0
  111. package/dist/utils/productEngineTypeMappers.cjs.map +1 -0
  112. package/dist/utils/productEngineTypeMappers.d.cts +7 -0
  113. package/dist/utils/productEngineTypeMappers.d.ts +7 -0
  114. package/dist/utils/productEngineTypeMappers.js +23 -0
  115. package/dist/utils/productEngineTypeMappers.js.map +1 -0
  116. package/dist/utils/queryDataMappers.cjs +282 -0
  117. package/dist/utils/queryDataMappers.cjs.map +1 -0
  118. package/dist/utils/queryDataMappers.d.cts +18 -0
  119. package/dist/utils/queryDataMappers.d.ts +18 -0
  120. package/dist/utils/queryDataMappers.js +258 -0
  121. package/dist/utils/queryDataMappers.js.map +1 -0
  122. package/package.json +52 -0
  123. package/src/EngineBaseClient.ts +223 -0
  124. package/src/EngineClient.ts +13 -0
  125. package/src/EngineExecuteBuilder.ts +381 -0
  126. package/src/EngineExecuteClient.ts +122 -0
  127. package/src/EngineQueryClient.ts +553 -0
  128. package/src/EngineWebClient.ts +72 -0
  129. package/src/endpoints.ts +21 -0
  130. package/src/index.ts +4 -0
  131. package/src/types/EngineServerFailureError.ts +12 -0
  132. package/src/types/clientExecuteTypes.ts +118 -0
  133. package/src/types/clientQueryTypes.ts +267 -0
  134. package/src/types/index.ts +8 -0
  135. package/src/types/serverExecuteTypes.ts +138 -0
  136. package/src/types/serverQueryModelTypes.ts +83 -0
  137. package/src/types/serverQueryTypes.ts +382 -0
  138. package/src/types/serverSubscriptionEventTypes.ts +74 -0
  139. package/src/types/serverSubscriptionTypes.ts +79 -0
  140. package/src/utils/index.ts +1 -0
  141. package/src/utils/productEngineTypeMappers.ts +24 -0
  142. package/src/utils/queryDataMappers.ts +303 -0
@@ -0,0 +1,282 @@
1
+ // src/EngineExecuteBuilder.ts
2
+ import {
3
+ getNadoEIP712Values,
4
+ getOrderNonce
5
+ } from "@nadohq/contracts";
6
+ var EngineExecuteBuilder = class {
7
+ constructor(engineClient) {
8
+ this.engineClient = engineClient;
9
+ }
10
+ /**
11
+ * Builds server payload for the `liquidate_subaccount` execute action.
12
+ * @param clientParams Client LiquidateSubaccount params.
13
+ * @returns `liquidate_subaccount` payload
14
+ */
15
+ async buildLiquidateSubaccountPayload(clientParams) {
16
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
17
+ const paramsWithNonce = { ...clientParams, nonce };
18
+ const tx = getNadoEIP712Values("liquidate_subaccount", paramsWithNonce);
19
+ const signature = await this.getSignatureIfNeeded(
20
+ "liquidate_subaccount",
21
+ paramsWithNonce
22
+ );
23
+ return {
24
+ signature,
25
+ tx
26
+ };
27
+ }
28
+ /**
29
+ * Builds server payload for the `withdraw_collateral` execute action.
30
+ * @param clientParams Client WithdrawCollateral params.
31
+ * @returns `liquidate_subaccount` payload
32
+ */
33
+ async buildWithdrawCollateralPayload(clientParams) {
34
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
35
+ const paramsWithNonce = { ...clientParams, nonce };
36
+ const signature = await this.getSignatureIfNeeded(
37
+ "withdraw_collateral",
38
+ paramsWithNonce
39
+ );
40
+ const tx = getNadoEIP712Values("withdraw_collateral", paramsWithNonce);
41
+ return {
42
+ signature,
43
+ tx,
44
+ spot_leverage: clientParams.spotLeverage ?? null
45
+ };
46
+ }
47
+ /**
48
+ * Builds server payload for the `place_order` execute action.
49
+ *
50
+ * @param clientParams Client PlaceOrder params.
51
+ * @returns `place_order` payload
52
+ */
53
+ async buildPlaceOrderPayload(clientParams) {
54
+ const nonce = this.getOrderNonceIfNeeded(clientParams);
55
+ const orderWithNonce = { ...clientParams.order, nonce };
56
+ const signature = await this.getSignatureIfNeeded("place_order", {
57
+ // Gets expected type
58
+ ...clientParams,
59
+ ...orderWithNonce
60
+ });
61
+ return this.buildPlaceOrderPayloadSync({
62
+ ...clientParams,
63
+ order: orderWithNonce,
64
+ signature
65
+ });
66
+ }
67
+ /**
68
+ * Synchronously builds server payload for the `place_order` execute action.
69
+ *
70
+ * @param clientParams Client PlaceOrder params.
71
+ * @returns `place_order` payload
72
+ */
73
+ buildPlaceOrderPayloadSync(clientParams) {
74
+ const orderEIP712Values = getNadoEIP712Values(
75
+ "place_order",
76
+ clientParams.order
77
+ );
78
+ return {
79
+ payload: {
80
+ id: clientParams.id ?? null,
81
+ product_id: clientParams.productId,
82
+ order: orderEIP712Values,
83
+ signature: clientParams.signature,
84
+ spot_leverage: clientParams.spotLeverage ?? null
85
+ },
86
+ orderParams: clientParams.order
87
+ };
88
+ }
89
+ /**
90
+ * Builds server payload for the `place_isolated_order` execute action.
91
+ *
92
+ * @param clientParams Client PlaceIsolatedOrder params.
93
+ * @returns `place_isolated_order` payload
94
+ */
95
+ async buildIsolatedPlaceOrderPayload(clientParams) {
96
+ const nonce = this.getOrderNonceIfNeeded(clientParams);
97
+ const orderWithNonce = { ...clientParams.order, nonce };
98
+ const signature = await this.getSignatureIfNeeded("place_isolated_order", {
99
+ // Gets expected type
100
+ ...clientParams,
101
+ ...orderWithNonce
102
+ });
103
+ return this.buildPlaceIsolatedOrderPayloadSync({
104
+ ...clientParams,
105
+ order: orderWithNonce,
106
+ signature
107
+ });
108
+ }
109
+ /**
110
+ * Synchronously builds server payload for the `place_isolated_order` execute action.
111
+ *
112
+ * @param clientParams Client PlaceIsolatedOrder params.
113
+ * @returns `place_isolated_order` payload
114
+ */
115
+ buildPlaceIsolatedOrderPayloadSync(clientParams) {
116
+ const isolatedOrderEIP712Values = getNadoEIP712Values(
117
+ "place_isolated_order",
118
+ clientParams.order
119
+ );
120
+ return {
121
+ payload: {
122
+ id: clientParams.id ?? null,
123
+ product_id: clientParams.productId,
124
+ isolated_order: isolatedOrderEIP712Values,
125
+ signature: clientParams.signature,
126
+ borrow_margin: clientParams.borrowMargin ?? null
127
+ },
128
+ orderParams: clientParams.order
129
+ };
130
+ }
131
+ /**
132
+ * Builds server payload for the `cancel_orders` execute action. As such, requires a signature to be given
133
+ *
134
+ * @param clientParams Client CancelOrders params.
135
+ * @returns `cancel_orders` payload
136
+ */
137
+ async buildCancelOrdersPayload(clientParams) {
138
+ const nonce = this.getOrderNonceIfNeeded(clientParams);
139
+ const paramsWithNonce = { ...clientParams, nonce };
140
+ const signature = await this.getSignatureIfNeeded(
141
+ "cancel_orders",
142
+ paramsWithNonce
143
+ );
144
+ return this.buildCancelOrdersPayloadSync({
145
+ ...paramsWithNonce,
146
+ signature
147
+ });
148
+ }
149
+ /**
150
+ * Synchronously builds server payload for the `cancel_orders` execute action.
151
+ *
152
+ * @param clientParams Client CancelOrders params.
153
+ * @returns `cancel_orders` payload
154
+ */
155
+ buildCancelOrdersPayloadSync(clientParams) {
156
+ const tx = getNadoEIP712Values("cancel_orders", clientParams);
157
+ return {
158
+ tx,
159
+ signature: clientParams.signature
160
+ };
161
+ }
162
+ /**
163
+ * Builds server payload for the `cancel_product_orders` execute action.
164
+ * @param clientParams Client CancelProductOrders params.
165
+ * @returns `cancel_product_orders` payload
166
+ */
167
+ async buildCancelProductOrdersPayload(clientParams) {
168
+ const nonce = this.getOrderNonceIfNeeded(clientParams);
169
+ const paramsWithNonce = { ...clientParams, nonce };
170
+ const tx = getNadoEIP712Values("cancel_product_orders", paramsWithNonce);
171
+ const signature = await this.getSignatureIfNeeded(
172
+ "cancel_product_orders",
173
+ paramsWithNonce
174
+ );
175
+ return {
176
+ tx,
177
+ signature
178
+ };
179
+ }
180
+ /**
181
+ * Builds server payload for the `link_signer` execute action.
182
+ *
183
+ * @param clientParams Client LinkSigner params.
184
+ * @returns `link_signer` payload
185
+ */
186
+ async buildLinkSignerPayload(clientParams) {
187
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
188
+ const paramsWithNonce = { ...clientParams, nonce };
189
+ const tx = getNadoEIP712Values("link_signer", paramsWithNonce);
190
+ const signature = await this.getSignatureIfNeeded(
191
+ "link_signer",
192
+ paramsWithNonce
193
+ );
194
+ return {
195
+ tx,
196
+ signature
197
+ };
198
+ }
199
+ /**
200
+ * Builds server payload for the `transfer_quote` execute action.
201
+ *
202
+ * @param clientParams Client TransferQuote params.
203
+ * @returns `transfer_quote` payload
204
+ */
205
+ async buildTransferQuotePayload(clientParams) {
206
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
207
+ const paramsWithNonce = { ...clientParams, nonce };
208
+ const tx = getNadoEIP712Values("transfer_quote", paramsWithNonce);
209
+ const signature = await this.getSignatureIfNeeded(
210
+ "transfer_quote",
211
+ paramsWithNonce
212
+ );
213
+ return {
214
+ tx,
215
+ signature
216
+ };
217
+ }
218
+ /**
219
+ * Builds server payload for the `mint_vlp` execute action.
220
+ * @param clientParams Client MintVlp params.
221
+ * @returns `mint_vlp` payload
222
+ */
223
+ async buildMintVlpPayload(clientParams) {
224
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
225
+ const paramsWithNonce = { ...clientParams, nonce };
226
+ const tx = getNadoEIP712Values("mint_vlp", paramsWithNonce);
227
+ const signature = await this.getSignatureIfNeeded(
228
+ "mint_vlp",
229
+ paramsWithNonce
230
+ );
231
+ return {
232
+ signature,
233
+ tx,
234
+ spot_leverage: clientParams.spotLeverage ?? null
235
+ };
236
+ }
237
+ /**
238
+ * Builds server payload for the `burn_vlp` execute action.
239
+ * @param clientParams Client BurnVlp params.
240
+ * @returns `burn_vlp` payload
241
+ */
242
+ async buildBurnVlpPayload(clientParams) {
243
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
244
+ const paramsWithNonce = { ...clientParams, nonce };
245
+ const tx = getNadoEIP712Values("burn_vlp", paramsWithNonce);
246
+ const signature = await this.getSignatureIfNeeded(
247
+ "burn_vlp",
248
+ paramsWithNonce
249
+ );
250
+ return {
251
+ signature,
252
+ tx
253
+ };
254
+ }
255
+ async getSignatureIfNeeded(requestType, paramsWithNonce) {
256
+ if ("signature" in paramsWithNonce) {
257
+ return paramsWithNonce.signature;
258
+ }
259
+ return await this.engineClient.sign(
260
+ requestType,
261
+ paramsWithNonce.verifyingAddr,
262
+ paramsWithNonce.chainId,
263
+ paramsWithNonce
264
+ );
265
+ }
266
+ async getTxNonceIfNeeded(params) {
267
+ if (params.nonce) {
268
+ return params.nonce;
269
+ }
270
+ return await this.engineClient.getTxNonce(params.subaccountOwner);
271
+ }
272
+ getOrderNonceIfNeeded(params) {
273
+ if (params.nonce) {
274
+ return params.nonce;
275
+ }
276
+ return getOrderNonce();
277
+ }
278
+ };
279
+ export {
280
+ EngineExecuteBuilder
281
+ };
282
+ //# sourceMappingURL=EngineExecuteBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/EngineExecuteBuilder.ts"],"sourcesContent":["import {\n EIP712IsolatedOrderParams,\n EIP712OrderParams,\n getNadoEIP712Values,\n getOrderNonce,\n SignableRequestType,\n SignableRequestTypeToParams,\n} from '@nadohq/contracts';\nimport { EngineBaseClient } from './EngineBaseClient';\nimport {\n EngineExecuteRequestParamsByType,\n EngineServerExecutePlaceIsolatedOrderPayload,\n EngineServerExecutePlaceOrderPayload,\n EngineServerExecuteRequestByType,\n SignatureParams,\n WithBaseEngineExecuteParams,\n WithSignature,\n} from './types';\n\n/**\n * Builds execute payloads as expected by the server.\n * @param nonce A nonce is computed when one is not provided.\n * @param signature A signature is computed when one is not provided.\n */\nexport class EngineExecuteBuilder {\n readonly engineClient: EngineBaseClient;\n\n constructor(engineClient: EngineBaseClient) {\n this.engineClient = engineClient;\n }\n\n /**\n * Builds server payload for the `liquidate_subaccount` execute action.\n * @param clientParams Client LiquidateSubaccount params.\n * @returns `liquidate_subaccount` payload\n */\n async buildLiquidateSubaccountPayload(\n clientParams: EngineExecuteRequestParamsByType['liquidate_subaccount'],\n ): Promise<EngineServerExecuteRequestByType['liquidate_subaccount']> {\n const nonce = await this.getTxNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const tx = getNadoEIP712Values('liquidate_subaccount', paramsWithNonce);\n const signature = await this.getSignatureIfNeeded(\n 'liquidate_subaccount',\n paramsWithNonce,\n );\n\n return {\n signature,\n tx,\n };\n }\n\n /**\n * Builds server payload for the `withdraw_collateral` execute action.\n * @param clientParams Client WithdrawCollateral params.\n * @returns `liquidate_subaccount` payload\n */\n async buildWithdrawCollateralPayload(\n clientParams: EngineExecuteRequestParamsByType['withdraw_collateral'],\n ): Promise<EngineServerExecuteRequestByType['withdraw_collateral']> {\n const nonce = await this.getTxNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const signature = await this.getSignatureIfNeeded(\n 'withdraw_collateral',\n paramsWithNonce,\n );\n\n const tx = getNadoEIP712Values('withdraw_collateral', paramsWithNonce);\n return {\n signature,\n tx,\n spot_leverage: clientParams.spotLeverage ?? null,\n };\n }\n\n /**\n * Builds server payload for the `place_order` execute action.\n *\n * @param clientParams Client PlaceOrder params.\n * @returns `place_order` payload\n */\n async buildPlaceOrderPayload(\n clientParams: EngineExecuteRequestParamsByType['place_order'],\n ): Promise<EngineServerExecutePlaceOrderPayload> {\n const nonce = this.getOrderNonceIfNeeded(clientParams);\n const orderWithNonce = { ...clientParams.order, nonce };\n\n const signature = await this.getSignatureIfNeeded('place_order', {\n // Gets expected type\n ...clientParams,\n ...orderWithNonce,\n });\n\n return this.buildPlaceOrderPayloadSync({\n ...clientParams,\n order: orderWithNonce,\n signature,\n });\n }\n\n /**\n * Synchronously builds server payload for the `place_order` execute action.\n *\n * @param clientParams Client PlaceOrder params.\n * @returns `place_order` payload\n */\n buildPlaceOrderPayloadSync(\n clientParams: WithSignature<\n EngineExecuteRequestParamsByType['place_order'] & {\n order: EIP712OrderParams;\n }\n >,\n ): EngineServerExecutePlaceOrderPayload {\n const orderEIP712Values = getNadoEIP712Values(\n 'place_order',\n clientParams.order,\n );\n\n return {\n payload: {\n id: clientParams.id ?? null,\n product_id: clientParams.productId,\n order: orderEIP712Values,\n signature: clientParams.signature,\n spot_leverage: clientParams.spotLeverage ?? null,\n },\n orderParams: clientParams.order,\n };\n }\n\n /**\n * Builds server payload for the `place_isolated_order` execute action.\n *\n * @param clientParams Client PlaceIsolatedOrder params.\n * @returns `place_isolated_order` payload\n */\n async buildIsolatedPlaceOrderPayload(\n clientParams: EngineExecuteRequestParamsByType['place_isolated_order'],\n ): Promise<EngineServerExecutePlaceIsolatedOrderPayload> {\n const nonce = this.getOrderNonceIfNeeded(clientParams);\n const orderWithNonce = { ...clientParams.order, nonce };\n\n const signature = await this.getSignatureIfNeeded('place_isolated_order', {\n // Gets expected type\n ...clientParams,\n ...orderWithNonce,\n });\n\n return this.buildPlaceIsolatedOrderPayloadSync({\n ...clientParams,\n order: orderWithNonce,\n signature,\n });\n }\n\n /**\n * Synchronously builds server payload for the `place_isolated_order` execute action.\n *\n * @param clientParams Client PlaceIsolatedOrder params.\n * @returns `place_isolated_order` payload\n */\n buildPlaceIsolatedOrderPayloadSync(\n clientParams: WithSignature<\n EngineExecuteRequestParamsByType['place_isolated_order'] & {\n order: EIP712IsolatedOrderParams;\n }\n >,\n ): EngineServerExecutePlaceIsolatedOrderPayload {\n const isolatedOrderEIP712Values = getNadoEIP712Values(\n 'place_isolated_order',\n clientParams.order,\n );\n\n return {\n payload: {\n id: clientParams.id ?? null,\n product_id: clientParams.productId,\n isolated_order: isolatedOrderEIP712Values,\n signature: clientParams.signature,\n borrow_margin: clientParams.borrowMargin ?? null,\n },\n orderParams: clientParams.order,\n };\n }\n\n /**\n * Builds server payload for the `cancel_orders` execute action. As such, requires a signature to be given\n *\n * @param clientParams Client CancelOrders params.\n * @returns `cancel_orders` payload\n */\n async buildCancelOrdersPayload(\n clientParams: EngineExecuteRequestParamsByType['cancel_orders'],\n ): Promise<EngineServerExecuteRequestByType['cancel_orders']> {\n const nonce = this.getOrderNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n const signature = await this.getSignatureIfNeeded(\n 'cancel_orders',\n paramsWithNonce,\n );\n\n return this.buildCancelOrdersPayloadSync({\n ...paramsWithNonce,\n signature,\n });\n }\n\n /**\n * Synchronously builds server payload for the `cancel_orders` execute action.\n *\n * @param clientParams Client CancelOrders params.\n * @returns `cancel_orders` payload\n */\n buildCancelOrdersPayloadSync(\n clientParams: WithSignature<\n EngineExecuteRequestParamsByType['cancel_orders'] & { nonce: string }\n >,\n ): EngineServerExecuteRequestByType['cancel_orders'] {\n const tx = getNadoEIP712Values('cancel_orders', clientParams);\n\n return {\n tx,\n signature: clientParams.signature,\n };\n }\n\n /**\n * Builds server payload for the `cancel_product_orders` execute action.\n * @param clientParams Client CancelProductOrders params.\n * @returns `cancel_product_orders` payload\n */\n async buildCancelProductOrdersPayload(\n clientParams: EngineExecuteRequestParamsByType['cancel_product_orders'],\n ): Promise<EngineServerExecuteRequestByType['cancel_product_orders']> {\n const nonce = this.getOrderNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const tx = getNadoEIP712Values('cancel_product_orders', paramsWithNonce);\n const signature = await this.getSignatureIfNeeded(\n 'cancel_product_orders',\n paramsWithNonce,\n );\n\n return {\n tx,\n signature,\n };\n }\n\n /**\n * Builds server payload for the `link_signer` execute action.\n *\n * @param clientParams Client LinkSigner params.\n * @returns `link_signer` payload\n */\n async buildLinkSignerPayload(\n clientParams: EngineExecuteRequestParamsByType['link_signer'],\n ): Promise<EngineServerExecuteRequestByType['link_signer']> {\n const nonce = await this.getTxNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const tx = getNadoEIP712Values('link_signer', paramsWithNonce);\n const signature = await this.getSignatureIfNeeded(\n 'link_signer',\n paramsWithNonce,\n );\n\n return {\n tx,\n signature,\n };\n }\n\n /**\n * Builds server payload for the `transfer_quote` execute action.\n *\n * @param clientParams Client TransferQuote params.\n * @returns `transfer_quote` payload\n */\n async buildTransferQuotePayload(\n clientParams: EngineExecuteRequestParamsByType['transfer_quote'],\n ): Promise<EngineServerExecuteRequestByType['transfer_quote']> {\n const nonce = await this.getTxNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const tx = getNadoEIP712Values('transfer_quote', paramsWithNonce);\n const signature = await this.getSignatureIfNeeded(\n 'transfer_quote',\n paramsWithNonce,\n );\n\n return {\n tx,\n signature,\n };\n }\n\n /**\n * Builds server payload for the `mint_vlp` execute action.\n * @param clientParams Client MintVlp params.\n * @returns `mint_vlp` payload\n */\n async buildMintVlpPayload(\n clientParams: EngineExecuteRequestParamsByType['mint_vlp'],\n ): Promise<EngineServerExecuteRequestByType['mint_vlp']> {\n const nonce = await this.getTxNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const tx = getNadoEIP712Values('mint_vlp', paramsWithNonce);\n const signature = await this.getSignatureIfNeeded(\n 'mint_vlp',\n paramsWithNonce,\n );\n\n return {\n signature,\n tx,\n spot_leverage: clientParams.spotLeverage ?? null,\n };\n }\n\n /**\n * Builds server payload for the `burn_vlp` execute action.\n * @param clientParams Client BurnVlp params.\n * @returns `burn_vlp` payload\n */\n async buildBurnVlpPayload(\n clientParams: EngineExecuteRequestParamsByType['burn_vlp'],\n ): Promise<EngineServerExecuteRequestByType['burn_vlp']> {\n const nonce = await this.getTxNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const tx = getNadoEIP712Values('burn_vlp', paramsWithNonce);\n const signature = await this.getSignatureIfNeeded(\n 'burn_vlp',\n paramsWithNonce,\n );\n\n return {\n signature,\n tx,\n };\n }\n\n protected async getSignatureIfNeeded<T extends SignableRequestType>(\n requestType: T,\n paramsWithNonce: SignatureParams & SignableRequestTypeToParams[T],\n ) {\n if ('signature' in paramsWithNonce) {\n return paramsWithNonce.signature;\n }\n\n return await this.engineClient.sign(\n requestType,\n paramsWithNonce.verifyingAddr,\n paramsWithNonce.chainId,\n paramsWithNonce,\n );\n }\n\n protected async getTxNonceIfNeeded(\n params: WithBaseEngineExecuteParams<{ subaccountOwner: string }>,\n ) {\n if (params.nonce) {\n return params.nonce;\n }\n return await this.engineClient.getTxNonce(params.subaccountOwner);\n }\n\n protected getOrderNonceIfNeeded(\n params: WithBaseEngineExecuteParams<unknown>,\n ) {\n if (params.nonce) {\n return params.nonce;\n }\n return getOrderNonce();\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,114 @@
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 __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/EngineExecuteClient.ts
21
+ var EngineExecuteClient_exports = {};
22
+ __export(EngineExecuteClient_exports, {
23
+ EngineExecuteClient: () => EngineExecuteClient
24
+ });
25
+ module.exports = __toCommonJS(EngineExecuteClient_exports);
26
+ var import_EngineBaseClient = require("./EngineBaseClient.cjs");
27
+ var import_EngineExecuteBuilder = require("./EngineExecuteBuilder.cjs");
28
+ var EngineExecuteClient = class extends import_EngineBaseClient.EngineBaseClient {
29
+ constructor(opts) {
30
+ super(opts);
31
+ this.payloadBuilder = new import_EngineExecuteBuilder.EngineExecuteBuilder(this);
32
+ }
33
+ async liquidateSubaccount(params) {
34
+ return this.execute(
35
+ "liquidate_subaccount",
36
+ await this.payloadBuilder.buildLiquidateSubaccountPayload(params)
37
+ );
38
+ }
39
+ async withdrawCollateral(params) {
40
+ return this.execute(
41
+ "withdraw_collateral",
42
+ await this.payloadBuilder.buildWithdrawCollateralPayload(params)
43
+ );
44
+ }
45
+ async placeOrder(params) {
46
+ const placeOrderPayload = await this.payloadBuilder.buildPlaceOrderPayload(params);
47
+ return {
48
+ ...await this.execute("place_order", placeOrderPayload.payload),
49
+ orderParams: placeOrderPayload.orderParams
50
+ };
51
+ }
52
+ async placeIsolatedOrder(params) {
53
+ const placeOrderPayload = await this.payloadBuilder.buildIsolatedPlaceOrderPayload(params);
54
+ return {
55
+ ...await this.execute(
56
+ "place_isolated_order",
57
+ placeOrderPayload.payload
58
+ ),
59
+ orderParams: placeOrderPayload.orderParams
60
+ };
61
+ }
62
+ async cancelOrders(params) {
63
+ return this.execute(
64
+ "cancel_orders",
65
+ await this.payloadBuilder.buildCancelOrdersPayload(params)
66
+ );
67
+ }
68
+ async cancelAndPlace(params) {
69
+ const cancelOrdersPayload = await this.payloadBuilder.buildCancelOrdersPayload(params.cancelOrders);
70
+ const placeOrderPayload = await this.payloadBuilder.buildPlaceOrderPayload(
71
+ params.placeOrder
72
+ );
73
+ return this.execute("cancel_and_place", {
74
+ cancel_tx: cancelOrdersPayload.tx,
75
+ cancel_signature: cancelOrdersPayload.signature,
76
+ place_order: placeOrderPayload.payload
77
+ });
78
+ }
79
+ async cancelProductOrders(params) {
80
+ return this.execute(
81
+ "cancel_product_orders",
82
+ await this.payloadBuilder.buildCancelProductOrdersPayload(params)
83
+ );
84
+ }
85
+ async linkSigner(params) {
86
+ return this.execute(
87
+ "link_signer",
88
+ await this.payloadBuilder.buildLinkSignerPayload(params)
89
+ );
90
+ }
91
+ async transferQuote(params) {
92
+ return this.execute(
93
+ "transfer_quote",
94
+ await this.payloadBuilder.buildTransferQuotePayload(params)
95
+ );
96
+ }
97
+ async mintVlp(params) {
98
+ return this.execute(
99
+ "mint_vlp",
100
+ await this.payloadBuilder.buildMintVlpPayload(params)
101
+ );
102
+ }
103
+ async burnVlp(params) {
104
+ return this.execute(
105
+ "burn_vlp",
106
+ await this.payloadBuilder.buildBurnVlpPayload(params)
107
+ );
108
+ }
109
+ };
110
+ // Annotate the CommonJS export names for ESM import in node:
111
+ 0 && (module.exports = {
112
+ EngineExecuteClient
113
+ });
114
+ //# sourceMappingURL=EngineExecuteClient.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/EngineExecuteClient.ts"],"sourcesContent":["import { EngineBaseClient, EngineClientOpts } from './EngineBaseClient';\nimport { EngineExecuteBuilder } from './EngineExecuteBuilder';\nimport {\n EngineExecuteRequestParamsByType,\n EnginePlaceIsolatedOrderResult,\n EnginePlaceOrderResult,\n} from './types';\n\nexport class EngineExecuteClient extends EngineBaseClient {\n readonly payloadBuilder: EngineExecuteBuilder;\n\n constructor(opts: EngineClientOpts) {\n super(opts);\n this.payloadBuilder = new EngineExecuteBuilder(this);\n }\n\n async liquidateSubaccount(\n params: EngineExecuteRequestParamsByType['liquidate_subaccount'],\n ) {\n return this.execute(\n 'liquidate_subaccount',\n await this.payloadBuilder.buildLiquidateSubaccountPayload(params),\n );\n }\n\n async withdrawCollateral(\n params: EngineExecuteRequestParamsByType['withdraw_collateral'],\n ) {\n return this.execute(\n 'withdraw_collateral',\n await this.payloadBuilder.buildWithdrawCollateralPayload(params),\n );\n }\n\n async placeOrder(\n params: EngineExecuteRequestParamsByType['place_order'],\n ): Promise<EnginePlaceOrderResult> {\n const placeOrderPayload =\n await this.payloadBuilder.buildPlaceOrderPayload(params);\n return {\n ...(await this.execute('place_order', placeOrderPayload.payload)),\n orderParams: placeOrderPayload.orderParams,\n };\n }\n\n async placeIsolatedOrder(\n params: EngineExecuteRequestParamsByType['place_isolated_order'],\n ): Promise<EnginePlaceIsolatedOrderResult> {\n const placeOrderPayload =\n await this.payloadBuilder.buildIsolatedPlaceOrderPayload(params);\n return {\n ...(await this.execute(\n 'place_isolated_order',\n placeOrderPayload.payload,\n )),\n orderParams: placeOrderPayload.orderParams,\n };\n }\n\n async cancelOrders(\n params: EngineExecuteRequestParamsByType['cancel_orders'],\n ) {\n return this.execute(\n 'cancel_orders',\n await this.payloadBuilder.buildCancelOrdersPayload(params),\n );\n }\n\n async cancelAndPlace(\n params: EngineExecuteRequestParamsByType['cancel_and_place'],\n ) {\n const cancelOrdersPayload =\n await this.payloadBuilder.buildCancelOrdersPayload(params.cancelOrders);\n const placeOrderPayload = await this.payloadBuilder.buildPlaceOrderPayload(\n params.placeOrder,\n );\n return this.execute('cancel_and_place', {\n cancel_tx: cancelOrdersPayload.tx,\n cancel_signature: cancelOrdersPayload.signature,\n place_order: placeOrderPayload.payload,\n });\n }\n\n async cancelProductOrders(\n params: EngineExecuteRequestParamsByType['cancel_product_orders'],\n ) {\n return this.execute(\n 'cancel_product_orders',\n await this.payloadBuilder.buildCancelProductOrdersPayload(params),\n );\n }\n\n async linkSigner(params: EngineExecuteRequestParamsByType['link_signer']) {\n return this.execute(\n 'link_signer',\n await this.payloadBuilder.buildLinkSignerPayload(params),\n );\n }\n\n async transferQuote(\n params: EngineExecuteRequestParamsByType['transfer_quote'],\n ) {\n return this.execute(\n 'transfer_quote',\n await this.payloadBuilder.buildTransferQuotePayload(params),\n );\n }\n\n async mintVlp(params: EngineExecuteRequestParamsByType['mint_vlp']) {\n return this.execute(\n 'mint_vlp',\n await this.payloadBuilder.buildMintVlpPayload(params),\n );\n }\n\n async burnVlp(params: EngineExecuteRequestParamsByType['burn_vlp']) {\n return this.execute(\n 'burn_vlp',\n await this.payloadBuilder.buildBurnVlpPayload(params),\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAmD;AACnD,kCAAqC;AAO9B,IAAM,sBAAN,cAAkC,yCAAiB;AAAA,EAGxD,YAAY,MAAwB;AAClC,UAAM,IAAI;AACV,SAAK,iBAAiB,IAAI,iDAAqB,IAAI;AAAA,EACrD;AAAA,EAEA,MAAM,oBACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,gCAAgC,MAAM;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,MAAM,mBACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,+BAA+B,MAAM;AAAA,IACjE;AAAA,EACF;AAAA,EAEA,MAAM,WACJ,QACiC;AACjC,UAAM,oBACJ,MAAM,KAAK,eAAe,uBAAuB,MAAM;AACzD,WAAO;AAAA,MACL,GAAI,MAAM,KAAK,QAAQ,eAAe,kBAAkB,OAAO;AAAA,MAC/D,aAAa,kBAAkB;AAAA,IACjC;AAAA,EACF;AAAA,EAEA,MAAM,mBACJ,QACyC;AACzC,UAAM,oBACJ,MAAM,KAAK,eAAe,+BAA+B,MAAM;AACjE,WAAO;AAAA,MACL,GAAI,MAAM,KAAK;AAAA,QACb;AAAA,QACA,kBAAkB;AAAA,MACpB;AAAA,MACA,aAAa,kBAAkB;AAAA,IACjC;AAAA,EACF;AAAA,EAEA,MAAM,aACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,yBAAyB,MAAM;AAAA,IAC3D;AAAA,EACF;AAAA,EAEA,MAAM,eACJ,QACA;AACA,UAAM,sBACJ,MAAM,KAAK,eAAe,yBAAyB,OAAO,YAAY;AACxE,UAAM,oBAAoB,MAAM,KAAK,eAAe;AAAA,MAClD,OAAO;AAAA,IACT;AACA,WAAO,KAAK,QAAQ,oBAAoB;AAAA,MACtC,WAAW,oBAAoB;AAAA,MAC/B,kBAAkB,oBAAoB;AAAA,MACtC,aAAa,kBAAkB;AAAA,IACjC,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,oBACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,gCAAgC,MAAM;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,MAAM,WAAW,QAAyD;AACxE,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,uBAAuB,MAAM;AAAA,IACzD;AAAA,EACF;AAAA,EAEA,MAAM,cACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,0BAA0B,MAAM;AAAA,IAC5D;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,QAAsD;AAClE,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,oBAAoB,MAAM;AAAA,IACtD;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,QAAsD;AAClE,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,oBAAoB,MAAM;AAAA,IACtD;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,28 @@
1
+ import { EngineExecuteRequestParamsByType, EnginePlaceOrderResult, EnginePlaceIsolatedOrderResult } from './types/clientExecuteTypes.cjs';
2
+ import { EngineServerExecuteSuccessResult } from './types/serverExecuteTypes.cjs';
3
+ import { EngineBaseClient, EngineClientOpts } from './EngineBaseClient.cjs';
4
+ import { EngineExecuteBuilder } from './EngineExecuteBuilder.cjs';
5
+ import '@nadohq/contracts';
6
+ import './types/serverQueryTypes.cjs';
7
+ import './types/serverQueryModelTypes.cjs';
8
+ import 'axios';
9
+ import './types/clientQueryTypes.cjs';
10
+ import '@nadohq/utils';
11
+
12
+ declare class EngineExecuteClient extends EngineBaseClient {
13
+ readonly payloadBuilder: EngineExecuteBuilder;
14
+ constructor(opts: EngineClientOpts);
15
+ liquidateSubaccount(params: EngineExecuteRequestParamsByType['liquidate_subaccount']): Promise<EngineServerExecuteSuccessResult<"liquidate_subaccount">>;
16
+ withdrawCollateral(params: EngineExecuteRequestParamsByType['withdraw_collateral']): Promise<EngineServerExecuteSuccessResult<"withdraw_collateral">>;
17
+ placeOrder(params: EngineExecuteRequestParamsByType['place_order']): Promise<EnginePlaceOrderResult>;
18
+ placeIsolatedOrder(params: EngineExecuteRequestParamsByType['place_isolated_order']): Promise<EnginePlaceIsolatedOrderResult>;
19
+ cancelOrders(params: EngineExecuteRequestParamsByType['cancel_orders']): Promise<EngineServerExecuteSuccessResult<"cancel_orders">>;
20
+ cancelAndPlace(params: EngineExecuteRequestParamsByType['cancel_and_place']): Promise<EngineServerExecuteSuccessResult<"cancel_and_place">>;
21
+ cancelProductOrders(params: EngineExecuteRequestParamsByType['cancel_product_orders']): Promise<EngineServerExecuteSuccessResult<"cancel_product_orders">>;
22
+ linkSigner(params: EngineExecuteRequestParamsByType['link_signer']): Promise<EngineServerExecuteSuccessResult<"link_signer">>;
23
+ transferQuote(params: EngineExecuteRequestParamsByType['transfer_quote']): Promise<EngineServerExecuteSuccessResult<"transfer_quote">>;
24
+ mintVlp(params: EngineExecuteRequestParamsByType['mint_vlp']): Promise<EngineServerExecuteSuccessResult<"mint_vlp">>;
25
+ burnVlp(params: EngineExecuteRequestParamsByType['burn_vlp']): Promise<EngineServerExecuteSuccessResult<"burn_vlp">>;
26
+ }
27
+
28
+ export { EngineExecuteClient };
@@ -0,0 +1,28 @@
1
+ import { EngineExecuteRequestParamsByType, EnginePlaceOrderResult, EnginePlaceIsolatedOrderResult } from './types/clientExecuteTypes.js';
2
+ import { EngineServerExecuteSuccessResult } from './types/serverExecuteTypes.js';
3
+ import { EngineBaseClient, EngineClientOpts } from './EngineBaseClient.js';
4
+ import { EngineExecuteBuilder } from './EngineExecuteBuilder.js';
5
+ import '@nadohq/contracts';
6
+ import './types/serverQueryTypes.js';
7
+ import './types/serverQueryModelTypes.js';
8
+ import 'axios';
9
+ import './types/clientQueryTypes.js';
10
+ import '@nadohq/utils';
11
+
12
+ declare class EngineExecuteClient extends EngineBaseClient {
13
+ readonly payloadBuilder: EngineExecuteBuilder;
14
+ constructor(opts: EngineClientOpts);
15
+ liquidateSubaccount(params: EngineExecuteRequestParamsByType['liquidate_subaccount']): Promise<EngineServerExecuteSuccessResult<"liquidate_subaccount">>;
16
+ withdrawCollateral(params: EngineExecuteRequestParamsByType['withdraw_collateral']): Promise<EngineServerExecuteSuccessResult<"withdraw_collateral">>;
17
+ placeOrder(params: EngineExecuteRequestParamsByType['place_order']): Promise<EnginePlaceOrderResult>;
18
+ placeIsolatedOrder(params: EngineExecuteRequestParamsByType['place_isolated_order']): Promise<EnginePlaceIsolatedOrderResult>;
19
+ cancelOrders(params: EngineExecuteRequestParamsByType['cancel_orders']): Promise<EngineServerExecuteSuccessResult<"cancel_orders">>;
20
+ cancelAndPlace(params: EngineExecuteRequestParamsByType['cancel_and_place']): Promise<EngineServerExecuteSuccessResult<"cancel_and_place">>;
21
+ cancelProductOrders(params: EngineExecuteRequestParamsByType['cancel_product_orders']): Promise<EngineServerExecuteSuccessResult<"cancel_product_orders">>;
22
+ linkSigner(params: EngineExecuteRequestParamsByType['link_signer']): Promise<EngineServerExecuteSuccessResult<"link_signer">>;
23
+ transferQuote(params: EngineExecuteRequestParamsByType['transfer_quote']): Promise<EngineServerExecuteSuccessResult<"transfer_quote">>;
24
+ mintVlp(params: EngineExecuteRequestParamsByType['mint_vlp']): Promise<EngineServerExecuteSuccessResult<"mint_vlp">>;
25
+ burnVlp(params: EngineExecuteRequestParamsByType['burn_vlp']): Promise<EngineServerExecuteSuccessResult<"burn_vlp">>;
26
+ }
27
+
28
+ export { EngineExecuteClient };
@@ -0,0 +1,89 @@
1
+ // src/EngineExecuteClient.ts
2
+ import { EngineBaseClient } from "./EngineBaseClient.js";
3
+ import { EngineExecuteBuilder } from "./EngineExecuteBuilder.js";
4
+ var EngineExecuteClient = class extends EngineBaseClient {
5
+ constructor(opts) {
6
+ super(opts);
7
+ this.payloadBuilder = new EngineExecuteBuilder(this);
8
+ }
9
+ async liquidateSubaccount(params) {
10
+ return this.execute(
11
+ "liquidate_subaccount",
12
+ await this.payloadBuilder.buildLiquidateSubaccountPayload(params)
13
+ );
14
+ }
15
+ async withdrawCollateral(params) {
16
+ return this.execute(
17
+ "withdraw_collateral",
18
+ await this.payloadBuilder.buildWithdrawCollateralPayload(params)
19
+ );
20
+ }
21
+ async placeOrder(params) {
22
+ const placeOrderPayload = await this.payloadBuilder.buildPlaceOrderPayload(params);
23
+ return {
24
+ ...await this.execute("place_order", placeOrderPayload.payload),
25
+ orderParams: placeOrderPayload.orderParams
26
+ };
27
+ }
28
+ async placeIsolatedOrder(params) {
29
+ const placeOrderPayload = await this.payloadBuilder.buildIsolatedPlaceOrderPayload(params);
30
+ return {
31
+ ...await this.execute(
32
+ "place_isolated_order",
33
+ placeOrderPayload.payload
34
+ ),
35
+ orderParams: placeOrderPayload.orderParams
36
+ };
37
+ }
38
+ async cancelOrders(params) {
39
+ return this.execute(
40
+ "cancel_orders",
41
+ await this.payloadBuilder.buildCancelOrdersPayload(params)
42
+ );
43
+ }
44
+ async cancelAndPlace(params) {
45
+ const cancelOrdersPayload = await this.payloadBuilder.buildCancelOrdersPayload(params.cancelOrders);
46
+ const placeOrderPayload = await this.payloadBuilder.buildPlaceOrderPayload(
47
+ params.placeOrder
48
+ );
49
+ return this.execute("cancel_and_place", {
50
+ cancel_tx: cancelOrdersPayload.tx,
51
+ cancel_signature: cancelOrdersPayload.signature,
52
+ place_order: placeOrderPayload.payload
53
+ });
54
+ }
55
+ async cancelProductOrders(params) {
56
+ return this.execute(
57
+ "cancel_product_orders",
58
+ await this.payloadBuilder.buildCancelProductOrdersPayload(params)
59
+ );
60
+ }
61
+ async linkSigner(params) {
62
+ return this.execute(
63
+ "link_signer",
64
+ await this.payloadBuilder.buildLinkSignerPayload(params)
65
+ );
66
+ }
67
+ async transferQuote(params) {
68
+ return this.execute(
69
+ "transfer_quote",
70
+ await this.payloadBuilder.buildTransferQuotePayload(params)
71
+ );
72
+ }
73
+ async mintVlp(params) {
74
+ return this.execute(
75
+ "mint_vlp",
76
+ await this.payloadBuilder.buildMintVlpPayload(params)
77
+ );
78
+ }
79
+ async burnVlp(params) {
80
+ return this.execute(
81
+ "burn_vlp",
82
+ await this.payloadBuilder.buildBurnVlpPayload(params)
83
+ );
84
+ }
85
+ };
86
+ export {
87
+ EngineExecuteClient
88
+ };
89
+ //# sourceMappingURL=EngineExecuteClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/EngineExecuteClient.ts"],"sourcesContent":["import { EngineBaseClient, EngineClientOpts } from './EngineBaseClient';\nimport { EngineExecuteBuilder } from './EngineExecuteBuilder';\nimport {\n EngineExecuteRequestParamsByType,\n EnginePlaceIsolatedOrderResult,\n EnginePlaceOrderResult,\n} from './types';\n\nexport class EngineExecuteClient extends EngineBaseClient {\n readonly payloadBuilder: EngineExecuteBuilder;\n\n constructor(opts: EngineClientOpts) {\n super(opts);\n this.payloadBuilder = new EngineExecuteBuilder(this);\n }\n\n async liquidateSubaccount(\n params: EngineExecuteRequestParamsByType['liquidate_subaccount'],\n ) {\n return this.execute(\n 'liquidate_subaccount',\n await this.payloadBuilder.buildLiquidateSubaccountPayload(params),\n );\n }\n\n async withdrawCollateral(\n params: EngineExecuteRequestParamsByType['withdraw_collateral'],\n ) {\n return this.execute(\n 'withdraw_collateral',\n await this.payloadBuilder.buildWithdrawCollateralPayload(params),\n );\n }\n\n async placeOrder(\n params: EngineExecuteRequestParamsByType['place_order'],\n ): Promise<EnginePlaceOrderResult> {\n const placeOrderPayload =\n await this.payloadBuilder.buildPlaceOrderPayload(params);\n return {\n ...(await this.execute('place_order', placeOrderPayload.payload)),\n orderParams: placeOrderPayload.orderParams,\n };\n }\n\n async placeIsolatedOrder(\n params: EngineExecuteRequestParamsByType['place_isolated_order'],\n ): Promise<EnginePlaceIsolatedOrderResult> {\n const placeOrderPayload =\n await this.payloadBuilder.buildIsolatedPlaceOrderPayload(params);\n return {\n ...(await this.execute(\n 'place_isolated_order',\n placeOrderPayload.payload,\n )),\n orderParams: placeOrderPayload.orderParams,\n };\n }\n\n async cancelOrders(\n params: EngineExecuteRequestParamsByType['cancel_orders'],\n ) {\n return this.execute(\n 'cancel_orders',\n await this.payloadBuilder.buildCancelOrdersPayload(params),\n );\n }\n\n async cancelAndPlace(\n params: EngineExecuteRequestParamsByType['cancel_and_place'],\n ) {\n const cancelOrdersPayload =\n await this.payloadBuilder.buildCancelOrdersPayload(params.cancelOrders);\n const placeOrderPayload = await this.payloadBuilder.buildPlaceOrderPayload(\n params.placeOrder,\n );\n return this.execute('cancel_and_place', {\n cancel_tx: cancelOrdersPayload.tx,\n cancel_signature: cancelOrdersPayload.signature,\n place_order: placeOrderPayload.payload,\n });\n }\n\n async cancelProductOrders(\n params: EngineExecuteRequestParamsByType['cancel_product_orders'],\n ) {\n return this.execute(\n 'cancel_product_orders',\n await this.payloadBuilder.buildCancelProductOrdersPayload(params),\n );\n }\n\n async linkSigner(params: EngineExecuteRequestParamsByType['link_signer']) {\n return this.execute(\n 'link_signer',\n await this.payloadBuilder.buildLinkSignerPayload(params),\n );\n }\n\n async transferQuote(\n params: EngineExecuteRequestParamsByType['transfer_quote'],\n ) {\n return this.execute(\n 'transfer_quote',\n await this.payloadBuilder.buildTransferQuotePayload(params),\n );\n }\n\n async mintVlp(params: EngineExecuteRequestParamsByType['mint_vlp']) {\n return this.execute(\n 'mint_vlp',\n await this.payloadBuilder.buildMintVlpPayload(params),\n );\n }\n\n async burnVlp(params: EngineExecuteRequestParamsByType['burn_vlp']) {\n return this.execute(\n 'burn_vlp',\n await this.payloadBuilder.buildBurnVlpPayload(params),\n );\n }\n}\n"],"mappings":";AAAA,SAAS,wBAA0C;AACnD,SAAS,4BAA4B;AAO9B,IAAM,sBAAN,cAAkC,iBAAiB;AAAA,EAGxD,YAAY,MAAwB;AAClC,UAAM,IAAI;AACV,SAAK,iBAAiB,IAAI,qBAAqB,IAAI;AAAA,EACrD;AAAA,EAEA,MAAM,oBACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,gCAAgC,MAAM;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,MAAM,mBACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,+BAA+B,MAAM;AAAA,IACjE;AAAA,EACF;AAAA,EAEA,MAAM,WACJ,QACiC;AACjC,UAAM,oBACJ,MAAM,KAAK,eAAe,uBAAuB,MAAM;AACzD,WAAO;AAAA,MACL,GAAI,MAAM,KAAK,QAAQ,eAAe,kBAAkB,OAAO;AAAA,MAC/D,aAAa,kBAAkB;AAAA,IACjC;AAAA,EACF;AAAA,EAEA,MAAM,mBACJ,QACyC;AACzC,UAAM,oBACJ,MAAM,KAAK,eAAe,+BAA+B,MAAM;AACjE,WAAO;AAAA,MACL,GAAI,MAAM,KAAK;AAAA,QACb;AAAA,QACA,kBAAkB;AAAA,MACpB;AAAA,MACA,aAAa,kBAAkB;AAAA,IACjC;AAAA,EACF;AAAA,EAEA,MAAM,aACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,yBAAyB,MAAM;AAAA,IAC3D;AAAA,EACF;AAAA,EAEA,MAAM,eACJ,QACA;AACA,UAAM,sBACJ,MAAM,KAAK,eAAe,yBAAyB,OAAO,YAAY;AACxE,UAAM,oBAAoB,MAAM,KAAK,eAAe;AAAA,MAClD,OAAO;AAAA,IACT;AACA,WAAO,KAAK,QAAQ,oBAAoB;AAAA,MACtC,WAAW,oBAAoB;AAAA,MAC/B,kBAAkB,oBAAoB;AAAA,MACtC,aAAa,kBAAkB;AAAA,IACjC,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,oBACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,gCAAgC,MAAM;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,MAAM,WAAW,QAAyD;AACxE,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,uBAAuB,MAAM;AAAA,IACzD;AAAA,EACF;AAAA,EAEA,MAAM,cACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,0BAA0B,MAAM;AAAA,IAC5D;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,QAAsD;AAClE,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,oBAAoB,MAAM;AAAA,IACtD;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,QAAsD;AAClE,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,oBAAoB,MAAM;AAAA,IACtD;AAAA,EACF;AACF;","names":[]}