@nadohq/client 0.63.0 → 0.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.cjs CHANGED
@@ -25,6 +25,7 @@ var NadoClient = class {
25
25
  this.context.indexerClient.setLinkedSigner(linkedSignerWalletClient);
26
26
  this.context.triggerClient.setLinkedSigner(linkedSignerWalletClient);
27
27
  this.context.mobileClient.setLinkedSigner(linkedSignerWalletClient);
28
+ this.context.otcClient.setLinkedSigner(linkedSignerWalletClient);
28
29
  }
29
30
  /**
30
31
  * Sets the WalletClient for the client. Will cause a full reload of the current context.
@@ -1 +1 @@
1
- {"version":3,"file":"client.cjs","names":["createClientContext","MarketAPI","SubaccountAPI","SpotAPI","PerpAPI","RewardsAPI","WebsocketAPI"],"sources":["../src/client.ts"],"sourcesContent":["import { WalletClientWithAccount } from '@nadohq/shared';\nimport { MarketAPI } from './apis/market';\nimport { PerpAPI } from './apis/perp';\nimport { RewardsAPI } from './apis/rewards';\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 rewards!: RewardsAPI;\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.indexerClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.triggerClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.mobileClient.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 rewardsEndpoint: this.context.indexerClient.opts.rewardsUrl,\n triggerEndpoint: this.context.triggerClient.opts.url,\n mobileEndpoint: this.context.mobileClient.opts.url,\n nuanzeEndpoint: this.context.nuanzeClient.opts.url,\n otcEndpoint: this.context.otcClient.opts.url,\n clientType: this.context.clientType,\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.rewards = new RewardsAPI(context);\n this.ws = new WebsocketAPI(context);\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAaA,IAAa,aAAb,MAAwB;CAStB,YAAY,SAA4B;EACtC,KAAK,iBAAiB,OAAO;CAC/B;;;;;CAMA,gBAAgB,0BAA0D;EAExE,KAAK,QAAQ,2BACX,4BAA4B,KAAA;EAC9B,KAAK,QAAQ,aAAa,gBAAgB,wBAAwB;EAClE,KAAK,QAAQ,cAAc,gBAAgB,wBAAwB;EACnE,KAAK,QAAQ,cAAc,gBAAgB,wBAAwB;EACnE,KAAK,QAAQ,aAAa,gBAAgB,wBAAwB;CACpE;;;;;CAMA,gBAAgB,cAAiD;EAC/D,MAAM,aAAaA,gBAAAA,oBACjB;GACE,mBAAmB,KAAK,QAAQ;GAChC,gBAAgB,KAAK,QAAQ,aAAa,KAAK;GAC/C,iBAAiB,KAAK,QAAQ,cAAc,KAAK;GACjD,iBAAiB,KAAK,QAAQ,cAAc,KAAK;GACjD,iBAAiB,KAAK,QAAQ,cAAc,KAAK;GACjD,gBAAgB,KAAK,QAAQ,aAAa,KAAK;GAC/C,gBAAgB,KAAK,QAAQ,aAAa,KAAK;GAC/C,aAAa,KAAK,QAAQ,UAAU,KAAK;GACzC,YAAY,KAAK,QAAQ;EAC3B,GACA;GACE;GAEA,0BAA0B,KAAK,QAAQ;GACvC,cAAc,KAAK,QAAQ;EAC7B,CACF;EACA,KAAK,iBAAiB,UAAU;CAClC;CAEA,iBAAyB,SAA4B;EACnD,KAAK,UAAU;EACf,KAAK,SAAS,IAAIC,0BAAAA,UAAU,OAAO;EACnC,KAAK,aAAa,IAAIC,8BAAAA,cAAc,OAAO;EAC3C,KAAK,OAAO,IAAIC,wBAAAA,QAAQ,OAAO;EAC/B,KAAK,OAAO,IAAIC,wBAAAA,QAAQ,OAAO;EAC/B,KAAK,UAAU,IAAIC,2BAAAA,WAAW,OAAO;EACrC,KAAK,KAAK,IAAIC,sBAAAA,aAAa,OAAO;CACpC;AACF"}
1
+ {"version":3,"file":"client.cjs","names":["createClientContext","MarketAPI","SubaccountAPI","SpotAPI","PerpAPI","RewardsAPI","WebsocketAPI"],"sources":["../src/client.ts"],"sourcesContent":["import { WalletClientWithAccount } from '@nadohq/shared';\nimport { MarketAPI } from './apis/market';\nimport { PerpAPI } from './apis/perp';\nimport { RewardsAPI } from './apis/rewards';\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 rewards!: RewardsAPI;\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.indexerClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.triggerClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.mobileClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.otcClient.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 rewardsEndpoint: this.context.indexerClient.opts.rewardsUrl,\n triggerEndpoint: this.context.triggerClient.opts.url,\n mobileEndpoint: this.context.mobileClient.opts.url,\n nuanzeEndpoint: this.context.nuanzeClient.opts.url,\n otcEndpoint: this.context.otcClient.opts.url,\n clientType: this.context.clientType,\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.rewards = new RewardsAPI(context);\n this.ws = new WebsocketAPI(context);\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAaA,IAAa,aAAb,MAAwB;CAStB,YAAY,SAA4B;EACtC,KAAK,iBAAiB,OAAO;CAC/B;;;;;CAMA,gBAAgB,0BAA0D;EAExE,KAAK,QAAQ,2BACX,4BAA4B,KAAA;EAC9B,KAAK,QAAQ,aAAa,gBAAgB,wBAAwB;EAClE,KAAK,QAAQ,cAAc,gBAAgB,wBAAwB;EACnE,KAAK,QAAQ,cAAc,gBAAgB,wBAAwB;EACnE,KAAK,QAAQ,aAAa,gBAAgB,wBAAwB;EAClE,KAAK,QAAQ,UAAU,gBAAgB,wBAAwB;CACjE;;;;;CAMA,gBAAgB,cAAiD;EAC/D,MAAM,aAAaA,gBAAAA,oBACjB;GACE,mBAAmB,KAAK,QAAQ;GAChC,gBAAgB,KAAK,QAAQ,aAAa,KAAK;GAC/C,iBAAiB,KAAK,QAAQ,cAAc,KAAK;GACjD,iBAAiB,KAAK,QAAQ,cAAc,KAAK;GACjD,iBAAiB,KAAK,QAAQ,cAAc,KAAK;GACjD,gBAAgB,KAAK,QAAQ,aAAa,KAAK;GAC/C,gBAAgB,KAAK,QAAQ,aAAa,KAAK;GAC/C,aAAa,KAAK,QAAQ,UAAU,KAAK;GACzC,YAAY,KAAK,QAAQ;EAC3B,GACA;GACE;GAEA,0BAA0B,KAAK,QAAQ;GACvC,cAAc,KAAK,QAAQ;EAC7B,CACF;EACA,KAAK,iBAAiB,UAAU;CAClC;CAEA,iBAAyB,SAA4B;EACnD,KAAK,UAAU;EACf,KAAK,SAAS,IAAIC,0BAAAA,UAAU,OAAO;EACnC,KAAK,aAAa,IAAIC,8BAAAA,cAAc,OAAO;EAC3C,KAAK,OAAO,IAAIC,wBAAAA,QAAQ,OAAO;EAC/B,KAAK,OAAO,IAAIC,wBAAAA,QAAQ,OAAO;EAC/B,KAAK,UAAU,IAAIC,2BAAAA,WAAW,OAAO;EACrC,KAAK,KAAK,IAAIC,sBAAAA,aAAa,OAAO;CACpC;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.cts","names":[],"sources":["../src/src/client.ts"],"mappings":";;;;;;;;;;;;AAaA;;cAAa,UAAA;EACX,OAAA,EAAU,iBAAA;EACV,MAAA,EAAS,SAAA;EACT,UAAA,EAAa,aAAA;EACb,IAAA,EAAO,OAAA;EACP,IAAA,EAAO,OAAA;EACP,OAAA,EAAU,UAAA;EACV,EAAA,EAAK,YAAA;cAEO,OAAA,EAAS,iBAAA;EAQqB;;;;EAA1C,eAAA,CAAgB,wBAAA,EAA0B,uBAAA;EAhBhC;;;;EA8BV,eAAA,CAAgB,YAAA,EAAc,iBAAA;EAAA,QAuBtB,gBAAA;AAAA"}
1
+ {"version":3,"file":"client.d.cts","names":[],"sources":["../src/src/client.ts"],"mappings":";;;;;;;;;;;;AAaA;;cAAa,UAAA;EACX,OAAA,EAAU,iBAAA;EACV,MAAA,EAAS,SAAA;EACT,UAAA,EAAa,aAAA;EACb,IAAA,EAAO,OAAA;EACP,IAAA,EAAO,OAAA;EACP,OAAA,EAAU,UAAA;EACV,EAAA,EAAK,YAAA;cAEO,OAAA,EAAS,iBAAA;EAQqB;;;;EAA1C,eAAA,CAAgB,wBAAA,EAA0B,uBAAA;EAhBhC;;;;EA+BV,eAAA,CAAgB,YAAA,EAAc,iBAAA;EAAA,QAuBtB,gBAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","names":[],"sources":["../src/src/client.ts"],"mappings":";;;;;;;;;;;;AAaA;;cAAa,UAAA;EACX,OAAA,EAAU,iBAAA;EACV,MAAA,EAAS,SAAA;EACT,UAAA,EAAa,aAAA;EACb,IAAA,EAAO,OAAA;EACP,IAAA,EAAO,OAAA;EACP,OAAA,EAAU,UAAA;EACV,EAAA,EAAK,YAAA;cAEO,OAAA,EAAS,iBAAA;EAQqB;;;;EAA1C,eAAA,CAAgB,wBAAA,EAA0B,uBAAA;EAhBhC;;;;EA8BV,eAAA,CAAgB,YAAA,EAAc,iBAAA;EAAA,QAuBtB,gBAAA;AAAA"}
1
+ {"version":3,"file":"client.d.ts","names":[],"sources":["../src/src/client.ts"],"mappings":";;;;;;;;;;;;AAaA;;cAAa,UAAA;EACX,OAAA,EAAU,iBAAA;EACV,MAAA,EAAS,SAAA;EACT,UAAA,EAAa,aAAA;EACb,IAAA,EAAO,OAAA;EACP,IAAA,EAAO,OAAA;EACP,OAAA,EAAU,UAAA;EACV,EAAA,EAAK,YAAA;cAEO,OAAA,EAAS,iBAAA;EAQqB;;;;EAA1C,eAAA,CAAgB,wBAAA,EAA0B,uBAAA;EAhBhC;;;;EA+BV,eAAA,CAAgB,YAAA,EAAc,iBAAA;EAAA,QAuBtB,gBAAA;AAAA"}
package/dist/client.js CHANGED
@@ -24,6 +24,7 @@ var NadoClient = class {
24
24
  this.context.indexerClient.setLinkedSigner(linkedSignerWalletClient);
25
25
  this.context.triggerClient.setLinkedSigner(linkedSignerWalletClient);
26
26
  this.context.mobileClient.setLinkedSigner(linkedSignerWalletClient);
27
+ this.context.otcClient.setLinkedSigner(linkedSignerWalletClient);
27
28
  }
28
29
  /**
29
30
  * Sets the WalletClient for the client. Will cause a full reload of the current context.
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","names":[],"sources":["../src/client.ts"],"sourcesContent":["import { WalletClientWithAccount } from '@nadohq/shared';\nimport { MarketAPI } from './apis/market';\nimport { PerpAPI } from './apis/perp';\nimport { RewardsAPI } from './apis/rewards';\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 rewards!: RewardsAPI;\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.indexerClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.triggerClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.mobileClient.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 rewardsEndpoint: this.context.indexerClient.opts.rewardsUrl,\n triggerEndpoint: this.context.triggerClient.opts.url,\n mobileEndpoint: this.context.mobileClient.opts.url,\n nuanzeEndpoint: this.context.nuanzeClient.opts.url,\n otcEndpoint: this.context.otcClient.opts.url,\n clientType: this.context.clientType,\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.rewards = new RewardsAPI(context);\n this.ws = new WebsocketAPI(context);\n }\n}\n"],"mappings":";;;;;;;;;;;;AAaA,IAAa,aAAb,MAAwB;CAStB,YAAY,SAA4B;EACtC,KAAK,iBAAiB,OAAO;CAC/B;;;;;CAMA,gBAAgB,0BAA0D;EAExE,KAAK,QAAQ,2BACX,4BAA4B,KAAA;EAC9B,KAAK,QAAQ,aAAa,gBAAgB,wBAAwB;EAClE,KAAK,QAAQ,cAAc,gBAAgB,wBAAwB;EACnE,KAAK,QAAQ,cAAc,gBAAgB,wBAAwB;EACnE,KAAK,QAAQ,aAAa,gBAAgB,wBAAwB;CACpE;;;;;CAMA,gBAAgB,cAAiD;EAC/D,MAAM,aAAa,oBACjB;GACE,mBAAmB,KAAK,QAAQ;GAChC,gBAAgB,KAAK,QAAQ,aAAa,KAAK;GAC/C,iBAAiB,KAAK,QAAQ,cAAc,KAAK;GACjD,iBAAiB,KAAK,QAAQ,cAAc,KAAK;GACjD,iBAAiB,KAAK,QAAQ,cAAc,KAAK;GACjD,gBAAgB,KAAK,QAAQ,aAAa,KAAK;GAC/C,gBAAgB,KAAK,QAAQ,aAAa,KAAK;GAC/C,aAAa,KAAK,QAAQ,UAAU,KAAK;GACzC,YAAY,KAAK,QAAQ;EAC3B,GACA;GACE;GAEA,0BAA0B,KAAK,QAAQ;GACvC,cAAc,KAAK,QAAQ;EAC7B,CACF;EACA,KAAK,iBAAiB,UAAU;CAClC;CAEA,iBAAyB,SAA4B;EACnD,KAAK,UAAU;EACf,KAAK,SAAS,IAAI,UAAU,OAAO;EACnC,KAAK,aAAa,IAAI,cAAc,OAAO;EAC3C,KAAK,OAAO,IAAI,QAAQ,OAAO;EAC/B,KAAK,OAAO,IAAI,QAAQ,OAAO;EAC/B,KAAK,UAAU,IAAI,WAAW,OAAO;EACrC,KAAK,KAAK,IAAI,aAAa,OAAO;CACpC;AACF"}
1
+ {"version":3,"file":"client.js","names":[],"sources":["../src/client.ts"],"sourcesContent":["import { WalletClientWithAccount } from '@nadohq/shared';\nimport { MarketAPI } from './apis/market';\nimport { PerpAPI } from './apis/perp';\nimport { RewardsAPI } from './apis/rewards';\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 rewards!: RewardsAPI;\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.indexerClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.triggerClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.mobileClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.otcClient.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 rewardsEndpoint: this.context.indexerClient.opts.rewardsUrl,\n triggerEndpoint: this.context.triggerClient.opts.url,\n mobileEndpoint: this.context.mobileClient.opts.url,\n nuanzeEndpoint: this.context.nuanzeClient.opts.url,\n otcEndpoint: this.context.otcClient.opts.url,\n clientType: this.context.clientType,\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.rewards = new RewardsAPI(context);\n this.ws = new WebsocketAPI(context);\n }\n}\n"],"mappings":";;;;;;;;;;;;AAaA,IAAa,aAAb,MAAwB;CAStB,YAAY,SAA4B;EACtC,KAAK,iBAAiB,OAAO;CAC/B;;;;;CAMA,gBAAgB,0BAA0D;EAExE,KAAK,QAAQ,2BACX,4BAA4B,KAAA;EAC9B,KAAK,QAAQ,aAAa,gBAAgB,wBAAwB;EAClE,KAAK,QAAQ,cAAc,gBAAgB,wBAAwB;EACnE,KAAK,QAAQ,cAAc,gBAAgB,wBAAwB;EACnE,KAAK,QAAQ,aAAa,gBAAgB,wBAAwB;EAClE,KAAK,QAAQ,UAAU,gBAAgB,wBAAwB;CACjE;;;;;CAMA,gBAAgB,cAAiD;EAC/D,MAAM,aAAa,oBACjB;GACE,mBAAmB,KAAK,QAAQ;GAChC,gBAAgB,KAAK,QAAQ,aAAa,KAAK;GAC/C,iBAAiB,KAAK,QAAQ,cAAc,KAAK;GACjD,iBAAiB,KAAK,QAAQ,cAAc,KAAK;GACjD,iBAAiB,KAAK,QAAQ,cAAc,KAAK;GACjD,gBAAgB,KAAK,QAAQ,aAAa,KAAK;GAC/C,gBAAgB,KAAK,QAAQ,aAAa,KAAK;GAC/C,aAAa,KAAK,QAAQ,UAAU,KAAK;GACzC,YAAY,KAAK,QAAQ;EAC3B,GACA;GACE;GAEA,0BAA0B,KAAK,QAAQ;GACvC,cAAc,KAAK,QAAQ;EAC7B,CACF;EACA,KAAK,iBAAiB,UAAU;CAClC;CAEA,iBAAyB,SAA4B;EACnD,KAAK,UAAU;EACf,KAAK,SAAS,IAAI,UAAU,OAAO;EACnC,KAAK,aAAa,IAAI,cAAc,OAAO;EAC3C,KAAK,OAAO,IAAI,QAAQ,OAAO;EAC/B,KAAK,OAAO,IAAI,QAAQ,OAAO;EAC/B,KAAK,UAAU,IAAI,WAAW,OAAO;EACrC,KAAK,KAAK,IAAI,aAAa,OAAO;CACpC;AACF"}
package/dist/context.cjs CHANGED
@@ -103,6 +103,8 @@ function createClientContext(opts, accountOpts) {
103
103
  nuanzeClient: new _nadohq_nuanze_client.NuanzeClient({ url: nuanzeEndpoint }),
104
104
  otcClient: new _nadohq_otc_client.OtcClient({
105
105
  url: otcEndpoint,
106
+ walletClient,
107
+ linkedSignerWalletClient,
106
108
  clientType
107
109
  })
108
110
  };
@@ -1 +1 @@
1
- {"version":3,"file":"context.cjs","names":["NADO_DEPLOYMENTS","ENGINE_CLIENT_ENDPOINTS","INDEXER_CLIENT_ENDPOINTS","REWARDS_CLIENT_ENDPOINTS","TRIGGER_CLIENT_ENDPOINTS","MOBILE_CLIENT_ENDPOINTS","NUANZE_CLIENT_ENDPOINTS","OTC_CLIENT_ENDPOINTS","EngineClient","IndexerClient","TriggerClient","MobileClient","NuanzeClient","OtcClient","NADO_ABIS"],"sources":["../src/context.ts"],"sourcesContent":["import { ENGINE_CLIENT_ENDPOINTS, EngineClient } from '@nadohq/engine-client';\nimport {\n INDEXER_CLIENT_ENDPOINTS,\n IndexerClient,\n REWARDS_CLIENT_ENDPOINTS,\n} from '@nadohq/indexer-client';\nimport { MOBILE_CLIENT_ENDPOINTS, MobileClient } from '@nadohq/mobile-client';\nimport { NUANZE_CLIENT_ENDPOINTS, NuanzeClient } from '@nadohq/nuanze-client';\nimport { OTC_CLIENT_ENDPOINTS, OtcClient } from '@nadohq/otc-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 mobileClient: MobileClient;\n nuanzeClient: NuanzeClient;\n otcClient: OtcClient;\n // If provided, identifies the calling client, sent as a header with every request made by the Nado service clients above (Nuanze excluded)\n clientType?: string;\n}\n\n/**\n * Args for creating a context with custom endpoints\n */\ninterface NadoClientContextOpts {\n contractAddresses: NadoDeploymentAddresses;\n engineEndpoint: string;\n indexerEndpoint: string;\n // Rewards service base URL, including the version segment (ex. `https://api.prod.nado.xyz/rewards/v1`).\n // Defaults to `${indexerEndpoint}/rewards/v1`.\n rewardsEndpoint?: string;\n triggerEndpoint: string;\n mobileEndpoint: string;\n nuanzeEndpoint: string;\n otcEndpoint: string;\n clientType?: string;\n}\n\n/**\n * Args for creating a context with the default endpoints of a chain env\n */\ninterface NadoClientContextChainEnvOpts {\n chainEnv: ChainEnv;\n clientType?: 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\n/**\n * Args for creating a context, either fully custom endpoints or a chain env with default endpoints.\n */\nexport type CreateNadoClientContextOpts =\n | NadoClientContextOpts\n | NadoClientContextChainEnvOpts;\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 rewardsEndpoint,\n triggerEndpoint,\n mobileEndpoint,\n nuanzeEndpoint,\n otcEndpoint,\n clientType,\n } = ((): NadoClientContextOpts => {\n // Custom endpoint options\n if (!('chainEnv' in opts)) {\n return opts;\n }\n\n const { chainEnv, clientType } = opts;\n return {\n contractAddresses: NADO_DEPLOYMENTS[chainEnv],\n engineEndpoint: ENGINE_CLIENT_ENDPOINTS[chainEnv],\n indexerEndpoint: INDEXER_CLIENT_ENDPOINTS[chainEnv],\n rewardsEndpoint: REWARDS_CLIENT_ENDPOINTS[chainEnv],\n triggerEndpoint: TRIGGER_CLIENT_ENDPOINTS[chainEnv],\n mobileEndpoint: MOBILE_CLIENT_ENDPOINTS[chainEnv],\n nuanzeEndpoint: NUANZE_CLIENT_ENDPOINTS[chainEnv],\n otcEndpoint: OTC_CLIENT_ENDPOINTS[chainEnv],\n clientType,\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 clientType,\n engineClient: new EngineClient({\n url: engineEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\n }),\n indexerClient: new IndexerClient({\n url: indexerEndpoint,\n rewardsUrl: rewardsEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\n }),\n triggerClient: new TriggerClient({\n url: triggerEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\n }),\n mobileClient: new MobileClient({\n url: mobileEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\n }),\n // Nuanze is read-only and credential-free, so it takes no signer or client type\n nuanzeClient: new NuanzeClient({\n url: nuanzeEndpoint,\n }),\n otcClient: new OtcClient({ url: otcEndpoint, clientType }),\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":";;;;;;;;;;;;;;;;AA0FA,SAAgB,oBACd,MACA,aACmB;CACnB,MAAM,EACJ,mBACA,gBACA,iBACA,iBACA,iBACA,gBACA,gBACA,aACA,sBACgC;EAEhC,IAAI,EAAE,cAAc,OAClB,OAAO;EAGT,MAAM,EAAE,UAAU,eAAe;EACjC,OAAO;GACL,mBAAmBA,eAAAA,iBAAiB;GACpC,gBAAgBC,sBAAAA,wBAAwB;GACxC,iBAAiBC,uBAAAA,yBAAyB;GAC1C,iBAAiBC,uBAAAA,yBAAyB;GAC1C,iBAAiBC,uBAAAA,yBAAyB;GAC1C,gBAAgBC,sBAAAA,wBAAwB;GACxC,gBAAgBC,sBAAAA,wBAAwB;GACxC,aAAaC,mBAAAA,qBAAqB;GAClC;EACF;CACF,GAAG;CACH,MAAM,EAAE,cAAc,cAAc,6BAA6B;CAEjE,OAAO;EACL;EACA;EACA;EACA,WAAW;GACT,SAAS,gBAAgB;IACvB;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,eAAe,gBAAgB;IAC7B;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,UAAU,gBAAgB;IACxB;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,YAAY,gBAAgB;IAC1B;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,YAAY,gBAAgB;IAC1B;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,cAAc,gBAAgB;IAC5B;IACA,cAAc;IACd;IACA;GACF,CAAC;EACH;EACA;EACA;EACA,cAAc,IAAIC,sBAAAA,aAAa;GAC7B,KAAK;GACL;GACA;GACA;EACF,CAAC;EACD,eAAe,IAAIC,uBAAAA,cAAc;GAC/B,KAAK;GACL,YAAY;GACZ;GACA;GACA;EACF,CAAC;EACD,eAAe,IAAIC,uBAAAA,cAAc;GAC/B,KAAK;GACL;GACA;GACA;EACF,CAAC;EACD,cAAc,IAAIC,sBAAAA,aAAa;GAC7B,KAAK;GACL;GACA;GACA;EACF,CAAC;EAED,cAAc,IAAIC,sBAAAA,aAAa,EAC7B,KAAK,eACP,CAAC;EACD,WAAW,IAAIC,mBAAAA,UAAU;GAAE,KAAK;GAAa;EAAW,CAAC;CAC3D;AACF;AASA,SAAS,gBAA4C,EACnD,mBACA,cACA,cACA,gBAC6C;CAC7C,QAAA,GAAA,KAAA,aAAmB;EACjB,SAAS,kBAAkB;EAC3B,KAAKC,eAAAA,UAAU;EACf,QAAQ,gBAAgB;CAC1B,CAAC;AACH"}
1
+ {"version":3,"file":"context.cjs","names":["NADO_DEPLOYMENTS","ENGINE_CLIENT_ENDPOINTS","INDEXER_CLIENT_ENDPOINTS","REWARDS_CLIENT_ENDPOINTS","TRIGGER_CLIENT_ENDPOINTS","MOBILE_CLIENT_ENDPOINTS","NUANZE_CLIENT_ENDPOINTS","OTC_CLIENT_ENDPOINTS","EngineClient","IndexerClient","TriggerClient","MobileClient","NuanzeClient","OtcClient","NADO_ABIS"],"sources":["../src/context.ts"],"sourcesContent":["import { ENGINE_CLIENT_ENDPOINTS, EngineClient } from '@nadohq/engine-client';\nimport {\n INDEXER_CLIENT_ENDPOINTS,\n IndexerClient,\n REWARDS_CLIENT_ENDPOINTS,\n} from '@nadohq/indexer-client';\nimport { MOBILE_CLIENT_ENDPOINTS, MobileClient } from '@nadohq/mobile-client';\nimport { NUANZE_CLIENT_ENDPOINTS, NuanzeClient } from '@nadohq/nuanze-client';\nimport { OTC_CLIENT_ENDPOINTS, OtcClient } from '@nadohq/otc-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 mobileClient: MobileClient;\n nuanzeClient: NuanzeClient;\n otcClient: OtcClient;\n // If provided, identifies the calling client, sent as a header with every request made by the Nado service clients above (Nuanze excluded)\n clientType?: string;\n}\n\n/**\n * Args for creating a context with custom endpoints\n */\ninterface NadoClientContextOpts {\n contractAddresses: NadoDeploymentAddresses;\n engineEndpoint: string;\n indexerEndpoint: string;\n // Rewards service base URL, including the version segment (ex. `https://api.prod.nado.xyz/rewards/v1`).\n // Defaults to `${indexerEndpoint}/rewards/v1`.\n rewardsEndpoint?: string;\n triggerEndpoint: string;\n mobileEndpoint: string;\n nuanzeEndpoint: string;\n otcEndpoint: string;\n clientType?: string;\n}\n\n/**\n * Args for creating a context with the default endpoints of a chain env\n */\ninterface NadoClientContextChainEnvOpts {\n chainEnv: ChainEnv;\n clientType?: 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\n/**\n * Args for creating a context, either fully custom endpoints or a chain env with default endpoints.\n */\nexport type CreateNadoClientContextOpts =\n | NadoClientContextOpts\n | NadoClientContextChainEnvOpts;\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 rewardsEndpoint,\n triggerEndpoint,\n mobileEndpoint,\n nuanzeEndpoint,\n otcEndpoint,\n clientType,\n } = ((): NadoClientContextOpts => {\n // Custom endpoint options\n if (!('chainEnv' in opts)) {\n return opts;\n }\n\n const { chainEnv, clientType } = opts;\n return {\n contractAddresses: NADO_DEPLOYMENTS[chainEnv],\n engineEndpoint: ENGINE_CLIENT_ENDPOINTS[chainEnv],\n indexerEndpoint: INDEXER_CLIENT_ENDPOINTS[chainEnv],\n rewardsEndpoint: REWARDS_CLIENT_ENDPOINTS[chainEnv],\n triggerEndpoint: TRIGGER_CLIENT_ENDPOINTS[chainEnv],\n mobileEndpoint: MOBILE_CLIENT_ENDPOINTS[chainEnv],\n nuanzeEndpoint: NUANZE_CLIENT_ENDPOINTS[chainEnv],\n otcEndpoint: OTC_CLIENT_ENDPOINTS[chainEnv],\n clientType,\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 clientType,\n engineClient: new EngineClient({\n url: engineEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\n }),\n indexerClient: new IndexerClient({\n url: indexerEndpoint,\n rewardsUrl: rewardsEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\n }),\n triggerClient: new TriggerClient({\n url: triggerEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\n }),\n mobileClient: new MobileClient({\n url: mobileEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\n }),\n // Nuanze is read-only and credential-free, so it takes no signer or client type\n nuanzeClient: new NuanzeClient({\n url: nuanzeEndpoint,\n }),\n otcClient: new OtcClient({\n url: otcEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\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":";;;;;;;;;;;;;;;;AA0FA,SAAgB,oBACd,MACA,aACmB;CACnB,MAAM,EACJ,mBACA,gBACA,iBACA,iBACA,iBACA,gBACA,gBACA,aACA,sBACgC;EAEhC,IAAI,EAAE,cAAc,OAClB,OAAO;EAGT,MAAM,EAAE,UAAU,eAAe;EACjC,OAAO;GACL,mBAAmBA,eAAAA,iBAAiB;GACpC,gBAAgBC,sBAAAA,wBAAwB;GACxC,iBAAiBC,uBAAAA,yBAAyB;GAC1C,iBAAiBC,uBAAAA,yBAAyB;GAC1C,iBAAiBC,uBAAAA,yBAAyB;GAC1C,gBAAgBC,sBAAAA,wBAAwB;GACxC,gBAAgBC,sBAAAA,wBAAwB;GACxC,aAAaC,mBAAAA,qBAAqB;GAClC;EACF;CACF,GAAG;CACH,MAAM,EAAE,cAAc,cAAc,6BAA6B;CAEjE,OAAO;EACL;EACA;EACA;EACA,WAAW;GACT,SAAS,gBAAgB;IACvB;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,eAAe,gBAAgB;IAC7B;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,UAAU,gBAAgB;IACxB;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,YAAY,gBAAgB;IAC1B;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,YAAY,gBAAgB;IAC1B;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,cAAc,gBAAgB;IAC5B;IACA,cAAc;IACd;IACA;GACF,CAAC;EACH;EACA;EACA;EACA,cAAc,IAAIC,sBAAAA,aAAa;GAC7B,KAAK;GACL;GACA;GACA;EACF,CAAC;EACD,eAAe,IAAIC,uBAAAA,cAAc;GAC/B,KAAK;GACL,YAAY;GACZ;GACA;GACA;EACF,CAAC;EACD,eAAe,IAAIC,uBAAAA,cAAc;GAC/B,KAAK;GACL;GACA;GACA;EACF,CAAC;EACD,cAAc,IAAIC,sBAAAA,aAAa;GAC7B,KAAK;GACL;GACA;GACA;EACF,CAAC;EAED,cAAc,IAAIC,sBAAAA,aAAa,EAC7B,KAAK,eACP,CAAC;EACD,WAAW,IAAIC,mBAAAA,UAAU;GACvB,KAAK;GACL;GACA;GACA;EACF,CAAC;CACH;AACF;AASA,SAAS,gBAA4C,EACnD,mBACA,cACA,cACA,gBAC6C;CAC7C,QAAA,GAAA,KAAA,aAAmB;EACjB,SAAS,kBAAkB;EAC3B,KAAKC,eAAAA,UAAU;EACf,QAAQ,gBAAgB;CAC1B,CAAC;AACH"}
package/dist/context.js CHANGED
@@ -102,6 +102,8 @@ function createClientContext(opts, accountOpts) {
102
102
  nuanzeClient: new NuanzeClient({ url: nuanzeEndpoint }),
103
103
  otcClient: new OtcClient({
104
104
  url: otcEndpoint,
105
+ walletClient,
106
+ linkedSignerWalletClient,
105
107
  clientType
106
108
  })
107
109
  };
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../src/context.ts"],"sourcesContent":["import { ENGINE_CLIENT_ENDPOINTS, EngineClient } from '@nadohq/engine-client';\nimport {\n INDEXER_CLIENT_ENDPOINTS,\n IndexerClient,\n REWARDS_CLIENT_ENDPOINTS,\n} from '@nadohq/indexer-client';\nimport { MOBILE_CLIENT_ENDPOINTS, MobileClient } from '@nadohq/mobile-client';\nimport { NUANZE_CLIENT_ENDPOINTS, NuanzeClient } from '@nadohq/nuanze-client';\nimport { OTC_CLIENT_ENDPOINTS, OtcClient } from '@nadohq/otc-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 mobileClient: MobileClient;\n nuanzeClient: NuanzeClient;\n otcClient: OtcClient;\n // If provided, identifies the calling client, sent as a header with every request made by the Nado service clients above (Nuanze excluded)\n clientType?: string;\n}\n\n/**\n * Args for creating a context with custom endpoints\n */\ninterface NadoClientContextOpts {\n contractAddresses: NadoDeploymentAddresses;\n engineEndpoint: string;\n indexerEndpoint: string;\n // Rewards service base URL, including the version segment (ex. `https://api.prod.nado.xyz/rewards/v1`).\n // Defaults to `${indexerEndpoint}/rewards/v1`.\n rewardsEndpoint?: string;\n triggerEndpoint: string;\n mobileEndpoint: string;\n nuanzeEndpoint: string;\n otcEndpoint: string;\n clientType?: string;\n}\n\n/**\n * Args for creating a context with the default endpoints of a chain env\n */\ninterface NadoClientContextChainEnvOpts {\n chainEnv: ChainEnv;\n clientType?: 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\n/**\n * Args for creating a context, either fully custom endpoints or a chain env with default endpoints.\n */\nexport type CreateNadoClientContextOpts =\n | NadoClientContextOpts\n | NadoClientContextChainEnvOpts;\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 rewardsEndpoint,\n triggerEndpoint,\n mobileEndpoint,\n nuanzeEndpoint,\n otcEndpoint,\n clientType,\n } = ((): NadoClientContextOpts => {\n // Custom endpoint options\n if (!('chainEnv' in opts)) {\n return opts;\n }\n\n const { chainEnv, clientType } = opts;\n return {\n contractAddresses: NADO_DEPLOYMENTS[chainEnv],\n engineEndpoint: ENGINE_CLIENT_ENDPOINTS[chainEnv],\n indexerEndpoint: INDEXER_CLIENT_ENDPOINTS[chainEnv],\n rewardsEndpoint: REWARDS_CLIENT_ENDPOINTS[chainEnv],\n triggerEndpoint: TRIGGER_CLIENT_ENDPOINTS[chainEnv],\n mobileEndpoint: MOBILE_CLIENT_ENDPOINTS[chainEnv],\n nuanzeEndpoint: NUANZE_CLIENT_ENDPOINTS[chainEnv],\n otcEndpoint: OTC_CLIENT_ENDPOINTS[chainEnv],\n clientType,\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 clientType,\n engineClient: new EngineClient({\n url: engineEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\n }),\n indexerClient: new IndexerClient({\n url: indexerEndpoint,\n rewardsUrl: rewardsEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\n }),\n triggerClient: new TriggerClient({\n url: triggerEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\n }),\n mobileClient: new MobileClient({\n url: mobileEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\n }),\n // Nuanze is read-only and credential-free, so it takes no signer or client type\n nuanzeClient: new NuanzeClient({\n url: nuanzeEndpoint,\n }),\n otcClient: new OtcClient({ url: otcEndpoint, clientType }),\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":";;;;;;;;;;;;;;;AA0FA,SAAgB,oBACd,MACA,aACmB;CACnB,MAAM,EACJ,mBACA,gBACA,iBACA,iBACA,iBACA,gBACA,gBACA,aACA,sBACgC;EAEhC,IAAI,EAAE,cAAc,OAClB,OAAO;EAGT,MAAM,EAAE,UAAU,eAAe;EACjC,OAAO;GACL,mBAAmB,iBAAiB;GACpC,gBAAgB,wBAAwB;GACxC,iBAAiB,yBAAyB;GAC1C,iBAAiB,yBAAyB;GAC1C,iBAAiB,yBAAyB;GAC1C,gBAAgB,wBAAwB;GACxC,gBAAgB,wBAAwB;GACxC,aAAa,qBAAqB;GAClC;EACF;CACF,GAAG;CACH,MAAM,EAAE,cAAc,cAAc,6BAA6B;CAEjE,OAAO;EACL;EACA;EACA;EACA,WAAW;GACT,SAAS,gBAAgB;IACvB;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,eAAe,gBAAgB;IAC7B;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,UAAU,gBAAgB;IACxB;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,YAAY,gBAAgB;IAC1B;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,YAAY,gBAAgB;IAC1B;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,cAAc,gBAAgB;IAC5B;IACA,cAAc;IACd;IACA;GACF,CAAC;EACH;EACA;EACA;EACA,cAAc,IAAI,aAAa;GAC7B,KAAK;GACL;GACA;GACA;EACF,CAAC;EACD,eAAe,IAAI,cAAc;GAC/B,KAAK;GACL,YAAY;GACZ;GACA;GACA;EACF,CAAC;EACD,eAAe,IAAI,cAAc;GAC/B,KAAK;GACL;GACA;GACA;EACF,CAAC;EACD,cAAc,IAAI,aAAa;GAC7B,KAAK;GACL;GACA;GACA;EACF,CAAC;EAED,cAAc,IAAI,aAAa,EAC7B,KAAK,eACP,CAAC;EACD,WAAW,IAAI,UAAU;GAAE,KAAK;GAAa;EAAW,CAAC;CAC3D;AACF;AASA,SAAS,gBAA4C,EACnD,mBACA,cACA,cACA,gBAC6C;CAC7C,OAAO,YAAY;EACjB,SAAS,kBAAkB;EAC3B,KAAK,UAAU;EACf,QAAQ,gBAAgB;CAC1B,CAAC;AACH"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../src/context.ts"],"sourcesContent":["import { ENGINE_CLIENT_ENDPOINTS, EngineClient } from '@nadohq/engine-client';\nimport {\n INDEXER_CLIENT_ENDPOINTS,\n IndexerClient,\n REWARDS_CLIENT_ENDPOINTS,\n} from '@nadohq/indexer-client';\nimport { MOBILE_CLIENT_ENDPOINTS, MobileClient } from '@nadohq/mobile-client';\nimport { NUANZE_CLIENT_ENDPOINTS, NuanzeClient } from '@nadohq/nuanze-client';\nimport { OTC_CLIENT_ENDPOINTS, OtcClient } from '@nadohq/otc-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 mobileClient: MobileClient;\n nuanzeClient: NuanzeClient;\n otcClient: OtcClient;\n // If provided, identifies the calling client, sent as a header with every request made by the Nado service clients above (Nuanze excluded)\n clientType?: string;\n}\n\n/**\n * Args for creating a context with custom endpoints\n */\ninterface NadoClientContextOpts {\n contractAddresses: NadoDeploymentAddresses;\n engineEndpoint: string;\n indexerEndpoint: string;\n // Rewards service base URL, including the version segment (ex. `https://api.prod.nado.xyz/rewards/v1`).\n // Defaults to `${indexerEndpoint}/rewards/v1`.\n rewardsEndpoint?: string;\n triggerEndpoint: string;\n mobileEndpoint: string;\n nuanzeEndpoint: string;\n otcEndpoint: string;\n clientType?: string;\n}\n\n/**\n * Args for creating a context with the default endpoints of a chain env\n */\ninterface NadoClientContextChainEnvOpts {\n chainEnv: ChainEnv;\n clientType?: 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\n/**\n * Args for creating a context, either fully custom endpoints or a chain env with default endpoints.\n */\nexport type CreateNadoClientContextOpts =\n | NadoClientContextOpts\n | NadoClientContextChainEnvOpts;\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 rewardsEndpoint,\n triggerEndpoint,\n mobileEndpoint,\n nuanzeEndpoint,\n otcEndpoint,\n clientType,\n } = ((): NadoClientContextOpts => {\n // Custom endpoint options\n if (!('chainEnv' in opts)) {\n return opts;\n }\n\n const { chainEnv, clientType } = opts;\n return {\n contractAddresses: NADO_DEPLOYMENTS[chainEnv],\n engineEndpoint: ENGINE_CLIENT_ENDPOINTS[chainEnv],\n indexerEndpoint: INDEXER_CLIENT_ENDPOINTS[chainEnv],\n rewardsEndpoint: REWARDS_CLIENT_ENDPOINTS[chainEnv],\n triggerEndpoint: TRIGGER_CLIENT_ENDPOINTS[chainEnv],\n mobileEndpoint: MOBILE_CLIENT_ENDPOINTS[chainEnv],\n nuanzeEndpoint: NUANZE_CLIENT_ENDPOINTS[chainEnv],\n otcEndpoint: OTC_CLIENT_ENDPOINTS[chainEnv],\n clientType,\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 clientType,\n engineClient: new EngineClient({\n url: engineEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\n }),\n indexerClient: new IndexerClient({\n url: indexerEndpoint,\n rewardsUrl: rewardsEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\n }),\n triggerClient: new TriggerClient({\n url: triggerEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\n }),\n mobileClient: new MobileClient({\n url: mobileEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\n }),\n // Nuanze is read-only and credential-free, so it takes no signer or client type\n nuanzeClient: new NuanzeClient({\n url: nuanzeEndpoint,\n }),\n otcClient: new OtcClient({\n url: otcEndpoint,\n walletClient,\n linkedSignerWalletClient,\n clientType,\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":";;;;;;;;;;;;;;;AA0FA,SAAgB,oBACd,MACA,aACmB;CACnB,MAAM,EACJ,mBACA,gBACA,iBACA,iBACA,iBACA,gBACA,gBACA,aACA,sBACgC;EAEhC,IAAI,EAAE,cAAc,OAClB,OAAO;EAGT,MAAM,EAAE,UAAU,eAAe;EACjC,OAAO;GACL,mBAAmB,iBAAiB;GACpC,gBAAgB,wBAAwB;GACxC,iBAAiB,yBAAyB;GAC1C,iBAAiB,yBAAyB;GAC1C,iBAAiB,yBAAyB;GAC1C,gBAAgB,wBAAwB;GACxC,gBAAgB,wBAAwB;GACxC,aAAa,qBAAqB;GAClC;EACF;CACF,GAAG;CACH,MAAM,EAAE,cAAc,cAAc,6BAA6B;CAEjE,OAAO;EACL;EACA;EACA;EACA,WAAW;GACT,SAAS,gBAAgB;IACvB;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,eAAe,gBAAgB;IAC7B;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,UAAU,gBAAgB;IACxB;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,YAAY,gBAAgB;IAC1B;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,YAAY,gBAAgB;IAC1B;IACA,cAAc;IACd;IACA;GACF,CAAC;GACD,cAAc,gBAAgB;IAC5B;IACA,cAAc;IACd;IACA;GACF,CAAC;EACH;EACA;EACA;EACA,cAAc,IAAI,aAAa;GAC7B,KAAK;GACL;GACA;GACA;EACF,CAAC;EACD,eAAe,IAAI,cAAc;GAC/B,KAAK;GACL,YAAY;GACZ;GACA;GACA;EACF,CAAC;EACD,eAAe,IAAI,cAAc;GAC/B,KAAK;GACL;GACA;GACA;EACF,CAAC;EACD,cAAc,IAAI,aAAa;GAC7B,KAAK;GACL;GACA;GACA;EACF,CAAC;EAED,cAAc,IAAI,aAAa,EAC7B,KAAK,eACP,CAAC;EACD,WAAW,IAAI,UAAU;GACvB,KAAK;GACL;GACA;GACA;EACF,CAAC;CACH;AACF;AASA,SAAS,gBAA4C,EACnD,mBACA,cACA,cACA,gBAC6C;CAC7C,OAAO,YAAY;EACjB,SAAS,kBAAkB;EAC3B,KAAK,UAAU;EACf,QAAQ,gBAAgB;CAC1B,CAAC;AACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nadohq/client",
3
- "version": "0.63.0",
3
+ "version": "0.65.0",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "description": "Nado SDK client — unified API for trading, market data, and collateral management on Nado",
@@ -41,13 +41,13 @@
41
41
  "module": "./dist/index.js",
42
42
  "types": "./dist/index.d.ts",
43
43
  "dependencies": {
44
- "@nadohq/engine-client": "^0.63.0",
45
- "@nadohq/indexer-client": "^0.63.0",
46
- "@nadohq/mobile-client": "^0.63.0",
47
- "@nadohq/nuanze-client": "^0.63.0",
48
- "@nadohq/otc-client": "^0.63.0",
49
- "@nadohq/shared": "^0.63.0",
50
- "@nadohq/trigger-client": "^0.63.0",
44
+ "@nadohq/engine-client": "^0.65.0",
45
+ "@nadohq/indexer-client": "^0.65.0",
46
+ "@nadohq/mobile-client": "^0.65.0",
47
+ "@nadohq/nuanze-client": "^0.65.0",
48
+ "@nadohq/otc-client": "^0.65.0",
49
+ "@nadohq/shared": "^0.65.0",
50
+ "@nadohq/trigger-client": "^0.65.0",
51
51
  "ts-mixer": "6.0.4"
52
52
  },
53
53
  "peerDependencies": {
@@ -58,5 +58,5 @@
58
58
  "bignumber.js": "11.1.1",
59
59
  "viem": "2.52.0"
60
60
  },
61
- "gitHead": "c11ae9a429b0fefe002504b84a64a121b92ffd91"
61
+ "gitHead": "12b716e33133073ea5012fcbcf8f4ba2fd7335c5"
62
62
  }
package/src/client.ts CHANGED
@@ -36,6 +36,7 @@ export class NadoClient {
36
36
  this.context.indexerClient.setLinkedSigner(linkedSignerWalletClient);
37
37
  this.context.triggerClient.setLinkedSigner(linkedSignerWalletClient);
38
38
  this.context.mobileClient.setLinkedSigner(linkedSignerWalletClient);
39
+ this.context.otcClient.setLinkedSigner(linkedSignerWalletClient);
39
40
  }
40
41
 
41
42
  /**
package/src/context.ts CHANGED
@@ -196,7 +196,12 @@ export function createClientContext(
196
196
  nuanzeClient: new NuanzeClient({
197
197
  url: nuanzeEndpoint,
198
198
  }),
199
- otcClient: new OtcClient({ url: otcEndpoint, clientType }),
199
+ otcClient: new OtcClient({
200
+ url: otcEndpoint,
201
+ walletClient,
202
+ linkedSignerWalletClient,
203
+ clientType,
204
+ }),
200
205
  };
201
206
  }
202
207