@nadohq/engine-client 0.1.0-alpha.1 → 0.1.0-alpha.11
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/dist/EngineBaseClient.cjs +8 -7
- package/dist/EngineBaseClient.cjs.map +1 -1
- package/dist/EngineBaseClient.d.cts +1 -2
- package/dist/EngineBaseClient.d.ts +1 -2
- package/dist/EngineBaseClient.js +7 -5
- package/dist/EngineBaseClient.js.map +1 -1
- package/dist/EngineClient.d.cts +1 -2
- package/dist/EngineClient.d.ts +1 -2
- package/dist/EngineExecuteBuilder.cjs +33 -61
- package/dist/EngineExecuteBuilder.cjs.map +1 -1
- package/dist/EngineExecuteBuilder.d.cts +14 -25
- package/dist/EngineExecuteBuilder.d.ts +14 -25
- package/dist/EngineExecuteBuilder.js +25 -53
- package/dist/EngineExecuteBuilder.js.map +1 -1
- package/dist/EngineExecuteClient.cjs +12 -16
- package/dist/EngineExecuteClient.cjs.map +1 -1
- package/dist/EngineExecuteClient.d.cts +5 -6
- package/dist/EngineExecuteClient.d.ts +5 -6
- package/dist/EngineExecuteClient.js +12 -16
- package/dist/EngineExecuteClient.js.map +1 -1
- package/dist/EngineQueryClient.cjs +33 -57
- package/dist/EngineQueryClient.cjs.map +1 -1
- package/dist/EngineQueryClient.d.cts +4 -15
- package/dist/EngineQueryClient.d.ts +4 -15
- package/dist/EngineQueryClient.js +11 -35
- package/dist/EngineQueryClient.js.map +1 -1
- package/dist/EngineWebClient.cjs +0 -2
- package/dist/EngineWebClient.cjs.map +1 -1
- package/dist/EngineWebClient.d.cts +1 -2
- package/dist/EngineWebClient.d.ts +1 -2
- package/dist/EngineWebClient.js +0 -2
- package/dist/EngineWebClient.js.map +1 -1
- package/dist/endpoints.cjs +6 -6
- package/dist/endpoints.cjs.map +1 -1
- package/dist/endpoints.d.cts +1 -1
- package/dist/endpoints.d.ts +1 -1
- package/dist/endpoints.js +6 -6
- package/dist/endpoints.js.map +1 -1
- package/dist/index.d.cts +7 -8
- package/dist/index.d.ts +7 -8
- package/dist/types/EngineServerFailureError.cjs +1 -1
- package/dist/types/EngineServerFailureError.cjs.map +1 -1
- package/dist/types/EngineServerFailureError.d.cts +2 -2
- package/dist/types/EngineServerFailureError.d.ts +2 -2
- package/dist/types/EngineServerFailureError.js +1 -1
- package/dist/types/EngineServerFailureError.js.map +1 -1
- package/dist/types/clientExecuteTypes.cjs.map +1 -1
- package/dist/types/clientExecuteTypes.d.cts +8 -16
- package/dist/types/clientExecuteTypes.d.ts +8 -16
- package/dist/types/clientQueryTypes.cjs.map +1 -1
- package/dist/types/clientQueryTypes.d.cts +15 -25
- package/dist/types/clientQueryTypes.d.ts +15 -25
- package/dist/types/index.d.cts +7 -8
- package/dist/types/index.d.ts +7 -8
- package/dist/types/serverExecuteTypes.cjs.map +1 -1
- package/dist/types/serverExecuteTypes.d.cts +10 -18
- package/dist/types/serverExecuteTypes.d.ts +10 -18
- package/dist/types/serverQueryModelTypes.cjs.map +1 -1
- package/dist/types/serverQueryModelTypes.d.cts +1 -1
- package/dist/types/serverQueryModelTypes.d.ts +1 -1
- package/dist/types/serverQueryTypes.cjs.map +1 -1
- package/dist/types/serverQueryTypes.d.cts +8 -17
- package/dist/types/serverQueryTypes.d.ts +8 -17
- package/dist/types/serverSubscriptionEventTypes.cjs.map +1 -1
- package/dist/types/serverSubscriptionEventTypes.d.cts +83 -24
- package/dist/types/serverSubscriptionEventTypes.d.ts +83 -24
- package/dist/types/serverSubscriptionTypes.cjs.map +1 -1
- package/dist/types/serverSubscriptionTypes.d.cts +21 -4
- package/dist/types/serverSubscriptionTypes.d.ts +21 -4
- package/dist/utils/index.d.cts +1 -2
- package/dist/utils/index.d.ts +1 -2
- package/dist/utils/productEngineTypeMappers.cjs +5 -5
- package/dist/utils/productEngineTypeMappers.cjs.map +1 -1
- package/dist/utils/productEngineTypeMappers.d.cts +1 -1
- package/dist/utils/productEngineTypeMappers.d.ts +1 -1
- package/dist/utils/productEngineTypeMappers.js +1 -1
- package/dist/utils/productEngineTypeMappers.js.map +1 -1
- package/dist/utils/queryDataMappers.cjs +79 -90
- package/dist/utils/queryDataMappers.cjs.map +1 -1
- package/dist/utils/queryDataMappers.d.cts +1 -2
- package/dist/utils/queryDataMappers.d.ts +1 -2
- package/dist/utils/queryDataMappers.js +7 -19
- package/dist/utils/queryDataMappers.js.map +1 -1
- package/package.json +3 -4
- package/src/EngineBaseClient.ts +5 -3
- package/src/EngineExecuteBuilder.ts +30 -70
- package/src/EngineExecuteClient.ts +13 -21
- package/src/EngineQueryClient.ts +14 -42
- package/src/EngineWebClient.ts +0 -2
- package/src/endpoints.ts +4 -5
- package/src/types/EngineServerFailureError.ts +2 -2
- package/src/types/clientExecuteTypes.ts +13 -25
- package/src/types/clientQueryTypes.ts +21 -34
- package/src/types/serverExecuteTypes.ts +13 -24
- package/src/types/serverQueryModelTypes.ts +1 -1
- package/src/types/serverQueryTypes.ts +7 -20
- package/src/types/serverSubscriptionEventTypes.ts +130 -22
- package/src/types/serverSubscriptionTypes.ts +23 -3
- package/src/utils/productEngineTypeMappers.ts +1 -1
- package/src/utils/queryDataMappers.ts +7 -20
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { EIP712OrderParams,
|
|
1
|
+
import { EIP712OrderParams, SignableRequestType, SignableRequestTypeToParams } from '@nadohq/shared';
|
|
2
2
|
import { EngineBaseClient } from './EngineBaseClient.js';
|
|
3
3
|
import { EngineExecuteRequestParamsByType, WithSignature, SignatureParams, WithBaseEngineExecuteParams } from './types/clientExecuteTypes.js';
|
|
4
|
-
import { EngineServerExecuteRequestByType, EngineServerExecutePlaceOrderPayload
|
|
4
|
+
import { EngineServerExecuteRequestByType, EngineServerExecutePlaceOrderPayload } from './types/serverExecuteTypes.js';
|
|
5
5
|
import 'axios';
|
|
6
6
|
import './types/clientQueryTypes.js';
|
|
7
|
-
import '@nadohq/utils';
|
|
8
7
|
import './types/serverQueryTypes.js';
|
|
9
8
|
import './types/serverQueryModelTypes.js';
|
|
10
9
|
|
|
@@ -45,21 +44,11 @@ declare class EngineExecuteBuilder {
|
|
|
45
44
|
order: EIP712OrderParams;
|
|
46
45
|
}>): EngineServerExecutePlaceOrderPayload;
|
|
47
46
|
/**
|
|
48
|
-
* Builds server payload for the `
|
|
49
|
-
*
|
|
50
|
-
* @
|
|
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
|
|
47
|
+
* Builds server payload for the `place_orders` execute action.
|
|
48
|
+
* @param clientParams Client PlaceOrders params.
|
|
49
|
+
* @returns `place_orders` payload
|
|
59
50
|
*/
|
|
60
|
-
|
|
61
|
-
order: EIP712IsolatedOrderParams;
|
|
62
|
-
}>): EngineServerExecutePlaceIsolatedOrderPayload;
|
|
51
|
+
buildPlaceOrdersPayload(clientParams: EngineExecuteRequestParamsByType['place_orders']): Promise<EngineServerExecuteRequestByType['place_orders']>;
|
|
63
52
|
/**
|
|
64
53
|
* Builds server payload for the `cancel_orders` execute action. As such, requires a signature to be given
|
|
65
54
|
*
|
|
@@ -97,17 +86,17 @@ declare class EngineExecuteBuilder {
|
|
|
97
86
|
*/
|
|
98
87
|
buildTransferQuotePayload(clientParams: EngineExecuteRequestParamsByType['transfer_quote']): Promise<EngineServerExecuteRequestByType['transfer_quote']>;
|
|
99
88
|
/**
|
|
100
|
-
* Builds server payload for the `
|
|
101
|
-
* @param clientParams Client
|
|
102
|
-
* @returns `
|
|
89
|
+
* Builds server payload for the `mint_nlp` execute action.
|
|
90
|
+
* @param clientParams Client MintNlp params.
|
|
91
|
+
* @returns `mint_nlp` payload
|
|
103
92
|
*/
|
|
104
|
-
|
|
93
|
+
buildMintNlpPayload(clientParams: EngineExecuteRequestParamsByType['mint_nlp']): Promise<EngineServerExecuteRequestByType['mint_nlp']>;
|
|
105
94
|
/**
|
|
106
|
-
* Builds server payload for the `
|
|
107
|
-
* @param clientParams Client
|
|
108
|
-
* @returns `
|
|
95
|
+
* Builds server payload for the `burn_nlp` execute action.
|
|
96
|
+
* @param clientParams Client BurnNlp params.
|
|
97
|
+
* @returns `burn_nlp` payload
|
|
109
98
|
*/
|
|
110
|
-
|
|
99
|
+
buildBurnNlpPayload(clientParams: EngineExecuteRequestParamsByType['burn_nlp']): Promise<EngineServerExecuteRequestByType['burn_nlp']>;
|
|
111
100
|
protected getSignatureIfNeeded<T extends SignableRequestType>(requestType: T, paramsWithNonce: SignatureParams & SignableRequestTypeToParams[T]): Promise<string>;
|
|
112
101
|
protected getTxNonceIfNeeded(params: WithBaseEngineExecuteParams<{
|
|
113
102
|
subaccountOwner: string;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
getNadoEIP712Values,
|
|
4
4
|
getOrderNonce
|
|
5
|
-
} from "@nadohq/
|
|
5
|
+
} from "@nadohq/shared";
|
|
6
6
|
var EngineExecuteBuilder = class {
|
|
7
7
|
constructor(engineClient) {
|
|
8
8
|
this.engineClient = engineClient;
|
|
@@ -54,7 +54,7 @@ var EngineExecuteBuilder = class {
|
|
|
54
54
|
const nonce = this.getOrderNonceIfNeeded(clientParams);
|
|
55
55
|
const orderWithNonce = { ...clientParams.order, nonce };
|
|
56
56
|
const signature = await this.getSignatureIfNeeded("place_order", {
|
|
57
|
-
// Gets expected type
|
|
57
|
+
// Gets expected type (signature params from `clientParams` and order params from `orderWithNonce`)
|
|
58
58
|
...clientParams,
|
|
59
59
|
...orderWithNonce
|
|
60
60
|
});
|
|
@@ -81,52 +81,24 @@ var EngineExecuteBuilder = class {
|
|
|
81
81
|
product_id: clientParams.productId,
|
|
82
82
|
order: orderEIP712Values,
|
|
83
83
|
signature: clientParams.signature,
|
|
84
|
-
spot_leverage: clientParams.spotLeverage ?? null
|
|
84
|
+
spot_leverage: clientParams.spotLeverage ?? null,
|
|
85
|
+
borrow_margin: clientParams.borrowMargin ?? null
|
|
85
86
|
},
|
|
86
87
|
orderParams: clientParams.order
|
|
87
88
|
};
|
|
88
89
|
}
|
|
89
90
|
/**
|
|
90
|
-
* Builds server payload for the `
|
|
91
|
-
*
|
|
92
|
-
* @
|
|
93
|
-
* @returns `place_isolated_order` payload
|
|
91
|
+
* Builds server payload for the `place_orders` execute action.
|
|
92
|
+
* @param clientParams Client PlaceOrders params.
|
|
93
|
+
* @returns `place_orders` payload
|
|
94
94
|
*/
|
|
95
|
-
async
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
...orderWithNonce
|
|
102
|
-
});
|
|
103
|
-
return this.buildPlaceIsolatedOrderPayloadSync({
|
|
104
|
-
...clientParams,
|
|
105
|
-
order: orderWithNonce,
|
|
106
|
-
signature
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Synchronously builds server payload for the `place_isolated_order` execute action.
|
|
111
|
-
*
|
|
112
|
-
* @param clientParams Client PlaceIsolatedOrder params.
|
|
113
|
-
* @returns `place_isolated_order` payload
|
|
114
|
-
*/
|
|
115
|
-
buildPlaceIsolatedOrderPayloadSync(clientParams) {
|
|
116
|
-
const isolatedOrderEIP712Values = getNadoEIP712Values(
|
|
117
|
-
"place_isolated_order",
|
|
118
|
-
clientParams.order
|
|
95
|
+
async buildPlaceOrdersPayload(clientParams) {
|
|
96
|
+
return Promise.all(
|
|
97
|
+
clientParams.map(async (orderParams) => {
|
|
98
|
+
const payload = await this.buildPlaceOrderPayload(orderParams);
|
|
99
|
+
return payload.payload;
|
|
100
|
+
})
|
|
119
101
|
);
|
|
120
|
-
return {
|
|
121
|
-
payload: {
|
|
122
|
-
id: clientParams.id ?? null,
|
|
123
|
-
product_id: clientParams.productId,
|
|
124
|
-
isolated_order: isolatedOrderEIP712Values,
|
|
125
|
-
signature: clientParams.signature,
|
|
126
|
-
borrow_margin: clientParams.borrowMargin ?? null
|
|
127
|
-
},
|
|
128
|
-
orderParams: clientParams.order
|
|
129
|
-
};
|
|
130
102
|
}
|
|
131
103
|
/**
|
|
132
104
|
* Builds server payload for the `cancel_orders` execute action. As such, requires a signature to be given
|
|
@@ -216,16 +188,16 @@ var EngineExecuteBuilder = class {
|
|
|
216
188
|
};
|
|
217
189
|
}
|
|
218
190
|
/**
|
|
219
|
-
* Builds server payload for the `
|
|
220
|
-
* @param clientParams Client
|
|
221
|
-
* @returns `
|
|
191
|
+
* Builds server payload for the `mint_nlp` execute action.
|
|
192
|
+
* @param clientParams Client MintNlp params.
|
|
193
|
+
* @returns `mint_nlp` payload
|
|
222
194
|
*/
|
|
223
|
-
async
|
|
195
|
+
async buildMintNlpPayload(clientParams) {
|
|
224
196
|
const nonce = await this.getTxNonceIfNeeded(clientParams);
|
|
225
197
|
const paramsWithNonce = { ...clientParams, nonce };
|
|
226
|
-
const tx = getNadoEIP712Values("
|
|
198
|
+
const tx = getNadoEIP712Values("mint_nlp", paramsWithNonce);
|
|
227
199
|
const signature = await this.getSignatureIfNeeded(
|
|
228
|
-
"
|
|
200
|
+
"mint_nlp",
|
|
229
201
|
paramsWithNonce
|
|
230
202
|
);
|
|
231
203
|
return {
|
|
@@ -235,16 +207,16 @@ var EngineExecuteBuilder = class {
|
|
|
235
207
|
};
|
|
236
208
|
}
|
|
237
209
|
/**
|
|
238
|
-
* Builds server payload for the `
|
|
239
|
-
* @param clientParams Client
|
|
240
|
-
* @returns `
|
|
210
|
+
* Builds server payload for the `burn_nlp` execute action.
|
|
211
|
+
* @param clientParams Client BurnNlp params.
|
|
212
|
+
* @returns `burn_nlp` payload
|
|
241
213
|
*/
|
|
242
|
-
async
|
|
214
|
+
async buildBurnNlpPayload(clientParams) {
|
|
243
215
|
const nonce = await this.getTxNonceIfNeeded(clientParams);
|
|
244
216
|
const paramsWithNonce = { ...clientParams, nonce };
|
|
245
|
-
const tx = getNadoEIP712Values("
|
|
217
|
+
const tx = getNadoEIP712Values("burn_nlp", paramsWithNonce);
|
|
246
218
|
const signature = await this.getSignatureIfNeeded(
|
|
247
|
-
"
|
|
219
|
+
"burn_nlp",
|
|
248
220
|
paramsWithNonce
|
|
249
221
|
);
|
|
250
222
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/EngineExecuteBuilder.ts"],"sourcesContent":["import {\n EIP712IsolatedOrderParams,\n EIP712OrderParams,\n getNadoEIP712Values,\n getOrderNonce,\n SignableRequestType,\n SignableRequestTypeToParams,\n} from '@nadohq/contracts';\nimport { EngineBaseClient } from './EngineBaseClient';\nimport {\n EngineExecuteRequestParamsByType,\n EngineServerExecutePlaceIsolatedOrderPayload,\n EngineServerExecutePlaceOrderPayload,\n EngineServerExecuteRequestByType,\n SignatureParams,\n WithBaseEngineExecuteParams,\n WithSignature,\n} from './types';\n\n/**\n * Builds execute payloads as expected by the server.\n * @param nonce A nonce is computed when one is not provided.\n * @param signature A signature is computed when one is not provided.\n */\nexport class EngineExecuteBuilder {\n readonly engineClient: EngineBaseClient;\n\n constructor(engineClient: EngineBaseClient) {\n this.engineClient = engineClient;\n }\n\n /**\n * Builds server payload for the `liquidate_subaccount` execute action.\n * @param clientParams Client LiquidateSubaccount params.\n * @returns `liquidate_subaccount` payload\n */\n async buildLiquidateSubaccountPayload(\n clientParams: EngineExecuteRequestParamsByType['liquidate_subaccount'],\n ): Promise<EngineServerExecuteRequestByType['liquidate_subaccount']> {\n const nonce = await this.getTxNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const tx = getNadoEIP712Values('liquidate_subaccount', paramsWithNonce);\n const signature = await this.getSignatureIfNeeded(\n 'liquidate_subaccount',\n paramsWithNonce,\n );\n\n return {\n signature,\n tx,\n };\n }\n\n /**\n * Builds server payload for the `withdraw_collateral` execute action.\n * @param clientParams Client WithdrawCollateral params.\n * @returns `liquidate_subaccount` payload\n */\n async buildWithdrawCollateralPayload(\n clientParams: EngineExecuteRequestParamsByType['withdraw_collateral'],\n ): Promise<EngineServerExecuteRequestByType['withdraw_collateral']> {\n const nonce = await this.getTxNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const signature = await this.getSignatureIfNeeded(\n 'withdraw_collateral',\n paramsWithNonce,\n );\n\n const tx = getNadoEIP712Values('withdraw_collateral', paramsWithNonce);\n return {\n signature,\n tx,\n spot_leverage: clientParams.spotLeverage ?? null,\n };\n }\n\n /**\n * Builds server payload for the `place_order` execute action.\n *\n * @param clientParams Client PlaceOrder params.\n * @returns `place_order` payload\n */\n async buildPlaceOrderPayload(\n clientParams: EngineExecuteRequestParamsByType['place_order'],\n ): Promise<EngineServerExecutePlaceOrderPayload> {\n const nonce = this.getOrderNonceIfNeeded(clientParams);\n const orderWithNonce = { ...clientParams.order, nonce };\n\n const signature = await this.getSignatureIfNeeded('place_order', {\n // Gets expected type\n ...clientParams,\n ...orderWithNonce,\n });\n\n return this.buildPlaceOrderPayloadSync({\n ...clientParams,\n order: orderWithNonce,\n signature,\n });\n }\n\n /**\n * Synchronously builds server payload for the `place_order` execute action.\n *\n * @param clientParams Client PlaceOrder params.\n * @returns `place_order` payload\n */\n buildPlaceOrderPayloadSync(\n clientParams: WithSignature<\n EngineExecuteRequestParamsByType['place_order'] & {\n order: EIP712OrderParams;\n }\n >,\n ): EngineServerExecutePlaceOrderPayload {\n const orderEIP712Values = getNadoEIP712Values(\n 'place_order',\n clientParams.order,\n );\n\n return {\n payload: {\n id: clientParams.id ?? null,\n product_id: clientParams.productId,\n order: orderEIP712Values,\n signature: clientParams.signature,\n spot_leverage: clientParams.spotLeverage ?? null,\n },\n orderParams: clientParams.order,\n };\n }\n\n /**\n * Builds server payload for the `place_isolated_order` execute action.\n *\n * @param clientParams Client PlaceIsolatedOrder params.\n * @returns `place_isolated_order` payload\n */\n async buildIsolatedPlaceOrderPayload(\n clientParams: EngineExecuteRequestParamsByType['place_isolated_order'],\n ): Promise<EngineServerExecutePlaceIsolatedOrderPayload> {\n const nonce = this.getOrderNonceIfNeeded(clientParams);\n const orderWithNonce = { ...clientParams.order, nonce };\n\n const signature = await this.getSignatureIfNeeded('place_isolated_order', {\n // Gets expected type\n ...clientParams,\n ...orderWithNonce,\n });\n\n return this.buildPlaceIsolatedOrderPayloadSync({\n ...clientParams,\n order: orderWithNonce,\n signature,\n });\n }\n\n /**\n * Synchronously builds server payload for the `place_isolated_order` execute action.\n *\n * @param clientParams Client PlaceIsolatedOrder params.\n * @returns `place_isolated_order` payload\n */\n buildPlaceIsolatedOrderPayloadSync(\n clientParams: WithSignature<\n EngineExecuteRequestParamsByType['place_isolated_order'] & {\n order: EIP712IsolatedOrderParams;\n }\n >,\n ): EngineServerExecutePlaceIsolatedOrderPayload {\n const isolatedOrderEIP712Values = getNadoEIP712Values(\n 'place_isolated_order',\n clientParams.order,\n );\n\n return {\n payload: {\n id: clientParams.id ?? null,\n product_id: clientParams.productId,\n isolated_order: isolatedOrderEIP712Values,\n signature: clientParams.signature,\n borrow_margin: clientParams.borrowMargin ?? null,\n },\n orderParams: clientParams.order,\n };\n }\n\n /**\n * Builds server payload for the `cancel_orders` execute action. As such, requires a signature to be given\n *\n * @param clientParams Client CancelOrders params.\n * @returns `cancel_orders` payload\n */\n async buildCancelOrdersPayload(\n clientParams: EngineExecuteRequestParamsByType['cancel_orders'],\n ): Promise<EngineServerExecuteRequestByType['cancel_orders']> {\n const nonce = this.getOrderNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n const signature = await this.getSignatureIfNeeded(\n 'cancel_orders',\n paramsWithNonce,\n );\n\n return this.buildCancelOrdersPayloadSync({\n ...paramsWithNonce,\n signature,\n });\n }\n\n /**\n * Synchronously builds server payload for the `cancel_orders` execute action.\n *\n * @param clientParams Client CancelOrders params.\n * @returns `cancel_orders` payload\n */\n buildCancelOrdersPayloadSync(\n clientParams: WithSignature<\n EngineExecuteRequestParamsByType['cancel_orders'] & { nonce: string }\n >,\n ): EngineServerExecuteRequestByType['cancel_orders'] {\n const tx = getNadoEIP712Values('cancel_orders', clientParams);\n\n return {\n tx,\n signature: clientParams.signature,\n };\n }\n\n /**\n * Builds server payload for the `cancel_product_orders` execute action.\n * @param clientParams Client CancelProductOrders params.\n * @returns `cancel_product_orders` payload\n */\n async buildCancelProductOrdersPayload(\n clientParams: EngineExecuteRequestParamsByType['cancel_product_orders'],\n ): Promise<EngineServerExecuteRequestByType['cancel_product_orders']> {\n const nonce = this.getOrderNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const tx = getNadoEIP712Values('cancel_product_orders', paramsWithNonce);\n const signature = await this.getSignatureIfNeeded(\n 'cancel_product_orders',\n paramsWithNonce,\n );\n\n return {\n tx,\n signature,\n };\n }\n\n /**\n * Builds server payload for the `link_signer` execute action.\n *\n * @param clientParams Client LinkSigner params.\n * @returns `link_signer` payload\n */\n async buildLinkSignerPayload(\n clientParams: EngineExecuteRequestParamsByType['link_signer'],\n ): Promise<EngineServerExecuteRequestByType['link_signer']> {\n const nonce = await this.getTxNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const tx = getNadoEIP712Values('link_signer', paramsWithNonce);\n const signature = await this.getSignatureIfNeeded(\n 'link_signer',\n paramsWithNonce,\n );\n\n return {\n tx,\n signature,\n };\n }\n\n /**\n * Builds server payload for the `transfer_quote` execute action.\n *\n * @param clientParams Client TransferQuote params.\n * @returns `transfer_quote` payload\n */\n async buildTransferQuotePayload(\n clientParams: EngineExecuteRequestParamsByType['transfer_quote'],\n ): Promise<EngineServerExecuteRequestByType['transfer_quote']> {\n const nonce = await this.getTxNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const tx = getNadoEIP712Values('transfer_quote', paramsWithNonce);\n const signature = await this.getSignatureIfNeeded(\n 'transfer_quote',\n paramsWithNonce,\n );\n\n return {\n tx,\n signature,\n };\n }\n\n /**\n * Builds server payload for the `mint_vlp` execute action.\n * @param clientParams Client MintVlp params.\n * @returns `mint_vlp` payload\n */\n async buildMintVlpPayload(\n clientParams: EngineExecuteRequestParamsByType['mint_vlp'],\n ): Promise<EngineServerExecuteRequestByType['mint_vlp']> {\n const nonce = await this.getTxNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const tx = getNadoEIP712Values('mint_vlp', paramsWithNonce);\n const signature = await this.getSignatureIfNeeded(\n 'mint_vlp',\n paramsWithNonce,\n );\n\n return {\n signature,\n tx,\n spot_leverage: clientParams.spotLeverage ?? null,\n };\n }\n\n /**\n * Builds server payload for the `burn_vlp` execute action.\n * @param clientParams Client BurnVlp params.\n * @returns `burn_vlp` payload\n */\n async buildBurnVlpPayload(\n clientParams: EngineExecuteRequestParamsByType['burn_vlp'],\n ): Promise<EngineServerExecuteRequestByType['burn_vlp']> {\n const nonce = await this.getTxNonceIfNeeded(clientParams);\n const paramsWithNonce = { ...clientParams, nonce };\n\n const tx = getNadoEIP712Values('burn_vlp', paramsWithNonce);\n const signature = await this.getSignatureIfNeeded(\n 'burn_vlp',\n paramsWithNonce,\n );\n\n return {\n signature,\n tx,\n };\n }\n\n protected async getSignatureIfNeeded<T extends SignableRequestType>(\n requestType: T,\n paramsWithNonce: SignatureParams & SignableRequestTypeToParams[T],\n ) {\n if ('signature' in paramsWithNonce) {\n return paramsWithNonce.signature;\n }\n\n return await this.engineClient.sign(\n requestType,\n paramsWithNonce.verifyingAddr,\n paramsWithNonce.chainId,\n paramsWithNonce,\n );\n }\n\n protected async getTxNonceIfNeeded(\n params: WithBaseEngineExecuteParams<{ subaccountOwner: string }>,\n ) {\n if (params.nonce) {\n return params.nonce;\n }\n return await this.engineClient.getTxNonce(params.subaccountOwner);\n }\n\n protected getOrderNonceIfNeeded(\n params: WithBaseEngineExecuteParams<unknown>,\n ) {\n if (params.nonce) {\n return params.nonce;\n }\n return getOrderNonce();\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/EngineExecuteBuilder.ts"],"sourcesContent":["import {\n EIP712OrderParams,\n getNadoEIP712Values,\n getOrderNonce,\n SignableRequestType,\n SignableRequestTypeToParams,\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 Promise.all(\n clientParams.map(async (orderParams) => {\n const payload = await this.buildPlaceOrderPayload(orderParams);\n return payload.payload;\n }),\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_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":";AAAA;AAAA,EAEE;AAAA,EACA;AAAA,OAGK;AAgBA,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,KAAK,oBAAoB,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,KAAK,oBAAoB,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,oBAAoB;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,QAC5C,eAAe,aAAa,gBAAgB;AAAA,MAC9C;AAAA,MACA,aAAa,aAAa;AAAA,IAC5B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,wBACJ,cAC2D;AAC3D,WAAO,QAAQ;AAAA,MACb,aAAa,IAAI,OAAO,gBAAgB;AACtC,cAAM,UAAU,MAAM,KAAK,uBAAuB,WAAW;AAC7D,eAAO,QAAQ;AAAA,MACjB,CAAC;AAAA,IACH;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,KAAK,oBAAoB,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,KAAK,oBAAoB,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,KAAK,oBAAoB,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,KAAK,oBAAoB,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,KAAK,oBAAoB,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,KAAK,oBAAoB,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,WAAO,cAAc;AAAA,EACvB;AACF;","names":[]}
|
|
@@ -49,16 +49,6 @@ var EngineExecuteClient = class extends import_EngineBaseClient.EngineBaseClient
|
|
|
49
49
|
orderParams: placeOrderPayload.orderParams
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
|
-
async placeIsolatedOrder(params) {
|
|
53
|
-
const placeOrderPayload = await this.payloadBuilder.buildIsolatedPlaceOrderPayload(params);
|
|
54
|
-
return {
|
|
55
|
-
...await this.execute(
|
|
56
|
-
"place_isolated_order",
|
|
57
|
-
placeOrderPayload.payload
|
|
58
|
-
),
|
|
59
|
-
orderParams: placeOrderPayload.orderParams
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
52
|
async cancelOrders(params) {
|
|
63
53
|
return this.execute(
|
|
64
54
|
"cancel_orders",
|
|
@@ -94,16 +84,22 @@ var EngineExecuteClient = class extends import_EngineBaseClient.EngineBaseClient
|
|
|
94
84
|
await this.payloadBuilder.buildTransferQuotePayload(params)
|
|
95
85
|
);
|
|
96
86
|
}
|
|
97
|
-
async
|
|
87
|
+
async mintNlp(params) {
|
|
88
|
+
return this.execute(
|
|
89
|
+
"mint_nlp",
|
|
90
|
+
await this.payloadBuilder.buildMintNlpPayload(params)
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
async burnNlp(params) {
|
|
98
94
|
return this.execute(
|
|
99
|
-
"
|
|
100
|
-
await this.payloadBuilder.
|
|
95
|
+
"burn_nlp",
|
|
96
|
+
await this.payloadBuilder.buildBurnNlpPayload(params)
|
|
101
97
|
);
|
|
102
98
|
}
|
|
103
|
-
async
|
|
99
|
+
async placeOrders(params) {
|
|
104
100
|
return this.execute(
|
|
105
|
-
"
|
|
106
|
-
await this.payloadBuilder.
|
|
101
|
+
"place_orders",
|
|
102
|
+
await this.payloadBuilder.buildPlaceOrdersPayload(params)
|
|
107
103
|
);
|
|
108
104
|
}
|
|
109
105
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/EngineExecuteClient.ts"],"sourcesContent":["import { EngineBaseClient, EngineClientOpts } from './EngineBaseClient';\nimport { EngineExecuteBuilder } from './EngineExecuteBuilder';\nimport {\n EngineExecuteRequestParamsByType,\n
|
|
1
|
+
{"version":3,"sources":["../src/EngineExecuteClient.ts"],"sourcesContent":["import { EngineBaseClient, EngineClientOpts } from './EngineBaseClient';\nimport { EngineExecuteBuilder } from './EngineExecuteBuilder';\nimport {\n EngineExecuteRequestParamsByType,\n EnginePlaceOrderResult,\n} from './types';\n\nexport class EngineExecuteClient extends EngineBaseClient {\n readonly payloadBuilder: EngineExecuteBuilder;\n\n constructor(opts: EngineClientOpts) {\n super(opts);\n this.payloadBuilder = new EngineExecuteBuilder(this);\n }\n\n async liquidateSubaccount(\n params: EngineExecuteRequestParamsByType['liquidate_subaccount'],\n ) {\n return this.execute(\n 'liquidate_subaccount',\n await this.payloadBuilder.buildLiquidateSubaccountPayload(params),\n );\n }\n\n async withdrawCollateral(\n params: EngineExecuteRequestParamsByType['withdraw_collateral'],\n ) {\n return this.execute(\n 'withdraw_collateral',\n await this.payloadBuilder.buildWithdrawCollateralPayload(params),\n );\n }\n\n async placeOrder(\n params: EngineExecuteRequestParamsByType['place_order'],\n ): Promise<EnginePlaceOrderResult> {\n const placeOrderPayload =\n await this.payloadBuilder.buildPlaceOrderPayload(params);\n return {\n ...(await this.execute('place_order', placeOrderPayload.payload)),\n orderParams: placeOrderPayload.orderParams,\n };\n }\n\n async cancelOrders(\n params: EngineExecuteRequestParamsByType['cancel_orders'],\n ) {\n return this.execute(\n 'cancel_orders',\n await this.payloadBuilder.buildCancelOrdersPayload(params),\n );\n }\n\n async cancelAndPlace(\n params: EngineExecuteRequestParamsByType['cancel_and_place'],\n ) {\n const cancelOrdersPayload =\n await this.payloadBuilder.buildCancelOrdersPayload(params.cancelOrders);\n const placeOrderPayload = await this.payloadBuilder.buildPlaceOrderPayload(\n params.placeOrder,\n );\n return this.execute('cancel_and_place', {\n cancel_tx: cancelOrdersPayload.tx,\n cancel_signature: cancelOrdersPayload.signature,\n place_order: placeOrderPayload.payload,\n });\n }\n\n async cancelProductOrders(\n params: EngineExecuteRequestParamsByType['cancel_product_orders'],\n ) {\n return this.execute(\n 'cancel_product_orders',\n await this.payloadBuilder.buildCancelProductOrdersPayload(params),\n );\n }\n\n async linkSigner(params: EngineExecuteRequestParamsByType['link_signer']) {\n return this.execute(\n 'link_signer',\n await this.payloadBuilder.buildLinkSignerPayload(params),\n );\n }\n\n async transferQuote(\n params: EngineExecuteRequestParamsByType['transfer_quote'],\n ) {\n return this.execute(\n 'transfer_quote',\n await this.payloadBuilder.buildTransferQuotePayload(params),\n );\n }\n\n async mintNlp(params: EngineExecuteRequestParamsByType['mint_nlp']) {\n return this.execute(\n 'mint_nlp',\n await this.payloadBuilder.buildMintNlpPayload(params),\n );\n }\n\n async burnNlp(params: EngineExecuteRequestParamsByType['burn_nlp']) {\n return this.execute(\n 'burn_nlp',\n await this.payloadBuilder.buildBurnNlpPayload(params),\n );\n }\n\n async placeOrders(params: EngineExecuteRequestParamsByType['place_orders']) {\n return this.execute(\n 'place_orders',\n await this.payloadBuilder.buildPlaceOrdersPayload(params),\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAmD;AACnD,kCAAqC;AAM9B,IAAM,sBAAN,cAAkC,yCAAiB;AAAA,EAGxD,YAAY,MAAwB;AAClC,UAAM,IAAI;AACV,SAAK,iBAAiB,IAAI,iDAAqB,IAAI;AAAA,EACrD;AAAA,EAEA,MAAM,oBACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,gCAAgC,MAAM;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,MAAM,mBACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,+BAA+B,MAAM;AAAA,IACjE;AAAA,EACF;AAAA,EAEA,MAAM,WACJ,QACiC;AACjC,UAAM,oBACJ,MAAM,KAAK,eAAe,uBAAuB,MAAM;AACzD,WAAO;AAAA,MACL,GAAI,MAAM,KAAK,QAAQ,eAAe,kBAAkB,OAAO;AAAA,MAC/D,aAAa,kBAAkB;AAAA,IACjC;AAAA,EACF;AAAA,EAEA,MAAM,aACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,yBAAyB,MAAM;AAAA,IAC3D;AAAA,EACF;AAAA,EAEA,MAAM,eACJ,QACA;AACA,UAAM,sBACJ,MAAM,KAAK,eAAe,yBAAyB,OAAO,YAAY;AACxE,UAAM,oBAAoB,MAAM,KAAK,eAAe;AAAA,MAClD,OAAO;AAAA,IACT;AACA,WAAO,KAAK,QAAQ,oBAAoB;AAAA,MACtC,WAAW,oBAAoB;AAAA,MAC/B,kBAAkB,oBAAoB;AAAA,MACtC,aAAa,kBAAkB;AAAA,IACjC,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,oBACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,gCAAgC,MAAM;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,MAAM,WAAW,QAAyD;AACxE,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,uBAAuB,MAAM;AAAA,IACzD;AAAA,EACF;AAAA,EAEA,MAAM,cACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,0BAA0B,MAAM;AAAA,IAC5D;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,QAAsD;AAClE,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,oBAAoB,MAAM;AAAA,IACtD;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,QAAsD;AAClE,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,oBAAoB,MAAM;AAAA,IACtD;AAAA,EACF;AAAA,EAEA,MAAM,YAAY,QAA0D;AAC1E,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,wBAAwB,MAAM;AAAA,IAC1D;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { EngineExecuteRequestParamsByType, EnginePlaceOrderResult
|
|
1
|
+
import { EngineExecuteRequestParamsByType, EnginePlaceOrderResult } from './types/clientExecuteTypes.cjs';
|
|
2
2
|
import { EngineServerExecuteSuccessResult } from './types/serverExecuteTypes.cjs';
|
|
3
3
|
import { EngineBaseClient, EngineClientOpts } from './EngineBaseClient.cjs';
|
|
4
4
|
import { EngineExecuteBuilder } from './EngineExecuteBuilder.cjs';
|
|
5
|
-
import '@nadohq/
|
|
5
|
+
import '@nadohq/shared';
|
|
6
6
|
import './types/serverQueryTypes.cjs';
|
|
7
7
|
import './types/serverQueryModelTypes.cjs';
|
|
8
8
|
import 'axios';
|
|
9
9
|
import './types/clientQueryTypes.cjs';
|
|
10
|
-
import '@nadohq/utils';
|
|
11
10
|
|
|
12
11
|
declare class EngineExecuteClient extends EngineBaseClient {
|
|
13
12
|
readonly payloadBuilder: EngineExecuteBuilder;
|
|
@@ -15,14 +14,14 @@ declare class EngineExecuteClient extends EngineBaseClient {
|
|
|
15
14
|
liquidateSubaccount(params: EngineExecuteRequestParamsByType['liquidate_subaccount']): Promise<EngineServerExecuteSuccessResult<"liquidate_subaccount">>;
|
|
16
15
|
withdrawCollateral(params: EngineExecuteRequestParamsByType['withdraw_collateral']): Promise<EngineServerExecuteSuccessResult<"withdraw_collateral">>;
|
|
17
16
|
placeOrder(params: EngineExecuteRequestParamsByType['place_order']): Promise<EnginePlaceOrderResult>;
|
|
18
|
-
placeIsolatedOrder(params: EngineExecuteRequestParamsByType['place_isolated_order']): Promise<EnginePlaceIsolatedOrderResult>;
|
|
19
17
|
cancelOrders(params: EngineExecuteRequestParamsByType['cancel_orders']): Promise<EngineServerExecuteSuccessResult<"cancel_orders">>;
|
|
20
18
|
cancelAndPlace(params: EngineExecuteRequestParamsByType['cancel_and_place']): Promise<EngineServerExecuteSuccessResult<"cancel_and_place">>;
|
|
21
19
|
cancelProductOrders(params: EngineExecuteRequestParamsByType['cancel_product_orders']): Promise<EngineServerExecuteSuccessResult<"cancel_product_orders">>;
|
|
22
20
|
linkSigner(params: EngineExecuteRequestParamsByType['link_signer']): Promise<EngineServerExecuteSuccessResult<"link_signer">>;
|
|
23
21
|
transferQuote(params: EngineExecuteRequestParamsByType['transfer_quote']): Promise<EngineServerExecuteSuccessResult<"transfer_quote">>;
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
mintNlp(params: EngineExecuteRequestParamsByType['mint_nlp']): Promise<EngineServerExecuteSuccessResult<"mint_nlp">>;
|
|
23
|
+
burnNlp(params: EngineExecuteRequestParamsByType['burn_nlp']): Promise<EngineServerExecuteSuccessResult<"burn_nlp">>;
|
|
24
|
+
placeOrders(params: EngineExecuteRequestParamsByType['place_orders']): Promise<EngineServerExecuteSuccessResult<"place_orders">>;
|
|
26
25
|
}
|
|
27
26
|
|
|
28
27
|
export { EngineExecuteClient };
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { EngineExecuteRequestParamsByType, EnginePlaceOrderResult
|
|
1
|
+
import { EngineExecuteRequestParamsByType, EnginePlaceOrderResult } from './types/clientExecuteTypes.js';
|
|
2
2
|
import { EngineServerExecuteSuccessResult } from './types/serverExecuteTypes.js';
|
|
3
3
|
import { EngineBaseClient, EngineClientOpts } from './EngineBaseClient.js';
|
|
4
4
|
import { EngineExecuteBuilder } from './EngineExecuteBuilder.js';
|
|
5
|
-
import '@nadohq/
|
|
5
|
+
import '@nadohq/shared';
|
|
6
6
|
import './types/serverQueryTypes.js';
|
|
7
7
|
import './types/serverQueryModelTypes.js';
|
|
8
8
|
import 'axios';
|
|
9
9
|
import './types/clientQueryTypes.js';
|
|
10
|
-
import '@nadohq/utils';
|
|
11
10
|
|
|
12
11
|
declare class EngineExecuteClient extends EngineBaseClient {
|
|
13
12
|
readonly payloadBuilder: EngineExecuteBuilder;
|
|
@@ -15,14 +14,14 @@ declare class EngineExecuteClient extends EngineBaseClient {
|
|
|
15
14
|
liquidateSubaccount(params: EngineExecuteRequestParamsByType['liquidate_subaccount']): Promise<EngineServerExecuteSuccessResult<"liquidate_subaccount">>;
|
|
16
15
|
withdrawCollateral(params: EngineExecuteRequestParamsByType['withdraw_collateral']): Promise<EngineServerExecuteSuccessResult<"withdraw_collateral">>;
|
|
17
16
|
placeOrder(params: EngineExecuteRequestParamsByType['place_order']): Promise<EnginePlaceOrderResult>;
|
|
18
|
-
placeIsolatedOrder(params: EngineExecuteRequestParamsByType['place_isolated_order']): Promise<EnginePlaceIsolatedOrderResult>;
|
|
19
17
|
cancelOrders(params: EngineExecuteRequestParamsByType['cancel_orders']): Promise<EngineServerExecuteSuccessResult<"cancel_orders">>;
|
|
20
18
|
cancelAndPlace(params: EngineExecuteRequestParamsByType['cancel_and_place']): Promise<EngineServerExecuteSuccessResult<"cancel_and_place">>;
|
|
21
19
|
cancelProductOrders(params: EngineExecuteRequestParamsByType['cancel_product_orders']): Promise<EngineServerExecuteSuccessResult<"cancel_product_orders">>;
|
|
22
20
|
linkSigner(params: EngineExecuteRequestParamsByType['link_signer']): Promise<EngineServerExecuteSuccessResult<"link_signer">>;
|
|
23
21
|
transferQuote(params: EngineExecuteRequestParamsByType['transfer_quote']): Promise<EngineServerExecuteSuccessResult<"transfer_quote">>;
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
mintNlp(params: EngineExecuteRequestParamsByType['mint_nlp']): Promise<EngineServerExecuteSuccessResult<"mint_nlp">>;
|
|
23
|
+
burnNlp(params: EngineExecuteRequestParamsByType['burn_nlp']): Promise<EngineServerExecuteSuccessResult<"burn_nlp">>;
|
|
24
|
+
placeOrders(params: EngineExecuteRequestParamsByType['place_orders']): Promise<EngineServerExecuteSuccessResult<"place_orders">>;
|
|
26
25
|
}
|
|
27
26
|
|
|
28
27
|
export { EngineExecuteClient };
|
|
@@ -25,16 +25,6 @@ var EngineExecuteClient = class extends EngineBaseClient {
|
|
|
25
25
|
orderParams: placeOrderPayload.orderParams
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
-
async placeIsolatedOrder(params) {
|
|
29
|
-
const placeOrderPayload = await this.payloadBuilder.buildIsolatedPlaceOrderPayload(params);
|
|
30
|
-
return {
|
|
31
|
-
...await this.execute(
|
|
32
|
-
"place_isolated_order",
|
|
33
|
-
placeOrderPayload.payload
|
|
34
|
-
),
|
|
35
|
-
orderParams: placeOrderPayload.orderParams
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
28
|
async cancelOrders(params) {
|
|
39
29
|
return this.execute(
|
|
40
30
|
"cancel_orders",
|
|
@@ -70,16 +60,22 @@ var EngineExecuteClient = class extends EngineBaseClient {
|
|
|
70
60
|
await this.payloadBuilder.buildTransferQuotePayload(params)
|
|
71
61
|
);
|
|
72
62
|
}
|
|
73
|
-
async
|
|
63
|
+
async mintNlp(params) {
|
|
64
|
+
return this.execute(
|
|
65
|
+
"mint_nlp",
|
|
66
|
+
await this.payloadBuilder.buildMintNlpPayload(params)
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
async burnNlp(params) {
|
|
74
70
|
return this.execute(
|
|
75
|
-
"
|
|
76
|
-
await this.payloadBuilder.
|
|
71
|
+
"burn_nlp",
|
|
72
|
+
await this.payloadBuilder.buildBurnNlpPayload(params)
|
|
77
73
|
);
|
|
78
74
|
}
|
|
79
|
-
async
|
|
75
|
+
async placeOrders(params) {
|
|
80
76
|
return this.execute(
|
|
81
|
-
"
|
|
82
|
-
await this.payloadBuilder.
|
|
77
|
+
"place_orders",
|
|
78
|
+
await this.payloadBuilder.buildPlaceOrdersPayload(params)
|
|
83
79
|
);
|
|
84
80
|
}
|
|
85
81
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/EngineExecuteClient.ts"],"sourcesContent":["import { EngineBaseClient, EngineClientOpts } from './EngineBaseClient';\nimport { EngineExecuteBuilder } from './EngineExecuteBuilder';\nimport {\n EngineExecuteRequestParamsByType,\n
|
|
1
|
+
{"version":3,"sources":["../src/EngineExecuteClient.ts"],"sourcesContent":["import { EngineBaseClient, EngineClientOpts } from './EngineBaseClient';\nimport { EngineExecuteBuilder } from './EngineExecuteBuilder';\nimport {\n EngineExecuteRequestParamsByType,\n EnginePlaceOrderResult,\n} from './types';\n\nexport class EngineExecuteClient extends EngineBaseClient {\n readonly payloadBuilder: EngineExecuteBuilder;\n\n constructor(opts: EngineClientOpts) {\n super(opts);\n this.payloadBuilder = new EngineExecuteBuilder(this);\n }\n\n async liquidateSubaccount(\n params: EngineExecuteRequestParamsByType['liquidate_subaccount'],\n ) {\n return this.execute(\n 'liquidate_subaccount',\n await this.payloadBuilder.buildLiquidateSubaccountPayload(params),\n );\n }\n\n async withdrawCollateral(\n params: EngineExecuteRequestParamsByType['withdraw_collateral'],\n ) {\n return this.execute(\n 'withdraw_collateral',\n await this.payloadBuilder.buildWithdrawCollateralPayload(params),\n );\n }\n\n async placeOrder(\n params: EngineExecuteRequestParamsByType['place_order'],\n ): Promise<EnginePlaceOrderResult> {\n const placeOrderPayload =\n await this.payloadBuilder.buildPlaceOrderPayload(params);\n return {\n ...(await this.execute('place_order', placeOrderPayload.payload)),\n orderParams: placeOrderPayload.orderParams,\n };\n }\n\n async cancelOrders(\n params: EngineExecuteRequestParamsByType['cancel_orders'],\n ) {\n return this.execute(\n 'cancel_orders',\n await this.payloadBuilder.buildCancelOrdersPayload(params),\n );\n }\n\n async cancelAndPlace(\n params: EngineExecuteRequestParamsByType['cancel_and_place'],\n ) {\n const cancelOrdersPayload =\n await this.payloadBuilder.buildCancelOrdersPayload(params.cancelOrders);\n const placeOrderPayload = await this.payloadBuilder.buildPlaceOrderPayload(\n params.placeOrder,\n );\n return this.execute('cancel_and_place', {\n cancel_tx: cancelOrdersPayload.tx,\n cancel_signature: cancelOrdersPayload.signature,\n place_order: placeOrderPayload.payload,\n });\n }\n\n async cancelProductOrders(\n params: EngineExecuteRequestParamsByType['cancel_product_orders'],\n ) {\n return this.execute(\n 'cancel_product_orders',\n await this.payloadBuilder.buildCancelProductOrdersPayload(params),\n );\n }\n\n async linkSigner(params: EngineExecuteRequestParamsByType['link_signer']) {\n return this.execute(\n 'link_signer',\n await this.payloadBuilder.buildLinkSignerPayload(params),\n );\n }\n\n async transferQuote(\n params: EngineExecuteRequestParamsByType['transfer_quote'],\n ) {\n return this.execute(\n 'transfer_quote',\n await this.payloadBuilder.buildTransferQuotePayload(params),\n );\n }\n\n async mintNlp(params: EngineExecuteRequestParamsByType['mint_nlp']) {\n return this.execute(\n 'mint_nlp',\n await this.payloadBuilder.buildMintNlpPayload(params),\n );\n }\n\n async burnNlp(params: EngineExecuteRequestParamsByType['burn_nlp']) {\n return this.execute(\n 'burn_nlp',\n await this.payloadBuilder.buildBurnNlpPayload(params),\n );\n }\n\n async placeOrders(params: EngineExecuteRequestParamsByType['place_orders']) {\n return this.execute(\n 'place_orders',\n await this.payloadBuilder.buildPlaceOrdersPayload(params),\n );\n }\n}\n"],"mappings":";AAAA,SAAS,wBAA0C;AACnD,SAAS,4BAA4B;AAM9B,IAAM,sBAAN,cAAkC,iBAAiB;AAAA,EAGxD,YAAY,MAAwB;AAClC,UAAM,IAAI;AACV,SAAK,iBAAiB,IAAI,qBAAqB,IAAI;AAAA,EACrD;AAAA,EAEA,MAAM,oBACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,gCAAgC,MAAM;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,MAAM,mBACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,+BAA+B,MAAM;AAAA,IACjE;AAAA,EACF;AAAA,EAEA,MAAM,WACJ,QACiC;AACjC,UAAM,oBACJ,MAAM,KAAK,eAAe,uBAAuB,MAAM;AACzD,WAAO;AAAA,MACL,GAAI,MAAM,KAAK,QAAQ,eAAe,kBAAkB,OAAO;AAAA,MAC/D,aAAa,kBAAkB;AAAA,IACjC;AAAA,EACF;AAAA,EAEA,MAAM,aACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,yBAAyB,MAAM;AAAA,IAC3D;AAAA,EACF;AAAA,EAEA,MAAM,eACJ,QACA;AACA,UAAM,sBACJ,MAAM,KAAK,eAAe,yBAAyB,OAAO,YAAY;AACxE,UAAM,oBAAoB,MAAM,KAAK,eAAe;AAAA,MAClD,OAAO;AAAA,IACT;AACA,WAAO,KAAK,QAAQ,oBAAoB;AAAA,MACtC,WAAW,oBAAoB;AAAA,MAC/B,kBAAkB,oBAAoB;AAAA,MACtC,aAAa,kBAAkB;AAAA,IACjC,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,oBACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,gCAAgC,MAAM;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,MAAM,WAAW,QAAyD;AACxE,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,uBAAuB,MAAM;AAAA,IACzD;AAAA,EACF;AAAA,EAEA,MAAM,cACJ,QACA;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,0BAA0B,MAAM;AAAA,IAC5D;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,QAAsD;AAClE,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,oBAAoB,MAAM;AAAA,IACtD;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,QAAsD;AAClE,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,oBAAoB,MAAM;AAAA,IACtD;AAAA,EACF;AAAA,EAEA,MAAM,YAAY,QAA0D;AAC1E,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM,KAAK,eAAe,wBAAwB,MAAM;AAAA,IAC1D;AAAA,EACF;AACF;","names":[]}
|