@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.
Files changed (57) hide show
  1. package/dist/apis/base.cjs.map +1 -1
  2. package/dist/apis/base.js.map +1 -1
  3. package/dist/apis/market/MarketExecuteAPI.cjs +45 -0
  4. package/dist/apis/market/MarketExecuteAPI.cjs.map +1 -1
  5. package/dist/apis/market/MarketExecuteAPI.d.cts +15 -4
  6. package/dist/apis/market/MarketExecuteAPI.d.ts +15 -4
  7. package/dist/apis/market/MarketExecuteAPI.js +45 -0
  8. package/dist/apis/market/MarketExecuteAPI.js.map +1 -1
  9. package/dist/apis/market/index.d.cts +1 -1
  10. package/dist/apis/market/index.d.ts +1 -1
  11. package/dist/apis/market/types.cjs.map +1 -1
  12. package/dist/apis/market/types.d.cts +9 -1
  13. package/dist/apis/market/types.d.ts +9 -1
  14. package/dist/apis/spot/BaseSpotAPI.cjs +1 -2
  15. package/dist/apis/spot/BaseSpotAPI.cjs.map +1 -1
  16. package/dist/apis/spot/BaseSpotAPI.js +4 -2
  17. package/dist/apis/spot/BaseSpotAPI.js.map +1 -1
  18. package/dist/apis/spot/SpotExecuteAPI.cjs +2 -3
  19. package/dist/apis/spot/SpotExecuteAPI.cjs.map +1 -1
  20. package/dist/apis/spot/SpotExecuteAPI.js +3 -2
  21. package/dist/apis/spot/SpotExecuteAPI.js.map +1 -1
  22. package/dist/apis/subaccount/index.cjs +1 -2
  23. package/dist/apis/subaccount/index.cjs.map +1 -1
  24. package/dist/apis/subaccount/index.js +4 -2
  25. package/dist/apis/subaccount/index.js.map +1 -1
  26. package/dist/apis/subaccount/types.cjs.map +1 -1
  27. package/dist/apis/subaccount/types.d.cts +1 -1
  28. package/dist/apis/subaccount/types.d.ts +1 -1
  29. package/dist/apis/ws/WebSocketExecuteAPI.cjs.map +1 -1
  30. package/dist/apis/ws/WebSocketExecuteAPI.js.map +1 -1
  31. package/dist/apis/ws/index.d.cts +1 -1
  32. package/dist/apis/ws/index.d.ts +1 -1
  33. package/dist/context.cjs +1 -1
  34. package/dist/context.cjs.map +1 -1
  35. package/dist/context.d.cts +1 -1
  36. package/dist/context.d.ts +1 -1
  37. package/dist/context.js +4 -4
  38. package/dist/context.js.map +1 -1
  39. package/dist/createNadoClient.d.cts +1 -1
  40. package/dist/createNadoClient.d.ts +1 -1
  41. package/dist/index.cjs +4 -4
  42. package/dist/index.cjs.map +1 -1
  43. package/dist/index.d.cts +3 -3
  44. package/dist/index.d.ts +3 -3
  45. package/dist/index.js +2 -2
  46. package/dist/index.js.map +1 -1
  47. package/package.json +10 -6
  48. package/src/apis/base.ts +1 -2
  49. package/src/apis/market/MarketExecuteAPI.ts +52 -0
  50. package/src/apis/market/types.ts +10 -0
  51. package/src/apis/spot/BaseSpotAPI.ts +5 -3
  52. package/src/apis/spot/SpotExecuteAPI.ts +2 -1
  53. package/src/apis/subaccount/index.ts +4 -2
  54. package/src/apis/subaccount/types.ts +1 -1
  55. package/src/apis/ws/WebSocketExecuteAPI.ts +1 -1
  56. package/src/context.ts +5 -5
  57. package/src/index.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/apis/subaccount/types.ts"],"sourcesContent":["import { AccountWithPrivateKey } from '@nadohq/shared';\nimport {\n EngineLinkSignerParams,\n EngineLiquidateSubaccountParams,\n} from '@nadohq/engine-client';\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
