@nadohq/engine-client 0.15.0 → 0.17.0

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 (187) hide show
  1. package/dist/EngineBaseClient-DOOXIhnZ.d.ts +75 -0
  2. package/dist/EngineBaseClient-DOOXIhnZ.d.ts.map +1 -0
  3. package/dist/EngineBaseClient-L1ue7jBx.d.cts +75 -0
  4. package/dist/EngineBaseClient-L1ue7jBx.d.cts.map +1 -0
  5. package/dist/EngineBaseClient-Uc1D8ftx.cjs +150 -0
  6. package/dist/EngineBaseClient-Uc1D8ftx.cjs.map +1 -0
  7. package/dist/EngineBaseClient.cjs +3 -167
  8. package/dist/EngineBaseClient.d.cts +2 -75
  9. package/dist/EngineBaseClient.d.ts +2 -75
  10. package/dist/EngineBaseClient.js +112 -131
  11. package/dist/EngineBaseClient.js.map +1 -1
  12. package/dist/EngineClient.cjs +13 -38
  13. package/dist/EngineClient.cjs.map +1 -1
  14. package/dist/EngineClient.d.cts +8 -18
  15. package/dist/EngineClient.d.cts.map +1 -0
  16. package/dist/EngineClient.d.ts +8 -18
  17. package/dist/EngineClient.d.ts.map +1 -0
  18. package/dist/EngineClient.js +9 -11
  19. package/dist/EngineClient.js.map +1 -1
  20. package/dist/EngineExecuteBuilder-VLrEndhv.d.cts +105 -0
  21. package/dist/EngineExecuteBuilder-VLrEndhv.d.cts.map +1 -0
  22. package/dist/EngineExecuteBuilder-t8EQ5Rmp.d.ts +105 -0
  23. package/dist/EngineExecuteBuilder-t8EQ5Rmp.d.ts.map +1 -0
  24. package/dist/EngineExecuteBuilder.cjs +232 -277
  25. package/dist/EngineExecuteBuilder.cjs.map +1 -1
  26. package/dist/EngineExecuteBuilder.d.cts +2 -108
  27. package/dist/EngineExecuteBuilder.d.ts +2 -108
  28. package/dist/EngineExecuteBuilder.js +230 -256
  29. package/dist/EngineExecuteBuilder.js.map +1 -1
  30. package/dist/EngineExecuteClient-0EBoXRd7.d.ts +24 -0
  31. package/dist/EngineExecuteClient-0EBoXRd7.d.ts.map +1 -0
  32. package/dist/EngineExecuteClient-BGlNK5Le.d.cts +24 -0
  33. package/dist/EngineExecuteClient-BGlNK5Le.d.cts.map +1 -0
  34. package/dist/EngineExecuteClient.cjs +57 -110
  35. package/dist/EngineExecuteClient.cjs.map +1 -1
  36. package/dist/EngineExecuteClient.d.cts +2 -28
  37. package/dist/EngineExecuteClient.d.ts +2 -28
  38. package/dist/EngineExecuteClient.js +54 -83
  39. package/dist/EngineExecuteClient.js.map +1 -1
  40. package/dist/EngineQueryClient-C_7p1oRx.d.cts +147 -0
  41. package/dist/EngineQueryClient-C_7p1oRx.d.cts.map +1 -0
  42. package/dist/EngineQueryClient-DQwCRaYl.d.ts +147 -0
  43. package/dist/EngineQueryClient-DQwCRaYl.d.ts.map +1 -0
  44. package/dist/EngineQueryClient.cjs +354 -448
  45. package/dist/EngineQueryClient.cjs.map +1 -1
  46. package/dist/EngineQueryClient.d.cts +2 -149
  47. package/dist/EngineQueryClient.d.ts +2 -149
  48. package/dist/EngineQueryClient.js +351 -441
  49. package/dist/EngineQueryClient.js.map +1 -1
  50. package/dist/EngineServerFailureError-CDabRrF4.d.ts +11 -0
  51. package/dist/EngineServerFailureError-CDabRrF4.d.ts.map +1 -0
  52. package/dist/EngineServerFailureError-DpPY0--L.d.cts +11 -0
  53. package/dist/EngineServerFailureError-DpPY0--L.d.cts.map +1 -0
  54. package/dist/EngineWebClient-CEwqgd4t.d.ts +35 -0
  55. package/dist/EngineWebClient-CEwqgd4t.d.ts.map +1 -0
  56. package/dist/EngineWebClient-DajZqKAQ.d.cts +35 -0
  57. package/dist/EngineWebClient-DajZqKAQ.d.cts.map +1 -0
  58. package/dist/EngineWebClient.cjs +49 -86
  59. package/dist/EngineWebClient.cjs.map +1 -1
  60. package/dist/EngineWebClient.d.cts +2 -39
  61. package/dist/EngineWebClient.d.ts +2 -39
  62. package/dist/EngineWebClient.js +47 -60
  63. package/dist/EngineWebClient.js.map +1 -1
  64. package/dist/clientExecuteTypes-BlJOgCL_.d.cts +91 -0
  65. package/dist/clientExecuteTypes-BlJOgCL_.d.cts.map +1 -0
  66. package/dist/clientExecuteTypes-CJ08_c4q.d.ts +91 -0
  67. package/dist/clientExecuteTypes-CJ08_c4q.d.ts.map +1 -0
  68. package/dist/clientQueryTypes-DlTtS_mX.d.cts +221 -0
  69. package/dist/clientQueryTypes-DlTtS_mX.d.cts.map +1 -0
  70. package/dist/clientQueryTypes-DuRgEeBT.d.ts +221 -0
  71. package/dist/clientQueryTypes-DuRgEeBT.d.ts.map +1 -0
  72. package/dist/endpoints.cjs +19 -45
  73. package/dist/endpoints.cjs.map +1 -1
  74. package/dist/endpoints.d.cts +4 -2
  75. package/dist/endpoints.d.cts.map +1 -0
  76. package/dist/endpoints.d.ts +4 -2
  77. package/dist/endpoints.d.ts.map +1 -0
  78. package/dist/endpoints.js +16 -18
  79. package/dist/endpoints.js.map +1 -1
  80. package/dist/index-CmCelmEL.d.cts +1 -0
  81. package/dist/index-D0E78WnU.d.ts +1 -0
  82. package/dist/index.cjs +26 -31
  83. package/dist/index.d.cts +12 -20
  84. package/dist/index.d.ts +12 -20
  85. package/dist/index.js +8 -6
  86. package/dist/queryDataMappers-BguxA579.d.ts +21 -0
  87. package/dist/queryDataMappers-BguxA579.d.ts.map +1 -0
  88. package/dist/queryDataMappers-DO9yWdLo.d.cts +21 -0
  89. package/dist/queryDataMappers-DO9yWdLo.d.cts.map +1 -0
  90. package/dist/serverExecuteTypes-CgbHjnWM.d.ts +92 -0
  91. package/dist/serverExecuteTypes-CgbHjnWM.d.ts.map +1 -0
  92. package/dist/serverExecuteTypes-DejTR8Is.d.cts +92 -0
  93. package/dist/serverExecuteTypes-DejTR8Is.d.cts.map +1 -0
  94. package/dist/serverQueryModelTypes-85xnbU-a.d.cts +98 -0
  95. package/dist/serverQueryModelTypes-85xnbU-a.d.cts.map +1 -0
  96. package/dist/serverQueryModelTypes-CENoy5Hm.d.ts +98 -0
  97. package/dist/serverQueryModelTypes-CENoy5Hm.d.ts.map +1 -0
  98. package/dist/serverQueryTypes-B3vC8vxT.d.ts +301 -0
  99. package/dist/serverQueryTypes-B3vC8vxT.d.ts.map +1 -0
  100. package/dist/serverQueryTypes-Dva9R2tV.d.cts +301 -0
  101. package/dist/serverQueryTypes-Dva9R2tV.d.cts.map +1 -0
  102. package/dist/serverSubscriptionEventTypes-BMUrTkTg.d.cts +135 -0
  103. package/dist/serverSubscriptionEventTypes-BMUrTkTg.d.cts.map +1 -0
  104. package/dist/serverSubscriptionEventTypes-UCYAjmt7.d.ts +135 -0
  105. package/dist/serverSubscriptionEventTypes-UCYAjmt7.d.ts.map +1 -0
  106. package/dist/serverSubscriptionTypes-BSuYa6z_.d.cts +82 -0
  107. package/dist/serverSubscriptionTypes-BSuYa6z_.d.cts.map +1 -0
  108. package/dist/serverSubscriptionTypes-DoMWeKgY.d.ts +82 -0
  109. package/dist/serverSubscriptionTypes-DoMWeKgY.d.ts.map +1 -0
  110. package/dist/types/EngineServerFailureError.cjs +9 -33
  111. package/dist/types/EngineServerFailureError.cjs.map +1 -1
  112. package/dist/types/EngineServerFailureError.d.cts +2 -11
  113. package/dist/types/EngineServerFailureError.d.ts +2 -11
  114. package/dist/types/EngineServerFailureError.js +8 -8
  115. package/dist/types/EngineServerFailureError.js.map +1 -1
  116. package/dist/types/clientExecuteTypes.cjs +0 -19
  117. package/dist/types/clientExecuteTypes.d.cts +2 -91
  118. package/dist/types/clientExecuteTypes.d.ts +2 -91
  119. package/dist/types/clientExecuteTypes.js +1 -1
  120. package/dist/types/clientQueryTypes.cjs +0 -19
  121. package/dist/types/clientQueryTypes.d.cts +2 -220
  122. package/dist/types/clientQueryTypes.d.ts +2 -220
  123. package/dist/types/clientQueryTypes.js +1 -1
  124. package/dist/types/index.cjs +5 -39
  125. package/dist/types/index.d.cts +9 -10
  126. package/dist/types/index.d.ts +9 -10
  127. package/dist/types/index.js +3 -10
  128. package/dist/types/serverExecuteTypes.cjs +0 -19
  129. package/dist/types/serverExecuteTypes.d.cts +2 -93
  130. package/dist/types/serverExecuteTypes.d.ts +2 -93
  131. package/dist/types/serverExecuteTypes.js +1 -1
  132. package/dist/types/serverQueryModelTypes.cjs +0 -19
  133. package/dist/types/serverQueryModelTypes.d.cts +2 -96
  134. package/dist/types/serverQueryModelTypes.d.ts +2 -96
  135. package/dist/types/serverQueryModelTypes.js +1 -1
  136. package/dist/types/serverQueryTypes.cjs +12 -36
  137. package/dist/types/serverQueryTypes.cjs.map +1 -1
  138. package/dist/types/serverQueryTypes.d.cts +2 -310
  139. package/dist/types/serverQueryTypes.d.ts +2 -310
  140. package/dist/types/serverQueryTypes.js +11 -11
  141. package/dist/types/serverQueryTypes.js.map +1 -1
  142. package/dist/types/serverSubscriptionEventTypes.cjs +0 -19
  143. package/dist/types/serverSubscriptionEventTypes.d.cts +2 -135
  144. package/dist/types/serverSubscriptionEventTypes.d.ts +2 -135
  145. package/dist/types/serverSubscriptionEventTypes.js +1 -1
  146. package/dist/types/serverSubscriptionTypes.cjs +0 -19
  147. package/dist/types/serverSubscriptionTypes.d.cts +2 -80
  148. package/dist/types/serverSubscriptionTypes.d.ts +2 -80
  149. package/dist/types/serverSubscriptionTypes.js +1 -1
  150. package/dist/utils/index.cjs +14 -25
  151. package/dist/utils/index.d.cts +2 -6
  152. package/dist/utils/index.d.ts +2 -6
  153. package/dist/utils/index.js +2 -3
  154. package/dist/utils/productEngineTypeMappers.cjs +16 -44
  155. package/dist/utils/productEngineTypeMappers.cjs.map +1 -1
  156. package/dist/utils/productEngineTypeMappers.d.cts +5 -3
  157. package/dist/utils/productEngineTypeMappers.d.cts.map +1 -0
  158. package/dist/utils/productEngineTypeMappers.d.ts +5 -3
  159. package/dist/utils/productEngineTypeMappers.d.ts.map +1 -0
  160. package/dist/utils/productEngineTypeMappers.js +12 -17
  161. package/dist/utils/productEngineTypeMappers.js.map +1 -1
  162. package/dist/utils/queryDataMappers.cjs +204 -292
  163. package/dist/utils/queryDataMappers.cjs.map +1 -1
  164. package/dist/utils/queryDataMappers.d.cts +2 -20
  165. package/dist/utils/queryDataMappers.d.ts +2 -20
  166. package/dist/utils/queryDataMappers.js +190 -264
  167. package/dist/utils/queryDataMappers.js.map +1 -1
  168. package/package.json +9 -9
  169. package/dist/EngineBaseClient.cjs.map +0 -1
  170. package/dist/index.cjs.map +0 -1
  171. package/dist/index.js.map +0 -1
  172. package/dist/types/clientExecuteTypes.cjs.map +0 -1
  173. package/dist/types/clientExecuteTypes.js.map +0 -1
  174. package/dist/types/clientQueryTypes.cjs.map +0 -1
  175. package/dist/types/clientQueryTypes.js.map +0 -1
  176. package/dist/types/index.cjs.map +0 -1
  177. package/dist/types/index.js.map +0 -1
  178. package/dist/types/serverExecuteTypes.cjs.map +0 -1
  179. package/dist/types/serverExecuteTypes.js.map +0 -1
  180. package/dist/types/serverQueryModelTypes.cjs.map +0 -1
  181. package/dist/types/serverQueryModelTypes.js.map +0 -1
  182. package/dist/types/serverSubscriptionEventTypes.cjs.map +0 -1
  183. package/dist/types/serverSubscriptionEventTypes.js.map +0 -1
  184. package/dist/types/serverSubscriptionTypes.cjs.map +0 -1
  185. package/dist/types/serverSubscriptionTypes.js.map +0 -1
  186. package/dist/utils/index.cjs.map +0 -1
  187. package/dist/utils/index.js.map +0 -1
