@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.
- package/README.md +2 -0
- package/dist/EngineBaseClient.cjs +166 -0
- package/dist/EngineBaseClient.cjs.map +1 -0
- package/dist/EngineBaseClient.d.cts +75 -0
- package/dist/EngineBaseClient.d.ts +75 -0
- package/dist/EngineBaseClient.js +133 -0
- package/dist/EngineBaseClient.js.map +1 -0
- package/dist/EngineClient.cjs +40 -0
- package/dist/EngineClient.cjs.map +1 -0
- package/dist/EngineClient.d.cts +23 -0
- package/dist/EngineClient.d.ts +23 -0
- package/dist/EngineClient.js +15 -0
- package/dist/EngineClient.js.map +1 -0
- package/dist/EngineExecuteBuilder.cjs +304 -0
- package/dist/EngineExecuteBuilder.cjs.map +1 -0
- package/dist/EngineExecuteBuilder.d.cts +118 -0
- package/dist/EngineExecuteBuilder.d.ts +118 -0
- package/dist/EngineExecuteBuilder.js +282 -0
- package/dist/EngineExecuteBuilder.js.map +1 -0
- package/dist/EngineExecuteClient.cjs +114 -0
- package/dist/EngineExecuteClient.cjs.map +1 -0
- package/dist/EngineExecuteClient.d.cts +28 -0
- package/dist/EngineExecuteClient.d.ts +28 -0
- package/dist/EngineExecuteClient.js +89 -0
- package/dist/EngineExecuteClient.js.map +1 -0
- package/dist/EngineQueryClient.cjs +431 -0
- package/dist/EngineQueryClient.cjs.map +1 -0
- package/dist/EngineQueryClient.d.cts +143 -0
- package/dist/EngineQueryClient.d.ts +143 -0
- package/dist/EngineQueryClient.js +424 -0
- package/dist/EngineQueryClient.js.map +1 -0
- package/dist/EngineWebClient.cjs +75 -0
- package/dist/EngineWebClient.cjs.map +1 -0
- package/dist/EngineWebClient.d.cts +31 -0
- package/dist/EngineWebClient.d.ts +31 -0
- package/dist/EngineWebClient.js +50 -0
- package/dist/EngineWebClient.js.map +1 -0
- package/dist/endpoints.cjs +49 -0
- package/dist/endpoints.cjs.map +1 -0
- package/dist/endpoints.d.cts +7 -0
- package/dist/endpoints.d.ts +7 -0
- package/dist/endpoints.js +22 -0
- package/dist/endpoints.js.map +1 -0
- package/dist/index.cjs +31 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +20 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/types/EngineServerFailureError.cjs +36 -0
- package/dist/types/EngineServerFailureError.cjs.map +1 -0
- package/dist/types/EngineServerFailureError.d.cts +11 -0
- package/dist/types/EngineServerFailureError.d.ts +11 -0
- package/dist/types/EngineServerFailureError.js +11 -0
- package/dist/types/EngineServerFailureError.js.map +1 -0
- package/dist/types/clientExecuteTypes.cjs +19 -0
- package/dist/types/clientExecuteTypes.cjs.map +1 -0
- package/dist/types/clientExecuteTypes.d.cts +74 -0
- package/dist/types/clientExecuteTypes.d.ts +74 -0
- package/dist/types/clientExecuteTypes.js +1 -0
- package/dist/types/clientExecuteTypes.js.map +1 -0
- package/dist/types/clientQueryTypes.cjs +19 -0
- package/dist/types/clientQueryTypes.cjs.map +1 -0
- package/dist/types/clientQueryTypes.d.cts +189 -0
- package/dist/types/clientQueryTypes.d.ts +189 -0
- package/dist/types/clientQueryTypes.js +1 -0
- package/dist/types/clientQueryTypes.js.map +1 -0
- package/dist/types/index.cjs +39 -0
- package/dist/types/index.cjs.map +1 -0
- package/dist/types/index.d.cts +10 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.js +10 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/serverExecuteTypes.cjs +19 -0
- package/dist/types/serverExecuteTypes.cjs.map +1 -0
- package/dist/types/serverExecuteTypes.d.cts +91 -0
- package/dist/types/serverExecuteTypes.d.ts +91 -0
- package/dist/types/serverExecuteTypes.js +1 -0
- package/dist/types/serverExecuteTypes.js.map +1 -0
- package/dist/types/serverQueryModelTypes.cjs +19 -0
- package/dist/types/serverQueryModelTypes.cjs.map +1 -0
- package/dist/types/serverQueryModelTypes.d.cts +73 -0
- package/dist/types/serverQueryModelTypes.d.ts +73 -0
- package/dist/types/serverQueryModelTypes.js +1 -0
- package/dist/types/serverQueryModelTypes.js.map +1 -0
- package/dist/types/serverQueryTypes.cjs +19 -0
- package/dist/types/serverQueryTypes.cjs.map +1 -0
- package/dist/types/serverQueryTypes.d.cts +292 -0
- package/dist/types/serverQueryTypes.d.ts +292 -0
- package/dist/types/serverQueryTypes.js +1 -0
- package/dist/types/serverQueryTypes.js.map +1 -0
- package/dist/types/serverSubscriptionEventTypes.cjs +19 -0
- package/dist/types/serverSubscriptionEventTypes.cjs.map +1 -0
- package/dist/types/serverSubscriptionEventTypes.d.cts +71 -0
- package/dist/types/serverSubscriptionEventTypes.d.ts +71 -0
- package/dist/types/serverSubscriptionEventTypes.js +1 -0
- package/dist/types/serverSubscriptionEventTypes.js.map +1 -0
- package/dist/types/serverSubscriptionTypes.cjs +19 -0
- package/dist/types/serverSubscriptionTypes.cjs.map +1 -0
- package/dist/types/serverSubscriptionTypes.d.cts +63 -0
- package/dist/types/serverSubscriptionTypes.d.ts +63 -0
- package/dist/types/serverSubscriptionTypes.js +1 -0
- package/dist/types/serverSubscriptionTypes.js.map +1 -0
- package/dist/utils/index.cjs +25 -0
- package/dist/utils/index.cjs.map +1 -0
- package/dist/utils/index.d.cts +6 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/productEngineTypeMappers.cjs +49 -0
- package/dist/utils/productEngineTypeMappers.cjs.map +1 -0
- package/dist/utils/productEngineTypeMappers.d.cts +7 -0
- package/dist/utils/productEngineTypeMappers.d.ts +7 -0
- package/dist/utils/productEngineTypeMappers.js +23 -0
- package/dist/utils/productEngineTypeMappers.js.map +1 -0
- package/dist/utils/queryDataMappers.cjs +282 -0
- package/dist/utils/queryDataMappers.cjs.map +1 -0
- package/dist/utils/queryDataMappers.d.cts +18 -0
- package/dist/utils/queryDataMappers.d.ts +18 -0
- package/dist/utils/queryDataMappers.js +258 -0
- package/dist/utils/queryDataMappers.js.map +1 -0
- package/package.json +52 -0
- package/src/EngineBaseClient.ts +223 -0
- package/src/EngineClient.ts +13 -0
- package/src/EngineExecuteBuilder.ts +381 -0
- package/src/EngineExecuteClient.ts +122 -0
- package/src/EngineQueryClient.ts +553 -0
- package/src/EngineWebClient.ts +72 -0
- package/src/endpoints.ts +21 -0
- package/src/index.ts +4 -0
- package/src/types/EngineServerFailureError.ts +12 -0
- package/src/types/clientExecuteTypes.ts +118 -0
- package/src/types/clientQueryTypes.ts +267 -0
- package/src/types/index.ts +8 -0
- package/src/types/serverExecuteTypes.ts +138 -0
- package/src/types/serverQueryModelTypes.ts +83 -0
- package/src/types/serverQueryTypes.ts +382 -0
- package/src/types/serverSubscriptionEventTypes.ts +74 -0
- package/src/types/serverSubscriptionTypes.ts +79 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/productEngineTypeMappers.ts +24 -0
- 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":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAOO;AAiBA,IAAM,uBAAN,MAA2B;AAAA,EAGhC,YAAY,cAAgC;AAC1C,SAAK,eAAe;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,gCACJ,cACmE;AACnE,UAAM,QAAQ,MAAM,KAAK,mBAAmB,YAAY;AACxD,UAAM,kBAAkB,EAAE,GAAG,cAAc,MAAM;AAEjD,UAAM,SAAK,sCAAoB,wBAAwB,eAAe;AACtE,UAAM,YAAY,MAAM,KAAK;AAAA,MAC3B;AAAA,MACA;AAAA,IACF;AAEA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,+BACJ,cACkE;AAClE,UAAM,QAAQ,MAAM,KAAK,mBAAmB,YAAY;AACxD,UAAM,kBAAkB,EAAE,GAAG,cAAc,MAAM;AAEjD,UAAM,YAAY,MAAM,KAAK;AAAA,MAC3B;AAAA,MACA;AAAA,IACF;AAEA,UAAM,SAAK,sCAAoB,uBAAuB,eAAe;AACrE,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,eAAe,aAAa,gBAAgB;AAAA,IAC9C;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,uBACJ,cAC+C;AAC/C,UAAM,QAAQ,KAAK,sBAAsB,YAAY;AACrD,UAAM,iBAAiB,EAAE,GAAG,aAAa,OAAO,MAAM;AAEtD,UAAM,YAAY,MAAM,KAAK,qBAAqB,eAAe;AAAA;AAAA,MAE/D,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAED,WAAO,KAAK,2BAA2B;AAAA,MACrC,GAAG;AAAA,MACH,OAAO;AAAA,MACP;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,2BACE,cAKsC;AACtC,UAAM,wBAAoB;AAAA,MACxB;AAAA,MACA,aAAa;AAAA,IACf;AAEA,WAAO;AAAA,MACL,SAAS;AAAA,QACP,IAAI,aAAa,MAAM;AAAA,QACvB,YAAY,aAAa;AAAA,QACzB,OAAO;AAAA,QACP,WAAW,aAAa;AAAA,QACxB,eAAe,aAAa,gBAAgB;AAAA,MAC9C;AAAA,MACA,aAAa,aAAa;AAAA,IAC5B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,+BACJ,cACuD;AACvD,UAAM,QAAQ,KAAK,sBAAsB,YAAY;AACrD,UAAM,iBAAiB,EAAE,GAAG,aAAa,OAAO,MAAM;AAEtD,UAAM,YAAY,MAAM,KAAK,qBAAqB,wBAAwB;AAAA;AAAA,MAExE,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAED,WAAO,KAAK,mCAAmC;AAAA,MAC7C,GAAG;AAAA,MACH,OAAO;AAAA,MACP;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,mCACE,cAK8C;AAC9C,UAAM,gCAA4B;AAAA,MAChC;AAAA,MACA,aAAa;AAAA,IACf;AAEA,WAAO;AAAA,MACL,SAAS;AAAA,QACP,IAAI,aAAa,MAAM;AAAA,QACvB,YAAY,aAAa;AAAA,QACzB,gBAAgB;AAAA,QAChB,WAAW,aAAa;AAAA,QACxB,eAAe,aAAa,gBAAgB;AAAA,MAC9C;AAAA,MACA,aAAa,aAAa;AAAA,IAC5B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,yBACJ,cAC4D;AAC5D,UAAM,QAAQ,KAAK,sBAAsB,YAAY;AACrD,UAAM,kBAAkB,EAAE,GAAG,cAAc,MAAM;AACjD,UAAM,YAAY,MAAM,KAAK;AAAA,MAC3B;AAAA,MACA;AAAA,IACF;AAEA,WAAO,KAAK,6BAA6B;AAAA,MACvC,GAAG;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,6BACE,cAGmD;AACnD,UAAM,SAAK,sCAAoB,iBAAiB,YAAY;AAE5D,WAAO;AAAA,MACL;AAAA,MACA,WAAW,aAAa;AAAA,IAC1B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,gCACJ,cACoE;AACpE,UAAM,QAAQ,KAAK,sBAAsB,YAAY;AACrD,UAAM,kBAAkB,EAAE,GAAG,cAAc,MAAM;AAEjD,UAAM,SAAK,sCAAoB,yBAAyB,eAAe;AACvE,UAAM,YAAY,MAAM,KAAK;AAAA,MAC3B;AAAA,MACA;AAAA,IACF;AAEA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,uBACJ,cAC0D;AAC1D,UAAM,QAAQ,MAAM,KAAK,mBAAmB,YAAY;AACxD,UAAM,kBAAkB,EAAE,GAAG,cAAc,MAAM;AAEjD,UAAM,SAAK,sCAAoB,eAAe,eAAe;AAC7D,UAAM,YAAY,MAAM,KAAK;AAAA,MAC3B;AAAA,MACA;AAAA,IACF;AAEA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,0BACJ,cAC6D;AAC7D,UAAM,QAAQ,MAAM,KAAK,mBAAmB,YAAY;AACxD,UAAM,kBAAkB,EAAE,GAAG,cAAc,MAAM;AAEjD,UAAM,SAAK,sCAAoB,kBAAkB,eAAe;AAChE,UAAM,YAAY,MAAM,KAAK;AAAA,MAC3B;AAAA,MACA;AAAA,IACF;AAEA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,oBACJ,cACuD;AACvD,UAAM,QAAQ,MAAM,KAAK,mBAAmB,YAAY;AACxD,UAAM,kBAAkB,EAAE,GAAG,cAAc,MAAM;AAEjD,UAAM,SAAK,sCAAoB,YAAY,eAAe;AAC1D,UAAM,YAAY,MAAM,KAAK;AAAA,MAC3B;AAAA,MACA;AAAA,IACF;AAEA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,eAAe,aAAa,gBAAgB;AAAA,IAC9C;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,oBACJ,cACuD;AACvD,UAAM,QAAQ,MAAM,KAAK,mBAAmB,YAAY;AACxD,UAAM,kBAAkB,EAAE,GAAG,cAAc,MAAM;AAEjD,UAAM,SAAK,sCAAoB,YAAY,eAAe;AAC1D,UAAM,YAAY,MAAM,KAAK;AAAA,MAC3B;AAAA,MACA;AAAA,IACF;AAEA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAgB,qBACd,aACA,iBACA;AACA,QAAI,eAAe,iBAAiB;AAClC,aAAO,gBAAgB;AAAA,IACzB;AAEA,WAAO,MAAM,KAAK,aAAa;AAAA,MAC7B;AAAA,MACA,gBAAgB;AAAA,MAChB,gBAAgB;AAAA,MAChB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAgB,mBACd,QACA;AACA,QAAI,OAAO,OAAO;AAChB,aAAO,OAAO;AAAA,IAChB;AACA,WAAO,MAAM,KAAK,aAAa,WAAW,OAAO,eAAe;AAAA,EAClE;AAAA,EAEU,sBACR,QACA;AACA,QAAI,OAAO,OAAO;AAChB,aAAO,OAAO;AAAA,IAChB;AACA,eAAO,gCAAc;AAAA,EACvB;AACF;","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 };
|