@nadohq/client 0.1.0-alpha.1 → 0.1.0-alpha.10

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 (118) hide show
  1. package/dist/apis/base.cjs +3 -6
  2. package/dist/apis/base.cjs.map +1 -1
  3. package/dist/apis/base.d.cts +1 -2
  4. package/dist/apis/base.d.ts +1 -2
  5. package/dist/apis/base.js +1 -4
  6. package/dist/apis/base.js.map +1 -1
  7. package/dist/apis/market/MarketExecuteAPI.cjs +4 -27
  8. package/dist/apis/market/MarketExecuteAPI.cjs.map +1 -1
  9. package/dist/apis/market/MarketExecuteAPI.d.cts +3 -11
  10. package/dist/apis/market/MarketExecuteAPI.d.ts +3 -11
  11. package/dist/apis/market/MarketExecuteAPI.js +4 -27
  12. package/dist/apis/market/MarketExecuteAPI.js.map +1 -1
  13. package/dist/apis/market/MarketQueryAPI.cjs +2 -9
  14. package/dist/apis/market/MarketQueryAPI.cjs.map +1 -1
  15. package/dist/apis/market/MarketQueryAPI.d.cts +4 -8
  16. package/dist/apis/market/MarketQueryAPI.d.ts +4 -8
  17. package/dist/apis/market/MarketQueryAPI.js +2 -9
  18. package/dist/apis/market/MarketQueryAPI.js.map +1 -1
  19. package/dist/apis/market/index.d.cts +2 -2
  20. package/dist/apis/market/index.d.ts +2 -2
  21. package/dist/apis/market/types.cjs.map +1 -1
  22. package/dist/apis/market/types.d.cts +5 -9
  23. package/dist/apis/market/types.d.ts +5 -9
  24. package/dist/apis/perp/PerpExecuteAPI.cjs +0 -3
  25. package/dist/apis/perp/PerpExecuteAPI.cjs.map +1 -1
  26. package/dist/apis/perp/PerpExecuteAPI.d.cts +1 -2
  27. package/dist/apis/perp/PerpExecuteAPI.d.ts +1 -2
  28. package/dist/apis/perp/PerpExecuteAPI.js +0 -3
  29. package/dist/apis/perp/PerpExecuteAPI.js.map +1 -1
  30. package/dist/apis/perp/PerpQueryAPI.d.cts +1 -1
  31. package/dist/apis/perp/PerpQueryAPI.d.ts +1 -1
  32. package/dist/apis/perp/index.d.cts +1 -1
  33. package/dist/apis/perp/index.d.ts +1 -1
  34. package/dist/apis/spot/BaseSpotAPI.cjs +4 -4
  35. package/dist/apis/spot/BaseSpotAPI.cjs.map +1 -1
  36. package/dist/apis/spot/BaseSpotAPI.d.cts +1 -2
  37. package/dist/apis/spot/BaseSpotAPI.d.ts +1 -2
  38. package/dist/apis/spot/BaseSpotAPI.js +2 -2
  39. package/dist/apis/spot/BaseSpotAPI.js.map +1 -1
  40. package/dist/apis/spot/SpotExecuteAPI.cjs +12 -12
  41. package/dist/apis/spot/SpotExecuteAPI.cjs.map +1 -1
  42. package/dist/apis/spot/SpotExecuteAPI.d.cts +4 -5
  43. package/dist/apis/spot/SpotExecuteAPI.d.ts +4 -5
  44. package/dist/apis/spot/SpotExecuteAPI.js +6 -6
  45. package/dist/apis/spot/SpotExecuteAPI.js.map +1 -1
  46. package/dist/apis/spot/SpotQueryAPI.cjs +7 -7
  47. package/dist/apis/spot/SpotQueryAPI.cjs.map +1 -1
  48. package/dist/apis/spot/SpotQueryAPI.d.cts +4 -5
  49. package/dist/apis/spot/SpotQueryAPI.d.ts +4 -5
  50. package/dist/apis/spot/SpotQueryAPI.js +4 -4
  51. package/dist/apis/spot/SpotQueryAPI.js.map +1 -1
  52. package/dist/apis/spot/index.d.cts +2 -3
  53. package/dist/apis/spot/index.d.ts +2 -3
  54. package/dist/apis/spot/types.cjs.map +1 -1
  55. package/dist/apis/spot/types.d.cts +9 -5
  56. package/dist/apis/spot/types.d.ts +9 -5
  57. package/dist/apis/subaccount/SubaccountExecuteAPI.d.cts +1 -1
  58. package/dist/apis/subaccount/SubaccountExecuteAPI.d.ts +1 -1
  59. package/dist/apis/subaccount/SubaccountQueryAPI.cjs +1 -10
  60. package/dist/apis/subaccount/SubaccountQueryAPI.cjs.map +1 -1
  61. package/dist/apis/subaccount/SubaccountQueryAPI.d.cts +3 -10
  62. package/dist/apis/subaccount/SubaccountQueryAPI.d.ts +3 -10
  63. package/dist/apis/subaccount/SubaccountQueryAPI.js +1 -12
  64. package/dist/apis/subaccount/SubaccountQueryAPI.js.map +1 -1
  65. package/dist/apis/subaccount/index.cjs +4 -4
  66. package/dist/apis/subaccount/index.cjs.map +1 -1
  67. package/dist/apis/subaccount/index.d.cts +1 -1
  68. package/dist/apis/subaccount/index.d.ts +1 -1
  69. package/dist/apis/subaccount/index.js +2 -2
  70. package/dist/apis/subaccount/index.js.map +1 -1
  71. package/dist/apis/subaccount/types.cjs.map +1 -1
  72. package/dist/apis/subaccount/types.d.cts +1 -1
  73. package/dist/apis/subaccount/types.d.ts +1 -1
  74. package/dist/apis/ws/WebSocketExecuteAPI.cjs.map +1 -1
  75. package/dist/apis/ws/WebSocketExecuteAPI.d.cts +4 -4
  76. package/dist/apis/ws/WebSocketExecuteAPI.d.ts +4 -4
  77. package/dist/apis/ws/WebSocketExecuteAPI.js.map +1 -1
  78. package/dist/apis/ws/WebSocketQueryAPI.d.cts +1 -1
  79. package/dist/apis/ws/WebSocketQueryAPI.d.ts +1 -1
  80. package/dist/apis/ws/WebSocketSubscriptionAPI.d.cts +1 -1
  81. package/dist/apis/ws/WebSocketSubscriptionAPI.d.ts +1 -1
  82. package/dist/apis/ws/index.d.cts +1 -1
  83. package/dist/apis/ws/index.d.ts +1 -1
  84. package/dist/client.cjs.map +1 -1
  85. package/dist/client.d.cts +2 -3
  86. package/dist/client.d.ts +2 -3
  87. package/dist/client.js.map +1 -1
  88. package/dist/context.cjs +3 -3
  89. package/dist/context.cjs.map +1 -1
  90. package/dist/context.d.cts +1 -1
  91. package/dist/context.d.ts +1 -1
  92. package/dist/context.js +1 -1
  93. package/dist/context.js.map +1 -1
  94. package/dist/createNadoClient.d.cts +1 -2
  95. package/dist/createNadoClient.d.ts +1 -2
  96. package/dist/index.cjs +2 -4
  97. package/dist/index.cjs.map +1 -1
  98. package/dist/index.d.cts +3 -4
  99. package/dist/index.d.ts +3 -4
  100. package/dist/index.js +1 -2
  101. package/dist/index.js.map +1 -1
  102. package/package.json +6 -7
  103. package/src/apis/base.ts +2 -6
  104. package/src/apis/market/MarketExecuteAPI.ts +4 -38
  105. package/src/apis/market/MarketQueryAPI.ts +4 -11
  106. package/src/apis/market/types.ts +7 -13
  107. package/src/apis/perp/PerpExecuteAPI.ts +1 -6
  108. package/src/apis/spot/BaseSpotAPI.ts +3 -2
  109. package/src/apis/spot/SpotExecuteAPI.ts +9 -9
  110. package/src/apis/spot/SpotQueryAPI.ts +5 -5
  111. package/src/apis/spot/types.ts +12 -7
  112. package/src/apis/subaccount/SubaccountQueryAPI.ts +1 -14
  113. package/src/apis/subaccount/index.ts +2 -2
  114. package/src/apis/subaccount/types.ts +1 -1
  115. package/src/apis/ws/WebSocketExecuteAPI.ts +1 -1
  116. package/src/client.ts +1 -1
  117. package/src/context.ts +1 -1
  118. package/src/index.ts +1 -2
