@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,304 @@
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/EngineExecuteBuilder.ts
21
+ var EngineExecuteBuilder_exports = {};
22
+ __export(EngineExecuteBuilder_exports, {
23
+ EngineExecuteBuilder: () => EngineExecuteBuilder
24
+ });
25
+ module.exports = __toCommonJS(EngineExecuteBuilder_exports);
26
+ var import_contracts = require("@nadohq/contracts");
27
+ var EngineExecuteBuilder = class {
28
+ constructor(engineClient) {
29
+ this.engineClient = engineClient;
30
+ }
31
+ /**
32
+ * Builds server payload for the `liquidate_subaccount` execute action.
33
+ * @param clientParams Client LiquidateSubaccount params.
34
+ * @returns `liquidate_subaccount` payload
35
+ */
36
+ async buildLiquidateSubaccountPayload(clientParams) {
37
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
38
+ const paramsWithNonce = { ...clientParams, nonce };
39
+ const tx = (0, import_contracts.getNadoEIP712Values)("liquidate_subaccount", paramsWithNonce);
40
+ const signature = await this.getSignatureIfNeeded(
41
+ "liquidate_subaccount",
42
+ paramsWithNonce
43
+ );
44
+ return {
45
+ signature,
46
+ tx
47
+ };
48
+ }
49
+ /**
50
+ * Builds server payload for the `withdraw_collateral` execute action.
51
+ * @param clientParams Client WithdrawCollateral params.
52
+ * @returns `liquidate_subaccount` payload
53
+ */
54
+ async buildWithdrawCollateralPayload(clientParams) {
55
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
56
+ const paramsWithNonce = { ...clientParams, nonce };
57
+ const signature = await this.getSignatureIfNeeded(
58
+ "withdraw_collateral",
59
+ paramsWithNonce
60
+ );
61
+ const tx = (0, import_contracts.getNadoEIP712Values)("withdraw_collateral", paramsWithNonce);
62
+ return {
63
+ signature,
64
+ tx,
65
+ spot_leverage: clientParams.spotLeverage ?? null
66
+ };
67
+ }
68
+ /**
69
+ * Builds server payload for the `place_order` execute action.
70
+ *
71
+ * @param clientParams Client PlaceOrder params.
72
+ * @returns `place_order` payload
73
+ */
74
+ async buildPlaceOrderPayload(clientParams) {
75
+ const nonce = this.getOrderNonceIfNeeded(clientParams);
76
+ const orderWithNonce = { ...clientParams.order, nonce };
77
+ const signature = await this.getSignatureIfNeeded("place_order", {
78
+ // Gets expected type
79
+ ...clientParams,
80
+ ...orderWithNonce
81
+ });
82
+ return this.buildPlaceOrderPayloadSync({
83
+ ...clientParams,
84
+ order: orderWithNonce,
85
+ signature
86
+ });
87
+ }
88
+ /**
89
+ * Synchronously builds server payload for the `place_order` execute action.
90
+ *
91
+ * @param clientParams Client PlaceOrder params.
92
+ * @returns `place_order` payload
93
+ */
94
+ buildPlaceOrderPayloadSync(clientParams) {
95
+ const orderEIP712Values = (0, import_contracts.getNadoEIP712Values)(
96
+ "place_order",
97
+ clientParams.order
98
+ );
99
+ return {
100
+ payload: {
101
+ id: clientParams.id ?? null,
102
+ product_id: clientParams.productId,
103
+ order: orderEIP712Values,
104
+ signature: clientParams.signature,
105
+ spot_leverage: clientParams.spotLeverage ?? null
106
+ },
107
+ orderParams: clientParams.order
108
+ };
109
+ }
110
+ /**
111
+ * Builds server payload for the `place_isolated_order` execute action.
112
+ *
113
+ * @param clientParams Client PlaceIsolatedOrder params.
114
+ * @returns `place_isolated_order` payload
115
+ */
116
+ async buildIsolatedPlaceOrderPayload(clientParams) {
117
+ const nonce = this.getOrderNonceIfNeeded(clientParams);
118
+ const orderWithNonce = { ...clientParams.order, nonce };
119
+ const signature = await this.getSignatureIfNeeded("place_isolated_order", {
120
+ // Gets expected type
121
+ ...clientParams,
122
+ ...orderWithNonce
123
+ });
124
+ return this.buildPlaceIsolatedOrderPayloadSync({
125
+ ...clientParams,
126
+ order: orderWithNonce,
127
+ signature
128
+ });
129
+ }
130
+ /**
131
+ * Synchronously builds server payload for the `place_isolated_order` execute action.
132
+ *
133
+ * @param clientParams Client PlaceIsolatedOrder params.
134
+ * @returns `place_isolated_order` payload
135
+ */
136
+ buildPlaceIsolatedOrderPayloadSync(clientParams) {
137
+ const isolatedOrderEIP712Values = (0, import_contracts.getNadoEIP712Values)(
138
+ "place_isolated_order",
139
+ clientParams.order
140
+ );
141
+ return {
142
+ payload: {
143
+ id: clientParams.id ?? null,
144
+ product_id: clientParams.productId,
145
+ isolated_order: isolatedOrderEIP712Values,
146
+ signature: clientParams.signature,
147
+ borrow_margin: clientParams.borrowMargin ?? null
148
+ },
149
+ orderParams: clientParams.order
150
+ };
151
+ }
152
+ /**
153
+ * Builds server payload for the `cancel_orders` execute action. As such, requires a signature to be given
154
+ *
155
+ * @param clientParams Client CancelOrders params.
156
+ * @returns `cancel_orders` payload
157
+ */
158
+ async buildCancelOrdersPayload(clientParams) {
159
+ const nonce = this.getOrderNonceIfNeeded(clientParams);
160
+ const paramsWithNonce = { ...clientParams, nonce };
161
+ const signature = await this.getSignatureIfNeeded(
162
+ "cancel_orders",
163
+ paramsWithNonce
164
+ );
165
+ return this.buildCancelOrdersPayloadSync({
166
+ ...paramsWithNonce,
167
+ signature
168
+ });
169
+ }
170
+ /**
171
+ * Synchronously builds server payload for the `cancel_orders` execute action.
172
+ *
173
+ * @param clientParams Client CancelOrders params.
174
+ * @returns `cancel_orders` payload
175
+ */
176
+ buildCancelOrdersPayloadSync(clientParams) {
177
+ const tx = (0, import_contracts.getNadoEIP712Values)("cancel_orders", clientParams);
178
+ return {
179
+ tx,
180
+ signature: clientParams.signature
181
+ };
182
+ }
183
+ /**
184
+ * Builds server payload for the `cancel_product_orders` execute action.
185
+ * @param clientParams Client CancelProductOrders params.
186
+ * @returns `cancel_product_orders` payload
187
+ */
188
+ async buildCancelProductOrdersPayload(clientParams) {
189
+ const nonce = this.getOrderNonceIfNeeded(clientParams);
190
+ const paramsWithNonce = { ...clientParams, nonce };
191
+ const tx = (0, import_contracts.getNadoEIP712Values)("cancel_product_orders", paramsWithNonce);
192
+ const signature = await this.getSignatureIfNeeded(
193
+ "cancel_product_orders",
194
+ paramsWithNonce
195
+ );
196
+ return {
197
+ tx,
198
+ signature
199
+ };
200
+ }
201
+ /**
202
+ * Builds server payload for the `link_signer` execute action.
203
+ *
204
+ * @param clientParams Client LinkSigner params.
205
+ * @returns `link_signer` payload
206
+ */
207
+ async buildLinkSignerPayload(clientParams) {
208
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
209
+ const paramsWithNonce = { ...clientParams, nonce };
210
+ const tx = (0, import_contracts.getNadoEIP712Values)("link_signer", paramsWithNonce);
211
+ const signature = await this.getSignatureIfNeeded(
212
+ "link_signer",
213
+ paramsWithNonce
214
+ );
215
+ return {
216
+ tx,
217
+ signature
218
+ };
219
+ }
220
+ /**
221
+ * Builds server payload for the `transfer_quote` execute action.
222
+ *
223
+ * @param clientParams Client TransferQuote params.
224
+ * @returns `transfer_quote` payload
225
+ */
226
+ async buildTransferQuotePayload(clientParams) {
227
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
228
+ const paramsWithNonce = { ...clientParams, nonce };
229
+ const tx = (0, import_contracts.getNadoEIP712Values)("transfer_quote", paramsWithNonce);
230
+ const signature = await this.getSignatureIfNeeded(
231
+ "transfer_quote",
232
+ paramsWithNonce
233
+ );
234
+ return {
235
+ tx,
236
+ signature
237
+ };
238
+ }
239
+ /**
240
+ * Builds server payload for the `mint_vlp` execute action.
241
+ * @param clientParams Client MintVlp params.
242
+ * @returns `mint_vlp` payload
243
+ */
244
+ async buildMintVlpPayload(clientParams) {
245
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
246
+ const paramsWithNonce = { ...clientParams, nonce };
247
+ const tx = (0, import_contracts.getNadoEIP712Values)("mint_vlp", paramsWithNonce);
248
+ const signature = await this.getSignatureIfNeeded(
249
+ "mint_vlp",
250
+ paramsWithNonce
251
+ );
252
+ return {
253
+ signature,
254
+ tx,
255
+ spot_leverage: clientParams.spotLeverage ?? null
256
+ };
257
+ }
258
+ /**
259
+ * Builds server payload for the `burn_vlp` execute action.
260
+ * @param clientParams Client BurnVlp params.
261
+ * @returns `burn_vlp` payload
262
+ */
263
+ async buildBurnVlpPayload(clientParams) {
264
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
265
+ const paramsWithNonce = { ...clientParams, nonce };
266
+ const tx = (0, import_contracts.getNadoEIP712Values)("burn_vlp", paramsWithNonce);
267
+ const signature = await this.getSignatureIfNeeded(
268
+ "burn_vlp",
269
+ paramsWithNonce
270
+ );
271
+ return {
272
+ signature,
273
+ tx
274
+ };
275
+ }
276
+ async getSignatureIfNeeded(requestType, paramsWithNonce) {
277
+ if ("signature" in paramsWithNonce) {
278
+ return paramsWithNonce.signature;
279
+ }
280
+ return await this.engineClient.sign(
281
+ requestType,
282
+ paramsWithNonce.verifyingAddr,
283
+ paramsWithNonce.chainId,
284
+ paramsWithNonce
285
+ );
286
+ }
287
+ async getTxNonceIfNeeded(params) {
288
+ if (params.nonce) {
289
+ return params.nonce;
290
+ }
291
+ return await this.engineClient.getTxNonce(params.subaccountOwner);
292
+ }
293
+ getOrderNonceIfNeeded(params) {
294
+ if (params.nonce) {
295
+ return params.nonce;
296
+ }
297
+ return (0, import_contracts.getOrderNonce)();
298
+ }
299
+ };
300
+ // Annotate the CommonJS export names for ESM import in node:
301
+ 0 && (module.exports = {
302
+ EngineExecuteBuilder
303
+ });
304
+ //# sourceMappingURL=EngineExecuteBuilder.cjs.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,118 @@
1
+ import { EIP712OrderParams, EIP712IsolatedOrderParams, SignableRequestType, SignableRequestTypeToParams } from '@nadohq/contracts';
2
+ import { EngineBaseClient } from './EngineBaseClient.cjs';
3
+ import { EngineExecuteRequestParamsByType, WithSignature, SignatureParams, WithBaseEngineExecuteParams } from './types/clientExecuteTypes.cjs';
4
+ import { EngineServerExecuteRequestByType, EngineServerExecutePlaceOrderPayload, EngineServerExecutePlaceIsolatedOrderPayload } from './types/serverExecuteTypes.cjs';
5
+ import 'axios';
6
+ import './types/clientQueryTypes.cjs';
7
+ import '@nadohq/utils';
8
+ import './types/serverQueryTypes.cjs';
9
+ import './types/serverQueryModelTypes.cjs';
10
+
11
+ /**
12
+ * Builds execute payloads as expected by the server.
13
+ * @param nonce A nonce is computed when one is not provided.
14
+ * @param signature A signature is computed when one is not provided.
15
+ */
16
+ declare class EngineExecuteBuilder {
17
+ readonly engineClient: EngineBaseClient;
18
+ constructor(engineClient: EngineBaseClient);
19
+ /**
20
+ * Builds server payload for the `liquidate_subaccount` execute action.
21
+ * @param clientParams Client LiquidateSubaccount params.
22
+ * @returns `liquidate_subaccount` payload
23
+ */
24
+ buildLiquidateSubaccountPayload(clientParams: EngineExecuteRequestParamsByType['liquidate_subaccount']): Promise<EngineServerExecuteRequestByType['liquidate_subaccount']>;
25
+ /**
26
+ * Builds server payload for the `withdraw_collateral` execute action.
27
+ * @param clientParams Client WithdrawCollateral params.
28
+ * @returns `liquidate_subaccount` payload
29
+ */
30
+ buildWithdrawCollateralPayload(clientParams: EngineExecuteRequestParamsByType['withdraw_collateral']): Promise<EngineServerExecuteRequestByType['withdraw_collateral']>;
31
+ /**
32
+ * Builds server payload for the `place_order` execute action.
33
+ *
34
+ * @param clientParams Client PlaceOrder params.
35
+ * @returns `place_order` payload
36
+ */
37
+ buildPlaceOrderPayload(clientParams: EngineExecuteRequestParamsByType['place_order']): Promise<EngineServerExecutePlaceOrderPayload>;
38
+ /**
39
+ * Synchronously builds server payload for the `place_order` execute action.
40
+ *
41
+ * @param clientParams Client PlaceOrder params.
42
+ * @returns `place_order` payload
43
+ */
44
+ buildPlaceOrderPayloadSync(clientParams: WithSignature<EngineExecuteRequestParamsByType['place_order'] & {
45
+ order: EIP712OrderParams;
46
+ }>): EngineServerExecutePlaceOrderPayload;
47
+ /**
48
+ * Builds server payload for the `place_isolated_order` execute action.
49
+ *
50
+ * @param clientParams Client PlaceIsolatedOrder params.
51
+ * @returns `place_isolated_order` payload
52
+ */
53
+ buildIsolatedPlaceOrderPayload(clientParams: EngineExecuteRequestParamsByType['place_isolated_order']): Promise<EngineServerExecutePlaceIsolatedOrderPayload>;
54
+ /**
55
+ * Synchronously builds server payload for the `place_isolated_order` execute action.
56
+ *
57
+ * @param clientParams Client PlaceIsolatedOrder params.
58
+ * @returns `place_isolated_order` payload
59
+ */
60
+ buildPlaceIsolatedOrderPayloadSync(clientParams: WithSignature<EngineExecuteRequestParamsByType['place_isolated_order'] & {
61
+ order: EIP712IsolatedOrderParams;
62
+ }>): EngineServerExecutePlaceIsolatedOrderPayload;
63
+ /**
64
+ * Builds server payload for the `cancel_orders` execute action. As such, requires a signature to be given
65
+ *
66
+ * @param clientParams Client CancelOrders params.
67
+ * @returns `cancel_orders` payload
68
+ */
69
+ buildCancelOrdersPayload(clientParams: EngineExecuteRequestParamsByType['cancel_orders']): Promise<EngineServerExecuteRequestByType['cancel_orders']>;
70
+ /**
71
+ * Synchronously builds server payload for the `cancel_orders` execute action.
72
+ *
73
+ * @param clientParams Client CancelOrders params.
74
+ * @returns `cancel_orders` payload
75
+ */
76
+ buildCancelOrdersPayloadSync(clientParams: WithSignature<EngineExecuteRequestParamsByType['cancel_orders'] & {
77
+ nonce: string;
78
+ }>): EngineServerExecuteRequestByType['cancel_orders'];
79
+ /**
80
+ * Builds server payload for the `cancel_product_orders` execute action.
81
+ * @param clientParams Client CancelProductOrders params.
82
+ * @returns `cancel_product_orders` payload
83
+ */
84
+ buildCancelProductOrdersPayload(clientParams: EngineExecuteRequestParamsByType['cancel_product_orders']): Promise<EngineServerExecuteRequestByType['cancel_product_orders']>;
85
+ /**
86
+ * Builds server payload for the `link_signer` execute action.
87
+ *
88
+ * @param clientParams Client LinkSigner params.
89
+ * @returns `link_signer` payload
90
+ */
91
+ buildLinkSignerPayload(clientParams: EngineExecuteRequestParamsByType['link_signer']): Promise<EngineServerExecuteRequestByType['link_signer']>;
92
+ /**
93
+ * Builds server payload for the `transfer_quote` execute action.
94
+ *
95
+ * @param clientParams Client TransferQuote params.
96
+ * @returns `transfer_quote` payload
97
+ */
98
+ buildTransferQuotePayload(clientParams: EngineExecuteRequestParamsByType['transfer_quote']): Promise<EngineServerExecuteRequestByType['transfer_quote']>;
99
+ /**
100
+ * Builds server payload for the `mint_vlp` execute action.
101
+ * @param clientParams Client MintVlp params.
102
+ * @returns `mint_vlp` payload
103
+ */
104
+ buildMintVlpPayload(clientParams: EngineExecuteRequestParamsByType['mint_vlp']): Promise<EngineServerExecuteRequestByType['mint_vlp']>;
105
+ /**
106
+ * Builds server payload for the `burn_vlp` execute action.
107
+ * @param clientParams Client BurnVlp params.
108
+ * @returns `burn_vlp` payload
109
+ */
110
+ buildBurnVlpPayload(clientParams: EngineExecuteRequestParamsByType['burn_vlp']): Promise<EngineServerExecuteRequestByType['burn_vlp']>;
111
+ protected getSignatureIfNeeded<T extends SignableRequestType>(requestType: T, paramsWithNonce: SignatureParams & SignableRequestTypeToParams[T]): Promise<string>;
112
+ protected getTxNonceIfNeeded(params: WithBaseEngineExecuteParams<{
113
+ subaccountOwner: string;
114
+ }>): Promise<string>;
115
+ protected getOrderNonceIfNeeded(params: WithBaseEngineExecuteParams<unknown>): string;
116
+ }
117
+
118
+ export { EngineExecuteBuilder };
@@ -0,0 +1,118 @@
1
+ import { EIP712OrderParams, EIP712IsolatedOrderParams, SignableRequestType, SignableRequestTypeToParams } from '@nadohq/contracts';
2
+ import { EngineBaseClient } from './EngineBaseClient.js';
3
+ import { EngineExecuteRequestParamsByType, WithSignature, SignatureParams, WithBaseEngineExecuteParams } from './types/clientExecuteTypes.js';
4
+ import { EngineServerExecuteRequestByType, EngineServerExecutePlaceOrderPayload, EngineServerExecutePlaceIsolatedOrderPayload } from './types/serverExecuteTypes.js';
5
+ import 'axios';
6
+ import './types/clientQueryTypes.js';
7
+ import '@nadohq/utils';
8
+ import './types/serverQueryTypes.js';
9
+ import './types/serverQueryModelTypes.js';
10
+
11
+ /**
12
+ * Builds execute payloads as expected by the server.
13
+ * @param nonce A nonce is computed when one is not provided.
14
+ * @param signature A signature is computed when one is not provided.
15
+ */
16
+ declare class EngineExecuteBuilder {
17
+ readonly engineClient: EngineBaseClient;
18
+ constructor(engineClient: EngineBaseClient);
19
+ /**
20
+ * Builds server payload for the `liquidate_subaccount` execute action.
21
+ * @param clientParams Client LiquidateSubaccount params.
22
+ * @returns `liquidate_subaccount` payload
23
+ */
24
+ buildLiquidateSubaccountPayload(clientParams: EngineExecuteRequestParamsByType['liquidate_subaccount']): Promise<EngineServerExecuteRequestByType['liquidate_subaccount']>;
25
+ /**
26
+ * Builds server payload for the `withdraw_collateral` execute action.
27
+ * @param clientParams Client WithdrawCollateral params.
28
+ * @returns `liquidate_subaccount` payload
29
+ */
30
+ buildWithdrawCollateralPayload(clientParams: EngineExecuteRequestParamsByType['withdraw_collateral']): Promise<EngineServerExecuteRequestByType['withdraw_collateral']>;
31
+ /**
32
+ * Builds server payload for the `place_order` execute action.
33
+ *
34
+ * @param clientParams Client PlaceOrder params.
35
+ * @returns `place_order` payload
36
+ */
37
+ buildPlaceOrderPayload(clientParams: EngineExecuteRequestParamsByType['place_order']): Promise<EngineServerExecutePlaceOrderPayload>;
38
+ /**
39
+ * Synchronously builds server payload for the `place_order` execute action.
40
+ *
41
+ * @param clientParams Client PlaceOrder params.
42
+ * @returns `place_order` payload
43
+ */
44
+ buildPlaceOrderPayloadSync(clientParams: WithSignature<EngineExecuteRequestParamsByType['place_order'] & {
45
+ order: EIP712OrderParams;
46
+ }>): EngineServerExecutePlaceOrderPayload;
47
+ /**
48
+ * Builds server payload for the `place_isolated_order` execute action.
49
+ *
50
+ * @param clientParams Client PlaceIsolatedOrder params.
51
+ * @returns `place_isolated_order` payload
52
+ */
53
+ buildIsolatedPlaceOrderPayload(clientParams: EngineExecuteRequestParamsByType['place_isolated_order']): Promise<EngineServerExecutePlaceIsolatedOrderPayload>;
54
+ /**
55
+ * Synchronously builds server payload for the `place_isolated_order` execute action.
56
+ *
57
+ * @param clientParams Client PlaceIsolatedOrder params.
58
+ * @returns `place_isolated_order` payload
59
+ */
60
+ buildPlaceIsolatedOrderPayloadSync(clientParams: WithSignature<EngineExecuteRequestParamsByType['place_isolated_order'] & {
61
+ order: EIP712IsolatedOrderParams;
62
+ }>): EngineServerExecutePlaceIsolatedOrderPayload;
63
+ /**
64
+ * Builds server payload for the `cancel_orders` execute action. As such, requires a signature to be given
65
+ *
66
+ * @param clientParams Client CancelOrders params.
67
+ * @returns `cancel_orders` payload
68
+ */
69
+ buildCancelOrdersPayload(clientParams: EngineExecuteRequestParamsByType['cancel_orders']): Promise<EngineServerExecuteRequestByType['cancel_orders']>;
70
+ /**
71
+ * Synchronously builds server payload for the `cancel_orders` execute action.
72
+ *
73
+ * @param clientParams Client CancelOrders params.
74
+ * @returns `cancel_orders` payload
75
+ */
76
+ buildCancelOrdersPayloadSync(clientParams: WithSignature<EngineExecuteRequestParamsByType['cancel_orders'] & {
77
+ nonce: string;
78
+ }>): EngineServerExecuteRequestByType['cancel_orders'];
79
+ /**
80
+ * Builds server payload for the `cancel_product_orders` execute action.
81
+ * @param clientParams Client CancelProductOrders params.
82
+ * @returns `cancel_product_orders` payload
83
+ */
84
+ buildCancelProductOrdersPayload(clientParams: EngineExecuteRequestParamsByType['cancel_product_orders']): Promise<EngineServerExecuteRequestByType['cancel_product_orders']>;
85
+ /**
86
+ * Builds server payload for the `link_signer` execute action.
87
+ *
88
+ * @param clientParams Client LinkSigner params.
89
+ * @returns `link_signer` payload
90
+ */
91
+ buildLinkSignerPayload(clientParams: EngineExecuteRequestParamsByType['link_signer']): Promise<EngineServerExecuteRequestByType['link_signer']>;
92
+ /**
93
+ * Builds server payload for the `transfer_quote` execute action.
94
+ *
95
+ * @param clientParams Client TransferQuote params.
96
+ * @returns `transfer_quote` payload
97
+ */
98
+ buildTransferQuotePayload(clientParams: EngineExecuteRequestParamsByType['transfer_quote']): Promise<EngineServerExecuteRequestByType['transfer_quote']>;
99
+ /**
100
+ * Builds server payload for the `mint_vlp` execute action.
101
+ * @param clientParams Client MintVlp params.
102
+ * @returns `mint_vlp` payload
103
+ */
104
+ buildMintVlpPayload(clientParams: EngineExecuteRequestParamsByType['mint_vlp']): Promise<EngineServerExecuteRequestByType['mint_vlp']>;
105
+ /**
106
+ * Builds server payload for the `burn_vlp` execute action.
107
+ * @param clientParams Client BurnVlp params.
108
+ * @returns `burn_vlp` payload
109
+ */
110
+ buildBurnVlpPayload(clientParams: EngineExecuteRequestParamsByType['burn_vlp']): Promise<EngineServerExecuteRequestByType['burn_vlp']>;
111
+ protected getSignatureIfNeeded<T extends SignableRequestType>(requestType: T, paramsWithNonce: SignatureParams & SignableRequestTypeToParams[T]): Promise<string>;
112
+ protected getTxNonceIfNeeded(params: WithBaseEngineExecuteParams<{
113
+ subaccountOwner: string;
114
+ }>): Promise<string>;
115
+ protected getOrderNonceIfNeeded(params: WithBaseEngineExecuteParams<unknown>): string;
116
+ }
117
+
118
+ export { EngineExecuteBuilder };