@@ -1,259 +1,233 @@
1
- // src/EngineExecuteBuilder.ts
2
- import {
3
- getNadoEIP712Values,
4
- getOrderNonce,
5
- toIntegerString
6
- } from "@nadohq/shared";
1
+ import { getNadoEIP712Values, getOrderNonce, toIntegerString } from "@nadohq/shared";
2
+ //#region src/EngineExecuteBuilder.ts
3
+ /**
4
+ * Builds execute payloads as expected by the server.
5
+ * @param nonce A nonce is computed when one is not provided.
6
+ * @param signature A signature is computed when one is not provided.
7
+ */
7
8
  var EngineExecuteBuilder = class {
8
- constructor(engineClient) {
9
- this.engineClient = engineClient;
10
- }
11
- /**
12
- * Builds server payload for the `liquidate_subaccount` execute action.
13
- * @param clientParams Client LiquidateSubaccount params.
14
- * @returns `liquidate_subaccount` payload
15
- */
16
- async buildLiquidateSubaccountPayload(clientParams) {
17
- const nonce = await this.getTxNonceIfNeeded(clientParams);
18
- const paramsWithNonce = { ...clientParams, nonce };
19
- const tx = getNadoEIP712Values("liquidate_subaccount", paramsWithNonce);
20
- const signature = await this.getSignatureIfNeeded(
21
- "liquidate_subaccount",
22
- paramsWithNonce
23
- );
24
- return {
25
- signature,
26
- tx
27
- };
28
- }
29
- /**
30
- * Builds server payload for the `withdraw_collateral` execute action.
31
- * @param clientParams Client WithdrawCollateral params.
32
- * @returns `liquidate_subaccount` payload
33
- */
34
- async buildWithdrawCollateralPayload(clientParams) {
35
- const nonce = await this.getTxNonceIfNeeded(clientParams);
36
- const paramsWithNonce = { ...clientParams, nonce };
37
- const signature = await this.getSignatureIfNeeded(
38
- "withdraw_collateral",
39
- paramsWithNonce
40
- );
41
- const tx = getNadoEIP712Values("withdraw_collateral", paramsWithNonce);
42
- return {
43
- signature,
44
- tx,
45
- spot_leverage: clientParams.spotLeverage ?? null
46
- };
47
- }
48
- /**
49
- * Builds server payload for the `place_order` execute action.
50
- *
51
- * @param clientParams Client PlaceOrder params.
52
- * @returns `place_order` payload
53
- */
54
- async buildPlaceOrderPayload(clientParams) {
55
- const nonce = this.getOrderNonceIfNeeded(clientParams);
56
- const orderWithNonce = { ...clientParams.order, nonce };
57
- const signature = await this.getSignatureIfNeeded("place_order", {
58
- // Gets expected type (signature params from `clientParams` and order params from `orderWithNonce`)
59
- ...clientParams,
60
- ...orderWithNonce
61
- });
62
- return this.buildPlaceOrderPayloadSync({
63
- ...clientParams,
64
- order: orderWithNonce,
65
- signature
66
- });
67
- }
68
- /**
69
- * Synchronously builds server payload for the `place_order` execute action.
70
- *
71
- * @param clientParams Client PlaceOrder params.
72
- * @returns `place_order` payload
73
- */
74
- buildPlaceOrderPayloadSync(clientParams) {
75
- const orderEIP712Values = getNadoEIP712Values(
76
- "place_order",
77
- clientParams.order
78
- );
79
- return {
80
- payload: {
81
- id: clientParams.id ?? null,
82
- product_id: clientParams.productId,
83
- order: orderEIP712Values,
84
- signature: clientParams.signature,
85
- spot_leverage: clientParams.spotLeverage ?? null,
86
- borrow_margin: clientParams.borrowMargin ?? null
87
- },
88
- orderParams: clientParams.order
89
- };
90
- }
91
- /**
92
- * Builds server payload for the `place_orders` execute action.
93
- * @param clientParams Client PlaceOrders params.
94
- * @returns `place_orders` payload
95
- */
96
- async buildPlaceOrdersPayload(clientParams) {
97
- return {
98
- orders: await Promise.all(
99
- clientParams.orders.map(async (orderParams) => {
100
- const payload = await this.buildPlaceOrderPayload(orderParams);
101
- return payload.payload;
102
- })
103
- ),
104
- stop_on_failure: clientParams.stopOnFailure ?? null
105
- };
106
- }
107
- /**
108
- * Builds server payload for the `cancel_orders` execute action. As such, requires a signature to be given
109
- *
110
- * @param clientParams Client CancelOrders params.
111
- * @returns `cancel_orders` payload
112
- */
113
- async buildCancelOrdersPayload(clientParams) {
114
- const nonce = this.getOrderNonceIfNeeded(clientParams);
115
- const paramsWithNonce = { ...clientParams, nonce };
116
- const signature = await this.getSignatureIfNeeded(
117
- "cancel_orders",
118
- paramsWithNonce
119
- );
120
- return this.buildCancelOrdersPayloadSync({
121
- ...paramsWithNonce,
122
- signature
123
- });
124
- }
125
- /**
126
- * Synchronously builds server payload for the `cancel_orders` execute action.
127
- *
128
- * @param clientParams Client CancelOrders params.
129
- * @returns `cancel_orders` payload
130
- */
131
- buildCancelOrdersPayloadSync(clientParams) {
132
- const tx = getNadoEIP712Values("cancel_orders", clientParams);
133
- return {
134
- tx,
135
- signature: clientParams.signature,
136
- required_unfilled_amount: clientParams.requiredUnfilledAmount ? toIntegerString(clientParams.requiredUnfilledAmount) : void 0
137
- };
138
- }
139
- /**
140
- * Builds server payload for the `cancel_product_orders` execute action.
141
- * @param clientParams Client CancelProductOrders params.
142
- * @returns `cancel_product_orders` payload
143
- */
144
- async buildCancelProductOrdersPayload(clientParams) {
145
- const nonce = this.getOrderNonceIfNeeded(clientParams);
146
- const paramsWithNonce = { ...clientParams, nonce };
147
- const tx = getNadoEIP712Values("cancel_product_orders", paramsWithNonce);
148
- const signature = await this.getSignatureIfNeeded(
149
- "cancel_product_orders",
150
- paramsWithNonce
151
- );
152
- return {
153
- tx,
154
- signature
155
- };
156
- }
157
- /**
158
- * Builds server payload for the `link_signer` execute action.
159
- *
160
- * @param clientParams Client LinkSigner params.
161
- * @returns `link_signer` payload
162
- */
163
- async buildLinkSignerPayload(clientParams) {
164
- const nonce = await this.getTxNonceIfNeeded(clientParams);
165
- const paramsWithNonce = { ...clientParams, nonce };
166
- const tx = getNadoEIP712Values("link_signer", paramsWithNonce);
167
- const signature = await this.getSignatureIfNeeded(
168
- "link_signer",
169
- paramsWithNonce
170
- );
171
- return {
172
- tx,
173
- signature
174
- };
175
- }
176
- /**
177
- * Builds server payload for the `transfer_quote` execute action.
178
- *
179
- * @param clientParams Client TransferQuote params.
180
- * @returns `transfer_quote` payload
181
- */
182
- async buildTransferQuotePayload(clientParams) {
183
- const nonce = await this.getTxNonceIfNeeded(clientParams);
184
- const paramsWithNonce = { ...clientParams, nonce };
185
- const tx = getNadoEIP712Values("transfer_quote", paramsWithNonce);
186
- const signature = await this.getSignatureIfNeeded(
187
- "transfer_quote",
188
- paramsWithNonce
189
- );
190
- return {
191
- tx,
192
- signature
193
- };
194
- }
195
- /**
196
- * Builds server payload for the `mint_nlp` execute action.
197
- * @param clientParams Client MintNlp params.
198
- * @returns `mint_nlp` payload
199
- */
200
- async buildMintNlpPayload(clientParams) {
201
- const nonce = await this.getTxNonceIfNeeded(clientParams);
202
- const paramsWithNonce = { ...clientParams, nonce };
203
- const tx = getNadoEIP712Values("mint_nlp", paramsWithNonce);
204
- const signature = await this.getSignatureIfNeeded(
205
- "mint_nlp",
206
- paramsWithNonce
207
- );
208
- return {
209
- signature,
210
- tx,
211
- spot_leverage: clientParams.spotLeverage ?? null
212
- };
213
- }
214
- /**
215
- * Builds server payload for the `burn_nlp` execute action.
216
- * @param clientParams Client BurnNlp params.
217
- * @returns `burn_nlp` payload
218
- */
219
- async buildBurnNlpPayload(clientParams) {
220
- const nonce = await this.getTxNonceIfNeeded(clientParams);
221
- const paramsWithNonce = { ...clientParams, nonce };
222
- const tx = getNadoEIP712Values("burn_nlp", paramsWithNonce);
223
- const signature = await this.getSignatureIfNeeded(
224
- "burn_nlp",
225
- paramsWithNonce
226
- );
227
- return {
228
- signature,
229
- tx
230
- };
231
- }
232
- async getSignatureIfNeeded(requestType, paramsWithNonce) {
233
- if ("signature" in paramsWithNonce) {
234
- return paramsWithNonce.signature;
235
- }
236
- return await this.engineClient.sign(
237
- requestType,
238
- paramsWithNonce.verifyingAddr,
239
- paramsWithNonce.chainId,
240
- paramsWithNonce
241
- );
242
- }
243
- async getTxNonceIfNeeded(params) {
244
- if (params.nonce) {
245
- return params.nonce;
246
- }
247
- return await this.engineClient.getTxNonce(params.subaccountOwner);
248
- }
249
- getOrderNonceIfNeeded(params) {
250
- if (params.nonce) {
251
- return params.nonce;
252
- }
253
- return getOrderNonce();
254
- }
255
- };
256
- export {
257
- EngineExecuteBuilder
9
+ constructor(engineClient) {
10
+ this.engineClient = engineClient;
11
+ }
12
+ /**
13
+ * Builds server payload for the `liquidate_subaccount` execute action.
14
+ * @param clientParams Client LiquidateSubaccount params.
15
+ * @returns `liquidate_subaccount` payload
16
+ */
17
+ async buildLiquidateSubaccountPayload(clientParams) {
18
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
19
+ const paramsWithNonce = {
20
+ ...clientParams,
21
+ nonce
22
+ };
23
+ const tx = getNadoEIP712Values("liquidate_subaccount", paramsWithNonce);
24
+ return {
25
+ signature: await this.getSignatureIfNeeded("liquidate_subaccount", paramsWithNonce),
26
+ tx
27
+ };
28
+ }
29
+ /**
30
+ * Builds server payload for the `withdraw_collateral` execute action.
31
+ * @param clientParams Client WithdrawCollateral params.
32
+ * @returns `liquidate_subaccount` payload
33
+ */
34
+ async buildWithdrawCollateralPayload(clientParams) {
35
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
36
+ const paramsWithNonce = {
37
+ ...clientParams,
38
+ nonce
39
+ };
40
+ return {
41
+ signature: await this.getSignatureIfNeeded("withdraw_collateral", paramsWithNonce),
42
+ tx: getNadoEIP712Values("withdraw_collateral", paramsWithNonce),
43
+ spot_leverage: clientParams.spotLeverage ?? null
44
+ };
45
+ }
46
+ /**
47
+ * Builds server payload for the `place_order` execute action.
48
+ *
49
+ * @param clientParams Client PlaceOrder params.
50
+ * @returns `place_order` payload
51
+ */
52
+ async buildPlaceOrderPayload(clientParams) {
53
+ const nonce = this.getOrderNonceIfNeeded(clientParams);
54
+ const orderWithNonce = {
55
+ ...clientParams.order,
56
+ nonce
57
+ };
58
+ const signature = await this.getSignatureIfNeeded("place_order", {
59
+ ...clientParams,
60
+ ...orderWithNonce
61
+ });
62
+ return this.buildPlaceOrderPayloadSync({
63
+ ...clientParams,
64
+ order: orderWithNonce,
65
+ signature
66
+ });
67
+ }
68
+ /**
69
+ * Synchronously builds server payload for the `place_order` execute action.
70
+ *
71
+ * @param clientParams Client PlaceOrder params.
72
+ * @returns `place_order` payload
73
+ */
74
+ buildPlaceOrderPayloadSync(clientParams) {
75
+ const orderEIP712Values = getNadoEIP712Values("place_order", clientParams.order);
76
+ return {
77
+ payload: {
78
+ id: clientParams.id ?? null,
79
+ product_id: clientParams.productId,
80
+ order: orderEIP712Values,
81
+ signature: clientParams.signature,
82
+ spot_leverage: clientParams.spotLeverage ?? null,
83
+ borrow_margin: clientParams.borrowMargin ?? null
84
+ },
85
+ orderParams: clientParams.order
86
+ };
87
+ }
88
+ /**
89
+ * Builds server payload for the `place_orders` execute action.
90
+ * @param clientParams Client PlaceOrders params.
91
+ * @returns `place_orders` payload
92
+ */
93
+ async buildPlaceOrdersPayload(clientParams) {
94
+ return {
95
+ orders: await Promise.all(clientParams.orders.map(async (orderParams) => {
96
+ return (await this.buildPlaceOrderPayload(orderParams)).payload;
97
+ })),
98
+ stop_on_failure: clientParams.stopOnFailure ?? null
99
+ };
100
+ }
101
+ /**
102
+ * Builds server payload for the `cancel_orders` execute action. As such, requires a signature to be given
103
+ *
104
+ * @param clientParams Client CancelOrders params.
105
+ * @returns `cancel_orders` payload
106
+ */
107
+ async buildCancelOrdersPayload(clientParams) {
108
+ const nonce = this.getOrderNonceIfNeeded(clientParams);
109
+ const paramsWithNonce = {
110
+ ...clientParams,
111
+ nonce
112
+ };
113
+ const signature = await this.getSignatureIfNeeded("cancel_orders", paramsWithNonce);
114
+ return this.buildCancelOrdersPayloadSync({
115
+ ...paramsWithNonce,
116
+ signature
117
+ });
118
+ }
119
+ /**
120
+ * Synchronously builds server payload for the `cancel_orders` execute action.
121
+ *
122
+ * @param clientParams Client CancelOrders params.
123
+ * @returns `cancel_orders` payload
124
+ */
125
+ buildCancelOrdersPayloadSync(clientParams) {
126
+ return {
127
+ tx: getNadoEIP712Values("cancel_orders", clientParams),
128
+ signature: clientParams.signature,
129
+ required_unfilled_amount: clientParams.requiredUnfilledAmount ? toIntegerString(clientParams.requiredUnfilledAmount) : void 0
130
+ };
131
+ }
132
+ /**
133
+ * Builds server payload for the `cancel_product_orders` execute action.
134
+ * @param clientParams Client CancelProductOrders params.
135
+ * @returns `cancel_product_orders` payload
136
+ */
137
+ async buildCancelProductOrdersPayload(clientParams) {
138
+ const nonce = this.getOrderNonceIfNeeded(clientParams);
139
+ const paramsWithNonce = {
140
+ ...clientParams,
141
+ nonce
142
+ };
143
+ return {
144
+ tx: getNadoEIP712Values("cancel_product_orders", paramsWithNonce),
145
+ signature: await this.getSignatureIfNeeded("cancel_product_orders", paramsWithNonce)
146
+ };
147
+ }
148
+ /**
149
+ * Builds server payload for the `link_signer` execute action.
150
+ *
151
+ * @param clientParams Client LinkSigner params.
152
+ * @returns `link_signer` payload
153
+ */
154
+ async buildLinkSignerPayload(clientParams) {
155
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
156
+ const paramsWithNonce = {
157
+ ...clientParams,
158
+ nonce
159
+ };
160
+ return {
161
+ tx: getNadoEIP712Values("link_signer", paramsWithNonce),
162
+ signature: await this.getSignatureIfNeeded("link_signer", paramsWithNonce)
163
+ };
164
+ }
165
+ /**
166
+ * Builds server payload for the `transfer_quote` execute action.
167
+ *
168
+ * @param clientParams Client TransferQuote params.
169
+ * @returns `transfer_quote` payload
170
+ */
171
+ async buildTransferQuotePayload(clientParams) {
172
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
173
+ const paramsWithNonce = {
174
+ ...clientParams,
175
+ nonce
176
+ };
177
+ return {
178
+ tx: getNadoEIP712Values("transfer_quote", paramsWithNonce),
179
+ signature: await this.getSignatureIfNeeded("transfer_quote", paramsWithNonce)
180
+ };
181
+ }
182
+ /**
183
+ * Builds server payload for the `mint_nlp` execute action.
184
+ * @param clientParams Client MintNlp params.
185
+ * @returns `mint_nlp` payload
186
+ */
187
+ async buildMintNlpPayload(clientParams) {
188
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
189
+ const paramsWithNonce = {
190
+ ...clientParams,
191
+ nonce
192
+ };
193
+ const tx = getNadoEIP712Values("mint_nlp", paramsWithNonce);
194
+ return {
195
+ signature: await this.getSignatureIfNeeded("mint_nlp", paramsWithNonce),
196
+ tx,
197
+ spot_leverage: clientParams.spotLeverage ?? null
198
+ };
199
+ }
200
+ /**
201
+ * Builds server payload for the `burn_nlp` execute action.
202
+ * @param clientParams Client BurnNlp params.
203
+ * @returns `burn_nlp` payload
204
+ */
205
+ async buildBurnNlpPayload(clientParams) {
206
+ const nonce = await this.getTxNonceIfNeeded(clientParams);
207
+ const paramsWithNonce = {
208
+ ...clientParams,
209
+ nonce
210
+ };
211
+ const tx = getNadoEIP712Values("burn_nlp", paramsWithNonce);
212
+ return {
213
+ signature: await this.getSignatureIfNeeded("burn_nlp", paramsWithNonce),
214
+ tx
215
+ };
216
+ }
217
+ async getSignatureIfNeeded(requestType, paramsWithNonce) {
218
+ if ("signature" in paramsWithNonce) return paramsWithNonce.signature;
219
+ return await this.engineClient.sign(requestType, paramsWithNonce.verifyingAddr, paramsWithNonce.chainId, paramsWithNonce);
220
+ }
221
+ async getTxNonceIfNeeded(params) {
222
+ if (params.nonce) return params.nonce;
223
+ return await this.engineClient.getTxNonce(params.subaccountOwner);
224
+ }
225
+ getOrderNonceIfNeeded(params) {
226
+ if (params.nonce) return params.nonce;
227
+ return getOrderNonce();
228
+ }
258
229
  };