package/dist/client.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { WalletClientWithAccount } from '@nadohq/contracts';
1
+ import { WalletClientWithAccount } from '@nadohq/shared';
2
2
  import { MarketAPI } from './apis/market/index.cjs';
3
3
  import { PerpAPI } from './apis/perp/index.cjs';
4
4
  import { SpotAPI } from './apis/spot/index.cjs';
@@ -10,8 +10,8 @@ import './apis/market/MarketExecuteAPI.cjs';
10
10
  import '@nadohq/trigger-client';
11
11
  import '@nadohq/engine-client';
12
12
  import './apis/base.cjs';
13
- import './apis/types.cjs';
14
13
  import './apis/market/types.cjs';
14
+ import './apis/types.cjs';
15
15
  import './apis/market/MarketQueryAPI.cjs';
16
16
  import '@nadohq/indexer-client';
17
17
  import './apis/perp/PerpExecuteAPI.cjs';
@@ -19,7 +19,6 @@ import './apis/perp/PerpQueryAPI.cjs';
19
19
  import './apis/spot/SpotExecuteAPI.cjs';
20
20
  import './apis/spot/BaseSpotAPI.cjs';
21
21
  import './apis/spot/types.cjs';
22
- import '@nadohq/utils';
23
22
  import './apis/spot/SpotQueryAPI.cjs';
24
23
  import './apis/subaccount/SubaccountExecuteAPI.cjs';
25
24
  import './apis/subaccount/types.cjs';
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { WalletClientWithAccount } from '@nadohq/contracts';
1
+ import { WalletClientWithAccount } from '@nadohq/shared';
2
2
  import { MarketAPI } from './apis/market/index.js';
3
3
  import { PerpAPI } from './apis/perp/index.js';
4
4
  import { SpotAPI } from './apis/spot/index.js';
@@ -10,8 +10,8 @@ import './apis/market/MarketExecuteAPI.js';
10
10
  import '@nadohq/trigger-client';
11
11
  import '@nadohq/engine-client';
12
12
  import './apis/base.js';
13
- import './apis/types.js';
14
13
  import './apis/market/types.js';
14
+ import './apis/types.js';
15
15
  import './apis/market/MarketQueryAPI.js';
16
16
  import '@nadohq/indexer-client';
17
17
  import './apis/perp/PerpExecuteAPI.js';
