@nadohq/client 0.1.0-alpha.4 → 0.1.0-alpha.41
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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/apis/subaccount/types.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/apis/subaccount/types.ts"],"sourcesContent":["import {\n EngineLinkSignerParams,\n EngineLiquidateSubaccountParams,\n} from '@nadohq/engine-client';\nimport { AccountWithPrivateKey } from '@nadohq/shared';\nimport { OptionalSignatureParams, OptionalSubaccountOwner } from '../types';\n\nexport type LinkSignerParams = OptionalSignatureParams<\n OptionalSubaccountOwner<EngineLinkSignerParams>\n>;\n\nexport type LiquidateSubaccountParams = OptionalSignatureParams<\n OptionalSubaccountOwner<EngineLiquidateSubaccountParams>\n>;\n\nexport type CreateStandardLinkedSignerResult = AccountWithPrivateKey;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AccountWithPrivateKey } from '@nadohq/shared';
|
|
2
1
|
import { EngineLiquidateSubaccountParams, EngineLinkSignerParams } from '@nadohq/engine-client';
|
|
2
|
+
import { AccountWithPrivateKey } from '@nadohq/shared';
|
|
3
3
|
import { OptionalSignatureParams, OptionalSubaccountOwner } from '../types.cjs';
|
|
4
4
|
|
|
5
5
|
type LinkSignerParams = OptionalSignatureParams<OptionalSubaccountOwner<EngineLinkSignerParams>>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AccountWithPrivateKey } from '@nadohq/shared';
|
|
2
1
|
import { EngineLiquidateSubaccountParams, EngineLinkSignerParams } from '@nadohq/engine-client';
|
|
2
|
+
import { AccountWithPrivateKey } from '@nadohq/shared';
|
|
3
3
|
import { OptionalSignatureParams, OptionalSubaccountOwner } from '../types.js';
|
|
4
4
|
|
|
5
5
|
type LinkSignerParams = OptionalSignatureParams<OptionalSubaccountOwner<EngineLinkSignerParams>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/apis/ws/WebSocketExecuteAPI.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/apis/ws/WebSocketExecuteAPI.ts"],"sourcesContent":["import {\n EngineExecuteRequestParamsByType,\n WithSignature,\n} from '@nadohq/engine-client';\nimport { EIP712OrderParams } from '@nadohq/shared';\nimport { BaseNadoAPI } from '../base';\n\n/**\n * Builds execute messages as expected by the server to send over Websocket.\n * @example nadoClient.ws.execute.buildPlaceOrderMessage(...)\n */\nexport class WebSocketExecuteAPI extends BaseNadoAPI {\n /**\n * Builds ws message for the `liquidate_subaccount` execute action.\n * @param params LiquidateSubaccount params.\n * @returns `liquidate_subaccount` execute message\n */\n async buildLiquidateSubaccountMessage(\n params: EngineExecuteRequestParamsByType['liquidate_subaccount'],\n ) {\n return this.context.engineClient.payloadBuilder.buildLiquidateSubaccountPayload(\n params,\n );\n }\n\n /**\n * Builds ws message for the `withdraw_collateral` execute action.\n * @param params WithdrawCollateral params.\n * @returns `liquidate_subaccount` execute message\n */\n async buildWithdrawCollateralMessage(\n params: EngineExecuteRequestParamsByType['withdraw_collateral'],\n ) {\n return this.context.engineClient.payloadBuilder.buildWithdrawCollateralPayload(\n params,\n );\n }\n\n /**\n * Builds ws message for the `place_order` execute action.\n * @param params PlaceOrder params.\n * @returns `place_order` execute message\n */\n buildPlaceOrderMessage(\n params: WithSignature<\n EngineExecuteRequestParamsByType['place_order'] & {\n order: EIP712OrderParams;\n }\n >,\n ) {\n return this.context.engineClient.payloadBuilder.buildPlaceOrderPayloadSync(\n params,\n );\n }\n\n /**\n * Builds ws message for the `cancel_orders` execute action.\n * @param params PlaceOrder params.\n * @returns `cancel_orders` execute message\n */\n buildCancelOrdersMessage(\n params: WithSignature<\n EngineExecuteRequestParamsByType['cancel_orders'] & { nonce: string }\n >,\n ) {\n return this.context.engineClient.payloadBuilder.buildCancelOrdersPayloadSync(\n params,\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,kBAA4B;AAMrB,IAAM,sBAAN,cAAkC,wBAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnD,MAAM,gCACJ,QACA;AACA,WAAO,KAAK,QAAQ,aAAa,eAAe;AAAA,MAC9C;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,+BACJ,QACA;AACA,WAAO,KAAK,QAAQ,aAAa,eAAe;AAAA,MAC9C;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,uBACE,QAKA;AACA,WAAO,KAAK,QAAQ,aAAa,eAAe;AAAA,MAC9C;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,yBACE,QAGA;AACA,WAAO,KAAK,QAAQ,aAAa,eAAe;AAAA,MAC9C;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/apis/ws/WebSocketExecuteAPI.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/apis/ws/WebSocketExecuteAPI.ts"],"sourcesContent":["import {\n EngineExecuteRequestParamsByType,\n WithSignature,\n} from '@nadohq/engine-client';\nimport { EIP712OrderParams } from '@nadohq/shared';\nimport { BaseNadoAPI } from '../base';\n\n/**\n * Builds execute messages as expected by the server to send over Websocket.\n * @example nadoClient.ws.execute.buildPlaceOrderMessage(...)\n */\nexport class WebSocketExecuteAPI extends BaseNadoAPI {\n /**\n * Builds ws message for the `liquidate_subaccount` execute action.\n * @param params LiquidateSubaccount params.\n * @returns `liquidate_subaccount` execute message\n */\n async buildLiquidateSubaccountMessage(\n params: EngineExecuteRequestParamsByType['liquidate_subaccount'],\n ) {\n return this.context.engineClient.payloadBuilder.buildLiquidateSubaccountPayload(\n params,\n );\n }\n\n /**\n * Builds ws message for the `withdraw_collateral` execute action.\n * @param params WithdrawCollateral params.\n * @returns `liquidate_subaccount` execute message\n */\n async buildWithdrawCollateralMessage(\n params: EngineExecuteRequestParamsByType['withdraw_collateral'],\n ) {\n return this.context.engineClient.payloadBuilder.buildWithdrawCollateralPayload(\n params,\n );\n }\n\n /**\n * Builds ws message for the `place_order` execute action.\n * @param params PlaceOrder params.\n * @returns `place_order` execute message\n */\n buildPlaceOrderMessage(\n params: WithSignature<\n EngineExecuteRequestParamsByType['place_order'] & {\n order: EIP712OrderParams;\n }\n >,\n ) {\n return this.context.engineClient.payloadBuilder.buildPlaceOrderPayloadSync(\n params,\n );\n }\n\n /**\n * Builds ws message for the `cancel_orders` execute action.\n * @param params PlaceOrder params.\n * @returns `cancel_orders` execute message\n */\n buildCancelOrdersMessage(\n params: WithSignature<\n EngineExecuteRequestParamsByType['cancel_orders'] & { nonce: string }\n >,\n ) {\n return this.context.engineClient.payloadBuilder.buildCancelOrdersPayloadSync(\n params,\n );\n }\n}\n"],"mappings":";AAKA,SAAS,mBAAmB;AAMrB,IAAM,sBAAN,cAAkC,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnD,MAAM,gCACJ,QACA;AACA,WAAO,KAAK,QAAQ,aAAa,eAAe;AAAA,MAC9C;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,+BACJ,QACA;AACA,WAAO,KAAK,QAAQ,aAAa,eAAe;AAAA,MAC9C;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,uBACE,QAKA;AACA,WAAO,KAAK,QAAQ,aAAa,eAAe;AAAA,MAC9C;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,yBACE,QAGA;AACA,WAAO,KAAK,QAAQ,aAAa,eAAe;AAAA,MAC9C;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
package/dist/apis/ws/index.d.cts
CHANGED
|
@@ -3,9 +3,9 @@ import { BaseNadoAPI } from '../base.cjs';
|
|
|
3
3
|
import { WebSocketExecuteAPI } from './WebSocketExecuteAPI.cjs';
|
|
4
4
|
import { WebSocketQueryAPI } from './WebSocketQueryAPI.cjs';
|
|
5
5
|
import { WebSocketSubscriptionAPI } from './WebSocketSubscriptionAPI.cjs';
|
|
6
|
-
import '@nadohq/shared';
|
|
7
6
|
import '@nadohq/engine-client';
|
|
8
7
|
import '@nadohq/indexer-client';
|
|
8
|
+
import '@nadohq/shared';
|
|
9
9
|
import '@nadohq/trigger-client';
|
|
10
10
|
import 'viem';
|
|
11
11
|
|
package/dist/apis/ws/index.d.ts
CHANGED
|
@@ -3,9 +3,9 @@ import { BaseNadoAPI } from '../base.js';
|
|
|
3
3
|
import { WebSocketExecuteAPI } from './WebSocketExecuteAPI.js';
|
|
4
4
|
import { WebSocketQueryAPI } from './WebSocketQueryAPI.js';
|
|
5
5
|
import { WebSocketSubscriptionAPI } from './WebSocketSubscriptionAPI.js';
|
|
6
|
-
import '@nadohq/shared';
|
|
7
6
|
import '@nadohq/engine-client';
|
|
8
7
|
import '@nadohq/indexer-client';
|
|
8
|
+
import '@nadohq/shared';
|
|
9
9
|
import '@nadohq/trigger-client';
|
|
10
10
|
import 'viem';
|
|
11
11
|
|
package/dist/context.cjs
CHANGED
|
@@ -23,9 +23,9 @@ __export(context_exports, {
|
|
|
23
23
|
createClientContext: () => createClientContext
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(context_exports);
|
|
26
|
-
var import_shared = require("@nadohq/shared");
|
|
27
26
|
var import_engine_client = require("@nadohq/engine-client");
|
|
28
27
|
var import_indexer_client = require("@nadohq/indexer-client");
|
|
28
|
+
var import_shared = require("@nadohq/shared");
|
|
29
29
|
var import_trigger_client = require("@nadohq/trigger-client");
|
|
30
30
|
var import_viem = require("viem");
|
|
31
31
|
function createClientContext(opts, accountOpts) {
|
package/dist/context.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/context.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../src/context.ts"],"sourcesContent":["import { ENGINE_CLIENT_ENDPOINTS, EngineClient } from '@nadohq/engine-client';\nimport {\n INDEXER_CLIENT_ENDPOINTS,\n IndexerClient,\n} from '@nadohq/indexer-client';\nimport {\n ChainEnv,\n NADO_ABIS,\n NADO_DEPLOYMENTS,\n NadoContractName,\n NadoContracts,\n NadoDeploymentAddresses,\n WalletClientWithAccount,\n} from '@nadohq/shared';\nimport {\n TRIGGER_CLIENT_ENDPOINTS,\n TriggerClient,\n} from '@nadohq/trigger-client';\nimport { getContract, PublicClient } from 'viem';\n\n/**\n * Context required to use the Nado client.\n */\nexport interface NadoClientContext {\n publicClient: PublicClient;\n walletClient?: WalletClientWithAccount;\n // If provided, this is used to sign engine transactions instead of the account associated with walletClient\n linkedSignerWalletClient?: WalletClientWithAccount;\n contracts: NadoContracts;\n contractAddresses: NadoDeploymentAddresses;\n engineClient: EngineClient;\n indexerClient: IndexerClient;\n triggerClient: TriggerClient;\n}\n\n/**\n * Args for creating a context\n */\ninterface NadoClientContextOpts {\n contractAddresses: NadoDeploymentAddresses;\n engineEndpoint: string;\n indexerEndpoint: string;\n triggerEndpoint: string;\n}\n\n/**\n * Args for signing configuration for creating a context\n */\nexport type CreateNadoClientContextAccountOpts = Pick<\n NadoClientContext,\n 'walletClient' | 'linkedSignerWalletClient' | 'publicClient'\n>;\n\nexport type CreateNadoClientContextOpts = NadoClientContextOpts | ChainEnv;\n\n/**\n * Utility function to create client context from options\n *\n * @param opts\n * @param accountOpts\n */\nexport function createClientContext(\n opts: CreateNadoClientContextOpts,\n accountOpts: CreateNadoClientContextAccountOpts,\n): NadoClientContext {\n const {\n contractAddresses,\n engineEndpoint,\n indexerEndpoint,\n triggerEndpoint,\n } = ((): NadoClientContextOpts => {\n // Custom options\n if (typeof opts === 'object') {\n return opts;\n }\n\n const chainEnv = opts;\n return {\n contractAddresses: NADO_DEPLOYMENTS[chainEnv],\n engineEndpoint: ENGINE_CLIENT_ENDPOINTS[chainEnv],\n indexerEndpoint: INDEXER_CLIENT_ENDPOINTS[chainEnv],\n triggerEndpoint: TRIGGER_CLIENT_ENDPOINTS[chainEnv],\n };\n })();\n const { publicClient, walletClient, linkedSignerWalletClient } = accountOpts;\n\n return {\n walletClient,\n linkedSignerWalletClient,\n publicClient,\n contracts: {\n querier: getNadoContract({\n contractAddresses,\n contractName: 'querier',\n walletClient,\n publicClient,\n }),\n clearinghouse: getNadoContract({\n contractAddresses,\n contractName: 'clearinghouse',\n walletClient,\n publicClient,\n }),\n endpoint: getNadoContract({\n contractAddresses,\n contractName: 'endpoint',\n walletClient,\n publicClient,\n }),\n spotEngine: getNadoContract({\n contractAddresses,\n contractName: 'spotEngine',\n walletClient,\n publicClient,\n }),\n perpEngine: getNadoContract({\n contractAddresses,\n contractName: 'perpEngine',\n walletClient,\n publicClient,\n }),\n withdrawPool: getNadoContract({\n contractAddresses,\n contractName: 'withdrawPool',\n walletClient,\n publicClient,\n }),\n },\n contractAddresses,\n engineClient: new EngineClient({\n url: engineEndpoint,\n walletClient,\n linkedSignerWalletClient,\n }),\n indexerClient: new IndexerClient({\n url: indexerEndpoint,\n walletClient,\n }),\n triggerClient: new TriggerClient({\n url: triggerEndpoint,\n walletClient,\n linkedSignerWalletClient,\n }),\n };\n}\n\ninterface GetNadoContractParams<T extends NadoContractName> {\n contractAddresses: NadoDeploymentAddresses;\n contractName: T;\n walletClient?: WalletClientWithAccount;\n publicClient: PublicClient;\n}\n\nfunction getNadoContract<T extends NadoContractName>({\n contractAddresses,\n contractName,\n walletClient,\n publicClient,\n}: GetNadoContractParams<T>): NadoContracts[T] {\n return getContract({\n address: contractAddresses[contractName],\n abi: NADO_ABIS[contractName],\n client: walletClient ?? publicClient,\n }) as NadoContracts[T];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAAsD;AACtD,4BAGO;AACP,oBAQO;AACP,4BAGO;AACP,kBAA0C;AA2CnC,SAAS,oBACd,MACA,aACmB;AACnB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,KAAK,MAA6B;AAEhC,QAAI,OAAO,SAAS,UAAU;AAC5B,aAAO;AAAA,IACT;AAEA,UAAM,WAAW;AACjB,WAAO;AAAA,MACL,mBAAmB,+BAAiB,QAAQ;AAAA,MAC5C,gBAAgB,6CAAwB,QAAQ;AAAA,MAChD,iBAAiB,+CAAyB,QAAQ;AAAA,MAClD,iBAAiB,+CAAyB,QAAQ;AAAA,IACpD;AAAA,EACF,GAAG;AACH,QAAM,EAAE,cAAc,cAAc,yBAAyB,IAAI;AAEjE,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT,SAAS,gBAAgB;AAAA,QACvB;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,eAAe,gBAAgB;AAAA,QAC7B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,UAAU,gBAAgB;AAAA,QACxB;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,YAAY,gBAAgB;AAAA,QAC1B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,YAAY,gBAAgB;AAAA,QAC1B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,cAAc,gBAAgB;AAAA,QAC5B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA;AAAA,IACA,cAAc,IAAI,kCAAa;AAAA,MAC7B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACD,eAAe,IAAI,oCAAc;AAAA,MAC/B,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AAAA,IACD,eAAe,IAAI,oCAAc;AAAA,MAC/B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;AASA,SAAS,gBAA4C;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA+C;AAC7C,aAAO,yBAAY;AAAA,IACjB,SAAS,kBAAkB,YAAY;AAAA,IACvC,KAAK,wBAAU,YAAY;AAAA,IAC3B,QAAQ,gBAAgB;AAAA,EAC1B,CAAC;AACH;","names":[]}
|
package/dist/context.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { WalletClientWithAccount, NadoContracts, NadoDeploymentAddresses, ChainEnv } from '@nadohq/shared';
|
|
2
1
|
import { EngineClient } from '@nadohq/engine-client';
|
|
3
2
|
import { IndexerClient } from '@nadohq/indexer-client';
|
|
3
|
+
import { WalletClientWithAccount, NadoContracts, NadoDeploymentAddresses, ChainEnv } from '@nadohq/shared';
|
|
4
4
|
import { TriggerClient } from '@nadohq/trigger-client';
|
|
5
5
|
import { PublicClient } from 'viem';
|
|
6
6
|
|
package/dist/context.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { WalletClientWithAccount, NadoContracts, NadoDeploymentAddresses, ChainEnv } from '@nadohq/shared';
|
|
2
1
|
import { EngineClient } from '@nadohq/engine-client';
|
|
3
2
|
import { IndexerClient } from '@nadohq/indexer-client';
|
|
3
|
+
import { WalletClientWithAccount, NadoContracts, NadoDeploymentAddresses, ChainEnv } from '@nadohq/shared';
|
|
4
4
|
import { TriggerClient } from '@nadohq/trigger-client';
|
|
5
5
|
import { PublicClient } from 'viem';
|
|
6
6
|
|
package/dist/context.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// src/context.ts
|
|
2
|
-
import {
|
|
3
|
-
NADO_ABIS,
|
|
4
|
-
NADO_DEPLOYMENTS
|
|
5
|
-
} from "@nadohq/shared";
|
|
6
2
|
import { ENGINE_CLIENT_ENDPOINTS, EngineClient } from "@nadohq/engine-client";
|
|
7
3
|
import {
|
|
8
4
|
INDEXER_CLIENT_ENDPOINTS,
|
|
9
5
|
IndexerClient
|
|
10
6
|
} from "@nadohq/indexer-client";
|
|
7
|
+
import {
|
|
8
|
+
NADO_ABIS,
|
|
9
|
+
NADO_DEPLOYMENTS
|
|
10
|
+
} from "@nadohq/shared";
|
|
11
11
|
import {
|
|
12
12
|
TRIGGER_CLIENT_ENDPOINTS,
|
|
13
13
|
TriggerClient
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/context.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../src/context.ts"],"sourcesContent":["import { ENGINE_CLIENT_ENDPOINTS, EngineClient } from '@nadohq/engine-client';\nimport {\n INDEXER_CLIENT_ENDPOINTS,\n IndexerClient,\n} from '@nadohq/indexer-client';\nimport {\n ChainEnv,\n NADO_ABIS,\n NADO_DEPLOYMENTS,\n NadoContractName,\n NadoContracts,\n NadoDeploymentAddresses,\n WalletClientWithAccount,\n} from '@nadohq/shared';\nimport {\n TRIGGER_CLIENT_ENDPOINTS,\n TriggerClient,\n} from '@nadohq/trigger-client';\nimport { getContract, PublicClient } from 'viem';\n\n/**\n * Context required to use the Nado client.\n */\nexport interface NadoClientContext {\n publicClient: PublicClient;\n walletClient?: WalletClientWithAccount;\n // If provided, this is used to sign engine transactions instead of the account associated with walletClient\n linkedSignerWalletClient?: WalletClientWithAccount;\n contracts: NadoContracts;\n contractAddresses: NadoDeploymentAddresses;\n engineClient: EngineClient;\n indexerClient: IndexerClient;\n triggerClient: TriggerClient;\n}\n\n/**\n * Args for creating a context\n */\ninterface NadoClientContextOpts {\n contractAddresses: NadoDeploymentAddresses;\n engineEndpoint: string;\n indexerEndpoint: string;\n triggerEndpoint: string;\n}\n\n/**\n * Args for signing configuration for creating a context\n */\nexport type CreateNadoClientContextAccountOpts = Pick<\n NadoClientContext,\n 'walletClient' | 'linkedSignerWalletClient' | 'publicClient'\n>;\n\nexport type CreateNadoClientContextOpts = NadoClientContextOpts | ChainEnv;\n\n/**\n * Utility function to create client context from options\n *\n * @param opts\n * @param accountOpts\n */\nexport function createClientContext(\n opts: CreateNadoClientContextOpts,\n accountOpts: CreateNadoClientContextAccountOpts,\n): NadoClientContext {\n const {\n contractAddresses,\n engineEndpoint,\n indexerEndpoint,\n triggerEndpoint,\n } = ((): NadoClientContextOpts => {\n // Custom options\n if (typeof opts === 'object') {\n return opts;\n }\n\n const chainEnv = opts;\n return {\n contractAddresses: NADO_DEPLOYMENTS[chainEnv],\n engineEndpoint: ENGINE_CLIENT_ENDPOINTS[chainEnv],\n indexerEndpoint: INDEXER_CLIENT_ENDPOINTS[chainEnv],\n triggerEndpoint: TRIGGER_CLIENT_ENDPOINTS[chainEnv],\n };\n })();\n const { publicClient, walletClient, linkedSignerWalletClient } = accountOpts;\n\n return {\n walletClient,\n linkedSignerWalletClient,\n publicClient,\n contracts: {\n querier: getNadoContract({\n contractAddresses,\n contractName: 'querier',\n walletClient,\n publicClient,\n }),\n clearinghouse: getNadoContract({\n contractAddresses,\n contractName: 'clearinghouse',\n walletClient,\n publicClient,\n }),\n endpoint: getNadoContract({\n contractAddresses,\n contractName: 'endpoint',\n walletClient,\n publicClient,\n }),\n spotEngine: getNadoContract({\n contractAddresses,\n contractName: 'spotEngine',\n walletClient,\n publicClient,\n }),\n perpEngine: getNadoContract({\n contractAddresses,\n contractName: 'perpEngine',\n walletClient,\n publicClient,\n }),\n withdrawPool: getNadoContract({\n contractAddresses,\n contractName: 'withdrawPool',\n walletClient,\n publicClient,\n }),\n },\n contractAddresses,\n engineClient: new EngineClient({\n url: engineEndpoint,\n walletClient,\n linkedSignerWalletClient,\n }),\n indexerClient: new IndexerClient({\n url: indexerEndpoint,\n walletClient,\n }),\n triggerClient: new TriggerClient({\n url: triggerEndpoint,\n walletClient,\n linkedSignerWalletClient,\n }),\n };\n}\n\ninterface GetNadoContractParams<T extends NadoContractName> {\n contractAddresses: NadoDeploymentAddresses;\n contractName: T;\n walletClient?: WalletClientWithAccount;\n publicClient: PublicClient;\n}\n\nfunction getNadoContract<T extends NadoContractName>({\n contractAddresses,\n contractName,\n walletClient,\n publicClient,\n}: GetNadoContractParams<T>): NadoContracts[T] {\n return getContract({\n address: contractAddresses[contractName],\n abi: NADO_ABIS[contractName],\n client: walletClient ?? publicClient,\n }) as NadoContracts[T];\n}\n"],"mappings":";AAAA,SAAS,yBAAyB,oBAAoB;AACtD;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP;AAAA,EAEE;AAAA,EACA;AAAA,OAKK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,mBAAiC;AA2CnC,SAAS,oBACd,MACA,aACmB;AACnB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,KAAK,MAA6B;AAEhC,QAAI,OAAO,SAAS,UAAU;AAC5B,aAAO;AAAA,IACT;AAEA,UAAM,WAAW;AACjB,WAAO;AAAA,MACL,mBAAmB,iBAAiB,QAAQ;AAAA,MAC5C,gBAAgB,wBAAwB,QAAQ;AAAA,MAChD,iBAAiB,yBAAyB,QAAQ;AAAA,MAClD,iBAAiB,yBAAyB,QAAQ;AAAA,IACpD;AAAA,EACF,GAAG;AACH,QAAM,EAAE,cAAc,cAAc,yBAAyB,IAAI;AAEjE,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT,SAAS,gBAAgB;AAAA,QACvB;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,eAAe,gBAAgB;AAAA,QAC7B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,UAAU,gBAAgB;AAAA,QACxB;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,YAAY,gBAAgB;AAAA,QAC1B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,YAAY,gBAAgB;AAAA,QAC1B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,cAAc,gBAAgB;AAAA,QAC5B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA;AAAA,IACA,cAAc,IAAI,aAAa;AAAA,MAC7B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACD,eAAe,IAAI,cAAc;AAAA,MAC/B,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AAAA,IACD,eAAe,IAAI,cAAc;AAAA,MAC/B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;AASA,SAAS,gBAA4C;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA+C;AAC7C,SAAO,YAAY;AAAA,IACjB,SAAS,kBAAkB,YAAY;AAAA,IACvC,KAAK,UAAU,YAAY;AAAA,IAC3B,QAAQ,gBAAgB;AAAA,EAC1B,CAAC;AACH;","names":[]}
|
|
@@ -4,9 +4,9 @@ import './apis/market/index.cjs';
|
|
|
4
4
|
import './apis/perp/index.cjs';
|
|
5
5
|
import './apis/spot/index.cjs';
|
|
6
6
|
import './apis/subaccount/index.cjs';
|
|
7
|
-
import '@nadohq/shared';
|
|
8
7
|
import '@nadohq/engine-client';
|
|
9
8
|
import '@nadohq/indexer-client';
|
|
9
|
+
import '@nadohq/shared';
|
|
10
10
|
import '@nadohq/trigger-client';
|
|
11
11
|
import './apis/market/types.cjs';
|
|
12
12
|
import './apis/spot/types.cjs';
|
|
@@ -4,9 +4,9 @@ import './apis/market/index.js';
|
|
|
4
4
|
import './apis/perp/index.js';
|
|
5
5
|
import './apis/spot/index.js';
|
|
6
6
|
import './apis/subaccount/index.js';
|
|
7
|
-
import '@nadohq/shared';
|
|
8
7
|
import '@nadohq/engine-client';
|
|
9
8
|
import '@nadohq/indexer-client';
|
|
9
|
+
import '@nadohq/shared';
|
|
10
10
|
import '@nadohq/trigger-client';
|
|
11
11
|
import './apis/market/types.js';
|
|
12
12
|
import './apis/spot/types.js';
|
package/dist/index.cjs
CHANGED
|
@@ -17,29 +17,29 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
17
17
|
// src/index.ts
|
|
18
18
|
var index_exports = {};
|
|
19
19
|
module.exports = __toCommonJS(index_exports);
|
|
20
|
-
__reExport(index_exports, require("./createNadoClient.cjs"), module.exports);
|
|
21
20
|
__reExport(index_exports, require("./client.cjs"), module.exports);
|
|
22
21
|
__reExport(index_exports, require("./context.cjs"), module.exports);
|
|
22
|
+
__reExport(index_exports, require("./createNadoClient.cjs"), module.exports);
|
|
23
23
|
__reExport(index_exports, require("./apis/market/index.cjs"), module.exports);
|
|
24
24
|
__reExport(index_exports, require("./apis/perp/index.cjs"), module.exports);
|
|
25
25
|
__reExport(index_exports, require("./apis/spot/index.cjs"), module.exports);
|
|
26
26
|
__reExport(index_exports, require("./apis/subaccount/index.cjs"), module.exports);
|
|
27
|
-
__reExport(index_exports, require("@nadohq/shared"), module.exports);
|
|
28
27
|
__reExport(index_exports, require("@nadohq/engine-client"), module.exports);
|
|
29
28
|
__reExport(index_exports, require("@nadohq/indexer-client"), module.exports);
|
|
29
|
+
__reExport(index_exports, require("@nadohq/shared"), module.exports);
|
|
30
30
|
__reExport(index_exports, require("@nadohq/trigger-client"), module.exports);
|
|
31
31
|
// Annotate the CommonJS export names for ESM import in node:
|
|
32
32
|
0 && (module.exports = {
|
|
33
|
-
...require("./createNadoClient.cjs"),
|
|
34
33
|
...require("./client.cjs"),
|
|
35
34
|
...require("./context.cjs"),
|
|
35
|
+
...require("./createNadoClient.cjs"),
|
|
36
36
|
...require("./apis/market/index.cjs"),
|
|
37
37
|
...require("./apis/perp/index.cjs"),
|
|
38
38
|
...require("./apis/spot/index.cjs"),
|
|
39
39
|
...require("./apis/subaccount/index.cjs"),
|
|
40
|
-
...require("@nadohq/shared"),
|
|
41
40
|
...require("@nadohq/engine-client"),
|
|
42
41
|
...require("@nadohq/indexer-client"),
|
|
42
|
+
...require("@nadohq/shared"),
|
|
43
43
|
...require("@nadohq/trigger-client")
|
|
44
44
|
});
|
|
45
45
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './client';\nexport * from './context';\nexport * from './createNadoClient';\n\nexport * from './apis/market';\nexport * from './apis/perp';\nexport * from './apis/spot';\nexport * from './apis/subaccount';\n\n// Subpackage exports\nexport * from '@nadohq/engine-client';\nexport * from '@nadohq/indexer-client';\nexport * from '@nadohq/shared';\nexport * from '@nadohq/trigger-client';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,yBAAd;AACA,0BAAc,0BADd;AAEA,0BAAc,mCAFd;AAIA,0BAAc,oCAJd;AAKA,0BAAc,kCALd;AAMA,0BAAc,kCANd;AAOA,0BAAc,wCAPd;AAUA,0BAAc,kCAVd;AAWA,0BAAc,mCAXd;AAYA,0BAAc,2BAZd;AAaA,0BAAc,mCAbd;","names":[]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export { createNadoClient } from './createNadoClient.cjs';
|
|
2
1
|
export { NadoClient } from './client.cjs';
|
|
3
2
|
export { CreateNadoClientContextAccountOpts, CreateNadoClientContextOpts, NadoClientContext, createClientContext } from './context.cjs';
|
|
3
|
+
export { createNadoClient } from './createNadoClient.cjs';
|
|
4
4
|
export { MarketAPI } from './apis/market/index.cjs';
|
|
5
5
|
export { PerpAPI } from './apis/perp/index.cjs';
|
|
6
6
|
export { SpotAPI } from './apis/spot/index.cjs';
|
|
7
7
|
export { SubaccountAPI } from './apis/subaccount/index.cjs';
|
|
8
|
-
export * from '@nadohq/shared';
|
|
9
8
|
export * from '@nadohq/engine-client';
|
|
10
9
|
export * from '@nadohq/indexer-client';
|
|
10
|
+
export * from '@nadohq/shared';
|
|
11
11
|
export * from '@nadohq/trigger-client';
|
|
12
|
-
export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceTriggerOrderParams } from './apis/market/types.cjs';
|
|
12
|
+
export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceOrdersParams, PlaceTriggerOrderParams, PlaceTriggerOrdersParams } from './apis/market/types.cjs';
|
|
13
13
|
export { ApproveAllowanceParams, BurnNlpParams, GetTokenAllowanceParams, GetTokenWalletBalanceParams, MintMockERC20Params, MintNlpParams, ProductIdOrTokenAddress, TransferQuoteParams, WithdrawCollateralParams } from './apis/spot/types.cjs';
|
|
14
14
|
export { CreateStandardLinkedSignerResult, LinkSignerParams, LiquidateSubaccountParams } from './apis/subaccount/types.cjs';
|
|
15
15
|
import './apis/ws/index.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export { createNadoClient } from './createNadoClient.js';
|
|
2
1
|
export { NadoClient } from './client.js';
|
|
3
2
|
export { CreateNadoClientContextAccountOpts, CreateNadoClientContextOpts, NadoClientContext, createClientContext } from './context.js';
|
|
3
|
+
export { createNadoClient } from './createNadoClient.js';
|
|
4
4
|
export { MarketAPI } from './apis/market/index.js';
|
|
5
5
|
export { PerpAPI } from './apis/perp/index.js';
|
|
6
6
|
export { SpotAPI } from './apis/spot/index.js';
|
|
7
7
|
export { SubaccountAPI } from './apis/subaccount/index.js';
|
|
8
|
-
export * from '@nadohq/shared';
|
|
9
8
|
export * from '@nadohq/engine-client';
|
|
10
9
|
export * from '@nadohq/indexer-client';
|
|
10
|
+
export * from '@nadohq/shared';
|
|
11
11
|
export * from '@nadohq/trigger-client';
|
|
12
|
-
export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceTriggerOrderParams } from './apis/market/types.js';
|
|
12
|
+
export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceOrdersParams, PlaceTriggerOrderParams, PlaceTriggerOrdersParams } from './apis/market/types.js';
|
|
13
13
|
export { ApproveAllowanceParams, BurnNlpParams, GetTokenAllowanceParams, GetTokenWalletBalanceParams, MintMockERC20Params, MintNlpParams, ProductIdOrTokenAddress, TransferQuoteParams, WithdrawCollateralParams } from './apis/spot/types.js';
|
|
14
14
|
export { CreateStandardLinkedSignerResult, LinkSignerParams, LiquidateSubaccountParams } from './apis/subaccount/types.js';
|
|
15
15
|
import './apis/ws/index.js';
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// src/index.ts
|
|
2
|
-
export * from "./createNadoClient.js";
|
|
3
2
|
export * from "./client.js";
|
|
4
3
|
export * from "./context.js";
|
|
4
|
+
export * from "./createNadoClient.js";
|
|
5
5
|
export * from "./apis/market/index.js";
|
|
6
6
|
export * from "./apis/perp/index.js";
|
|
7
7
|
export * from "./apis/spot/index.js";
|
|
8
8
|
export * from "./apis/subaccount/index.js";
|
|
9
|
-
export * from "@nadohq/shared";
|
|
10
9
|
export * from "@nadohq/engine-client";
|
|
11
10
|
export * from "@nadohq/indexer-client";
|
|
11
|
+
export * from "@nadohq/shared";
|
|
12
12
|
export * from "@nadohq/trigger-client";
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './client';\nexport * from './context';\nexport * from './createNadoClient';\n\nexport * from './apis/market';\nexport * from './apis/perp';\nexport * from './apis/spot';\nexport * from './apis/subaccount';\n\n// Subpackage exports\nexport * from '@nadohq/engine-client';\nexport * from '@nadohq/indexer-client';\nexport * from '@nadohq/shared';\nexport * from '@nadohq/trigger-client';\n"],"mappings":";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nadohq/client",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.41",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"description": "> TODO: description",
|
|
@@ -36,11 +36,15 @@
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
|
+
"react-native": "./dist/index.js",
|
|
40
|
+
"main": "./dist/index.cjs",
|
|
41
|
+
"module": "./dist/index.js",
|
|
42
|
+
"types": "./dist/index.d.ts",
|
|
39
43
|
"dependencies": {
|
|
40
|
-
"@nadohq/engine-client": "^0.1.0-alpha.
|
|
41
|
-
"@nadohq/indexer-client": "^0.1.0-alpha.
|
|
42
|
-
"@nadohq/shared": "^0.1.0-alpha.
|
|
43
|
-
"@nadohq/trigger-client": "^0.1.0-alpha.
|
|
44
|
+
"@nadohq/engine-client": "^0.1.0-alpha.41",
|
|
45
|
+
"@nadohq/indexer-client": "^0.1.0-alpha.41",
|
|
46
|
+
"@nadohq/shared": "^0.1.0-alpha.41",
|
|
47
|
+
"@nadohq/trigger-client": "^0.1.0-alpha.41",
|
|
44
48
|
"ts-mixer": "*"
|
|
45
49
|
},
|
|
46
50
|
"peerDependencies": {
|
|
@@ -49,5 +53,5 @@
|
|
|
49
53
|
"devDependencies": {
|
|
50
54
|
"viem": "*"
|
|
51
55
|
},
|
|
52
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "dbfcd352246b8914985af6b333cc49e2b8624473"
|
|
53
57
|
}
|
package/src/apis/base.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EngineServerExecuteSuccessResult } from '@nadohq/engine-client';
|
|
1
2
|
import { getOrderVerifyingAddress } from '@nadohq/shared';
|
|
2
3
|
import { BaseNadoAPI } from '../base';
|
|
3
4
|
import {
|
|
@@ -7,7 +8,9 @@ import {
|
|
|
7
8
|
CancelTriggerOrdersParams,
|
|
8
9
|
CancelTriggerProductOrdersParams,
|
|
9
10
|
PlaceOrderParams,
|
|
11
|
+
PlaceOrdersParams,
|
|
10
12
|
PlaceTriggerOrderParams,
|
|
13
|
+
PlaceTriggerOrdersParams,
|
|
11
14
|
} from './types';
|
|
12
15
|
|
|
13
16
|
export class MarketExecuteAPI extends BaseNadoAPI {
|
|
@@ -32,6 +35,33 @@ export class MarketExecuteAPI extends BaseNadoAPI {
|
|
|
32
35
|
});
|
|
33
36
|
}
|
|
34
37
|
|
|
38
|
+
/**
|
|
39
|
+
* Places multiple orders through the engine
|
|
40
|
+
* @param params
|
|
41
|
+
*/
|
|
42
|
+
async placeOrders(
|
|
43
|
+
params: PlaceOrdersParams,
|
|
44
|
+
): Promise<EngineServerExecuteSuccessResult<'place_orders'>> {
|
|
45
|
+
return this.context.engineClient.placeOrders({
|
|
46
|
+
orders: params.orders.map((orderParams) => {
|
|
47
|
+
const { id, productId, order, nonce, spotLeverage } = orderParams;
|
|
48
|
+
return {
|
|
49
|
+
id,
|
|
50
|
+
order: {
|
|
51
|
+
...order,
|
|
52
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(order),
|
|
53
|
+
},
|
|
54
|
+
chainId: this.getWalletClientChainIdIfNeeded(orderParams),
|
|
55
|
+
verifyingAddr: getOrderVerifyingAddress(productId),
|
|
56
|
+
productId,
|
|
57
|
+
spotLeverage,
|
|
58
|
+
nonce,
|
|
59
|
+
};
|
|
60
|
+
}),
|
|
61
|
+
stopOnFailure: params.stopOnFailure,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
35
65
|
/**
|
|
36
66
|
* Cancels orders through the engine
|
|
37
67
|
* @param params
|
|
@@ -107,6 +137,28 @@ export class MarketExecuteAPI extends BaseNadoAPI {
|
|
|
107
137
|
});
|
|
108
138
|
}
|
|
109
139
|
|
|
140
|
+
/**
|
|
141
|
+
* Places multiple trigger orders through the trigger service
|
|
142
|
+
* @param params
|
|
143
|
+
*/
|
|
144
|
+
async placeTriggerOrders(params: PlaceTriggerOrdersParams) {
|
|
145
|
+
return this.context.triggerClient.placeTriggerOrders({
|
|
146
|
+
orders: params.orders.map((orderParams) => {
|
|
147
|
+
const { productId, order } = orderParams;
|
|
148
|
+
return {
|
|
149
|
+
...orderParams,
|
|
150
|
+
chainId: this.getWalletClientChainIdIfNeeded(orderParams),
|
|
151
|
+
verifyingAddr: getOrderVerifyingAddress(productId),
|
|
152
|
+
order: {
|
|
153
|
+
subaccountOwner: this.getSubaccountOwnerIfNeeded(order),
|
|
154
|
+
...order,
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
}),
|
|
158
|
+
stopOnFailure: params.stopOnFailure,
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
|
|
110
162
|
/**
|
|
111
163
|
* Cancels all trigger orders for provided digests through the trigger service.
|
|
112
164
|
* @param params
|
package/src/apis/market/types.ts
CHANGED
|
@@ -24,6 +24,11 @@ type ClientOrderParams<T extends { order: EngineOrderParams }> = Omit<
|
|
|
24
24
|
|
|
25
25
|
export type PlaceOrderParams = ClientOrderParams<EnginePlaceOrderParams>;
|
|
26
26
|
|
|
27
|
+
export type PlaceOrdersParams = {
|
|
28
|
+
orders: PlaceOrderParams[];
|
|
29
|
+
stopOnFailure?: boolean;
|
|
30
|
+
};
|
|
31
|
+
|
|
27
32
|
export type CancelOrdersParams = OptionalSignatureParams<
|
|
28
33
|
OptionalSubaccountOwner<EngineCancelOrdersParams>
|
|
29
34
|
>;
|
|
@@ -40,6 +45,11 @@ export interface CancelAndPlaceOrderParams {
|
|
|
40
45
|
export type PlaceTriggerOrderParams =
|
|
41
46
|
ClientOrderParams<TriggerPlaceOrderParams>;
|
|
42
47
|
|
|
48
|
+
export interface PlaceTriggerOrdersParams {
|
|
49
|
+
orders: PlaceTriggerOrderParams[];
|
|
50
|
+
stopOnFailure?: boolean;
|
|
51
|
+
}
|
|
52
|
+
|
|
43
53
|
export type CancelTriggerOrdersParams = OptionalSignatureParams<
|
|
44
54
|
OptionalSubaccountOwner<TriggerCancelOrdersParams>
|
|
45
55
|
>;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import {
|
|
2
|
+
ContractInstance,
|
|
3
|
+
ERC20_ABI,
|
|
4
|
+
getValidatedAddress,
|
|
5
|
+
} from '@nadohq/shared';
|
|
4
6
|
import { getContract } from 'viem';
|
|
5
7
|
import { BaseNadoAPI } from '../base';
|
|
6
8
|
import { ProductIdOrTokenAddress } from './types';
|
|
@@ -4,8 +4,9 @@ import {
|
|
|
4
4
|
DepositCollateralParams,
|
|
5
5
|
isWriteableContract,
|
|
6
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';
|
|
10
11
|
import {
|
|
11
12
|
ApproveAllowanceParams,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import {
|
|
2
|
+
createDeterministicLinkedSignerPrivateKey,
|
|
3
|
+
WalletNotProvidedError,
|
|
4
|
+
} from '@nadohq/shared';
|
|
3
5
|
import { Mixin } from 'ts-mixer';
|
|
4
6
|
import { privateKeyToAccount } from 'viem/accounts';
|
|
5
7
|
import { SubaccountExecuteAPI } from './SubaccountExecuteAPI';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AccountWithPrivateKey } from '@nadohq/shared';
|
|
2
1
|
import {
|
|
3
2
|
EngineLinkSignerParams,
|
|
4
3
|
EngineLiquidateSubaccountParams,
|
|
5
4
|
} from '@nadohq/engine-client';
|
|
5
|
+
import { AccountWithPrivateKey } from '@nadohq/shared';
|
|
6
6
|
import { OptionalSignatureParams, OptionalSubaccountOwner } from '../types';
|
|
7
7
|
|
|
8
8
|
export type LinkSignerParams = OptionalSignatureParams<
|
package/src/context.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import { ENGINE_CLIENT_ENDPOINTS, EngineClient } from '@nadohq/engine-client';
|
|
2
|
+
import {
|
|
3
|
+
INDEXER_CLIENT_ENDPOINTS,
|
|
4
|
+
IndexerClient,
|
|
5
|
+
} from '@nadohq/indexer-client';
|
|
1
6
|
import {
|
|
2
7
|
ChainEnv,
|
|
3
8
|
NADO_ABIS,
|
|
@@ -7,11 +12,6 @@ import {
|
|
|
7
12
|
NadoDeploymentAddresses,
|
|
8
13
|
WalletClientWithAccount,
|
|
9
14
|
} from '@nadohq/shared';
|
|
10
|
-
import { ENGINE_CLIENT_ENDPOINTS, EngineClient } from '@nadohq/engine-client';
|
|
11
|
-
import {
|
|
12
|
-
INDEXER_CLIENT_ENDPOINTS,
|
|
13
|
-
IndexerClient,
|
|
14
|
-
} from '@nadohq/indexer-client';
|
|
15
15
|
import {
|
|
16
16
|
TRIGGER_CLIENT_ENDPOINTS,
|
|
17
17
|
TriggerClient,
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './createNadoClient';
|
|
2
1
|
export * from './client';
|
|
3
2
|
export * from './context';
|
|
3
|
+
export * from './createNadoClient';
|
|
4
4
|
|
|
5
5
|
export * from './apis/market';
|
|
6
6
|
export * from './apis/perp';
|
|
@@ -8,7 +8,7 @@ export * from './apis/spot';
|
|
|
8
8
|
export * from './apis/subaccount';
|
|
9
9
|
|
|
10
10
|
// Subpackage exports
|
|
11
|
-
export * from '@nadohq/shared';
|
|
12
11
|
export * from '@nadohq/engine-client';
|
|
13
12
|
export * from '@nadohq/indexer-client';
|
|
13
|
+
export * from '@nadohq/shared';
|
|
14
14
|
export * from '@nadohq/trigger-client';
|