230
+ //#endregion
231
+ export { EngineExecuteBuilder };
232
+
259
233
  //# sourceMappingURL=EngineExecuteBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/EngineExecuteBuilder.ts"],"sourcesContent":["import {\n EIP712OrderParams,\n getNadoEIP712Values,\n getOrderNonce,\n SignableRequestType,\n SignableRequestTypeToParams,\n toIntegerString,\n} from '@nadohq/shared';\nimport { EngineBaseClient } from './EngineBaseClient';\nimport {\n EngineExecuteRequestParamsByType,\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 (signature params from `clientParams` and order params from `orderWithNonce`)\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 borrow_margin: clientParams.borrowMargin ?? null,\n },\n orderParams: clientParams.order,\n };\n }\n\n /**\n * Builds server payload for the `place_orders` execute action.\n * @param clientParams Client PlaceOrders params.\n * @returns `place_orders` payload\n */\n async buildPlaceOrdersPayload(\n clientParams: EngineExecuteRequestParamsByType['place_orders'],\n ): Promise<EngineServerExecuteRequestByType['place_orders']> {\n return {\n orders: await Promise.all(\n clientParams.orders.map(async (orderParams) => {\n const payload = await this.buildPlaceOrderPayload(orderParams);\n return payload.payload;\n }),\n ),\n stop_on_failure: clientParams.stopOnFailure ?? null,\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 required_unfilled_amount: clientParams.requiredUnfilledAmount\n ? toIntegerString(clientParams.requiredUnfilledAmount)\n : undefined,\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_nlp` execute action.\n * @param clientParams Client MintNlp params.\n * @returns `mint_nlp` payload\n */\n async buildMintNlpPayload(\n clientParams: EngineExecuteRequestParamsByType['mint_nlp'],\n ): Promise<EngineServerExecuteRequestByType['mint_nlp']> {\n const nonce = await this.getTxNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const tx = getNadoEIP712Values('mint_nlp', paramsWithNonce);\n const signature = await this.getSignatureIfNeeded(\n 'mint_nlp',\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_nlp` execute action.\n * @param clientParams Client BurnNlp params.\n * @returns `burn_nlp` payload\n */\n async buildBurnNlpPayload(\n clientParams: EngineExecuteRequestParamsByType['burn_nlp'],\n ): Promise<EngineServerExecuteRequestByType['burn_nlp']> {\n const nonce = await this.getTxNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const tx = getNadoEIP712Values('burn_nlp', paramsWithNonce);\n const signature = await this.getSignatureIfNeeded(\n 'burn_nlp',\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":[]}