@@ -19,7 +19,6 @@ import './apis/perp/PerpQueryAPI.js';
19
19
  import './apis/spot/SpotExecuteAPI.js';
20
20
  import './apis/spot/BaseSpotAPI.js';
21
21
  import './apis/spot/types.js';
22
- import '@nadohq/utils';
23
22
  import './apis/spot/SpotQueryAPI.js';
24
23
  import './apis/subaccount/SubaccountExecuteAPI.js';
25
24
  import './apis/subaccount/types.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/client.ts"],"sourcesContent":["import { WalletClientWithAccount } from '@nadohq/contracts';\nimport { MarketAPI } from './apis/market';\nimport { PerpAPI } from './apis/perp';\nimport { SpotAPI } from './apis/spot';\nimport { SubaccountAPI } from './apis/subaccount';\nimport { WebsocketAPI } from './apis/ws';\nimport { createClientContext, NadoClientContext } from './context';\n\n/**\n * Client for querying and executing against Nado Clearinghouse.\n * Usually not instantiated directly. Instead, use {@link createNadoClient:CLIENT}.\n */\nexport class NadoClient {\n context!: NadoClientContext;\n market!: MarketAPI;\n subaccount!: SubaccountAPI;\n spot!: SpotAPI;\n perp!: PerpAPI;\n ws!: WebsocketAPI;\n\n constructor(context: NadoClientContext) {\n this.setupFromContext(context);\n }\n\n /**\n * Sets the linked signer for the client. Set to null to revert to the chain signer.\n * @param linkedSignerWalletClient\n */\n setLinkedSigner(linkedSignerWalletClient: WalletClientWithAccount | null) {\n // This is a bit ugly, but works for now\n this.context.linkedSignerWalletClient =\n linkedSignerWalletClient ?? undefined;\n this.context.engineClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.triggerClient.setLinkedSigner(linkedSignerWalletClient);\n }\n\n /**\n * Sets the WalletClient for the client. Will cause a full reload of the current context.\n * @param walletClient\n */\n setWalletClient(walletClient: NadoClientContext['walletClient']) {\n const newContext = createClientContext(\n {\n contractAddresses: this.context.contractAddresses,\n engineEndpoint: this.context.engineClient.opts.url,\n indexerEndpoint: this.context.indexerClient.opts.url,\n triggerEndpoint: this.context.triggerClient.opts.url,\n },\n {\n walletClient,\n // No need to call setLinkedSigner as this property doesn't change\n linkedSignerWalletClient: this.context.linkedSignerWalletClient,\n publicClient: this.context.publicClient,\n },\n );\n this.setupFromContext(newContext);\n }\n\n private setupFromContext(context: NadoClientContext) {\n this.context = context;\n this.market = new MarketAPI(context);\n this.subaccount = new SubaccountAPI(context);\n this.spot = new SpotAPI(context);\n this.perp = new PerpAPI(context);\n this.ws = new WebsocketAPI(context);\n }\n}\n"],"mappings":";AACA,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,SAAS,eAAe;AACxB,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAC7B,SAAS,2BAA8C;AAMhD,IAAM,aAAN,MAAiB;AAAA,EAQtB,YAAY,SAA4B;AACtC,SAAK,iBAAiB,OAAO;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAAgB,0BAA0D;AAExE,SAAK,QAAQ,2BACX,4BAA4B;AAC9B,SAAK,QAAQ,aAAa,gBAAgB,wBAAwB;AAClE,SAAK,QAAQ,cAAc,gBAAgB,wBAAwB;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAAgB,cAAiD;AAC/D,UAAM,aAAa;AAAA,MACjB;AAAA,QACE,mBAAmB,KAAK,QAAQ;AAAA,QAChC,gBAAgB,KAAK,QAAQ,aAAa,KAAK;AAAA,QAC/C,iBAAiB,KAAK,QAAQ,cAAc,KAAK;AAAA,QACjD,iBAAiB,KAAK,QAAQ,cAAc,KAAK;AAAA,MACnD;AAAA,MACA;AAAA,QACE;AAAA;AAAA,QAEA,0BAA0B,KAAK,QAAQ;AAAA,QACvC,cAAc,KAAK,QAAQ;AAAA,MAC7B;AAAA,IACF;AACA,SAAK,iBAAiB,UAAU;AAAA,EAClC;AAAA,EAEQ,iBAAiB,SAA4B;AACnD,SAAK,UAAU;AACf,SAAK,SAAS,IAAI,UAAU,OAAO;AACnC,SAAK,aAAa,IAAI,cAAc,OAAO;AAC3C,SAAK,OAAO,IAAI,QAAQ,OAAO;AAC/B,SAAK,OAAO,IAAI,QAAQ,OAAO;AAC/B,SAAK,KAAK,IAAI,aAAa,OAAO;AAAA,EACpC;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/client.ts"],"sourcesContent":["import { WalletClientWithAccount } from '@nadohq/shared';\nimport { MarketAPI } from './apis/market';\nimport { PerpAPI } from './apis/perp';\nimport { SpotAPI } from './apis/spot';\nimport { SubaccountAPI } from './apis/subaccount';\nimport { WebsocketAPI } from './apis/ws';\nimport { createClientContext, NadoClientContext } from './context';\n\n/**\n * Client for querying and executing against Nado Clearinghouse.\n * Usually not instantiated directly. Instead, use {@link createNadoClient:CLIENT}.\n */\nexport class NadoClient {\n context!: NadoClientContext;\n market!: MarketAPI;\n subaccount!: SubaccountAPI;\n spot!: SpotAPI;\n perp!: PerpAPI;\n ws!: WebsocketAPI;\n\n constructor(context: NadoClientContext) {\n this.setupFromContext(context);\n }\n\n /**\n * Sets the linked signer for the client. Set to null to revert to the chain signer.\n * @param linkedSignerWalletClient\n */\n setLinkedSigner(linkedSignerWalletClient: WalletClientWithAccount | null) {\n // This is a bit ugly, but works for now\n this.context.linkedSignerWalletClient =\n linkedSignerWalletClient ?? undefined;\n this.context.engineClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.triggerClient.setLinkedSigner(linkedSignerWalletClient);\n }\n\n /**\n * Sets the WalletClient for the client. Will cause a full reload of the current context.\n * @param walletClient\n */\n setWalletClient(walletClient: NadoClientContext['walletClient']) {\n const newContext = createClientContext(\n {\n contractAddresses: this.context.contractAddresses,\n engineEndpoint: this.context.engineClient.opts.url,\n indexerEndpoint: this.context.indexerClient.opts.url,\n triggerEndpoint: this.context.triggerClient.opts.url,\n },\n {\n walletClient,\n // No need to call setLinkedSigner as this property doesn't change\n linkedSignerWalletClient: this.context.linkedSignerWalletClient,\n publicClient: this.context.publicClient,\n },\n );\n this.setupFromContext(newContext);\n }\n\n private setupFromContext(context: NadoClientContext) {\n this.context = context;\n this.market = new MarketAPI(context);\n this.subaccount = new SubaccountAPI(context);\n this.spot = new SpotAPI(context);\n this.perp = new PerpAPI(context);\n this.ws = new WebsocketAPI(context);\n }\n}\n"],"mappings":";AACA,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,SAAS,eAAe;AACxB,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAC7B,SAAS,2BAA8C;AAMhD,IAAM,aAAN,MAAiB;AAAA,EAQtB,YAAY,SAA4B;AACtC,SAAK,iBAAiB,OAAO;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAAgB,0BAA0D;AAExE,SAAK,QAAQ,2BACX,4BAA4B;AAC9B,SAAK,QAAQ,aAAa,gBAAgB,wBAAwB;AAClE,SAAK,QAAQ,cAAc,gBAAgB,wBAAwB;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAAgB,cAAiD;AAC/D,UAAM,aAAa;AAAA,MACjB;AAAA,QACE,mBAAmB,KAAK,QAAQ;AAAA,QAChC,gBAAgB,KAAK,QAAQ,aAAa,KAAK;AAAA,QAC/C,iBAAiB,KAAK,QAAQ,cAAc,KAAK;AAAA,QACjD,iBAAiB,KAAK,QAAQ,cAAc,KAAK;AAAA,MACnD;AAAA,MACA;AAAA,QACE;AAAA;AAAA,QAEA,0BAA0B,KAAK,QAAQ;AAAA,QACvC,cAAc,KAAK,QAAQ;AAAA,MAC7B;AAAA,IACF;AACA,SAAK,iBAAiB,UAAU;AAAA,EAClC;AAAA,EAEQ,iBAAiB,SAA4B;AACnD,SAAK,UAAU;AACf,SAAK,SAAS,IAAI,UAAU,OAAO;AACnC,SAAK,aAAa,IAAI,cAAc,OAAO;AAC3C,SAAK,OAAO,IAAI,QAAQ,OAAO;AAC/B,SAAK,OAAO,IAAI,QAAQ,OAAO;AAC/B,SAAK,KAAK,IAAI,aAAa,OAAO;AAAA,EACpC;AACF;","names":[]}
package/dist/context.cjs CHANGED
@@ -23,7 +23,7 @@ __export(context_exports, {
23
23
  createClientContext: () => createClientContext
24
24
  });
25
25
  module.exports = __toCommonJS(context_exports);
26
- var import_contracts = require("@nadohq/contracts");
26
+ var import_shared = require("@nadohq/shared");
27
27
  var import_engine_client = require("@nadohq/engine-client");
28
28
  var import_indexer_client = require("@nadohq/indexer-client");
29
29
  var import_trigger_client = require("@nadohq/trigger-client");
@@ -40,7 +40,7 @@ function createClientContext(opts, accountOpts) {
40
40
  }
41
41
  const chainEnv = opts;
42
42
  return {
43
- contractAddresses: import_contracts.NADO_DEPLOYMENTS[chainEnv],
43
+ contractAddresses: import_shared.NADO_DEPLOYMENTS[chainEnv],
44
44
  engineEndpoint: import_engine_client.ENGINE_CLIENT_ENDPOINTS[chainEnv],
45
45
  indexerEndpoint: import_indexer_client.INDEXER_CLIENT_ENDPOINTS[chainEnv],
46
46
  triggerEndpoint: import_trigger_client.TRIGGER_CLIENT_ENDPOINTS[chainEnv]
@@ -114,7 +114,7 @@ function getNadoContract({
114
114
  }) {
115
115
  return (0, import_viem.getContract)({
116
116
  address: contractAddresses[contractName],
117
- abi: import_contracts.NADO_ABIS[contractName],
117
+ abi: import_shared.NADO_ABIS[contractName],
118
118
  client: walletClient ?? publicClient
119
119
  });
120
120
  }
@@ -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/contracts';\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,uBAQO;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,kCAAiB,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,2BAAU,YAAY;AAAA,IAC3B,QAAQ,gBAAgB;AAAA,EAC1B,CAAC;AACH;","names":[]}
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,4 +1,4 @@
1
- import { WalletClientWithAccount, NadoContracts, NadoDeploymentAddresses, ChainEnv } from '@nadohq/contracts';
1
+ import { WalletClientWithAccount, NadoContracts, NadoDeploymentAddresses, ChainEnv } from '@nadohq/shared';
2
2
  import { EngineClient } from '@nadohq/engine-client';
3
3
  import { IndexerClient } from '@nadohq/indexer-client';
4
4
  import { TriggerClient } from '@nadohq/trigger-client';
package/dist/context.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { WalletClientWithAccount, NadoContracts, NadoDeploymentAddresses, ChainEnv } from '@nadohq/contracts';
1
+ import { WalletClientWithAccount, NadoContracts, NadoDeploymentAddresses, ChainEnv } from '@nadohq/shared';
2
2
  import { EngineClient } from '@nadohq/engine-client';
3
3
  import { IndexerClient } from '@nadohq/indexer-client';
4
4
  import { TriggerClient } from '@nadohq/trigger-client';
package/dist/context.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  NADO_ABIS,
4
4
  NADO_DEPLOYMENTS
5
- } from "@nadohq/contracts";
5
+ } from "@nadohq/shared";
6
6
  import { ENGINE_CLIENT_ENDPOINTS, EngineClient } from "@nadohq/engine-client";
7
7
  import {
8
8
  INDEXER_CLIENT_ENDPOINTS,
@@ -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/contracts';\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 {\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":[]}
@@ -4,8 +4,7 @@ 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/utils';
8
- import '@nadohq/contracts';
7
+ import '@nadohq/shared';
9
8
  import '@nadohq/engine-client';
10
9
  import '@nadohq/indexer-client';
11
10
  import '@nadohq/trigger-client';
@@ -4,8 +4,7 @@ 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/utils';
8
- import '@nadohq/contracts';
7
+ import '@nadohq/shared';
9
8
  import '@nadohq/engine-client';
10
9
  import '@nadohq/indexer-client';
11
10
  import '@nadohq/trigger-client';
package/dist/index.cjs CHANGED
@@ -24,8 +24,7 @@ __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/utils"), module.exports);
28
- __reExport(index_exports, require("@nadohq/contracts"), module.exports);
27
+ __reExport(index_exports, require("@nadohq/shared"), module.exports);
29
28
  __reExport(index_exports, require("@nadohq/engine-client"), module.exports);
30
29
  __reExport(index_exports, require("@nadohq/indexer-client"), module.exports);
31
30
  __reExport(index_exports, require("@nadohq/trigger-client"), module.exports);
@@ -38,8 +37,7 @@ __reExport(index_exports, require("@nadohq/trigger-client"), module.exports);
38
37
  ...require("./apis/perp/index.cjs"),
39
38
  ...require("./apis/spot/index.cjs"),
40
39
  ...require("./apis/subaccount/index.cjs"),
41
- ...require("@nadohq/utils"),
42
- ...require("@nadohq/contracts"),
40
+ ...require("@nadohq/shared"),
43
41
  ...require("@nadohq/engine-client"),
44
42
  ...require("@nadohq/indexer-client"),
45
43
  ...require("@nadohq/trigger-client")
@@ -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/utils';\nexport * from '@nadohq/contracts';\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,0BAVd;AAWA,0BAAc,8BAXd;AAYA,0BAAc,kCAZd;AAaA,0BAAc,mCAbd;AAcA,0BAAc,mCAdd;","names":[]}
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":[]}
package/dist/index.d.cts CHANGED
@@ -5,13 +5,12 @@ 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/utils';
9
- export * from '@nadohq/contracts';
8
+ export * from '@nadohq/shared';
10
9
  export * from '@nadohq/engine-client';
11
10
  export * from '@nadohq/indexer-client';
12
11
  export * from '@nadohq/trigger-client';
13
- export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceIsolatedOrderParams, PlaceOrderParams, PlaceTriggerOrderParams } from './apis/market/types.cjs';
14
- export { ApproveAllowanceParams, BurnVlpParams, GetTokenAllowanceParams, GetTokenWalletBalanceParams, MintVlpParams, ProductIdOrTokenAddress, TransferQuoteParams, WithdrawCollateralParams } from './apis/spot/types.cjs';
12
+ export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceTriggerOrderParams } from './apis/market/types.cjs';
13
+ export { ApproveAllowanceParams, BurnNlpParams, GetTokenAllowanceParams, GetTokenWalletBalanceParams, MintMockERC20Params, MintNlpParams, ProductIdOrTokenAddress, TransferQuoteParams, WithdrawCollateralParams } from './apis/spot/types.cjs';
15
14
  export { CreateStandardLinkedSignerResult, LinkSignerParams, LiquidateSubaccountParams } from './apis/subaccount/types.cjs';