+ {"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 { EIP712OrderParams } from '@nadohq/shared';\nimport {\n EngineExecuteRequestParamsByType,\n WithSignature,\n} from '@nadohq/engine-client';\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
+ {"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 { EIP712OrderParams } from '@nadohq/shared';\nimport {\n EngineExecuteRequestParamsByType,\n WithSignature,\n} from '@nadohq/engine-client';\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":[]}
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":[]}
@@ -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
 
@@ -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) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/context.ts"],"sourcesContent":["import {\n ChainEnv,\n NADO_ABIS,\n NADO_DEPLOYMENTS,\n NadoContractName,\n NadoContracts,\n NadoDeploymentAddresses,\n WalletClientWithAccount,\n} from '@nadohq/shared';\nimport { ENGINE_CLIENT_ENDPOINTS, EngineClient } from '@nadohq/engine-client';\nimport {\n INDEXER_CLIENT_ENDPOINTS,\n IndexerClient,\n} from '@nadohq/indexer-client';\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,oBAQO;AACP,2BAAsD;AACtD,4BAGO;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":[]}
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":[]}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/context.ts"],"sourcesContent":["import {\n ChainEnv,\n NADO_ABIS,\n NADO_DEPLOYMENTS,\n NadoContractName,\n NadoContracts,\n NadoDeploymentAddresses,\n WalletClientWithAccount,\n} from '@nadohq/shared';\nimport { ENGINE_CLIENT_ENDPOINTS, EngineClient } from '@nadohq/engine-client';\nimport {\n INDEXER_CLIENT_ENDPOINTS,\n IndexerClient,\n} from '@nadohq/indexer-client';\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,EAEE;AAAA,EACA;AAAA,OAKK;AACP,SAAS,yBAAyB,oBAAoB;AACtD;AAAA,EACE;AAAA,EACA;AAAA,OACK;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":[]}
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
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './createNadoClient';\nexport * from './client';\nexport * from './context';\n\nexport * from './apis/market';\nexport * from './apis/perp';\nexport * from './apis/spot';\nexport * from './apis/subaccount';\n\n// Subpackage exports\nexport * from '@nadohq/shared';\nexport * from '@nadohq/engine-client';\nexport * from '@nadohq/indexer-client';\nexport * from '@nadohq/trigger-client';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,mCAAd;AACA,0BAAc,yBADd;AAEA,0BAAc,0BAFd;AAIA,0BAAc,oCAJd;AAKA,0BAAc,kCALd;AAMA,0BAAc,kCANd;AAOA,0BAAc,wCAPd;AAUA,0BAAc,2BAVd;AAWA,0BAAc,kCAXd;AAYA,0BAAc,mCAZd;AAaA,0BAAc,mCAbd;","names":[]}
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 './createNadoClient';\nexport * from './client';\nexport * from './context';\n\nexport * from './apis/market';\nexport * from './apis/perp';\nexport * from './apis/spot';\nexport * from './apis/subaccount';\n\n// Subpackage exports\nexport * from '@nadohq/shared';\nexport * from '@nadohq/engine-client';\nexport * from '@nadohq/indexer-client';\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":[]}
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.4",
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.4",
41
- "@nadohq/indexer-client": "^0.1.0-alpha.4",
42
- "@nadohq/shared": "^0.1.0-alpha.4",
43
- "@nadohq/trigger-client": "^0.1.0-alpha.4",
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": "b852ce36b851303225d3f4b81739ac667c64cf8c"
56
+ "gitHead": "dbfcd352246b8914985af6b333cc49e2b8624473"
53
57
  }
package/src/apis/base.ts CHANGED
@@ -1,5 +1,4 @@
1
- import { WithContracts } from '@nadohq/shared';
2
- import { WalletNotProvidedError } from '@nadohq/shared';
1
+ import { WalletNotProvidedError, WithContracts } from '@nadohq/shared';
3
2
 
4
3
  import { NadoClientContext } from '../context';
5
4
 
@@ -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
@@ -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 { ERC20_ABI } from '@nadohq/shared';
2
- import { ContractInstance } from '@nadohq/shared';
3
- import { getValidatedAddress } from '@nadohq/shared';
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 { createDeterministicLinkedSignerPrivateKey } from '@nadohq/shared';
2
- import { WalletNotProvidedError } from '@nadohq/shared';
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<
@@ -1,8 +1,8 @@
1
- import { EIP712OrderParams } from '@nadohq/shared';
2
1
  import {
3
2
  EngineExecuteRequestParamsByType,
4
3
  WithSignature,
5
4
  } from '@nadohq/engine-client';
5
+ import { EIP712OrderParams } from '@nadohq/shared';
6
6
  import { BaseNadoAPI } from '../base';
7
7
 
8
8
  /**
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';