@nadohq/client 0.1.0-alpha.4 → 0.1.0-alpha.40
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/apis/base.cjs.map +1 -1
- package/dist/apis/base.js.map +1 -1
- package/dist/apis/market/MarketExecuteAPI.cjs +45 -0
- package/dist/apis/market/MarketExecuteAPI.cjs.map +1 -1
- package/dist/apis/market/MarketExecuteAPI.d.cts +15 -4
- package/dist/apis/market/MarketExecuteAPI.d.ts +15 -4
- package/dist/apis/market/MarketExecuteAPI.js +45 -0
- package/dist/apis/market/MarketExecuteAPI.js.map +1 -1
- package/dist/apis/market/index.d.cts +1 -1
- package/dist/apis/market/index.d.ts +1 -1
- package/dist/apis/market/types.cjs.map +1 -1
- package/dist/apis/market/types.d.cts +9 -1
- package/dist/apis/market/types.d.ts +9 -1
- package/dist/apis/spot/BaseSpotAPI.cjs +1 -2
- package/dist/apis/spot/BaseSpotAPI.cjs.map +1 -1
- package/dist/apis/spot/BaseSpotAPI.js +4 -2
- package/dist/apis/spot/BaseSpotAPI.js.map +1 -1
- package/dist/apis/spot/SpotExecuteAPI.cjs +2 -3
- package/dist/apis/spot/SpotExecuteAPI.cjs.map +1 -1
- package/dist/apis/spot/SpotExecuteAPI.js +3 -2
- package/dist/apis/spot/SpotExecuteAPI.js.map +1 -1
- package/dist/apis/subaccount/index.cjs +1 -2
- package/dist/apis/subaccount/index.cjs.map +1 -1
- package/dist/apis/subaccount/index.js +4 -2
- package/dist/apis/subaccount/index.js.map +1 -1
- package/dist/apis/subaccount/types.cjs.map +1 -1
- package/dist/apis/subaccount/types.d.cts +1 -1
- package/dist/apis/subaccount/types.d.ts +1 -1
- package/dist/apis/ws/WebSocketExecuteAPI.cjs.map +1 -1
- package/dist/apis/ws/WebSocketExecuteAPI.js.map +1 -1
- package/dist/apis/ws/index.d.cts +1 -1
- package/dist/apis/ws/index.d.ts +1 -1
- package/dist/context.cjs +1 -1
- package/dist/context.cjs.map +1 -1
- package/dist/context.d.cts +1 -1
- package/dist/context.d.ts +1 -1
- package/dist/context.js +4 -4
- package/dist/context.js.map +1 -1
- package/dist/createNadoClient.d.cts +1 -1
- package/dist/createNadoClient.d.ts +1 -1
- package/dist/index.cjs +4 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +10 -6
- package/src/apis/base.ts +1 -2
- package/src/apis/market/MarketExecuteAPI.ts +52 -0
- package/src/apis/market/types.ts +10 -0
- package/src/apis/spot/BaseSpotAPI.ts +5 -3
- package/src/apis/spot/SpotExecuteAPI.ts +2 -1
- package/src/apis/subaccount/index.ts +4 -2
- package/src/apis/subaccount/types.ts +1 -1
- package/src/apis/ws/WebSocketExecuteAPI.ts +1 -1
- package/src/context.ts +5 -5
- package/src/index.ts +2 -2
package/dist/apis/base.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/apis/base.ts"],"sourcesContent":["import { WithContracts } from '@nadohq/shared';\
|
|
1
|
+
{"version":3,"sources":["../../src/apis/base.ts"],"sourcesContent":["import { WalletNotProvidedError, WithContracts } from '@nadohq/shared';\n\nimport { NadoClientContext } from '../context';\n\nexport class BaseNadoAPI {\n readonly context: NadoClientContext;\n\n constructor(context: NadoClientContext) {\n this.context = context;\n }\n\n protected getWalletClientAddress() {\n if (!this.context.walletClient) {\n throw new WalletNotProvidedError();\n }\n return this.context.walletClient.account.address;\n }\n\n protected getWalletClientChainIdIfNeeded(params: {\n chainId?: number;\n }): number {\n if (params.chainId) {\n return params.chainId;\n }\n if (!this.context.walletClient) {\n throw new WalletNotProvidedError();\n }\n return this.context.walletClient.chain.id;\n }\n\n protected getEndpointAddress() {\n return this.context.contractAddresses.endpoint;\n }\n\n protected getSubaccountOwnerIfNeeded(params: {\n subaccountOwner?: string;\n }): string {\n return params.subaccountOwner ?? this.getWalletClientAddress();\n }\n\n protected paramsWithContracts<T>(params: T): WithContracts<T> {\n return {\n ...params,\n ...this.context.contracts,\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAsD;AAI/C,IAAM,cAAN,MAAkB;AAAA,EAGvB,YAAY,SAA4B;AACtC,SAAK,UAAU;AAAA,EACjB;AAAA,EAEU,yBAAyB;AACjC,QAAI,CAAC,KAAK,QAAQ,cAAc;AAC9B,YAAM,IAAI,qCAAuB;AAAA,IACnC;AACA,WAAO,KAAK,QAAQ,aAAa,QAAQ;AAAA,EAC3C;AAAA,EAEU,+BAA+B,QAE9B;AACT,QAAI,OAAO,SAAS;AAClB,aAAO,OAAO;AAAA,IAChB;AACA,QAAI,CAAC,KAAK,QAAQ,cAAc;AAC9B,YAAM,IAAI,qCAAuB;AAAA,IACnC;AACA,WAAO,KAAK,QAAQ,aAAa,MAAM;AAAA,EACzC;AAAA,EAEU,qBAAqB;AAC7B,WAAO,KAAK,QAAQ,kBAAkB;AAAA,EACxC;AAAA,EAEU,2BAA2B,QAE1B;AACT,WAAO,OAAO,mBAAmB,KAAK,uBAAuB;AAAA,EAC/D;AAAA,EAEU,oBAAuB,QAA6B;AAC5D,WAAO;AAAA,MACL,GAAG;AAAA,MACH,GAAG,KAAK,QAAQ;AAAA,IAClB;AAAA,EACF;AACF;","names":[]}
|
package/dist/apis/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/apis/base.ts"],"sourcesContent":["import { WithContracts } from '@nadohq/shared';\
|
|
1
|
+
{"version":3,"sources":["../../src/apis/base.ts"],"sourcesContent":["import { WalletNotProvidedError, WithContracts } from '@nadohq/shared';\n\nimport { NadoClientContext } from '../context';\n\nexport class BaseNadoAPI {\n readonly context: NadoClientContext;\n\n constructor(context: NadoClientContext) {\n this.context = context;\n }\n\n protected getWalletClientAddress() {\n if (!this.context.walletClient) {\n throw new WalletNotProvidedError();\n }\n return this.context.walletClient.account.address;\n }\n\n protected getWalletClientChainIdIfNeeded(params: {\n chainId?: number;\n }): number {\n if (params.chainId) {\n return params.chainId;\n }\n if (!this.context.walletClient) {\n throw new WalletNotProvidedError();\n }\n return this.context.walletClient.chain.id;\n }\n\n protected getEndpointAddress() {\n return this.context.contractAddresses.endpoint;\n }\n\n protected getSubaccountOwnerIfNeeded(params: {\n subaccountOwner?: string;\n }): string {\n return params.subaccountOwner ?? this.getWalletClientAddress();\n }\n\n protected paramsWithContracts<T>(params: T): WithContracts<T> {\n return {\n ...params,\n ...this.context.contracts,\n };\n }\n}\n"],"mappings":";AAAA,SAAS,8BAA6C;AAI/C,IAAM,cAAN,MAAkB;AAAA,EAGvB,YAAY,SAA4B;AACtC,SAAK,UAAU;AAAA,EACjB;AAAA,EAEU,yBAAyB;AACjC,QAAI,CAAC,KAAK,QAAQ,cAAc;AAC9B,YAAM,IAAI,uBAAuB;AAAA,IACnC;AACA,WAAO,KAAK,QAAQ,aAAa,QAAQ;AAAA,EAC3C;AAAA,EAEU,+BAA+B,QAE9B;AACT,QAAI,OAAO,SAAS;AAClB,aAAO,OAAO;AAAA,IAChB;AACA,QAAI,CAAC,KAAK,QAAQ,cAAc;AAC9B,YAAM,IAAI,uBAAuB;AAAA,IACnC;AACA,WAAO,KAAK,QAAQ,aAAa,MAAM;AAAA,EACzC;AAAA,EAEU,qBAAqB;AAC7B,WAAO,KAAK,QAAQ,kBAAkB;AAAA,EACxC;AAAA,EAEU,2BAA2B,QAE1B;AACT,WAAO,OAAO,mBAAmB,KAAK,uBAAuB;AAAA,EAC/D;AAAA,EAEU,oBAAuB,QAA6B;AAC5D,WAAO;AAAA,MACL,GAAG;AAAA,MACH,GAAG,KAAK,QAAQ;AAAA,IAClB;AAAA,EACF;AACF;","names":[]}
|
|
@@ -45,6 +45,30 @@ var MarketExecuteAPI = class extends import_base.BaseNadoAPI {
|
|
|
45
45
|
nonce
|
|
46
46
|
});
|
|
47
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Places multiple orders through the engine
|
|
50
|
+
* @param params
|
|
51
|
+
*/
|
|
52
|
+
async placeOrders(params) {
|
|
53
|
+
return this.context.engineClient.placeOrders({
|
|
54
|
+
orders: params.orders.map((orderParams) => {
|
|
55
|
+
const { id, productId, order, nonce, spotLeverage } = orderParams;
|
|
56
|
+
return {
|
|
57
|
+
id,
|
|
58
|
+
order: {
|
|
59
|
+
...order,
|
|
60
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(order)
|
|
61
|
+
},
|
|
62
|
+
chainId: this.getWalletClientChainIdIfNeeded(orderParams),
|
|
63
|
+
verifyingAddr: (0, import_shared.getOrderVerifyingAddress)(productId),
|
|
64
|
+
productId,
|
|
65
|
+
spotLeverage,
|
|
66
|
+
nonce
|
|
67
|
+
};
|
|
68
|
+
}),
|
|
69
|
+
stopOnFailure: params.stopOnFailure
|
|
70
|
+
});
|
|
71
|
+
}
|
|
48
72
|
/**
|
|
49
73
|
* Cancels orders through the engine
|
|
50
74
|
* @param params
|
|
@@ -114,6 +138,27 @@ var MarketExecuteAPI = class extends import_base.BaseNadoAPI {
|
|
|
114
138
|
}
|
|
115
139
|
});
|
|
116
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Places multiple trigger orders through the trigger service
|
|
143
|
+
* @param params
|
|
144
|
+
*/
|
|
145
|
+
async placeTriggerOrders(params) {
|
|
146
|
+
return this.context.triggerClient.placeTriggerOrders({
|
|
147
|
+
orders: params.orders.map((orderParams) => {
|
|
148
|
+
const { productId, order } = orderParams;
|
|
149
|
+
return {
|
|
150
|
+
...orderParams,
|
|
151
|
+
chainId: this.getWalletClientChainIdIfNeeded(orderParams),
|
|
152
|
+
verifyingAddr: (0, import_shared.getOrderVerifyingAddress)(productId),
|
|
153
|
+
order: {
|
|
154
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(order),
|
|
155
|
+
...order
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
}),
|
|
159
|
+
stopOnFailure: params.stopOnFailure
|
|
160
|
+
});
|
|
161
|
+
}
|
|
117
162
|
/**
|
|
118
163
|
* Cancels all trigger orders for provided digests through the trigger service.
|
|
119
164
|
* @param params
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/apis/market/MarketExecuteAPI.ts"],"sourcesContent":["import { getOrderVerifyingAddress } from '@nadohq/shared';\nimport { BaseNadoAPI } from '../base';\nimport {\n CancelAndPlaceOrderParams,\n CancelOrdersParams,\n CancelProductOrdersParams,\n CancelTriggerOrdersParams,\n CancelTriggerProductOrdersParams,\n PlaceOrderParams,\n PlaceTriggerOrderParams,\n} from './types';\n\nexport class MarketExecuteAPI extends BaseNadoAPI {\n /**\n * Places an order through the engine\n * @param params\n */\n async placeOrder(params: PlaceOrderParams) {\n const { id: orderId, productId, order, nonce } = params;\n\n return this.context.engineClient.placeOrder({\n id: orderId,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n productId,\n spotLeverage: params.spotLeverage,\n nonce,\n });\n }\n\n /**\n * Cancels orders through the engine\n * @param params\n */\n async cancelOrders(params: CancelOrdersParams) {\n return this.context.engineClient.cancelOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels orders through the engine and places a new one\n * @param params\n */\n async cancelAndPlace(params: CancelAndPlaceOrderParams) {\n const { productId, order, nonce, spotLeverage } = params.placeOrder;\n const subaccountOwner = this.getSubaccountOwnerIfNeeded(\n params.cancelOrders,\n );\n const chainId = this.getWalletClientChainIdIfNeeded(params.cancelOrders);\n\n return this.context.engineClient.cancelAndPlace({\n cancelOrders: {\n ...params.cancelOrders,\n subaccountOwner,\n verifyingAddr:\n params.cancelOrders.verifyingAddr ?? this.getEndpointAddress(),\n chainId,\n },\n placeOrder: {\n order: {\n ...order,\n subaccountOwner,\n },\n verifyingAddr: getOrderVerifyingAddress(productId),\n chainId,\n productId,\n spotLeverage,\n nonce,\n },\n });\n }\n\n /**\n * Cancels all orders for provided products through the engine.\n * @param params\n */\n async cancelProductOrders(params: CancelProductOrdersParams) {\n return this.context.engineClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Places a trigger order through the trigger service\n * @param params\n */\n async placeTriggerOrder(params: PlaceTriggerOrderParams) {\n return this.context.triggerClient.placeTriggerOrder({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n ...params.order,\n },\n });\n }\n\n /**\n * Cancels all trigger orders for provided digests through the trigger service.\n * @param params\n */\n async cancelTriggerOrders(params: CancelTriggerOrdersParams) {\n return this.context.triggerClient.cancelTriggerOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels all trigger orders for provided products through the trigger service.\n * @param params\n */\n async cancelTriggerProductOrders(params: CancelTriggerProductOrdersParams) {\n return this.context.triggerClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
1
|
+
{"version":3,"sources":["../../../src/apis/market/MarketExecuteAPI.ts"],"sourcesContent":["import { EngineServerExecuteSuccessResult } from '@nadohq/engine-client';\nimport { getOrderVerifyingAddress } from '@nadohq/shared';\nimport { BaseNadoAPI } from '../base';\nimport {\n CancelAndPlaceOrderParams,\n CancelOrdersParams,\n CancelProductOrdersParams,\n CancelTriggerOrdersParams,\n CancelTriggerProductOrdersParams,\n PlaceOrderParams,\n PlaceOrdersParams,\n PlaceTriggerOrderParams,\n PlaceTriggerOrdersParams,\n} from './types';\n\nexport class MarketExecuteAPI extends BaseNadoAPI {\n /**\n * Places an order through the engine\n * @param params\n */\n async placeOrder(params: PlaceOrderParams) {\n const { id: orderId, productId, order, nonce } = params;\n\n return this.context.engineClient.placeOrder({\n id: orderId,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n productId,\n spotLeverage: params.spotLeverage,\n nonce,\n });\n }\n\n /**\n * Places multiple orders through the engine\n * @param params\n */\n async placeOrders(\n params: PlaceOrdersParams,\n ): Promise<EngineServerExecuteSuccessResult<'place_orders'>> {\n return this.context.engineClient.placeOrders({\n orders: params.orders.map((orderParams) => {\n const { id, productId, order, nonce, spotLeverage } = orderParams;\n return {\n id,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(orderParams),\n verifyingAddr: getOrderVerifyingAddress(productId),\n productId,\n spotLeverage,\n nonce,\n };\n }),\n stopOnFailure: params.stopOnFailure,\n });\n }\n\n /**\n * Cancels orders through the engine\n * @param params\n */\n async cancelOrders(params: CancelOrdersParams) {\n return this.context.engineClient.cancelOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels orders through the engine and places a new one\n * @param params\n */\n async cancelAndPlace(params: CancelAndPlaceOrderParams) {\n const { productId, order, nonce, spotLeverage } = params.placeOrder;\n const subaccountOwner = this.getSubaccountOwnerIfNeeded(\n params.cancelOrders,\n );\n const chainId = this.getWalletClientChainIdIfNeeded(params.cancelOrders);\n\n return this.context.engineClient.cancelAndPlace({\n cancelOrders: {\n ...params.cancelOrders,\n subaccountOwner,\n verifyingAddr:\n params.cancelOrders.verifyingAddr ?? this.getEndpointAddress(),\n chainId,\n },\n placeOrder: {\n order: {\n ...order,\n subaccountOwner,\n },\n verifyingAddr: getOrderVerifyingAddress(productId),\n chainId,\n productId,\n spotLeverage,\n nonce,\n },\n });\n }\n\n /**\n * Cancels all orders for provided products through the engine.\n * @param params\n */\n async cancelProductOrders(params: CancelProductOrdersParams) {\n return this.context.engineClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Places a trigger order through the trigger service\n * @param params\n */\n async placeTriggerOrder(params: PlaceTriggerOrderParams) {\n return this.context.triggerClient.placeTriggerOrder({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n ...params.order,\n },\n });\n }\n\n /**\n * Places multiple trigger orders through the trigger service\n * @param params\n */\n async placeTriggerOrders(params: PlaceTriggerOrdersParams) {\n return this.context.triggerClient.placeTriggerOrders({\n orders: params.orders.map((orderParams) => {\n const { productId, order } = orderParams;\n return {\n ...orderParams,\n chainId: this.getWalletClientChainIdIfNeeded(orderParams),\n verifyingAddr: getOrderVerifyingAddress(productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(order),\n ...order,\n },\n };\n }),\n stopOnFailure: params.stopOnFailure,\n });\n }\n\n /**\n * Cancels all trigger orders for provided digests through the trigger service.\n * @param params\n */\n async cancelTriggerOrders(params: CancelTriggerOrdersParams) {\n return this.context.triggerClient.cancelTriggerOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels all trigger orders for provided products through the trigger service.\n * @param params\n */\n async cancelTriggerProductOrders(params: CancelTriggerProductOrdersParams) {\n return this.context.triggerClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as _nadohq_trigger_client from '@nadohq/trigger-client';
|
|
2
2
|
import * as _nadohq_engine_client from '@nadohq/engine-client';
|
|
3
|
+
import { EngineServerExecuteSuccessResult } from '@nadohq/engine-client';
|
|
3
4
|
import { BaseNadoAPI } from '../base.cjs';
|
|
4
|
-
import { PlaceOrderParams, CancelOrdersParams, CancelAndPlaceOrderParams, CancelProductOrdersParams, PlaceTriggerOrderParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams } from './types.cjs';
|
|
5
|
+
import { PlaceOrderParams, PlaceOrdersParams, CancelOrdersParams, CancelAndPlaceOrderParams, CancelProductOrdersParams, PlaceTriggerOrderParams, PlaceTriggerOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams } from './types.cjs';
|
|
5
6
|
import '@nadohq/shared';
|
|
6
7
|
import '../../context.cjs';
|
|
7
8
|
import '@nadohq/indexer-client';
|
|
@@ -14,26 +15,36 @@ declare class MarketExecuteAPI extends BaseNadoAPI {
|
|
|
14
15
|
* @param params
|
|
15
16
|
*/
|
|
16
17
|
placeOrder(params: PlaceOrderParams): Promise<_nadohq_engine_client.EnginePlaceOrderResult>;
|
|
18
|
+
/**
|
|
19
|
+
* Places multiple orders through the engine
|
|
20
|
+
* @param params
|
|
21
|
+
*/
|
|
22
|
+
placeOrders(params: PlaceOrdersParams): Promise<EngineServerExecuteSuccessResult<'place_orders'>>;
|
|
17
23
|
/**
|
|
18
24
|
* Cancels orders through the engine
|
|
19
25
|
* @param params
|
|
20
26
|
*/
|
|
21
|
-
cancelOrders(params: CancelOrdersParams): Promise<
|
|
27
|
+
cancelOrders(params: CancelOrdersParams): Promise<EngineServerExecuteSuccessResult<"cancel_orders">>;
|
|
22
28
|
/**
|
|
23
29
|
* Cancels orders through the engine and places a new one
|
|
24
30
|
* @param params
|
|
25
31
|
*/
|
|
26
|
-
cancelAndPlace(params: CancelAndPlaceOrderParams): Promise<
|
|
32
|
+
cancelAndPlace(params: CancelAndPlaceOrderParams): Promise<EngineServerExecuteSuccessResult<"cancel_and_place">>;
|
|
27
33
|
/**
|
|
28
34
|
* Cancels all orders for provided products through the engine.
|
|
29
35
|
* @param params
|
|
30
36
|
*/
|
|
31
|
-
cancelProductOrders(params: CancelProductOrdersParams): Promise<
|
|
37
|
+
cancelProductOrders(params: CancelProductOrdersParams): Promise<EngineServerExecuteSuccessResult<"cancel_product_orders">>;
|
|
32
38
|
/**
|
|
33
39
|
* Places a trigger order through the trigger service
|
|
34
40
|
* @param params
|
|
35
41
|
*/
|
|
36
42
|
placeTriggerOrder(params: PlaceTriggerOrderParams): Promise<_nadohq_trigger_client.TriggerServerExecuteSuccessResult<"place_order">>;
|
|
43
|
+
/**
|
|
44
|
+
* Places multiple trigger orders through the trigger service
|
|
45
|
+
* @param params
|
|
46
|
+
*/
|
|
47
|
+
placeTriggerOrders(params: PlaceTriggerOrdersParams): Promise<_nadohq_trigger_client.TriggerServerExecuteSuccessResult<"place_orders">>;
|
|
37
48
|
/**
|
|
38
49
|
* Cancels all trigger orders for provided digests through the trigger service.
|
|
39
50
|
* @param params
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as _nadohq_trigger_client from '@nadohq/trigger-client';
|
|
2
2
|
import * as _nadohq_engine_client from '@nadohq/engine-client';
|
|
3
|
+
import { EngineServerExecuteSuccessResult } from '@nadohq/engine-client';
|
|
3
4
|
import { BaseNadoAPI } from '../base.js';
|
|
4
|
-
import { PlaceOrderParams, CancelOrdersParams, CancelAndPlaceOrderParams, CancelProductOrdersParams, PlaceTriggerOrderParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams } from './types.js';
|
|
5
|
+
import { PlaceOrderParams, PlaceOrdersParams, CancelOrdersParams, CancelAndPlaceOrderParams, CancelProductOrdersParams, PlaceTriggerOrderParams, PlaceTriggerOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams } from './types.js';
|
|
5
6
|
import '@nadohq/shared';
|
|
6
7
|
import '../../context.js';
|
|
7
8
|
import '@nadohq/indexer-client';
|
|
@@ -14,26 +15,36 @@ declare class MarketExecuteAPI extends BaseNadoAPI {
|
|
|
14
15
|
* @param params
|
|
15
16
|
*/
|
|
16
17
|
placeOrder(params: PlaceOrderParams): Promise<_nadohq_engine_client.EnginePlaceOrderResult>;
|
|
18
|
+
/**
|
|
19
|
+
* Places multiple orders through the engine
|
|
20
|
+
* @param params
|
|
21
|
+
*/
|
|
22
|
+
placeOrders(params: PlaceOrdersParams): Promise<EngineServerExecuteSuccessResult<'place_orders'>>;
|
|
17
23
|
/**
|
|
18
24
|
* Cancels orders through the engine
|
|
19
25
|
* @param params
|
|
20
26
|
*/
|
|
21
|
-
cancelOrders(params: CancelOrdersParams): Promise<
|
|
27
|
+
cancelOrders(params: CancelOrdersParams): Promise<EngineServerExecuteSuccessResult<"cancel_orders">>;
|
|
22
28
|
/**
|
|
23
29
|
* Cancels orders through the engine and places a new one
|
|
24
30
|
* @param params
|
|
25
31
|
*/
|
|
26
|
-
cancelAndPlace(params: CancelAndPlaceOrderParams): Promise<
|
|
32
|
+
cancelAndPlace(params: CancelAndPlaceOrderParams): Promise<EngineServerExecuteSuccessResult<"cancel_and_place">>;
|
|
27
33
|
/**
|
|
28
34
|
* Cancels all orders for provided products through the engine.
|
|
29
35
|
* @param params
|
|
30
36
|
*/
|
|
31
|
-
cancelProductOrders(params: CancelProductOrdersParams): Promise<
|
|
37
|
+
cancelProductOrders(params: CancelProductOrdersParams): Promise<EngineServerExecuteSuccessResult<"cancel_product_orders">>;
|
|
32
38
|
/**
|
|
33
39
|
* Places a trigger order through the trigger service
|
|
34
40
|
* @param params
|
|
35
41
|
*/
|
|
36
42
|
placeTriggerOrder(params: PlaceTriggerOrderParams): Promise<_nadohq_trigger_client.TriggerServerExecuteSuccessResult<"place_order">>;
|
|
43
|
+
/**
|
|
44
|
+
* Places multiple trigger orders through the trigger service
|
|
45
|
+
* @param params
|
|
46
|
+
*/
|
|
47
|
+
placeTriggerOrders(params: PlaceTriggerOrdersParams): Promise<_nadohq_trigger_client.TriggerServerExecuteSuccessResult<"place_orders">>;
|
|
37
48
|
/**
|
|
38
49
|
* Cancels all trigger orders for provided digests through the trigger service.
|
|
39
50
|
* @param params
|
|
@@ -21,6 +21,30 @@ var MarketExecuteAPI = class extends BaseNadoAPI {
|
|
|
21
21
|
nonce
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Places multiple orders through the engine
|
|
26
|
+
* @param params
|
|
27
|
+
*/
|
|
28
|
+
async placeOrders(params) {
|
|
29
|
+
return this.context.engineClient.placeOrders({
|
|
30
|
+
orders: params.orders.map((orderParams) => {
|
|
31
|
+
const { id, productId, order, nonce, spotLeverage } = orderParams;
|
|
32
|
+
return {
|
|
33
|
+
id,
|
|
34
|
+
order: {
|
|
35
|
+
...order,
|
|
36
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(order)
|
|
37
|
+
},
|
|
38
|
+
chainId: this.getWalletClientChainIdIfNeeded(orderParams),
|
|
39
|
+
verifyingAddr: getOrderVerifyingAddress(productId),
|
|
40
|
+
productId,
|
|
41
|
+
spotLeverage,
|
|
42
|
+
nonce
|
|
43
|
+
};
|
|
44
|
+
}),
|
|
45
|
+
stopOnFailure: params.stopOnFailure
|
|
46
|
+
});
|
|
47
|
+
}
|
|
24
48
|
/**
|
|
25
49
|
* Cancels orders through the engine
|
|
26
50
|
* @param params
|
|
@@ -90,6 +114,27 @@ var MarketExecuteAPI = class extends BaseNadoAPI {
|
|
|
90
114
|
}
|
|
91
115
|
});
|
|
92
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Places multiple trigger orders through the trigger service
|
|
119
|
+
* @param params
|
|
120
|
+
*/
|
|
121
|
+
async placeTriggerOrders(params) {
|
|
122
|
+
return this.context.triggerClient.placeTriggerOrders({
|
|
123
|
+
orders: params.orders.map((orderParams) => {
|
|
124
|
+
const { productId, order } = orderParams;
|
|
125
|
+
return {
|
|
126
|
+
...orderParams,
|
|
127
|
+
chainId: this.getWalletClientChainIdIfNeeded(orderParams),
|
|
128
|
+
verifyingAddr: getOrderVerifyingAddress(productId),
|
|
129
|
+
order: {
|
|
130
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(order),
|
|
131
|
+
...order
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
}),
|
|
135
|
+
stopOnFailure: params.stopOnFailure
|
|
136
|
+
});
|
|
137
|
+
}
|
|
93
138
|
/**
|
|
94
139
|
* Cancels all trigger orders for provided digests through the trigger service.
|
|
95
140
|
* @param params
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/apis/market/MarketExecuteAPI.ts"],"sourcesContent":["import { getOrderVerifyingAddress } from '@nadohq/shared';\nimport { BaseNadoAPI } from '../base';\nimport {\n CancelAndPlaceOrderParams,\n CancelOrdersParams,\n CancelProductOrdersParams,\n CancelTriggerOrdersParams,\n CancelTriggerProductOrdersParams,\n PlaceOrderParams,\n PlaceTriggerOrderParams,\n} from './types';\n\nexport class MarketExecuteAPI extends BaseNadoAPI {\n /**\n * Places an order through the engine\n * @param params\n */\n async placeOrder(params: PlaceOrderParams) {\n const { id: orderId, productId, order, nonce } = params;\n\n return this.context.engineClient.placeOrder({\n id: orderId,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n productId,\n spotLeverage: params.spotLeverage,\n nonce,\n });\n }\n\n /**\n * Cancels orders through the engine\n * @param params\n */\n async cancelOrders(params: CancelOrdersParams) {\n return this.context.engineClient.cancelOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels orders through the engine and places a new one\n * @param params\n */\n async cancelAndPlace(params: CancelAndPlaceOrderParams) {\n const { productId, order, nonce, spotLeverage } = params.placeOrder;\n const subaccountOwner = this.getSubaccountOwnerIfNeeded(\n params.cancelOrders,\n );\n const chainId = this.getWalletClientChainIdIfNeeded(params.cancelOrders);\n\n return this.context.engineClient.cancelAndPlace({\n cancelOrders: {\n ...params.cancelOrders,\n subaccountOwner,\n verifyingAddr:\n params.cancelOrders.verifyingAddr ?? this.getEndpointAddress(),\n chainId,\n },\n placeOrder: {\n order: {\n ...order,\n subaccountOwner,\n },\n verifyingAddr: getOrderVerifyingAddress(productId),\n chainId,\n productId,\n spotLeverage,\n nonce,\n },\n });\n }\n\n /**\n * Cancels all orders for provided products through the engine.\n * @param params\n */\n async cancelProductOrders(params: CancelProductOrdersParams) {\n return this.context.engineClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Places a trigger order through the trigger service\n * @param params\n */\n async placeTriggerOrder(params: PlaceTriggerOrderParams) {\n return this.context.triggerClient.placeTriggerOrder({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n ...params.order,\n },\n });\n }\n\n /**\n * Cancels all trigger orders for provided digests through the trigger service.\n * @param params\n */\n async cancelTriggerOrders(params: CancelTriggerOrdersParams) {\n return this.context.triggerClient.cancelTriggerOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels all trigger orders for provided products through the trigger service.\n * @param params\n */\n async cancelTriggerProductOrders(params: CancelTriggerProductOrdersParams) {\n return this.context.triggerClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n}\n"],"mappings":";
|
|
1
|
+
{"version":3,"sources":["../../../src/apis/market/MarketExecuteAPI.ts"],"sourcesContent":["import { EngineServerExecuteSuccessResult } from '@nadohq/engine-client';\nimport { getOrderVerifyingAddress } from '@nadohq/shared';\nimport { BaseNadoAPI } from '../base';\nimport {\n CancelAndPlaceOrderParams,\n CancelOrdersParams,\n CancelProductOrdersParams,\n CancelTriggerOrdersParams,\n CancelTriggerProductOrdersParams,\n PlaceOrderParams,\n PlaceOrdersParams,\n PlaceTriggerOrderParams,\n PlaceTriggerOrdersParams,\n} from './types';\n\nexport class MarketExecuteAPI extends BaseNadoAPI {\n /**\n * Places an order through the engine\n * @param params\n */\n async placeOrder(params: PlaceOrderParams) {\n const { id: orderId, productId, order, nonce } = params;\n\n return this.context.engineClient.placeOrder({\n id: orderId,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n productId,\n spotLeverage: params.spotLeverage,\n nonce,\n });\n }\n\n /**\n * Places multiple orders through the engine\n * @param params\n */\n async placeOrders(\n params: PlaceOrdersParams,\n ): Promise<EngineServerExecuteSuccessResult<'place_orders'>> {\n return this.context.engineClient.placeOrders({\n orders: params.orders.map((orderParams) => {\n const { id, productId, order, nonce, spotLeverage } = orderParams;\n return {\n id,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(orderParams),\n verifyingAddr: getOrderVerifyingAddress(productId),\n productId,\n spotLeverage,\n nonce,\n };\n }),\n stopOnFailure: params.stopOnFailure,\n });\n }\n\n /**\n * Cancels orders through the engine\n * @param params\n */\n async cancelOrders(params: CancelOrdersParams) {\n return this.context.engineClient.cancelOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels orders through the engine and places a new one\n * @param params\n */\n async cancelAndPlace(params: CancelAndPlaceOrderParams) {\n const { productId, order, nonce, spotLeverage } = params.placeOrder;\n const subaccountOwner = this.getSubaccountOwnerIfNeeded(\n params.cancelOrders,\n );\n const chainId = this.getWalletClientChainIdIfNeeded(params.cancelOrders);\n\n return this.context.engineClient.cancelAndPlace({\n cancelOrders: {\n ...params.cancelOrders,\n subaccountOwner,\n verifyingAddr:\n params.cancelOrders.verifyingAddr ?? this.getEndpointAddress(),\n chainId,\n },\n placeOrder: {\n order: {\n ...order,\n subaccountOwner,\n },\n verifyingAddr: getOrderVerifyingAddress(productId),\n chainId,\n productId,\n spotLeverage,\n nonce,\n },\n });\n }\n\n /**\n * Cancels all orders for provided products through the engine.\n * @param params\n */\n async cancelProductOrders(params: CancelProductOrdersParams) {\n return this.context.engineClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Places a trigger order through the trigger service\n * @param params\n */\n async placeTriggerOrder(params: PlaceTriggerOrderParams) {\n return this.context.triggerClient.placeTriggerOrder({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n ...params.order,\n },\n });\n }\n\n /**\n * Places multiple trigger orders through the trigger service\n * @param params\n */\n async placeTriggerOrders(params: PlaceTriggerOrdersParams) {\n return this.context.triggerClient.placeTriggerOrders({\n orders: params.orders.map((orderParams) => {\n const { productId, order } = orderParams;\n return {\n ...orderParams,\n chainId: this.getWalletClientChainIdIfNeeded(orderParams),\n verifyingAddr: getOrderVerifyingAddress(productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(order),\n ...order,\n },\n };\n }),\n stopOnFailure: params.stopOnFailure,\n });\n }\n\n /**\n * Cancels all trigger orders for provided digests through the trigger service.\n * @param params\n */\n async cancelTriggerOrders(params: CancelTriggerOrdersParams) {\n return this.context.triggerClient.cancelTriggerOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels all trigger orders for provided products through the trigger service.\n * @param params\n */\n async cancelTriggerProductOrders(params: CancelTriggerProductOrdersParams) {\n return this.context.triggerClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n}\n"],"mappings":";AACA,SAAS,gCAAgC;AACzC,SAAS,mBAAmB;AAarB,IAAM,mBAAN,cAA+B,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,EAKhD,MAAM,WAAW,QAA0B;AACzC,UAAM,EAAE,IAAI,SAAS,WAAW,OAAO,MAAM,IAAI;AAEjD,WAAO,KAAK,QAAQ,aAAa,WAAW;AAAA,MAC1C,IAAI;AAAA,MACJ,OAAO;AAAA,QACL,GAAG;AAAA,QACH,iBAAiB,KAAK,2BAA2B,OAAO,KAAK;AAAA,MAC/D;AAAA,MACA,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,eAAe,yBAAyB,OAAO,SAAS;AAAA,MACxD;AAAA,MACA,cAAc,OAAO;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,YACJ,QAC2D;AAC3D,WAAO,KAAK,QAAQ,aAAa,YAAY;AAAA,MAC3C,QAAQ,OAAO,OAAO,IAAI,CAAC,gBAAgB;AACzC,cAAM,EAAE,IAAI,WAAW,OAAO,OAAO,aAAa,IAAI;AACtD,eAAO;AAAA,UACL;AAAA,UACA,OAAO;AAAA,YACL,GAAG;AAAA,YACH,iBAAiB,KAAK,2BAA2B,KAAK;AAAA,UACxD;AAAA,UACA,SAAS,KAAK,+BAA+B,WAAW;AAAA,UACxD,eAAe,yBAAyB,SAAS;AAAA,UACjD;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAAA,MACD,eAAe,OAAO;AAAA,IACxB,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,aAAa,QAA4B;AAC7C,WAAO,KAAK,QAAQ,aAAa,aAAa;AAAA,MAC5C,GAAG;AAAA,MACH,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,eAAe,KAAK,mBAAmB;AAAA,IACzC,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,eAAe,QAAmC;AACtD,UAAM,EAAE,WAAW,OAAO,OAAO,aAAa,IAAI,OAAO;AACzD,UAAM,kBAAkB,KAAK;AAAA,MAC3B,OAAO;AAAA,IACT;AACA,UAAM,UAAU,KAAK,+BAA+B,OAAO,YAAY;AAEvE,WAAO,KAAK,QAAQ,aAAa,eAAe;AAAA,MAC9C,cAAc;AAAA,QACZ,GAAG,OAAO;AAAA,QACV;AAAA,QACA,eACE,OAAO,aAAa,iBAAiB,KAAK,mBAAmB;AAAA,QAC/D;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV,OAAO;AAAA,UACL,GAAG;AAAA,UACH;AAAA,QACF;AAAA,QACA,eAAe,yBAAyB,SAAS;AAAA,QACjD;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,oBAAoB,QAAmC;AAC3D,WAAO,KAAK,QAAQ,aAAa,oBAAoB;AAAA,MACnD,GAAG;AAAA,MACH,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,eAAe,KAAK,mBAAmB;AAAA,IACzC,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,kBAAkB,QAAiC;AACvD,WAAO,KAAK,QAAQ,cAAc,kBAAkB;AAAA,MAClD,GAAG;AAAA,MACH,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,eAAe,yBAAyB,OAAO,SAAS;AAAA,MACxD,OAAO;AAAA,QACL,iBAAiB,KAAK,2BAA2B,OAAO,KAAK;AAAA,QAC7D,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,mBAAmB,QAAkC;AACzD,WAAO,KAAK,QAAQ,cAAc,mBAAmB;AAAA,MACnD,QAAQ,OAAO,OAAO,IAAI,CAAC,gBAAgB;AACzC,cAAM,EAAE,WAAW,MAAM,IAAI;AAC7B,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS,KAAK,+BAA+B,WAAW;AAAA,UACxD,eAAe,yBAAyB,SAAS;AAAA,UACjD,OAAO;AAAA,YACL,iBAAiB,KAAK,2BAA2B,KAAK;AAAA,YACtD,GAAG;AAAA,UACL;AAAA,QACF;AAAA,MACF,CAAC;AAAA,MACD,eAAe,OAAO;AAAA,IACxB,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,oBAAoB,QAAmC;AAC3D,WAAO,KAAK,QAAQ,cAAc,oBAAoB;AAAA,MACpD,GAAG;AAAA,MACH,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;AAAA,IACjE,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,2BAA2B,QAA0C;AACzE,WAAO,KAAK,QAAQ,cAAc,oBAAoB;AAAA,MACpD,GAAG;AAAA,MACH,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;AAAA,IACjE,CAAC;AAAA,EACH;AACF;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as ts_mixer_dist_types_types from 'ts-mixer/dist/types/types';
|
|
2
2
|
import { MarketExecuteAPI } from './MarketExecuteAPI.cjs';
|
|
3
3
|
import { MarketQueryAPI } from './MarketQueryAPI.cjs';
|
|
4
|
-
export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceTriggerOrderParams } from './types.cjs';
|
|
4
|
+
export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceOrdersParams, PlaceTriggerOrderParams, PlaceTriggerOrdersParams } from './types.cjs';
|
|
5
5
|
import '@nadohq/trigger-client';
|
|
6
6
|
import '@nadohq/engine-client';
|
|
7
7
|
import '../base.cjs';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as ts_mixer_dist_types_types from 'ts-mixer/dist/types/types';
|
|
2
2
|
import { MarketExecuteAPI } from './MarketExecuteAPI.js';
|
|
3
3
|
import { MarketQueryAPI } from './MarketQueryAPI.js';
|
|
4
|
-
export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceTriggerOrderParams } from './types.js';
|
|
4
|
+
export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceOrdersParams, PlaceTriggerOrderParams, PlaceTriggerOrdersParams } from './types.js';
|
|
5
5
|
import '@nadohq/trigger-client';
|
|
6
6
|
import '@nadohq/engine-client';
|
|
7
7
|
import '../base.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/apis/market/types.ts"],"sourcesContent":["import {\n EngineCancelOrdersParams,\n EngineCancelProductOrdersParams,\n EngineOrderParams,\n EnginePlaceOrderParams,\n} from '@nadohq/engine-client';\nimport {\n TriggerCancelOrdersParams,\n TriggerCancelProductOrdersParams,\n TriggerListOrdersParams,\n TriggerPlaceOrderParams,\n} from '@nadohq/trigger-client';\nimport { OptionalSignatureParams, OptionalSubaccountOwner } from '../types';\n\ntype ClientOrderParams<T extends { order: EngineOrderParams }> = Omit<\n OptionalSignatureParams<T>,\n // Order is overridden to make subaccount owner optional\n | 'order'\n // Verifying address can be derived from product ID\n | 'verifyingAddr'\n> & {\n order: OptionalSubaccountOwner<EngineOrderParams>;\n};\n\nexport type PlaceOrderParams = ClientOrderParams<EnginePlaceOrderParams>;\n\nexport type CancelOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<EngineCancelOrdersParams>\n>;\n\nexport type CancelProductOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<EngineCancelProductOrdersParams>\n>;\n\nexport interface CancelAndPlaceOrderParams {\n placeOrder: PlaceOrderParams;\n cancelOrders: CancelOrdersParams;\n}\n\nexport type PlaceTriggerOrderParams =\n ClientOrderParams<TriggerPlaceOrderParams>;\n\nexport type CancelTriggerOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<TriggerCancelOrdersParams>\n>;\n\nexport type CancelTriggerProductOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<TriggerCancelProductOrdersParams>\n>;\n\nexport type GetTriggerOrdersParams =\n OptionalSignatureParams<TriggerListOrdersParams>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/apis/market/types.ts"],"sourcesContent":["import {\n EngineCancelOrdersParams,\n EngineCancelProductOrdersParams,\n EngineOrderParams,\n EnginePlaceOrderParams,\n} from '@nadohq/engine-client';\nimport {\n TriggerCancelOrdersParams,\n TriggerCancelProductOrdersParams,\n TriggerListOrdersParams,\n TriggerPlaceOrderParams,\n} from '@nadohq/trigger-client';\nimport { OptionalSignatureParams, OptionalSubaccountOwner } from '../types';\n\ntype ClientOrderParams<T extends { order: EngineOrderParams }> = Omit<\n OptionalSignatureParams<T>,\n // Order is overridden to make subaccount owner optional\n | 'order'\n // Verifying address can be derived from product ID\n | 'verifyingAddr'\n> & {\n order: OptionalSubaccountOwner<EngineOrderParams>;\n};\n\nexport type PlaceOrderParams = ClientOrderParams<EnginePlaceOrderParams>;\n\nexport type PlaceOrdersParams = {\n orders: PlaceOrderParams[];\n stopOnFailure?: boolean;\n};\n\nexport type CancelOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<EngineCancelOrdersParams>\n>;\n\nexport type CancelProductOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<EngineCancelProductOrdersParams>\n>;\n\nexport interface CancelAndPlaceOrderParams {\n placeOrder: PlaceOrderParams;\n cancelOrders: CancelOrdersParams;\n}\n\nexport type PlaceTriggerOrderParams =\n ClientOrderParams<TriggerPlaceOrderParams>;\n\nexport interface PlaceTriggerOrdersParams {\n orders: PlaceTriggerOrderParams[];\n stopOnFailure?: boolean;\n}\n\nexport type CancelTriggerOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<TriggerCancelOrdersParams>\n>;\n\nexport type CancelTriggerProductOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<TriggerCancelProductOrdersParams>\n>;\n\nexport type GetTriggerOrdersParams =\n OptionalSignatureParams<TriggerListOrdersParams>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -8,6 +8,10 @@ type ClientOrderParams<T extends {
|
|
|
8
8
|
order: OptionalSubaccountOwner<EngineOrderParams>;
|
|
9
9
|
};
|
|
10
10
|
type PlaceOrderParams = ClientOrderParams<EnginePlaceOrderParams>;
|
|
11
|
+
type PlaceOrdersParams = {
|
|
12
|
+
orders: PlaceOrderParams[];
|
|
13
|
+
stopOnFailure?: boolean;
|
|
14
|
+
};
|
|
11
15
|
type CancelOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner<EngineCancelOrdersParams>>;
|
|
12
16
|
type CancelProductOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner<EngineCancelProductOrdersParams>>;
|
|
13
17
|
interface CancelAndPlaceOrderParams {
|
|
@@ -15,8 +19,12 @@ interface CancelAndPlaceOrderParams {
|
|
|
15
19
|
cancelOrders: CancelOrdersParams;
|
|
16
20
|
}
|
|
17
21
|
type PlaceTriggerOrderParams = ClientOrderParams<TriggerPlaceOrderParams>;
|
|
22
|
+
interface PlaceTriggerOrdersParams {
|
|
23
|
+
orders: PlaceTriggerOrderParams[];
|
|
24
|
+
stopOnFailure?: boolean;
|
|
25
|
+
}
|
|
18
26
|
type CancelTriggerOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner<TriggerCancelOrdersParams>>;
|
|
19
27
|
type CancelTriggerProductOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner<TriggerCancelProductOrdersParams>>;
|
|
20
28
|
type GetTriggerOrdersParams = OptionalSignatureParams<TriggerListOrdersParams>;
|
|
21
29
|
|
|
22
|
-
export type { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceTriggerOrderParams };
|
|
30
|
+
export type { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceOrdersParams, PlaceTriggerOrderParams, PlaceTriggerOrdersParams };
|
|
@@ -8,6 +8,10 @@ type ClientOrderParams<T extends {
|
|
|
8
8
|
order: OptionalSubaccountOwner<EngineOrderParams>;
|
|
9
9
|
};
|
|
10
10
|
type PlaceOrderParams = ClientOrderParams<EnginePlaceOrderParams>;
|
|
11
|
+
type PlaceOrdersParams = {
|
|
12
|
+
orders: PlaceOrderParams[];
|
|
13
|
+
stopOnFailure?: boolean;
|
|
14
|
+
};
|
|
11
15
|
type CancelOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner<EngineCancelOrdersParams>>;
|
|
12
16
|
type CancelProductOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner<EngineCancelProductOrdersParams>>;
|
|
13
17
|
interface CancelAndPlaceOrderParams {
|
|
@@ -15,8 +19,12 @@ interface CancelAndPlaceOrderParams {
|
|
|
15
19
|
cancelOrders: CancelOrdersParams;
|
|
16
20
|
}
|
|
17
21
|
type PlaceTriggerOrderParams = ClientOrderParams<TriggerPlaceOrderParams>;
|
|
22
|
+
interface PlaceTriggerOrdersParams {
|
|
23
|
+
orders: PlaceTriggerOrderParams[];
|
|
24
|
+
stopOnFailure?: boolean;
|
|
25
|
+
}
|
|
18
26
|
type CancelTriggerOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner<TriggerCancelOrdersParams>>;
|
|
19
27
|
type CancelTriggerProductOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner<TriggerCancelProductOrdersParams>>;
|
|
20
28
|
type GetTriggerOrdersParams = OptionalSignatureParams<TriggerListOrdersParams>;
|
|
21
29
|
|
|
22
|
-
export type { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceTriggerOrderParams };
|
|
30
|
+
export type { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceOrdersParams, PlaceTriggerOrderParams, PlaceTriggerOrdersParams };
|
|
@@ -24,7 +24,6 @@ __export(BaseSpotAPI_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(BaseSpotAPI_exports);
|
|
26
26
|
var import_shared = require("@nadohq/shared");
|
|
27
|
-
var import_shared2 = require("@nadohq/shared");
|
|
28
27
|
var import_viem = require("viem");
|
|
29
28
|
var import_base = require("../base.cjs");
|
|
30
29
|
var BaseSpotAPI = class extends import_base.BaseNadoAPI {
|
|
@@ -43,7 +42,7 @@ var BaseSpotAPI = class extends import_base.BaseNadoAPI {
|
|
|
43
42
|
}
|
|
44
43
|
return (0, import_viem.getContract)({
|
|
45
44
|
abi: import_shared.ERC20_ABI,
|
|
46
|
-
address: (0,
|
|
45
|
+
address: (0, import_shared.getValidatedAddress)(tokenAddress),
|
|
47
46
|
client: this.context.walletClient ?? this.context.publicClient
|
|
48
47
|
});
|
|
49
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/apis/spot/BaseSpotAPI.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/apis/spot/BaseSpotAPI.ts"],"sourcesContent":["import {\n ContractInstance,\n ERC20_ABI,\n getValidatedAddress,\n} from '@nadohq/shared';\nimport { getContract } from 'viem';\nimport { BaseNadoAPI } from '../base';\nimport { ProductIdOrTokenAddress } from './types';\n\nexport class BaseSpotAPI extends BaseNadoAPI {\n /**\n * Retrieves the ERC20 token contract for a spot product\n */\n async getTokenContractForProduct(\n params: ProductIdOrTokenAddress,\n ): Promise<ContractInstance<typeof ERC20_ABI>> {\n let tokenAddress: string;\n if ('productId' in params) {\n const config = await this.context.contracts.spotEngine.read.getConfig([\n params.productId,\n ]);\n tokenAddress = config.token;\n } else {\n tokenAddress = params.tokenAddress;\n }\n\n return getContract({\n abi: ERC20_ABI,\n address: getValidatedAddress(tokenAddress),\n client: this.context.walletClient ?? this.context.publicClient,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAIO;AACP,kBAA4B;AAC5B,kBAA4B;AAGrB,IAAM,cAAN,cAA0B,wBAAY;AAAA;AAAA;AAAA;AAAA,EAI3C,MAAM,2BACJ,QAC6C;AAC7C,QAAI;AACJ,QAAI,eAAe,QAAQ;AACzB,YAAM,SAAS,MAAM,KAAK,QAAQ,UAAU,WAAW,KAAK,UAAU;AAAA,QACpE,OAAO;AAAA,MACT,CAAC;AACD,qBAAe,OAAO;AAAA,IACxB,OAAO;AACL,qBAAe,OAAO;AAAA,IACxB;AAEA,eAAO,yBAAY;AAAA,MACjB,KAAK;AAAA,MACL,aAAS,mCAAoB,YAAY;AAAA,MACzC,QAAQ,KAAK,QAAQ,gBAAgB,KAAK,QAAQ;AAAA,IACpD,CAAC;AAAA,EACH;AACF;","names":[]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// src/apis/spot/BaseSpotAPI.ts
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import {
|
|
3
|
+
ERC20_ABI,
|
|
4
|
+
getValidatedAddress
|
|
5
|
+
} from "@nadohq/shared";
|
|
4
6
|
import { getContract } from "viem";
|
|
5
7
|
import { BaseNadoAPI } from "../base.js";
|
|
6
8
|
var BaseSpotAPI = class extends BaseNadoAPI {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/apis/spot/BaseSpotAPI.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/apis/spot/BaseSpotAPI.ts"],"sourcesContent":["import {\n ContractInstance,\n ERC20_ABI,\n getValidatedAddress,\n} from '@nadohq/shared';\nimport { getContract } from 'viem';\nimport { BaseNadoAPI } from '../base';\nimport { ProductIdOrTokenAddress } from './types';\n\nexport class BaseSpotAPI extends BaseNadoAPI {\n /**\n * Retrieves the ERC20 token contract for a spot product\n */\n async getTokenContractForProduct(\n params: ProductIdOrTokenAddress,\n ): Promise<ContractInstance<typeof ERC20_ABI>> {\n let tokenAddress: string;\n if ('productId' in params) {\n const config = await this.context.contracts.spotEngine.read.getConfig([\n params.productId,\n ]);\n tokenAddress = config.token;\n } else {\n tokenAddress = params.tokenAddress;\n }\n\n return getContract({\n abi: ERC20_ABI,\n address: getValidatedAddress(tokenAddress),\n client: this.context.walletClient ?? this.context.publicClient,\n });\n }\n}\n"],"mappings":";AAAA;AAAA,EAEE;AAAA,EACA;AAAA,OACK;AACP,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAGrB,IAAM,cAAN,cAA0B,YAAY;AAAA;AAAA;AAAA;AAAA,EAI3C,MAAM,2BACJ,QAC6C;AAC7C,QAAI;AACJ,QAAI,eAAe,QAAQ;AACzB,YAAM,SAAS,MAAM,KAAK,QAAQ,UAAU,WAAW,KAAK,UAAU;AAAA,QACpE,OAAO;AAAA,MACT,CAAC;AACD,qBAAe,OAAO;AAAA,IACxB,OAAO;AACL,qBAAe,OAAO;AAAA,IACxB;AAEA,WAAO,YAAY;AAAA,MACjB,KAAK;AAAA,MACL,SAAS,oBAAoB,YAAY;AAAA,MACzC,QAAQ,KAAK,QAAQ,gBAAgB,KAAK,QAAQ;AAAA,IACpD,CAAC;AAAA,EACH;AACF;","names":[]}
|
|
@@ -24,7 +24,6 @@ __export(SpotExecuteAPI_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(SpotExecuteAPI_exports);
|
|
26
26
|
var import_shared = require("@nadohq/shared");
|
|
27
|
-
var import_shared2 = require("@nadohq/shared");
|
|
28
27
|
var import_BaseSpotAPI = require("./BaseSpotAPI.cjs");
|
|
29
28
|
var SpotExecuteAPI = class extends import_BaseSpotAPI.BaseSpotAPI {
|
|
30
29
|
async deposit(params) {
|
|
@@ -88,7 +87,7 @@ var SpotExecuteAPI = class extends import_BaseSpotAPI.BaseSpotAPI {
|
|
|
88
87
|
}
|
|
89
88
|
async _mintMockERC20(params) {
|
|
90
89
|
if (!this.context.walletClient) {
|
|
91
|
-
throw new
|
|
90
|
+
throw new import_shared.WalletNotProvidedError();
|
|
92
91
|
}
|
|
93
92
|
const config = await this.context.contracts.spotEngine.read.getConfig([
|
|
94
93
|
params.productId
|
|
@@ -97,7 +96,7 @@ var SpotExecuteAPI = class extends import_BaseSpotAPI.BaseSpotAPI {
|
|
|
97
96
|
abi: import_shared.MOCK_ERC20_ABI,
|
|
98
97
|
address: config.token,
|
|
99
98
|
functionName: "mint",
|
|
100
|
-
args: [this.getWalletClientAddress(), (0,
|
|
99
|
+
args: [this.getWalletClientAddress(), (0, import_shared.toBigInt)(params.amount)]
|
|
101
100
|
});
|
|
102
101
|
}
|
|
103
102
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/apis/spot/SpotExecuteAPI.ts"],"sourcesContent":["import {\n approveDepositAllowance,\n depositCollateral,\n DepositCollateralParams,\n isWriteableContract,\n MOCK_ERC20_ABI,\n
|
|
1
|
+
{"version":3,"sources":["../../../src/apis/spot/SpotExecuteAPI.ts"],"sourcesContent":["import {\n approveDepositAllowance,\n depositCollateral,\n DepositCollateralParams,\n isWriteableContract,\n MOCK_ERC20_ABI,\n toBigInt,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport { BaseSpotAPI } from './BaseSpotAPI';\nimport {\n ApproveAllowanceParams,\n BurnNlpParams,\n MintMockERC20Params,\n MintNlpParams,\n TransferQuoteParams,\n WithdrawCollateralParams,\n} from './types';\n\nexport class SpotExecuteAPI extends BaseSpotAPI {\n async deposit(params: DepositCollateralParams) {\n return depositCollateral({\n endpoint: this.context.contracts.endpoint,\n subaccountName: params.subaccountName,\n productId: params.productId,\n amount: params.amount,\n referralCode: params.referralCode,\n });\n }\n\n async withdraw(params: WithdrawCollateralParams) {\n return this.context.engineClient.withdrawCollateral({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async approveAllowance(params: ApproveAllowanceParams) {\n const tokenContract = await this.getTokenContractForProduct(params);\n if (!isWriteableContract(tokenContract)) {\n throw new Error(\n 'Token contract does not permit writes. Is a wallet client provided?',\n );\n }\n\n return approveDepositAllowance({\n amount: params.amount,\n endpoint: this.context.contracts.endpoint,\n tokenContract,\n });\n }\n\n /**\n * Transfers quote between subaccounts under the same wallet.\n *\n * @param params\n */\n async transferQuote(params: TransferQuoteParams) {\n return this.context.engineClient.transferQuote({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n });\n }\n\n async mintNlp(params: MintNlpParams) {\n return this.context.engineClient.mintNlp({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async burnNlp(params: BurnNlpParams) {\n return this.context.engineClient.burnNlp({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async _mintMockERC20(params: MintMockERC20Params) {\n if (!this.context.walletClient) {\n throw new WalletNotProvidedError();\n }\n\n const config = await this.context.contracts.spotEngine.read.getConfig([\n params.productId,\n ]);\n\n return this.context.walletClient.writeContract({\n abi: MOCK_ERC20_ABI,\n address: config.token,\n functionName: 'mint',\n args: [this.getWalletClientAddress(), toBigInt(params.amount)],\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAQO;AACP,yBAA4B;AAUrB,IAAM,iBAAN,cAA6B,+BAAY;AAAA,EAC9C,MAAM,QAAQ,QAAiC;AAC7C,eAAO,iCAAkB;AAAA,MACvB,UAAU,KAAK,QAAQ,UAAU;AAAA,MACjC,gBAAgB,OAAO;AAAA,MACvB,WAAW,OAAO;AAAA,MAClB,QAAQ,OAAO;AAAA,MACf,cAAc,OAAO;AAAA,IACvB,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,SAAS,QAAkC;AAC/C,WAAO,KAAK,QAAQ,aAAa,mBAAmB;AAAA,MAClD,GAAG;AAAA,MACH,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;AAAA,IACjE,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,iBAAiB,QAAgC;AACrD,UAAM,gBAAgB,MAAM,KAAK,2BAA2B,MAAM;AAClE,QAAI,KAAC,mCAAoB,aAAa,GAAG;AACvC,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,eAAO,uCAAwB;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,UAAU,KAAK,QAAQ,UAAU;AAAA,MACjC;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,cAAc,QAA6B;AAC/C,WAAO,KAAK,QAAQ,aAAa,cAAc;AAAA,MAC7C,GAAG;AAAA,MACH,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;AAAA,MAC/D,SAAS,KAAK,+BAA+B,MAAM;AAAA,IACrD,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,QAAQ,QAAuB;AACnC,WAAO,KAAK,QAAQ,aAAa,QAAQ;AAAA,MACvC,GAAG;AAAA,MACH,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;AAAA,IACjE,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,QAAQ,QAAuB;AACnC,WAAO,KAAK,QAAQ,aAAa,QAAQ;AAAA,MACvC,GAAG;AAAA,MACH,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;AAAA,IACjE,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,eAAe,QAA6B;AAChD,QAAI,CAAC,KAAK,QAAQ,cAAc;AAC9B,YAAM,IAAI,qCAAuB;AAAA,IACnC;AAEA,UAAM,SAAS,MAAM,KAAK,QAAQ,UAAU,WAAW,KAAK,UAAU;AAAA,MACpE,OAAO;AAAA,IACT,CAAC;AAED,WAAO,KAAK,QAAQ,aAAa,cAAc;AAAA,MAC7C,KAAK;AAAA,MACL,SAAS,OAAO;AAAA,MAChB,cAAc;AAAA,MACd,MAAM,CAAC,KAAK,uBAAuB,OAAG,wBAAS,OAAO,MAAM,CAAC;AAAA,IAC/D,CAAC;AAAA,EACH;AACF;","names":[]}
|
|
@@ -3,9 +3,10 @@ import {
|
|
|
3
3
|
approveDepositAllowance,
|
|
4
4
|
depositCollateral,
|
|
5
5
|
isWriteableContract,
|
|
6
|
-
MOCK_ERC20_ABI
|
|
6
|
+
MOCK_ERC20_ABI,
|
|
7
|
+
toBigInt,
|
|
8
|
+
WalletNotProvidedError
|
|
7
9
|
} from "@nadohq/shared";
|
|
8
|
-
import { toBigInt, WalletNotProvidedError } from "@nadohq/shared";
|
|
9
10
|
import { BaseSpotAPI } from "./BaseSpotAPI.js";
|
|
10
11
|
var SpotExecuteAPI = class extends BaseSpotAPI {
|
|
11
12
|
async deposit(params) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/apis/spot/SpotExecuteAPI.ts"],"sourcesContent":["import {\n approveDepositAllowance,\n depositCollateral,\n DepositCollateralParams,\n isWriteableContract,\n MOCK_ERC20_ABI,\n
|
|
1
|
+
{"version":3,"sources":["../../../src/apis/spot/SpotExecuteAPI.ts"],"sourcesContent":["import {\n approveDepositAllowance,\n depositCollateral,\n DepositCollateralParams,\n isWriteableContract,\n MOCK_ERC20_ABI,\n toBigInt,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport { BaseSpotAPI } from './BaseSpotAPI';\nimport {\n ApproveAllowanceParams,\n BurnNlpParams,\n MintMockERC20Params,\n MintNlpParams,\n TransferQuoteParams,\n WithdrawCollateralParams,\n} from './types';\n\nexport class SpotExecuteAPI extends BaseSpotAPI {\n async deposit(params: DepositCollateralParams) {\n return depositCollateral({\n endpoint: this.context.contracts.endpoint,\n subaccountName: params.subaccountName,\n productId: params.productId,\n amount: params.amount,\n referralCode: params.referralCode,\n });\n }\n\n async withdraw(params: WithdrawCollateralParams) {\n return this.context.engineClient.withdrawCollateral({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async approveAllowance(params: ApproveAllowanceParams) {\n const tokenContract = await this.getTokenContractForProduct(params);\n if (!isWriteableContract(tokenContract)) {\n throw new Error(\n 'Token contract does not permit writes. Is a wallet client provided?',\n );\n }\n\n return approveDepositAllowance({\n amount: params.amount,\n endpoint: this.context.contracts.endpoint,\n tokenContract,\n });\n }\n\n /**\n * Transfers quote between subaccounts under the same wallet.\n *\n * @param params\n */\n async transferQuote(params: TransferQuoteParams) {\n return this.context.engineClient.transferQuote({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n });\n }\n\n async mintNlp(params: MintNlpParams) {\n return this.context.engineClient.mintNlp({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async burnNlp(params: BurnNlpParams) {\n return this.context.engineClient.burnNlp({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async _mintMockERC20(params: MintMockERC20Params) {\n if (!this.context.walletClient) {\n throw new WalletNotProvidedError();\n }\n\n const config = await this.context.contracts.spotEngine.read.getConfig([\n params.productId,\n ]);\n\n return this.context.walletClient.writeContract({\n abi: MOCK_ERC20_ABI,\n address: config.token,\n functionName: 'mint',\n args: [this.getWalletClientAddress(), toBigInt(params.amount)],\n });\n }\n}\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,mBAAmB;AAUrB,IAAM,iBAAN,cAA6B,YAAY;AAAA,EAC9C,MAAM,QAAQ,QAAiC;AAC7C,WAAO,kBAAkB;AAAA,MACvB,UAAU,KAAK,QAAQ,UAAU;AAAA,MACjC,gBAAgB,OAAO;AAAA,MACvB,WAAW,OAAO;AAAA,MAClB,QAAQ,OAAO;AAAA,MACf,cAAc,OAAO;AAAA,IACvB,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,SAAS,QAAkC;AAC/C,WAAO,KAAK,QAAQ,aAAa,mBAAmB;AAAA,MAClD,GAAG;AAAA,MACH,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;AAAA,IACjE,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,iBAAiB,QAAgC;AACrD,UAAM,gBAAgB,MAAM,KAAK,2BAA2B,MAAM;AAClE,QAAI,CAAC,oBAAoB,aAAa,GAAG;AACvC,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,WAAO,wBAAwB;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,UAAU,KAAK,QAAQ,UAAU;AAAA,MACjC;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,cAAc,QAA6B;AAC/C,WAAO,KAAK,QAAQ,aAAa,cAAc;AAAA,MAC7C,GAAG;AAAA,MACH,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;AAAA,MAC/D,SAAS,KAAK,+BAA+B,MAAM;AAAA,IACrD,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,QAAQ,QAAuB;AACnC,WAAO,KAAK,QAAQ,aAAa,QAAQ;AAAA,MACvC,GAAG;AAAA,MACH,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;AAAA,IACjE,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,QAAQ,QAAuB;AACnC,WAAO,KAAK,QAAQ,aAAa,QAAQ;AAAA,MACvC,GAAG;AAAA,MACH,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;AAAA,IACjE,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,eAAe,QAA6B;AAChD,QAAI,CAAC,KAAK,QAAQ,cAAc;AAC9B,YAAM,IAAI,uBAAuB;AAAA,IACnC;AAEA,UAAM,SAAS,MAAM,KAAK,QAAQ,UAAU,WAAW,KAAK,UAAU;AAAA,MACpE,OAAO;AAAA,IACT,CAAC;AAED,WAAO,KAAK,QAAQ,aAAa,cAAc;AAAA,MAC7C,KAAK;AAAA,MACL,SAAS,OAAO;AAAA,MAChB,cAAc;AAAA,MACd,MAAM,CAAC,KAAK,uBAAuB,GAAG,SAAS,OAAO,MAAM,CAAC;AAAA,IAC/D,CAAC;AAAA,EACH;AACF;","names":[]}
|
|
@@ -25,7 +25,6 @@ __export(subaccount_exports, {
|
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(subaccount_exports);
|
|
27
27
|
var import_shared = require("@nadohq/shared");
|
|
28
|
-
var import_shared2 = require("@nadohq/shared");
|
|
29
28
|
var import_ts_mixer = require("ts-mixer");
|
|
30
29
|
var import_accounts = require("viem/accounts");
|
|
31
30
|
var import_SubaccountExecuteAPI = require("./SubaccountExecuteAPI.cjs");
|
|
@@ -45,7 +44,7 @@ var SubaccountAPI = class extends (0, import_ts_mixer.Mixin)(
|
|
|
45
44
|
async createStandardLinkedSigner(subaccountName) {
|
|
46
45
|
const walletClient = this.context.walletClient;
|
|
47
46
|
if (!walletClient) {
|
|
48
|
-
throw new
|
|
47
|
+
throw new import_shared.WalletNotProvidedError();
|
|
49
48
|
}
|
|
50
49
|
const privateKey = await (0, import_shared.createDeterministicLinkedSignerPrivateKey)({
|
|
51
50
|
chainId: walletClient.chain.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/apis/subaccount/index.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/apis/subaccount/index.ts"],"sourcesContent":["import {\n createDeterministicLinkedSignerPrivateKey,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport { Mixin } from 'ts-mixer';\nimport { privateKeyToAccount } from 'viem/accounts';\nimport { SubaccountExecuteAPI } from './SubaccountExecuteAPI';\nimport { SubaccountQueryAPI } from './SubaccountQueryAPI';\nimport { CreateStandardLinkedSignerResult } from './types';\n\nexport * from './types';\n\nexport class SubaccountAPI extends Mixin(\n SubaccountExecuteAPI,\n SubaccountQueryAPI,\n) {\n /**\n * Given the current context, create a \"standard\" link signer Account for the subaccount\n * The \"standard\" linked signer private key is deterministically generated so that the frontend running on\n * different clients can have a consistent private key for the subaccount linked signer.\n *\n * @param subaccountName\n */\n async createStandardLinkedSigner(\n subaccountName: string,\n ): Promise<CreateStandardLinkedSignerResult> {\n const walletClient = this.context.walletClient;\n\n if (!walletClient) {\n throw new WalletNotProvidedError();\n }\n\n const privateKey = await createDeterministicLinkedSignerPrivateKey({\n chainId: walletClient.chain.id,\n endpointAddress: this.getEndpointAddress(),\n walletClient,\n subaccountName,\n subaccountOwner: walletClient.account.address,\n });\n\n return {\n privateKey,\n account: privateKeyToAccount(privateKey),\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAGO;AACP,sBAAsB;AACtB,sBAAoC;AACpC,kCAAqC;AACrC,gCAAmC;AAGnC,+BAAc,wBAVd;AAYO,IAAM,gBAAN,kBAA4B;AAAA,EACjC;AAAA,EACA;AACF,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,2BACJ,gBAC2C;AAC3C,UAAM,eAAe,KAAK,QAAQ;AAElC,QAAI,CAAC,cAAc;AACjB,YAAM,IAAI,qCAAuB;AAAA,IACnC;AAEA,UAAM,aAAa,UAAM,yDAA0C;AAAA,MACjE,SAAS,aAAa,MAAM;AAAA,MAC5B,iBAAiB,KAAK,mBAAmB;AAAA,MACzC;AAAA,MACA;AAAA,MACA,iBAAiB,aAAa,QAAQ;AAAA,IACxC,CAAC;AAED,WAAO;AAAA,MACL;AAAA,MACA,aAAS,qCAAoB,UAAU;AAAA,IACzC;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// src/apis/subaccount/index.ts
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import {
|
|
3
|
+
createDeterministicLinkedSignerPrivateKey,
|
|
4
|
+
WalletNotProvidedError
|
|
5
|
+
} from "@nadohq/shared";
|
|
4
6
|
import { Mixin } from "ts-mixer";
|
|
5
7
|
import { privateKeyToAccount } from "viem/accounts";
|
|
6
8
|
import { SubaccountExecuteAPI } from "./SubaccountExecuteAPI.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/apis/subaccount/index.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/apis/subaccount/index.ts"],"sourcesContent":["import {\n createDeterministicLinkedSignerPrivateKey,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport { Mixin } from 'ts-mixer';\nimport { privateKeyToAccount } from 'viem/accounts';\nimport { SubaccountExecuteAPI } from './SubaccountExecuteAPI';\nimport { SubaccountQueryAPI } from './SubaccountQueryAPI';\nimport { CreateStandardLinkedSignerResult } from './types';\n\nexport * from './types';\n\nexport class SubaccountAPI extends Mixin(\n SubaccountExecuteAPI,\n SubaccountQueryAPI,\n) {\n /**\n * Given the current context, create a \"standard\" link signer Account for the subaccount\n * The \"standard\" linked signer private key is deterministically generated so that the frontend running on\n * different clients can have a consistent private key for the subaccount linked signer.\n *\n * @param subaccountName\n */\n async createStandardLinkedSigner(\n subaccountName: string,\n ): Promise<CreateStandardLinkedSignerResult> {\n const walletClient = this.context.walletClient;\n\n if (!walletClient) {\n throw new WalletNotProvidedError();\n }\n\n const privateKey = await createDeterministicLinkedSignerPrivateKey({\n chainId: walletClient.chain.id,\n endpointAddress: this.getEndpointAddress(),\n walletClient,\n subaccountName,\n subaccountOwner: walletClient.account.address,\n });\n\n return {\n privateKey,\n account: privateKeyToAccount(privateKey),\n };\n }\n}\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,aAAa;AACtB,SAAS,2BAA2B;AACpC,SAAS,4BAA4B;AACrC,SAAS,0BAA0B;AAGnC,cAAc;AAEP,IAAM,gBAAN,cAA4B;AAAA,EACjC;AAAA,EACA;AACF,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,2BACJ,gBAC2C;AAC3C,UAAM,eAAe,KAAK,QAAQ;AAElC,QAAI,CAAC,cAAc;AACjB,YAAM,IAAI,uBAAuB;AAAA,IACnC;AAEA,UAAM,aAAa,MAAM,0CAA0C;AAAA,MACjE,SAAS,aAAa,MAAM;AAAA,MAC5B,iBAAiB,KAAK,mBAAmB;AAAA,MACzC;AAAA,MACA;AAAA,MACA,iBAAiB,aAAa,QAAQ;AAAA,IACxC,CAAC;AAED,WAAO;AAAA,MACL;AAAA,MACA,SAAS,oBAAoB,UAAU;AAAA,IACzC;AAAA,EACF;AACF;","names":[]}
|