16
15
  import './apis/ws/index.cjs';
17
16
  import './apis/base.cjs';
package/dist/index.d.ts CHANGED
@@ -5,13 +5,12 @@ 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/utils';
9
- export * from '@nadohq/contracts';
8
+ export * from '@nadohq/shared';
10
9
  export * from '@nadohq/engine-client';
11
10
  export * from '@nadohq/indexer-client';
12
11
  export * from '@nadohq/trigger-client';
13
- export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceIsolatedOrderParams, PlaceOrderParams, PlaceTriggerOrderParams } from './apis/market/types.js';
14
- export { ApproveAllowanceParams, BurnVlpParams, GetTokenAllowanceParams, GetTokenWalletBalanceParams, MintVlpParams, ProductIdOrTokenAddress, TransferQuoteParams, WithdrawCollateralParams } from './apis/spot/types.js';
12
+ export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceOrderParams, PlaceTriggerOrderParams } from './apis/market/types.js';
13
+ export { ApproveAllowanceParams, BurnNlpParams, GetTokenAllowanceParams, GetTokenWalletBalanceParams, MintMockERC20Params, MintNlpParams, ProductIdOrTokenAddress, TransferQuoteParams, WithdrawCollateralParams } from './apis/spot/types.js';
15
14
  export { CreateStandardLinkedSignerResult, LinkSignerParams, LiquidateSubaccountParams } from './apis/subaccount/types.js';