1
+ {"version":3,"file":"EngineExecuteBuilder.js","names":[],"sources":["../src/EngineExecuteBuilder.ts"],"sourcesContent":["import {\n EIP712OrderParams,\n getNadoEIP712Values,\n getOrderNonce,\n SignableRequestType,\n SignableRequestTypeToParams,\n toIntegerString,\n} from '@nadohq/shared';\nimport { EngineBaseClient } from './EngineBaseClient';\nimport {\n EngineExecuteRequestParamsByType,\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 (signature params from `clientParams` and order params from `orderWithNonce`)\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 borrow_margin: clientParams.borrowMargin ?? null,\n },\n orderParams: clientParams.order,\n };\n }\n\n /**\n * Builds server payload for the `place_orders` execute action.\n * @param clientParams Client PlaceOrders params.\n * @returns `place_orders` payload\n */\n async buildPlaceOrdersPayload(\n clientParams: EngineExecuteRequestParamsByType['place_orders'],\n ): Promise<EngineServerExecuteRequestByType['place_orders']> {\n return {\n orders: await Promise.all(\n clientParams.orders.map(async (orderParams) => {\n const payload = await this.buildPlaceOrderPayload(orderParams);\n return payload.payload;\n }),\n ),\n stop_on_failure: clientParams.stopOnFailure ?? null,\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 required_unfilled_amount: clientParams.requiredUnfilledAmount\n ? toIntegerString(clientParams.requiredUnfilledAmount)\n : undefined,\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_nlp` execute action.\n * @param clientParams Client MintNlp params.\n * @returns `mint_nlp` payload\n */\n async buildMintNlpPayload(\n clientParams: EngineExecuteRequestParamsByType['mint_nlp'],\n ): Promise<EngineServerExecuteRequestByType['mint_nlp']> {\n const nonce = await this.getTxNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const tx = getNadoEIP712Values('mint_nlp', paramsWithNonce);\n const signature = await this.getSignatureIfNeeded(\n 'mint_nlp',\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_nlp` execute action.\n * @param clientParams Client BurnNlp params.\n * @returns `burn_nlp` payload\n */\n async buildBurnNlpPayload(\n clientParams: EngineExecuteRequestParamsByType['burn_nlp'],\n ): Promise<EngineServerExecuteRequestByType['burn_nlp']> {\n const nonce = await this.getTxNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const tx = getNadoEIP712Values('burn_nlp', paramsWithNonce);\n const signature = await this.getSignatureIfNeeded(\n 'burn_nlp',\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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"}
@@ -0,0 +1,24 @@
1
+ import { l as EngineServerExecuteSuccessResult } from "./serverExecuteTypes-CgbHjnWM.js";
2
+ import { a as EngineExecuteRequestParamsByType, d as EnginePlaceOrderResult } from "./clientExecuteTypes-CJ08_c4q.js";
3
+ import { n as EngineClientOpts, t as EngineBaseClient } from "./EngineBaseClient-DOOXIhnZ.js";
4
+ import { t as EngineExecuteBuilder } from "./EngineExecuteBuilder-t8EQ5Rmp.js";
5
+
6
+ //#region src/EngineExecuteClient.d.ts
7
+ declare class EngineExecuteClient extends EngineBaseClient {
8
+ readonly payloadBuilder: EngineExecuteBuilder;
9
+ constructor(opts: EngineClientOpts);
10
+ liquidateSubaccount(params: EngineExecuteRequestParamsByType['liquidate_subaccount']): Promise<EngineServerExecuteSuccessResult<"liquidate_subaccount">>;
11
+ withdrawCollateral(params: EngineExecuteRequestParamsByType['withdraw_collateral']): Promise<EngineServerExecuteSuccessResult<"withdraw_collateral">>;
12
+ placeOrder(params: EngineExecuteRequestParamsByType['place_order']): Promise<EnginePlaceOrderResult>;
13
+ placeOrders(params: EngineExecuteRequestParamsByType['place_orders']): Promise<EngineServerExecuteSuccessResult<"place_orders">>;
14
+ cancelOrders(params: EngineExecuteRequestParamsByType['cancel_orders']): Promise<EngineServerExecuteSuccessResult<"cancel_orders">>;
15
+ cancelAndPlace(params: EngineExecuteRequestParamsByType['cancel_and_place']): Promise<EngineServerExecuteSuccessResult<"cancel_and_place">>;
16
+ cancelProductOrders(params: EngineExecuteRequestParamsByType['cancel_product_orders']): Promise<EngineServerExecuteSuccessResult<"cancel_product_orders">>;
17
+ linkSigner(params: EngineExecuteRequestParamsByType['link_signer']): Promise<EngineServerExecuteSuccessResult<"link_signer">>;
18
+ transferQuote(params: EngineExecuteRequestParamsByType['transfer_quote']): Promise<EngineServerExecuteSuccessResult<"transfer_quote">>;
19
+ mintNlp(params: EngineExecuteRequestParamsByType['mint_nlp']): Promise<EngineServerExecuteSuccessResult<"mint_nlp">>;
20
+ burnNlp(params: EngineExecuteRequestParamsByType['burn_nlp']): Promise<EngineServerExecuteSuccessResult<"burn_nlp">>;
21
+ }
22
+ //#endregion
23
+ export { EngineExecuteClient as t };
24
+ //# sourceMappingURL=EngineExecuteClient-0EBoXRd7.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EngineExecuteClient-0EBoXRd7.d.ts","names":[],"sources":["../src/src/EngineExecuteClient.ts"],"mappings":";;;;;;cAQa,mBAAA,SAA4B,gBAAA;EAAA,SAC9B,cAAA,EAAgB,oBAAA;cAEb,IAAA,EAAM,gBAAA;EAKZ,mBAAA,CACJ,MAAA,EAAQ,gCAAA,2BAAwD,OAAA,CAAxB,gCAAA;EAQpC,kBAAA,CACJ,MAAA,EAAQ,gCAAA,0BAAuD,OAAA,CAAvB,gCAAA;EAQpC,UAAA,CACJ,MAAA,EAAQ,gCAAA,kBACP,OAAA,CAAQ,sBAAA;EASL,WAAA,CAAY,MAAA,EAAQ,gCAAA,mBAAgD,OAAA,CAAhB,gCAAA;EAOpD,YAAA,CACJ,MAAA,EAAQ,gCAAA,oBAAiD,OAAA,CAAjB,gCAAA;EAQpC,cAAA,CACJ,MAAA,EAAQ,gCAAA,uBAAoD,OAAA,CAApB,gCAAA;EAkBpC,mBAAA,CACJ,MAAA,EAAQ,gCAAA,4BAAyD,OAAA,CAAzB,gCAAA;EAQpC,UAAA,CAAW,MAAA,EAAQ,gCAAA,kBAA+C,OAAA,CAAf,gCAAA;EAOnD,aAAA,CACJ,MAAA,EAAQ,gCAAA,qBAAkD,OAAA,CAAlB,gCAAA;EAQpC,OAAA,CAAQ,MAAA,EAAQ,gCAAA,eAA4C,OAAA,CAAZ,gCAAA;EAOhD,OAAA,CAAQ,MAAA,EAAQ,gCAAA,eAA4C,OAAA,CAAZ,gCAAA;AAAA"}
@@ -0,0 +1,24 @@
1
+ import { l as EngineServerExecuteSuccessResult } from "./serverExecuteTypes-DejTR8Is.cjs";
2
+ import { a as EngineExecuteRequestParamsByType, d as EnginePlaceOrderResult } from "./clientExecuteTypes-BlJOgCL_.cjs";
3
+ import { n as EngineClientOpts, t as EngineBaseClient } from "./EngineBaseClient-L1ue7jBx.cjs";
4
+ import { t as EngineExecuteBuilder } from "./EngineExecuteBuilder-VLrEndhv.cjs";
5
+
6
+ //#region src/EngineExecuteClient.d.ts
7
+ declare class EngineExecuteClient extends EngineBaseClient {
8
+ readonly payloadBuilder: EngineExecuteBuilder;
9
+ constructor(opts: EngineClientOpts);
10
+ liquidateSubaccount(params: EngineExecuteRequestParamsByType['liquidate_subaccount']): Promise<EngineServerExecuteSuccessResult<"liquidate_subaccount">>;
11
+ withdrawCollateral(params: EngineExecuteRequestParamsByType['withdraw_collateral']): Promise<EngineServerExecuteSuccessResult<"withdraw_collateral">>;
12
+ placeOrder(params: EngineExecuteRequestParamsByType['place_order']): Promise<EnginePlaceOrderResult>;
13
+ placeOrders(params: EngineExecuteRequestParamsByType['place_orders']): Promise<EngineServerExecuteSuccessResult<"place_orders">>;
14
+ cancelOrders(params: EngineExecuteRequestParamsByType['cancel_orders']): Promise<EngineServerExecuteSuccessResult<"cancel_orders">>;
15
+ cancelAndPlace(params: EngineExecuteRequestParamsByType['cancel_and_place']): Promise<EngineServerExecuteSuccessResult<"cancel_and_place">>;
16
+ cancelProductOrders(params: EngineExecuteRequestParamsByType['cancel_product_orders']): Promise<EngineServerExecuteSuccessResult<"cancel_product_orders">>;
17
+ linkSigner(params: EngineExecuteRequestParamsByType['link_signer']): Promise<EngineServerExecuteSuccessResult<"link_signer">>;
18
+ transferQuote(params: EngineExecuteRequestParamsByType['transfer_quote']): Promise<EngineServerExecuteSuccessResult<"transfer_quote">>;
19
+ mintNlp(params: EngineExecuteRequestParamsByType['mint_nlp']): Promise<EngineServerExecuteSuccessResult<"mint_nlp">>;
20
+ burnNlp(params: EngineExecuteRequestParamsByType['burn_nlp']): Promise<EngineServerExecuteSuccessResult<"burn_nlp">>;
21
+ }
22
+ //#endregion
23
+ export { EngineExecuteClient as t };
24
+ //# sourceMappingURL=EngineExecuteClient-BGlNK5Le.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EngineExecuteClient-BGlNK5Le.d.cts","names":[],"sources":["../src/src/EngineExecuteClient.ts"],"mappings":";;;;;;cAQa,mBAAA,SAA4B,gBAAA;EAAA,SAC9B,cAAA,EAAgB,oBAAA;cAEb,IAAA,EAAM,gBAAA;EAKZ,mBAAA,CACJ,MAAA,EAAQ,gCAAA,2BAAwD,OAAA,CAAxB,gCAAA;EAQpC,kBAAA,CACJ,MAAA,EAAQ,gCAAA,0BAAuD,OAAA,CAAvB,gCAAA;EAQpC,UAAA,CACJ,MAAA,EAAQ,gCAAA,kBACP,OAAA,CAAQ,sBAAA;EASL,WAAA,CAAY,MAAA,EAAQ,gCAAA,mBAAgD,OAAA,CAAhB,gCAAA;EAOpD,YAAA,CACJ,MAAA,EAAQ,gCAAA,oBAAiD,OAAA,CAAjB,gCAAA;EAQpC,cAAA,CACJ,MAAA,EAAQ,gCAAA,uBAAoD,OAAA,CAApB,gCAAA;EAkBpC,mBAAA,CACJ,MAAA,EAAQ,gCAAA,4BAAyD,OAAA,CAAzB,gCAAA;EAQpC,UAAA,CAAW,MAAA,EAAQ,gCAAA,kBAA+C,OAAA,CAAf,gCAAA;EAOnD,aAAA,CACJ,MAAA,EAAQ,gCAAA,qBAAkD,OAAA,CAAlB,gCAAA;EAQpC,OAAA,CAAQ,MAAA,EAAQ,gCAAA,eAA4C,OAAA,CAAZ,gCAAA;EAOhD,OAAA,CAAQ,MAAA,EAAQ,gCAAA,eAA4C,OAAA,CAAZ,gCAAA;AAAA"}