16
15
  import './apis/ws/index.js';
17
16
  import './apis/base.js';
package/dist/index.js CHANGED
@@ -6,8 +6,7 @@ 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/utils";
10
- export * from "@nadohq/contracts";
9
+ export * from "@nadohq/shared";
11
10
  export * from "@nadohq/engine-client";
12
11
  export * from "@nadohq/indexer-client";
13
12
  export * from "@nadohq/trigger-client";
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/utils';\nexport * from '@nadohq/contracts';\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;AACd,cAAc;","names":[]}
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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nadohq/client",
3
- "version": "0.1.0-alpha.1",
3
+ "version": "0.1.0-alpha.10",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "description": "> TODO: description",
@@ -37,11 +37,10 @@
37
37
  }
38
38
  },
39
39
  "dependencies": {
40
- "@nadohq/contracts": "^0.1.0-alpha.1",
41
- "@nadohq/engine-client": "^0.1.0-alpha.1",
42
- "@nadohq/indexer-client": "^0.1.0-alpha.1",
43
- "@nadohq/trigger-client": "^0.1.0-alpha.1",
44
- "@nadohq/utils": "^0.1.0-alpha.1",
40
+ "@nadohq/engine-client": "^0.1.0-alpha.10",
41
+ "@nadohq/indexer-client": "^0.1.0-alpha.10",
42
+ "@nadohq/shared": "^0.1.0-alpha.10",
43
+ "@nadohq/trigger-client": "^0.1.0-alpha.10",
45
44
  "ts-mixer": "*"
46
45
  },
47
46
  "peerDependencies": {
@@ -50,5 +49,5 @@
50
49
  "devDependencies": {
51
50
  "viem": "*"
52
51
  },
53
- "gitHead": "80100d38c43806d1bb57c9139d9577329467d5db"
52
+ "gitHead": "d4907c30fee146e4463cab4bac0a7f5f07bb9299"
54
53
  }
package/src/apis/base.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { WithContracts } from '@nadohq/contracts';
2
- import { WalletNotProvidedError } from '@nadohq/utils';
1
+ import { WithContracts } from '@nadohq/shared';
2
+ import { WalletNotProvidedError } from '@nadohq/shared';
3
3
 
4
4
  import { NadoClientContext } from '../context';
5
5
 
@@ -33,10 +33,6 @@ export class BaseNadoAPI {
33
33
  return this.context.contractAddresses.endpoint;
34
34
  }
35
35
 
36
- protected async getOrderbookAddress(productId: number) {
37
- return this.context.engineClient.getOrderbookAddress(productId);
38
- }
39
-
40
36
  protected getSubaccountOwnerIfNeeded(params: {
41
37
  subaccountOwner?: string;
42
38
  }): string {
@@ -1,12 +1,11 @@
1
+ import { getOrderVerifyingAddress } from '@nadohq/shared';
1
2
  import { BaseNadoAPI } from '../base';
2
- import { OptionalSignatureParams } from '../types';
3
3
  import {
4
4
  CancelAndPlaceOrderParams,
5
5
  CancelOrdersParams,
6
6
  CancelProductOrdersParams,
7
7
  CancelTriggerOrdersParams,
8
8
  CancelTriggerProductOrdersParams,
9
- PlaceIsolatedOrderParams,
10
9
  PlaceOrderParams,
11
10
  PlaceTriggerOrderParams,
12
11
  } from './types';
@@ -26,34 +25,13 @@ export class MarketExecuteAPI extends BaseNadoAPI {
26
25
  subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),
27
26
  },
28
27
  chainId: this.getWalletClientChainIdIfNeeded(params),
29
- verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(params),
28
+ verifyingAddr: getOrderVerifyingAddress(params.productId),
30
29
  productId,
31
30
  spotLeverage: params.spotLeverage,
32
31
  nonce,
33
32
  });
34
33
  }
35
34
 
36
- /**
37
- * Places an isolated order through the engine
38
- * @param params
39
- */
40
- async placeIsolatedOrder(params: PlaceIsolatedOrderParams) {
41
- const { id: orderId, productId, order, nonce, borrowMargin } = params;
42
-
43
- return this.context.engineClient.placeIsolatedOrder({
44
- id: orderId,
45
- order: {
46
- ...order,
47
- subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),
48
- },
49
- chainId: this.getWalletClientChainIdIfNeeded(params),
50
- verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(params),
51
- productId,
52
- borrowMargin,
53
- nonce,
54
- });
55
- }
56
-
57
35
  /**
58
36
  * Cancels orders through the engine
59
37
  * @param params
@@ -91,9 +69,7 @@ export class MarketExecuteAPI extends BaseNadoAPI {
91
69
  ...order,
92
70
  subaccountOwner,
93
71
  },
94
- verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(
95
- params.placeOrder,
96
- ),
72
+ verifyingAddr: getOrderVerifyingAddress(productId),
97
73
  chainId,
98
74
  productId,
99
75
  spotLeverage,
@@ -123,7 +99,7 @@ export class MarketExecuteAPI extends BaseNadoAPI {
123
99
  return this.context.triggerClient.placeTriggerOrder({
124
100
  ...params,
125
101
  chainId: this.getWalletClientChainIdIfNeeded(params),
126
- verifyingAddr: await this.getOrderbookVerifyingAddressIfNeeded(params),
102
+ verifyingAddr: getOrderVerifyingAddress(params.productId),
127
103
  order: {
128
104
  subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),
129
105
  ...params.order,
@@ -156,14 +132,4 @@ export class MarketExecuteAPI extends BaseNadoAPI {
156
132
  verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),
157
133
  });
158
134
  }
159
-
160
- protected async getOrderbookVerifyingAddressIfNeeded(
161
- params: OptionalSignatureParams<{
162
- productId: number;
163
- }>,
164
- ): Promise<string> {
165
- return (
166
- params.verifyingAddr ?? (await this.getOrderbookAddress(params.productId))
167
- );
168
- }
169
135
  }
@@ -1,5 +1,5 @@
1
- import { getAllMarkets, GetAllMarketsResponse } from '@nadohq/contracts';
2
1
  import {
2
+ GetEngineAllMarketsResponse,
3
3
  GetEngineMarketLiquidityParams,
4
4
  GetEngineMarketPriceParams,
5
5
  GetEngineMarketPricesParams,
@@ -24,25 +24,18 @@ import { BaseNadoAPI } from '../base';
24
24
  import { GetTriggerOrdersParams } from './types';
25
25
 
26
26
  export class MarketQueryAPI extends BaseNadoAPI {
27
- /**
28
- * Retrieves all market states from the on-chain contracts
29
- */
30
- async getAllMarkets(): Promise<GetAllMarketsResponse> {
31
- return getAllMarkets(this.context.contracts);
32
- }
33
-
34
27
  /**
35
28
  * Retrieves all market states from the offchain engine
36
29
  */
37
- async getAllEngineMarkets(): Promise<GetAllMarketsResponse> {
30
+ async getAllMarkets(): Promise<GetEngineAllMarketsResponse> {
38
31
  return this.context.engineClient.getAllMarkets();
39
32
  }
40
33
 
41
34
  /**
42
35
  * Get all edge engine markets
43
36
  */
44
- async getEdgeAllEngineMarkets(): Promise<
45
- Record<number, GetAllMarketsResponse>
37
+ async getEdgeAllMarkets(): Promise<
38
+ Record<number, GetEngineAllMarketsResponse>
46
39
  > {
47
40
  return this.context.engineClient.getEdgeAllMarkets();
48
41
  }
@@ -1,9 +1,7 @@
1
1
  import {
2
2
  EngineCancelOrdersParams,
3
3
  EngineCancelProductOrdersParams,
4
- EngineIsolatedOrderParams,
5
4
  EngineOrderParams,
6
- EnginePlaceIsolatedOrderParams,
7
5
  EnginePlaceOrderParams,
8
6
  } from '@nadohq/engine-client';
9
7
  import {
@@ -14,22 +12,18 @@ import {
14
12
  } from '@nadohq/trigger-client';
15
13
  import { OptionalSignatureParams, OptionalSubaccountOwner } from '../types';
16
14
 
17
- type ClientOrderParams<T> = Omit<OptionalSignatureParams<T>, 'order'> & {
15
+ type ClientOrderParams<T extends { order: EngineOrderParams }> = Omit<
16
+ OptionalSignatureParams<T>,
17
+ // Order is overridden to make subaccount owner optional
18
+ | 'order'
19
+ // Verifying address can be derived from product ID
20
+ | 'verifyingAddr'
21
+ > & {
18
22
  order: OptionalSubaccountOwner<EngineOrderParams>;
19
23
  };
20
24
 
21
25
  export type PlaceOrderParams = ClientOrderParams<EnginePlaceOrderParams>;
22
26
 
23
- /**
24
- * Same as PlaceOrderParams but with isolated fields for isolated margin trading
25
- */
26
- export type PlaceIsolatedOrderParams = Omit<
27
- OptionalSignatureParams<EnginePlaceIsolatedOrderParams>,
28
- 'order'
29
- > & {
30
- order: OptionalSubaccountOwner<EngineIsolatedOrderParams>;
31
- };
32
-
33
27
  export type CancelOrdersParams = OptionalSignatureParams<
34
28
  OptionalSubaccountOwner<EngineCancelOrdersParams>
35
29
  >;
@@ -1,8 +1,3 @@
1
- import { SettlePnlParams } from '@nadohq/contracts';
2
1
  import { BaseNadoAPI } from '../base';
3
2
 
4
- export class PerpExecuteAPI extends BaseNadoAPI {
5
- settlePnl(_params: SettlePnlParams) {
6
- throw Error('Not implemented');
7
- }
8
- }
3
+ export class PerpExecuteAPI extends BaseNadoAPI {}
@@ -1,5 +1,6 @@
1
- import { ContractInstance, ERC20_ABI } from '@nadohq/contracts';
2
- import { getValidatedAddress } from '@nadohq/utils';
1
+ import { ERC20_ABI } from '@nadohq/shared';
2
+ import { ContractInstance } from '@nadohq/shared';
3
+ import { getValidatedAddress } from '@nadohq/shared';
3
4
  import { getContract } from 'viem';
4
5
  import { BaseNadoAPI } from '../base';
5
6
  import { ProductIdOrTokenAddress } from './types';
@@ -3,15 +3,15 @@ import {
3
3
  depositCollateral,
4
4
  DepositCollateralParams,
5
5
  isWriteableContract,
6
- MintMockERC20Params,
7
6
  MOCK_ERC20_ABI,
8
- } from '@nadohq/contracts';
9
- import { toBigInt, WalletNotProvidedError } from '@nadohq/utils';
7
+ } from '@nadohq/shared';
8
+ import { toBigInt, WalletNotProvidedError } from '@nadohq/shared';
10
9
  import { BaseSpotAPI } from './BaseSpotAPI';
11
10
  import {
12
11
  ApproveAllowanceParams,
13
- BurnVlpParams,
14
- MintVlpParams,
12
+ BurnNlpParams,
13
+ MintMockERC20Params,
14
+ MintNlpParams,
15
15
  TransferQuoteParams,
16
16
  WithdrawCollateralParams,
17
17
  } from './types';
@@ -65,8 +65,8 @@ export class SpotExecuteAPI extends BaseSpotAPI {
65
65
  });
66
66
  }
67
67
 
68
- async mintVlp(params: MintVlpParams) {
69
- return this.context.engineClient.mintVlp({
68
+ async mintNlp(params: MintNlpParams) {
69
+ return this.context.engineClient.mintNlp({
70
70
  ...params,
71
71
  subaccountOwner: this.getSubaccountOwnerIfNeeded(params),
72
72
  chainId: this.getWalletClientChainIdIfNeeded(params),
@@ -74,8 +74,8 @@ export class SpotExecuteAPI extends BaseSpotAPI {
74
74
  });
75
75
  }
76
76
 
77
- async burnVlp(params: BurnVlpParams) {
78
- return this.context.engineClient.burnVlp({
77
+ async burnNlp(params: BurnNlpParams) {
78
+ return this.context.engineClient.burnNlp({
79
79
  ...params,
80
80
  subaccountOwner: this.getSubaccountOwnerIfNeeded(params),
81
81
  chainId: this.getWalletClientChainIdIfNeeded(params),
@@ -1,8 +1,8 @@
1
1
  import {
2
- GetEngineMaxMintVlpAmountParams,
2
+ GetEngineMaxMintNlpAmountParams,
3
3
  GetEngineMaxWithdrawableParams,
4
4
  } from '@nadohq/engine-client';
5
- import { BigDecimal, getValidatedAddress, toBigDecimal } from '@nadohq/utils';
5
+ import { BigDecimal, getValidatedAddress, toBigDecimal } from '@nadohq/shared';
6
6
  import { BaseSpotAPI } from './BaseSpotAPI';
7
7
  import { GetTokenAllowanceParams, GetTokenWalletBalanceParams } from './types';
8
8
 
@@ -16,12 +16,12 @@ export class SpotQueryAPI extends BaseSpotAPI {
16
16
  }
17
17
 
18
18
  /**
19
- * Queries engine to determine maximum quote amount for minting VLP.
19
+ * Queries engine to determine maximum quote amount for minting NLP.
20
20
  *
21
21
  * @param params
22
22
  */
23
- async getMaxMintVlpAmount(params: GetEngineMaxMintVlpAmountParams) {
24
- return this.context.engineClient.getMaxMintVlpAmount(params);
23
+ async getMaxMintNlpAmount(params: GetEngineMaxMintNlpAmountParams) {
24
+ return this.context.engineClient.getMaxMintNlpAmount(params);
25
25
  }
26
26
 
27
27
  /**
@@ -1,10 +1,10 @@
1
1
  import {
2
- EngineBurnVlpParams,
3
- EngineMintVlpParams,
2
+ EngineBurnNlpParams,
3
+ EngineMintNlpParams,
4
4
  EngineTransferQuoteParams,
5
5
  EngineWithdrawCollateralParams,
6
6
  } from '@nadohq/engine-client';
7
- import { BigDecimalish } from '@nadohq/utils';
7
+ import { BigDecimalish } from '@nadohq/shared';
8
8
  import { OptionalSignatureParams, OptionalSubaccountOwner } from '../types';
9
9
 
10
10
  export type ProductIdOrTokenAddress =
@@ -35,10 +35,15 @@ export type TransferQuoteParams = OptionalSignatureParams<
35
35
  OptionalSubaccountOwner<EngineTransferQuoteParams>
36
36
  >;
37
37
 
38
- export type MintVlpParams = OptionalSignatureParams<
39
- OptionalSubaccountOwner<EngineMintVlpParams>
38
+ export type MintNlpParams = OptionalSignatureParams<
39
+ OptionalSubaccountOwner<EngineMintNlpParams>
40
40
  >;
41
41
 
42
- export type BurnVlpParams = OptionalSignatureParams<
43
- OptionalSubaccountOwner<EngineBurnVlpParams>
42
+ export type BurnNlpParams = OptionalSignatureParams<
43
+ OptionalSubaccountOwner<EngineBurnNlpParams>
44
44
  >;
45
+
46
+ export interface MintMockERC20Params {
47
+ productId: number;
48
+ amount: BigDecimalish;
49
+ }