@nadohq/client 0.32.0 → 0.34.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.
Files changed (153) hide show
  1. package/dist/BaseRewardsAPI-C2Khs1h3.d.cts +17 -0
  2. package/dist/BaseRewardsAPI-C2Khs1h3.d.cts.map +1 -0
  3. package/dist/BaseRewardsAPI-DP_NdIBN.d.ts +17 -0
  4. package/dist/BaseRewardsAPI-DP_NdIBN.d.ts.map +1 -0
  5. package/dist/{BaseSpotAPI-Dn7FqHTu.d.ts → BaseSpotAPI-BtWEU9Iv.d.ts} +2 -2
  6. package/dist/{BaseSpotAPI-Dn7FqHTu.d.ts.map → BaseSpotAPI-BtWEU9Iv.d.ts.map} +1 -1
  7. package/dist/{BaseSpotAPI-DCR0Ukso.d.cts → BaseSpotAPI-_U-2E2i7.d.cts} +2 -2
  8. package/dist/{BaseSpotAPI-DCR0Ukso.d.cts.map → BaseSpotAPI-_U-2E2i7.d.cts.map} +1 -1
  9. package/dist/RewardsExecuteAPI-DtKFYDZO.d.cts +25 -0
  10. package/dist/RewardsExecuteAPI-DtKFYDZO.d.cts.map +1 -0
  11. package/dist/RewardsExecuteAPI-t-X-0bkJ.d.ts +25 -0
  12. package/dist/RewardsExecuteAPI-t-X-0bkJ.d.ts.map +1 -0
  13. package/dist/RewardsQueryAPI-C8b5XQKS.d.cts +33 -0
  14. package/dist/RewardsQueryAPI-C8b5XQKS.d.cts.map +1 -0
  15. package/dist/RewardsQueryAPI-CxIm-G-8.d.ts +33 -0
  16. package/dist/RewardsQueryAPI-CxIm-G-8.d.ts.map +1 -0
  17. package/dist/{SpotExecuteAPI-8dJfQcjP.d.ts → SpotExecuteAPI-2ux8AQKX.d.ts} +3 -3
  18. package/dist/{SpotExecuteAPI-8dJfQcjP.d.ts.map → SpotExecuteAPI-2ux8AQKX.d.ts.map} +1 -1
  19. package/dist/{SpotExecuteAPI-C1E_L4Ov.d.cts → SpotExecuteAPI-DGSIOaWW.d.cts} +3 -3
  20. package/dist/{SpotExecuteAPI-C1E_L4Ov.d.cts.map → SpotExecuteAPI-DGSIOaWW.d.cts.map} +1 -1
  21. package/dist/{SpotQueryAPI-By-EKjdC.d.ts → SpotQueryAPI-Bg6a2H-O.d.ts} +3 -3
  22. package/dist/{SpotQueryAPI-By-EKjdC.d.ts.map → SpotQueryAPI-Bg6a2H-O.d.ts.map} +1 -1
  23. package/dist/{SpotQueryAPI-C-646O43.d.cts → SpotQueryAPI-Bp6KNIrO.d.cts} +3 -3
  24. package/dist/{SpotQueryAPI-C-646O43.d.cts.map → SpotQueryAPI-Bp6KNIrO.d.cts.map} +1 -1
  25. package/dist/{SubaccountExecuteAPI-BXUYFvqZ.d.cts → SubaccountExecuteAPI-BNB-4uUP.d.cts} +2 -2
  26. package/dist/{SubaccountExecuteAPI-BXUYFvqZ.d.cts.map → SubaccountExecuteAPI-BNB-4uUP.d.cts.map} +1 -1
  27. package/dist/{SubaccountExecuteAPI-IV4EuQiO.d.ts → SubaccountExecuteAPI-Dho_tprr.d.ts} +2 -2
  28. package/dist/{SubaccountExecuteAPI-IV4EuQiO.d.ts.map → SubaccountExecuteAPI-Dho_tprr.d.ts.map} +1 -1
  29. package/dist/{SubaccountQueryAPI-DuPZIksw.d.cts → SubaccountQueryAPI-BV7h4nmZ.d.cts} +1 -1
  30. package/dist/{SubaccountQueryAPI-DuPZIksw.d.cts.map → SubaccountQueryAPI-BV7h4nmZ.d.cts.map} +1 -1
  31. package/dist/{SubaccountQueryAPI-De_FQ-Qa.d.ts → SubaccountQueryAPI-CAUa6ANv.d.ts} +1 -1
  32. package/dist/{SubaccountQueryAPI-De_FQ-Qa.d.ts.map → SubaccountQueryAPI-CAUa6ANv.d.ts.map} +1 -1
  33. package/dist/{WebSocketExecuteAPI-BbCjkskC.d.ts → WebSocketExecuteAPI-CpP_ILEk.d.ts} +1 -1
  34. package/dist/{WebSocketExecuteAPI-BbCjkskC.d.ts.map → WebSocketExecuteAPI-CpP_ILEk.d.ts.map} +1 -1
  35. package/dist/{WebSocketExecuteAPI-DZ_Xauk2.d.cts → WebSocketExecuteAPI-hJMLfP8d.d.cts} +1 -1
  36. package/dist/{WebSocketExecuteAPI-DZ_Xauk2.d.cts.map → WebSocketExecuteAPI-hJMLfP8d.d.cts.map} +1 -1
  37. package/dist/{WebSocketQueryAPI-hOXDojO7.d.ts → WebSocketQueryAPI-BsyrKGrK.d.ts} +1 -1
  38. package/dist/{WebSocketQueryAPI-hOXDojO7.d.ts.map → WebSocketQueryAPI-BsyrKGrK.d.ts.map} +1 -1
  39. package/dist/{WebSocketQueryAPI-D1i9ToSh.d.cts → WebSocketQueryAPI-zSF8NPwe.d.cts} +1 -1
  40. package/dist/{WebSocketQueryAPI-D1i9ToSh.d.cts.map → WebSocketQueryAPI-zSF8NPwe.d.cts.map} +1 -1
  41. package/dist/{WebSocketSubscriptionAPI-B9YYloIc.d.ts → WebSocketSubscriptionAPI-C-xipXc7.d.ts} +1 -1
  42. package/dist/{WebSocketSubscriptionAPI-B9YYloIc.d.ts.map → WebSocketSubscriptionAPI-C-xipXc7.d.ts.map} +1 -1
  43. package/dist/{WebSocketSubscriptionAPI-DgIMxfz5.d.cts → WebSocketSubscriptionAPI-DrAbLF80.d.cts} +1 -1
  44. package/dist/{WebSocketSubscriptionAPI-DgIMxfz5.d.cts.map → WebSocketSubscriptionAPI-DrAbLF80.d.cts.map} +1 -1
  45. package/dist/apis/rewards/BaseRewardsAPI.cjs +22 -0
  46. package/dist/apis/rewards/BaseRewardsAPI.cjs.map +1 -0
  47. package/dist/apis/rewards/BaseRewardsAPI.d.cts +2 -0
  48. package/dist/apis/rewards/BaseRewardsAPI.d.ts +2 -0
  49. package/dist/apis/rewards/BaseRewardsAPI.js +21 -0
  50. package/dist/apis/rewards/BaseRewardsAPI.js.map +1 -0
  51. package/dist/apis/rewards/RewardsExecuteAPI.cjs +49 -0
  52. package/dist/apis/rewards/RewardsExecuteAPI.cjs.map +1 -0
  53. package/dist/apis/rewards/RewardsExecuteAPI.d.cts +2 -0
  54. package/dist/apis/rewards/RewardsExecuteAPI.d.ts +2 -0
  55. package/dist/apis/rewards/RewardsExecuteAPI.js +48 -0
  56. package/dist/apis/rewards/RewardsExecuteAPI.js.map +1 -0
  57. package/dist/apis/rewards/RewardsQueryAPI.cjs +33 -0
  58. package/dist/apis/rewards/RewardsQueryAPI.cjs.map +1 -0
  59. package/dist/apis/rewards/RewardsQueryAPI.d.cts +2 -0
  60. package/dist/apis/rewards/RewardsQueryAPI.d.ts +2 -0
  61. package/dist/apis/rewards/RewardsQueryAPI.js +32 -0
  62. package/dist/apis/rewards/RewardsQueryAPI.js.map +1 -0
  63. package/dist/apis/rewards/index.cjs +14 -0
  64. package/dist/apis/rewards/index.cjs.map +1 -0
  65. package/dist/apis/rewards/index.d.cts +3 -0
  66. package/dist/apis/rewards/index.d.ts +3 -0
  67. package/dist/apis/rewards/index.js +13 -0
  68. package/dist/apis/rewards/index.js.map +1 -0
  69. package/dist/apis/rewards/types.cjs +0 -0
  70. package/dist/apis/rewards/types.d.cts +2 -0
  71. package/dist/apis/rewards/types.d.ts +2 -0
  72. package/dist/apis/rewards/types.js +1 -0
  73. package/dist/apis/spot/BaseSpotAPI.d.cts +1 -1
  74. package/dist/apis/spot/BaseSpotAPI.d.ts +1 -1
  75. package/dist/apis/spot/SpotExecuteAPI.cjs +1 -0
  76. package/dist/apis/spot/SpotExecuteAPI.cjs.map +1 -1
  77. package/dist/apis/spot/SpotExecuteAPI.d.cts +1 -1
  78. package/dist/apis/spot/SpotExecuteAPI.d.ts +1 -1
  79. package/dist/apis/spot/SpotExecuteAPI.js +1 -0
  80. package/dist/apis/spot/SpotExecuteAPI.js.map +1 -1
  81. package/dist/apis/spot/SpotQueryAPI.d.cts +1 -1
  82. package/dist/apis/spot/SpotQueryAPI.d.ts +1 -1
  83. package/dist/apis/spot/index.d.cts +2 -2
  84. package/dist/apis/spot/index.d.ts +2 -2
  85. package/dist/apis/spot/types.d.cts +1 -1
  86. package/dist/apis/spot/types.d.ts +1 -1
  87. package/dist/apis/subaccount/SubaccountExecuteAPI.d.cts +1 -1
  88. package/dist/apis/subaccount/SubaccountExecuteAPI.d.ts +1 -1
  89. package/dist/apis/subaccount/SubaccountQueryAPI.d.cts +1 -1
  90. package/dist/apis/subaccount/SubaccountQueryAPI.d.ts +1 -1
  91. package/dist/apis/subaccount/index.d.cts +2 -2
  92. package/dist/apis/subaccount/index.d.ts +2 -2
  93. package/dist/apis/subaccount/types.d.cts +1 -1
  94. package/dist/apis/subaccount/types.d.ts +1 -1
  95. package/dist/apis/ws/WebSocketExecuteAPI.d.cts +1 -1
  96. package/dist/apis/ws/WebSocketExecuteAPI.d.ts +1 -1
  97. package/dist/apis/ws/WebSocketQueryAPI.d.cts +1 -1
  98. package/dist/apis/ws/WebSocketQueryAPI.d.ts +1 -1
  99. package/dist/apis/ws/WebSocketSubscriptionAPI.d.cts +1 -1
  100. package/dist/apis/ws/WebSocketSubscriptionAPI.d.ts +1 -1
  101. package/dist/apis/ws/index.d.cts +1 -1
  102. package/dist/apis/ws/index.d.ts +1 -1
  103. package/dist/client.cjs +2 -0
  104. package/dist/client.cjs.map +1 -1
  105. package/dist/client.d.cts +5 -3
  106. package/dist/client.d.cts.map +1 -1
  107. package/dist/client.d.ts +5 -3
  108. package/dist/client.d.ts.map +1 -1
  109. package/dist/client.js +2 -0
  110. package/dist/client.js.map +1 -1
  111. package/dist/{index-Dj9Ub1PG.d.cts → index-9wuDqMV2.d.cts} +4 -4
  112. package/dist/{index-Dj9Ub1PG.d.cts.map → index-9wuDqMV2.d.cts.map} +1 -1
  113. package/dist/{index-B3HYm75y.d.cts → index-Bckt-gdC.d.cts} +4 -4
  114. package/dist/{index-B3HYm75y.d.cts.map → index-Bckt-gdC.d.cts.map} +1 -1
  115. package/dist/{index-B1Dxe-TH.d.ts → index-BqAOMCKi.d.ts} +4 -4
  116. package/dist/{index-B1Dxe-TH.d.ts.map → index-BqAOMCKi.d.ts.map} +1 -1
  117. package/dist/{index-DPNd9PR1.d.ts → index-C-qKYLCR.d.ts} +3 -3
  118. package/dist/index-C-qKYLCR.d.ts.map +1 -0
  119. package/dist/{index-DqQ5-VOh.d.cts → index-Cn7kpBkt.d.cts} +3 -3
  120. package/dist/index-Cn7kpBkt.d.cts.map +1 -0
  121. package/dist/index-DE9RaTAD.d.cts +13 -0
  122. package/dist/index-DE9RaTAD.d.cts.map +1 -0
  123. package/dist/index-Dq_AuvDb.d.ts +13 -0
  124. package/dist/index-Dq_AuvDb.d.ts.map +1 -0
  125. package/dist/{index-CEwXS1Ek.d.ts → index-EEn1f0QY.d.ts} +4 -4
  126. package/dist/{index-CEwXS1Ek.d.ts.map → index-EEn1f0QY.d.ts.map} +1 -1
  127. package/dist/index.cjs +2 -0
  128. package/dist/index.d.cts +7 -5
  129. package/dist/index.d.ts +7 -5
  130. package/dist/index.js +2 -1
  131. package/dist/{types-B6oFoDTo.d.ts → types-BDVasYAf.d.ts} +1 -1
  132. package/dist/{types-B6oFoDTo.d.ts.map → types-BDVasYAf.d.ts.map} +1 -1
  133. package/dist/types-BFMFRstW.d.cts +18 -0
  134. package/dist/types-BFMFRstW.d.cts.map +1 -0
  135. package/dist/{types-BWRdhQd_.d.cts → types-C0Wevcia.d.cts} +1 -1
  136. package/dist/{types-BWRdhQd_.d.cts.map → types-C0Wevcia.d.cts.map} +1 -1
  137. package/dist/{types-pRheTrJ1.d.cts → types-C3rE8vyS.d.cts} +1 -1
  138. package/dist/{types-pRheTrJ1.d.cts.map → types-C3rE8vyS.d.cts.map} +1 -1
  139. package/dist/types-CFgxXCy2.d.ts +18 -0
  140. package/dist/types-CFgxXCy2.d.ts.map +1 -0
  141. package/dist/{types-DnBjJCnd.d.ts → types-OZlzeknc.d.ts} +1 -1
  142. package/dist/{types-DnBjJCnd.d.ts.map → types-OZlzeknc.d.ts.map} +1 -1
  143. package/package.json +7 -7
  144. package/src/apis/rewards/BaseRewardsAPI.ts +20 -0
  145. package/src/apis/rewards/RewardsExecuteAPI.ts +77 -0
  146. package/src/apis/rewards/RewardsQueryAPI.ts +35 -0
  147. package/src/apis/rewards/index.ts +11 -0
  148. package/src/apis/rewards/types.ts +15 -0
  149. package/src/apis/spot/SpotExecuteAPI.ts +4 -0
  150. package/src/client.ts +3 -0
  151. package/src/index.ts +1 -0
  152. package/dist/index-DPNd9PR1.d.ts.map +0 -1
  153. package/dist/index-DqQ5-VOh.d.cts.map +0 -1
@@ -0,0 +1,48 @@
1
+ import { BaseRewardsAPI } from "./BaseRewardsAPI.js";
2
+ import { WalletNotProvidedError, claimAirdropRewards, isWriteableContract, toBigNumber } from "@nadohq/shared";
3
+ //#region src/apis/rewards/RewardsExecuteAPI.ts
4
+ var RewardsExecuteAPI = class extends BaseRewardsAPI {
5
+ /**
6
+ * Claims every currently claimable cash incentives reward for the connected wallet in a single
7
+ * transaction, fetching the merkle proofs from the indexer itself.
8
+ *
9
+ * The Airdrop contract verifies proofs against `msg.sender`, so this can only ever claim for the
10
+ * connected wallet. Rewards that were already settled onchain are dropped before submitting,
11
+ * since the indexer keeps reporting them as claimable, as are rewards whose week the contract
12
+ * does not know about yet.
13
+ *
14
+ * @returns Hash of the submitted claim transaction.
15
+ * @throws `WalletNotProvidedError` when no wallet client is available to sign with.
16
+ * @throws When the indexer reports nothing claimable, or when no claimable reward is ready to
17
+ * claim onchain because each has either already been claimed or is not yet registered on the
18
+ * airdrop contract.
19
+ */
20
+ async claimCashIncentives() {
21
+ const walletAddress = this.getWalletClientAddress();
22
+ const { events } = await this.context.indexerClient.getCashIncentives({ address: walletAddress });
23
+ const claimableRewards = events.map((event) => event.wallet.claim).filter((claim) => claim.status === "claimable");
24
+ const airdropAddress = claimableRewards[0]?.airdropAddress;
25
+ if (!airdropAddress) throw new Error("No claimable cash incentives rewards found for this wallet.");
26
+ const airdropContract = this.getAirdropContract({ airdropAddress });
27
+ if (!isWriteableContract(airdropContract)) throw new WalletNotProvidedError();
28
+ const claimed = await airdropContract.read.getClaimed([walletAddress]);
29
+ const unclaimedProofs = [];
30
+ for (const { week, totalAmount, proof } of claimableRewards) {
31
+ if (week < 1 || week >= claimed.length) continue;
32
+ if (toBigNumber(claimed[week]).lt(toBigNumber(totalAmount))) unclaimedProofs.push({
33
+ week,
34
+ totalAmount,
35
+ proof
36
+ });
37
+ }
38
+ if (unclaimedProofs.length === 0) throw new Error(`No cash incentives rewards are ready to claim from the airdrop contract at ${airdropAddress}. Each claimable reward has either already been claimed onchain, or is not yet registered on the contract (it reports ${claimed.length - 1} week(s)).`);
39
+ return claimAirdropRewards({
40
+ airdropContract,
41
+ claimProofs: unclaimedProofs
42
+ });
43
+ }
44
+ };
45
+ //#endregion
46
+ export { RewardsExecuteAPI };
47
+
48
+ //# sourceMappingURL=RewardsExecuteAPI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RewardsExecuteAPI.js","names":[],"sources":["../../../src/apis/rewards/RewardsExecuteAPI.ts"],"sourcesContent":["import {\n AirdropClaimProof,\n claimAirdropRewards,\n isWriteableContract,\n toBigNumber,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport { Hash } from 'viem';\nimport { BaseRewardsAPI } from './BaseRewardsAPI';\n\nexport class RewardsExecuteAPI extends BaseRewardsAPI {\n /**\n * Claims every currently claimable cash incentives reward for the connected wallet in a single\n * transaction, fetching the merkle proofs from the indexer itself.\n *\n * The Airdrop contract verifies proofs against `msg.sender`, so this can only ever claim for the\n * connected wallet. Rewards that were already settled onchain are dropped before submitting,\n * since the indexer keeps reporting them as claimable, as are rewards whose week the contract\n * does not know about yet.\n *\n * @returns Hash of the submitted claim transaction.\n * @throws `WalletNotProvidedError` when no wallet client is available to sign with.\n * @throws When the indexer reports nothing claimable, or when no claimable reward is ready to\n * claim onchain because each has either already been claimed or is not yet registered on the\n * airdrop contract.\n */\n async claimCashIncentives(): Promise<Hash> {\n const walletAddress = this.getWalletClientAddress();\n const { events } = await this.context.indexerClient.getCashIncentives({\n address: walletAddress,\n });\n\n const claimableRewards = events\n .map((event) => event.wallet.claim)\n .filter((claim) => claim.status === 'claimable');\n\n // Every reward currently comes from the same airdrop contract, so they claim in one transaction\n const airdropAddress = claimableRewards[0]?.airdropAddress;\n if (!airdropAddress) {\n throw new Error(\n 'No claimable cash incentives rewards found for this wallet.',\n );\n }\n\n const airdropContract = this.getAirdropContract({ airdropAddress });\n if (!isWriteableContract(airdropContract)) {\n throw new WalletNotProvidedError();\n }\n\n // Indexed by week, 1-based, with an unused slot 0, so the last valid week is `length - 1`\n const claimed = await airdropContract.read.getClaimed([walletAddress]);\n\n const unclaimedProofs: AirdropClaimProof[] = [];\n for (const { week, totalAmount, proof } of claimableRewards) {\n // A reward can be published by the indexer before its merkle root is registered onchain, so\n // skip those weeks rather than failing and blocking the weeks that are ready to claim\n if (week < 1 || week >= claimed.length) {\n continue;\n }\n // Claimed amounts are cumulative, so anything below the entitlement is still claimable\n if (toBigNumber(claimed[week]).lt(toBigNumber(totalAmount))) {\n unclaimedProofs.push({ week, totalAmount, proof });\n }\n }\n\n if (unclaimedProofs.length === 0) {\n throw new Error(\n `No cash incentives rewards are ready to claim from the airdrop contract at ${airdropAddress}. Each claimable reward has either already been claimed onchain, or is not yet registered on the contract (it reports ${claimed.length - 1} week(s)).`,\n );\n }\n\n return claimAirdropRewards({\n airdropContract,\n claimProofs: unclaimedProofs,\n });\n }\n}\n"],"mappings":";;;AAUA,IAAa,oBAAb,cAAuC,eAAe;;;;;;;;;;;;;;;;CAgBpD,MAAM,sBAAqC;EACzC,MAAM,gBAAgB,KAAK,uBAAuB;EAClD,MAAM,EAAE,WAAW,MAAM,KAAK,QAAQ,cAAc,kBAAkB,EACpE,SAAS,cACX,CAAC;EAED,MAAM,mBAAmB,OACtB,KAAK,UAAU,MAAM,OAAO,KAAK,EACjC,QAAQ,UAAU,MAAM,WAAW,WAAW;EAGjD,MAAM,iBAAiB,iBAAiB,IAAI;EAC5C,IAAI,CAAC,gBACH,MAAM,IAAI,MACR,6DACF;EAGF,MAAM,kBAAkB,KAAK,mBAAmB,EAAE,eAAe,CAAC;EAClE,IAAI,CAAC,oBAAoB,eAAe,GACtC,MAAM,IAAI,uBAAuB;EAInC,MAAM,UAAU,MAAM,gBAAgB,KAAK,WAAW,CAAC,aAAa,CAAC;EAErE,MAAM,kBAAuC,CAAC;EAC9C,KAAK,MAAM,EAAE,MAAM,aAAa,WAAW,kBAAkB;GAG3D,IAAI,OAAO,KAAK,QAAQ,QAAQ,QAC9B;GAGF,IAAI,YAAY,QAAQ,KAAK,EAAE,GAAG,YAAY,WAAW,CAAC,GACxD,gBAAgB,KAAK;IAAE;IAAM;IAAa;GAAM,CAAC;EAErD;EAEA,IAAI,gBAAgB,WAAW,GAC7B,MAAM,IAAI,MACR,8EAA8E,eAAe,wHAAwH,QAAQ,SAAS,EAAE,WAC1O;EAGF,OAAO,oBAAoB;GACzB;GACA,aAAa;EACf,CAAC;CACH;AACF"}
@@ -0,0 +1,33 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_apis_rewards_BaseRewardsAPI = require("./BaseRewardsAPI.cjs");
3
+ //#region src/apis/rewards/RewardsQueryAPI.ts
4
+ var RewardsQueryAPI = class extends require_apis_rewards_BaseRewardsAPI.BaseRewardsAPI {
5
+ /**
6
+ * Gets cash incentives progress and claim state for a wallet. Each event's `wallet.claim` is
7
+ * tagged on `status`, and carries the merkle proof needed to claim onchain when that status is
8
+ * `claimable`.
9
+ *
10
+ * @param params
11
+ */
12
+ async getCashIncentives(params) {
13
+ return this.context.indexerClient.getCashIncentives(params);
14
+ }
15
+ /**
16
+ * Gets the cumulative amounts already claimed by a wallet from an airdrop contract, in raw token
17
+ * units, indexed directly by `week`.
18
+ *
19
+ * Weeks are 1-based, so index 0 is always zero and the array length is one greater than the
20
+ * number of reward events. A week is fully claimed when its entry equals the `totalAmount` of the
21
+ * corresponding claim proof; a smaller value means there is still an amount to claim, since
22
+ * entries are cumulative rather than per-transaction.
23
+ *
24
+ * @param params
25
+ */
26
+ async getClaimedAirdropAmounts({ address, ...rest }) {
27
+ return this.getAirdropContract(rest).read.getClaimed([address]);
28
+ }
29
+ };
30
+ //#endregion
31
+ exports.RewardsQueryAPI = RewardsQueryAPI;
32
+
33
+ //# sourceMappingURL=RewardsQueryAPI.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RewardsQueryAPI.cjs","names":["BaseRewardsAPI"],"sources":["../../../src/apis/rewards/RewardsQueryAPI.ts"],"sourcesContent":["import { GetIndexerCashIncentivesParams } from '@nadohq/indexer-client';\nimport { BaseRewardsAPI } from './BaseRewardsAPI';\nimport { GetClaimedAirdropAmountsParams } from './types';\n\nexport class RewardsQueryAPI extends BaseRewardsAPI {\n /**\n * Gets cash incentives progress and claim state for a wallet. Each event's `wallet.claim` is\n * tagged on `status`, and carries the merkle proof needed to claim onchain when that status is\n * `claimable`.\n *\n * @param params\n */\n async getCashIncentives(params: GetIndexerCashIncentivesParams) {\n return this.context.indexerClient.getCashIncentives(params);\n }\n\n /**\n * Gets the cumulative amounts already claimed by a wallet from an airdrop contract, in raw token\n * units, indexed directly by `week`.\n *\n * Weeks are 1-based, so index 0 is always zero and the array length is one greater than the\n * number of reward events. A week is fully claimed when its entry equals the `totalAmount` of the\n * corresponding claim proof; a smaller value means there is still an amount to claim, since\n * entries are cumulative rather than per-transaction.\n *\n * @param params\n */\n async getClaimedAirdropAmounts({\n address,\n ...rest\n }: GetClaimedAirdropAmountsParams): Promise<readonly bigint[]> {\n const airdrop = this.getAirdropContract(rest);\n return airdrop.read.getClaimed([address]);\n }\n}\n"],"mappings":";;;AAIA,IAAa,kBAAb,cAAqCA,oCAAAA,eAAe;;;;;;;;CAQlD,MAAM,kBAAkB,QAAwC;EAC9D,OAAO,KAAK,QAAQ,cAAc,kBAAkB,MAAM;CAC5D;;;;;;;;;;;;CAaA,MAAM,yBAAyB,EAC7B,SACA,GAAG,QAC0D;EAE7D,OADgB,KAAK,mBAAmB,IAC3B,EAAE,KAAK,WAAW,CAAC,OAAO,CAAC;CAC1C;AACF"}
@@ -0,0 +1,2 @@
1
+ import { t as RewardsQueryAPI } from "../../RewardsQueryAPI-C8b5XQKS.cjs";
2
+ export { RewardsQueryAPI };
@@ -0,0 +1,2 @@
1
+ import { t as RewardsQueryAPI } from "../../RewardsQueryAPI-CxIm-G-8.js";
2
+ export { RewardsQueryAPI };
@@ -0,0 +1,32 @@
1
+ import { BaseRewardsAPI } from "./BaseRewardsAPI.js";
2
+ //#region src/apis/rewards/RewardsQueryAPI.ts
3
+ var RewardsQueryAPI = class extends BaseRewardsAPI {
4
+ /**
5
+ * Gets cash incentives progress and claim state for a wallet. Each event's `wallet.claim` is
6
+ * tagged on `status`, and carries the merkle proof needed to claim onchain when that status is
7
+ * `claimable`.
8
+ *
9
+ * @param params
10
+ */
11
+ async getCashIncentives(params) {
12
+ return this.context.indexerClient.getCashIncentives(params);
13
+ }
14
+ /**
15
+ * Gets the cumulative amounts already claimed by a wallet from an airdrop contract, in raw token
16
+ * units, indexed directly by `week`.
17
+ *
18
+ * Weeks are 1-based, so index 0 is always zero and the array length is one greater than the
19
+ * number of reward events. A week is fully claimed when its entry equals the `totalAmount` of the
20
+ * corresponding claim proof; a smaller value means there is still an amount to claim, since
21
+ * entries are cumulative rather than per-transaction.
22
+ *
23
+ * @param params
24
+ */
25
+ async getClaimedAirdropAmounts({ address, ...rest }) {
26
+ return this.getAirdropContract(rest).read.getClaimed([address]);
27
+ }
28
+ };
29
+ //#endregion
30
+ export { RewardsQueryAPI };
31
+
32
+ //# sourceMappingURL=RewardsQueryAPI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RewardsQueryAPI.js","names":[],"sources":["../../../src/apis/rewards/RewardsQueryAPI.ts"],"sourcesContent":["import { GetIndexerCashIncentivesParams } from '@nadohq/indexer-client';\nimport { BaseRewardsAPI } from './BaseRewardsAPI';\nimport { GetClaimedAirdropAmountsParams } from './types';\n\nexport class RewardsQueryAPI extends BaseRewardsAPI {\n /**\n * Gets cash incentives progress and claim state for a wallet. Each event's `wallet.claim` is\n * tagged on `status`, and carries the merkle proof needed to claim onchain when that status is\n * `claimable`.\n *\n * @param params\n */\n async getCashIncentives(params: GetIndexerCashIncentivesParams) {\n return this.context.indexerClient.getCashIncentives(params);\n }\n\n /**\n * Gets the cumulative amounts already claimed by a wallet from an airdrop contract, in raw token\n * units, indexed directly by `week`.\n *\n * Weeks are 1-based, so index 0 is always zero and the array length is one greater than the\n * number of reward events. A week is fully claimed when its entry equals the `totalAmount` of the\n * corresponding claim proof; a smaller value means there is still an amount to claim, since\n * entries are cumulative rather than per-transaction.\n *\n * @param params\n */\n async getClaimedAirdropAmounts({\n address,\n ...rest\n }: GetClaimedAirdropAmountsParams): Promise<readonly bigint[]> {\n const airdrop = this.getAirdropContract(rest);\n return airdrop.read.getClaimed([address]);\n }\n}\n"],"mappings":";;AAIA,IAAa,kBAAb,cAAqC,eAAe;;;;;;;;CAQlD,MAAM,kBAAkB,QAAwC;EAC9D,OAAO,KAAK,QAAQ,cAAc,kBAAkB,MAAM;CAC5D;;;;;;;;;;;;CAaA,MAAM,yBAAyB,EAC7B,SACA,GAAG,QAC0D;EAE7D,OADgB,KAAK,mBAAmB,IAC3B,EAAE,KAAK,WAAW,CAAC,OAAO,CAAC;CAC1C;AACF"}
@@ -0,0 +1,14 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_apis_rewards_RewardsExecuteAPI = require("./RewardsExecuteAPI.cjs");
3
+ const require_apis_rewards_RewardsQueryAPI = require("./RewardsQueryAPI.cjs");
4
+ let ts_mixer = require("ts-mixer");
5
+ //#region src/apis/rewards/index.ts
6
+ /**
7
+ * Combined rewards API for querying cash incentives progress and claiming rewards onchain
8
+ * through the Airdrop contract.
9
+ */
10
+ var RewardsAPI = class extends (0, ts_mixer.Mixin)(require_apis_rewards_RewardsExecuteAPI.RewardsExecuteAPI, require_apis_rewards_RewardsQueryAPI.RewardsQueryAPI) {};
11
+ //#endregion
12
+ exports.RewardsAPI = RewardsAPI;
13
+
14
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["RewardsExecuteAPI","RewardsQueryAPI"],"sources":["../../../src/apis/rewards/index.ts"],"sourcesContent":["import { Mixin } from 'ts-mixer';\nimport { RewardsExecuteAPI } from './RewardsExecuteAPI';\nimport { RewardsQueryAPI } from './RewardsQueryAPI';\n\n/**\n * Combined rewards API for querying cash incentives progress and claiming rewards onchain\n * through the Airdrop contract.\n */\nexport class RewardsAPI extends Mixin(RewardsExecuteAPI, RewardsQueryAPI) {}\n\nexport * from './types';\n"],"mappings":";;;;;;;;;AAQA,IAAa,aAAb,eAAA,GAAA,SAAA,OAAsCA,uCAAAA,mBAAmBC,qCAAAA,eAAe,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { n as GetClaimedAirdropAmountsParams, t as AirdropAddressParams } from "../../types-BFMFRstW.cjs";
2
+ import { t as RewardsAPI } from "../../index-DE9RaTAD.cjs";
3
+ export { AirdropAddressParams, GetClaimedAirdropAmountsParams, RewardsAPI };
@@ -0,0 +1,3 @@
1
+ import { n as GetClaimedAirdropAmountsParams, t as AirdropAddressParams } from "../../types-CFgxXCy2.js";
2
+ import { t as RewardsAPI } from "../../index-Dq_AuvDb.js";
3
+ export { AirdropAddressParams, GetClaimedAirdropAmountsParams, RewardsAPI };
@@ -0,0 +1,13 @@
1
+ import { RewardsExecuteAPI } from "./RewardsExecuteAPI.js";
2
+ import { RewardsQueryAPI } from "./RewardsQueryAPI.js";
3
+ import { Mixin } from "ts-mixer";
4
+ //#region src/apis/rewards/index.ts
5
+ /**
6
+ * Combined rewards API for querying cash incentives progress and claiming rewards onchain
7
+ * through the Airdrop contract.
8
+ */
9
+ var RewardsAPI = class extends Mixin(RewardsExecuteAPI, RewardsQueryAPI) {};
10
+ //#endregion
11
+ export { RewardsAPI };
12
+
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/apis/rewards/index.ts"],"sourcesContent":["import { Mixin } from 'ts-mixer';\nimport { RewardsExecuteAPI } from './RewardsExecuteAPI';\nimport { RewardsQueryAPI } from './RewardsQueryAPI';\n\n/**\n * Combined rewards API for querying cash incentives progress and claiming rewards onchain\n * through the Airdrop contract.\n */\nexport class RewardsAPI extends Mixin(RewardsExecuteAPI, RewardsQueryAPI) {}\n\nexport * from './types';\n"],"mappings":";;;;;;;;AAQA,IAAa,aAAb,cAAgC,MAAM,mBAAmB,eAAe,EAAE,CAAC"}
File without changes
@@ -0,0 +1,2 @@
1
+ import { n as GetClaimedAirdropAmountsParams, t as AirdropAddressParams } from "../../types-BFMFRstW.cjs";
2
+ export { AirdropAddressParams, GetClaimedAirdropAmountsParams };
@@ -0,0 +1,2 @@
1
+ import { n as GetClaimedAirdropAmountsParams, t as AirdropAddressParams } from "../../types-CFgxXCy2.js";
2
+ export { AirdropAddressParams, GetClaimedAirdropAmountsParams };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,2 +1,2 @@
1
- import { t as BaseSpotAPI } from "../../BaseSpotAPI-DCR0Ukso.cjs";
1
+ import { t as BaseSpotAPI } from "../../BaseSpotAPI-_U-2E2i7.cjs";
2
2
  export { BaseSpotAPI };
@@ -1,2 +1,2 @@
1
- import { t as BaseSpotAPI } from "../../BaseSpotAPI-Dn7FqHTu.js";
1
+ import { t as BaseSpotAPI } from "../../BaseSpotAPI-BtWEU9Iv.js";
2
2
  export { BaseSpotAPI };
@@ -4,6 +4,7 @@ let _nadohq_shared = require("@nadohq/shared");
4
4
  //#region src/apis/spot/SpotExecuteAPI.ts
5
5
  var SpotExecuteAPI = class extends require_apis_spot_BaseSpotAPI.BaseSpotAPI {
6
6
  async deposit(params) {
7
+ if (!(0, _nadohq_shared.isWriteableContract)(this.context.contracts.endpoint)) throw new _nadohq_shared.WalletNotProvidedError();
7
8
  return (0, _nadohq_shared.depositCollateral)({
8
9
  endpoint: this.context.contracts.endpoint,
9
10
  subaccountName: params.subaccountName,
@@ -1 +1 @@
1
- {"version":3,"file":"SpotExecuteAPI.cjs","names":["BaseSpotAPI","WalletNotProvidedError","MOCK_ERC20_ABI"],"sources":["../../../src/apis/spot/SpotExecuteAPI.ts"],"sourcesContent":["import {\n approveDepositAllowance,\n depositCollateral,\n DepositCollateralParams,\n isWriteableContract,\n MOCK_ERC20_ABI,\n toBigInt,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport { BaseSpotAPI } from './BaseSpotAPI';\nimport {\n ApproveAllowanceParams,\n BurnNlpParams,\n MintMockERC20Params,\n MintNlpParams,\n TransferQuoteParams,\n WithdrawCollateralParams,\n WithdrawCollateralV2Params,\n} from './types';\n\nexport class SpotExecuteAPI extends BaseSpotAPI {\n async deposit(params: DepositCollateralParams) {\n return depositCollateral({\n endpoint: this.context.contracts.endpoint,\n subaccountName: params.subaccountName,\n productId: params.productId,\n amount: params.amount,\n referralCode: params.referralCode,\n });\n }\n\n async withdraw(params: WithdrawCollateralParams) {\n return this.context.engineClient.withdrawCollateral({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Withdraws collateral to a custom recipient address via the `withdraw_collateral_v2` execute.\n *\n * When `sendTo` is the zero address, funds are sent to the subaccount owner. When `sendTo` is a\n * non-zero address, the transaction must be signed by the subaccount owner (linked signers are\n * not permitted).\n *\n * @param params\n */\n async withdrawV2(params: WithdrawCollateralV2Params) {\n return this.context.engineClient.withdrawCollateralV2({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async approveAllowance(params: ApproveAllowanceParams) {\n const tokenContract = await this.getTokenContractForProduct(params);\n if (!isWriteableContract(tokenContract)) {\n throw new Error(\n 'Token contract does not permit writes. Is a wallet client provided?',\n );\n }\n\n return approveDepositAllowance({\n amount: params.amount,\n endpoint: this.context.contracts.endpoint,\n tokenContract,\n });\n }\n\n /**\n * Transfers quote between subaccounts under the same wallet.\n *\n * @param params\n */\n async transferQuote(params: TransferQuoteParams) {\n return this.context.engineClient.transferQuote({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n });\n }\n\n async mintNlp(params: MintNlpParams) {\n return this.context.engineClient.mintNlp({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async burnNlp(params: BurnNlpParams) {\n return this.context.engineClient.burnNlp({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async _mintMockERC20(params: MintMockERC20Params) {\n if (!this.context.walletClient) {\n throw new WalletNotProvidedError();\n }\n\n const config = await this.context.contracts.spotEngine.read.getConfig([\n params.productId,\n ]);\n\n return this.context.walletClient.writeContract({\n abi: MOCK_ERC20_ABI,\n address: config.token,\n functionName: 'mint',\n args: [this.getWalletClientAddress(), toBigInt(params.amount)],\n });\n }\n}\n"],"mappings":";;;;AAoBA,IAAa,iBAAb,cAAoCA,8BAAAA,YAAY;CAC9C,MAAM,QAAQ,QAAiC;EAC7C,QAAA,GAAA,eAAA,mBAAyB;GACvB,UAAU,KAAK,QAAQ,UAAU;GACjC,gBAAgB,OAAO;GACvB,WAAW,OAAO;GAClB,QAAQ,OAAO;GACf,cAAc,OAAO;EACvB,CAAC;CACH;CAEA,MAAM,SAAS,QAAkC;EAC/C,OAAO,KAAK,QAAQ,aAAa,mBAAmB;GAClD,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;;;;;;;;;;CAWA,MAAM,WAAW,QAAoC;EACnD,OAAO,KAAK,QAAQ,aAAa,qBAAqB;GACpD,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,iBAAiB,QAAgC;EACrD,MAAM,gBAAgB,MAAM,KAAK,2BAA2B,MAAM;EAClE,IAAI,EAAA,GAAA,eAAA,qBAAqB,aAAa,GACpC,MAAM,IAAI,MACR,qEACF;EAGF,QAAA,GAAA,eAAA,yBAA+B;GAC7B,QAAQ,OAAO;GACf,UAAU,KAAK,QAAQ,UAAU;GACjC;EACF,CAAC;CACH;;;;;;CAOA,MAAM,cAAc,QAA6B;EAC/C,OAAO,KAAK,QAAQ,aAAa,cAAc;GAC7C,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;GAC/D,SAAS,KAAK,+BAA+B,MAAM;EACrD,CAAC;CACH;CAEA,MAAM,QAAQ,QAAuB;EACnC,OAAO,KAAK,QAAQ,aAAa,QAAQ;GACvC,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,QAAQ,QAAuB;EACnC,OAAO,KAAK,QAAQ,aAAa,QAAQ;GACvC,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,eAAe,QAA6B;EAChD,IAAI,CAAC,KAAK,QAAQ,cAChB,MAAM,IAAIC,eAAAA,uBAAuB;EAGnC,MAAM,SAAS,MAAM,KAAK,QAAQ,UAAU,WAAW,KAAK,UAAU,CACpE,OAAO,SACT,CAAC;EAED,OAAO,KAAK,QAAQ,aAAa,cAAc;GAC7C,KAAKC,eAAAA;GACL,SAAS,OAAO;GAChB,cAAc;GACd,MAAM,CAAC,KAAK,uBAAuB,IAAA,GAAA,eAAA,UAAY,OAAO,MAAM,CAAC;EAC/D,CAAC;CACH;AACF"}
1
+ {"version":3,"file":"SpotExecuteAPI.cjs","names":["BaseSpotAPI","WalletNotProvidedError","MOCK_ERC20_ABI"],"sources":["../../../src/apis/spot/SpotExecuteAPI.ts"],"sourcesContent":["import {\n approveDepositAllowance,\n depositCollateral,\n DepositCollateralParams,\n isWriteableContract,\n MOCK_ERC20_ABI,\n toBigInt,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport { BaseSpotAPI } from './BaseSpotAPI';\nimport {\n ApproveAllowanceParams,\n BurnNlpParams,\n MintMockERC20Params,\n MintNlpParams,\n TransferQuoteParams,\n WithdrawCollateralParams,\n WithdrawCollateralV2Params,\n} from './types';\n\nexport class SpotExecuteAPI extends BaseSpotAPI {\n async deposit(params: DepositCollateralParams) {\n if (!isWriteableContract(this.context.contracts.endpoint)) {\n throw new WalletNotProvidedError();\n }\n \n return depositCollateral({\n endpoint: this.context.contracts.endpoint,\n subaccountName: params.subaccountName,\n productId: params.productId,\n amount: params.amount,\n referralCode: params.referralCode,\n });\n }\n\n async withdraw(params: WithdrawCollateralParams) {\n return this.context.engineClient.withdrawCollateral({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Withdraws collateral to a custom recipient address via the `withdraw_collateral_v2` execute.\n *\n * When `sendTo` is the zero address, funds are sent to the subaccount owner. When `sendTo` is a\n * non-zero address, the transaction must be signed by the subaccount owner (linked signers are\n * not permitted).\n *\n * @param params\n */\n async withdrawV2(params: WithdrawCollateralV2Params) {\n return this.context.engineClient.withdrawCollateralV2({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async approveAllowance(params: ApproveAllowanceParams) {\n const tokenContract = await this.getTokenContractForProduct(params);\n if (!isWriteableContract(tokenContract)) {\n throw new Error(\n 'Token contract does not permit writes. Is a wallet client provided?',\n );\n }\n\n return approveDepositAllowance({\n amount: params.amount,\n endpoint: this.context.contracts.endpoint,\n tokenContract,\n });\n }\n\n /**\n * Transfers quote between subaccounts under the same wallet.\n *\n * @param params\n */\n async transferQuote(params: TransferQuoteParams) {\n return this.context.engineClient.transferQuote({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n });\n }\n\n async mintNlp(params: MintNlpParams) {\n return this.context.engineClient.mintNlp({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async burnNlp(params: BurnNlpParams) {\n return this.context.engineClient.burnNlp({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async _mintMockERC20(params: MintMockERC20Params) {\n if (!this.context.walletClient) {\n throw new WalletNotProvidedError();\n }\n\n const config = await this.context.contracts.spotEngine.read.getConfig([\n params.productId,\n ]);\n\n return this.context.walletClient.writeContract({\n abi: MOCK_ERC20_ABI,\n address: config.token,\n functionName: 'mint',\n args: [this.getWalletClientAddress(), toBigInt(params.amount)],\n });\n }\n}\n"],"mappings":";;;;AAoBA,IAAa,iBAAb,cAAoCA,8BAAAA,YAAY;CAC9C,MAAM,QAAQ,QAAiC;EAC7C,IAAI,EAAA,GAAA,eAAA,qBAAqB,KAAK,QAAQ,UAAU,QAAQ,GACtD,MAAM,IAAIC,eAAAA,uBAAuB;EAGnC,QAAA,GAAA,eAAA,mBAAyB;GACvB,UAAU,KAAK,QAAQ,UAAU;GACjC,gBAAgB,OAAO;GACvB,WAAW,OAAO;GAClB,QAAQ,OAAO;GACf,cAAc,OAAO;EACvB,CAAC;CACH;CAEA,MAAM,SAAS,QAAkC;EAC/C,OAAO,KAAK,QAAQ,aAAa,mBAAmB;GAClD,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;;;;;;;;;;CAWA,MAAM,WAAW,QAAoC;EACnD,OAAO,KAAK,QAAQ,aAAa,qBAAqB;GACpD,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,iBAAiB,QAAgC;EACrD,MAAM,gBAAgB,MAAM,KAAK,2BAA2B,MAAM;EAClE,IAAI,EAAA,GAAA,eAAA,qBAAqB,aAAa,GACpC,MAAM,IAAI,MACR,qEACF;EAGF,QAAA,GAAA,eAAA,yBAA+B;GAC7B,QAAQ,OAAO;GACf,UAAU,KAAK,QAAQ,UAAU;GACjC;EACF,CAAC;CACH;;;;;;CAOA,MAAM,cAAc,QAA6B;EAC/C,OAAO,KAAK,QAAQ,aAAa,cAAc;GAC7C,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;GAC/D,SAAS,KAAK,+BAA+B,MAAM;EACrD,CAAC;CACH;CAEA,MAAM,QAAQ,QAAuB;EACnC,OAAO,KAAK,QAAQ,aAAa,QAAQ;GACvC,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,QAAQ,QAAuB;EACnC,OAAO,KAAK,QAAQ,aAAa,QAAQ;GACvC,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,eAAe,QAA6B;EAChD,IAAI,CAAC,KAAK,QAAQ,cAChB,MAAM,IAAIA,eAAAA,uBAAuB;EAGnC,MAAM,SAAS,MAAM,KAAK,QAAQ,UAAU,WAAW,KAAK,UAAU,CACpE,OAAO,SACT,CAAC;EAED,OAAO,KAAK,QAAQ,aAAa,cAAc;GAC7C,KAAKC,eAAAA;GACL,SAAS,OAAO;GAChB,cAAc;GACd,MAAM,CAAC,KAAK,uBAAuB,IAAA,GAAA,eAAA,UAAY,OAAO,MAAM,CAAC;EAC/D,CAAC;CACH;AACF"}
@@ -1,2 +1,2 @@
1
- import { t as SpotExecuteAPI } from "../../SpotExecuteAPI-C1E_L4Ov.cjs";
1
+ import { t as SpotExecuteAPI } from "../../SpotExecuteAPI-DGSIOaWW.cjs";
2
2
  export { SpotExecuteAPI };
@@ -1,2 +1,2 @@
1
- import { t as SpotExecuteAPI } from "../../SpotExecuteAPI-8dJfQcjP.js";
1
+ import { t as SpotExecuteAPI } from "../../SpotExecuteAPI-2ux8AQKX.js";
2
2
  export { SpotExecuteAPI };
@@ -3,6 +3,7 @@ import { MOCK_ERC20_ABI, WalletNotProvidedError, approveDepositAllowance, deposi
3
3
  //#region src/apis/spot/SpotExecuteAPI.ts
4
4
  var SpotExecuteAPI = class extends BaseSpotAPI {
5
5
  async deposit(params) {
6
+ if (!isWriteableContract(this.context.contracts.endpoint)) throw new WalletNotProvidedError();
6
7
  return depositCollateral({
7
8
  endpoint: this.context.contracts.endpoint,
8
9
  subaccountName: params.subaccountName,
@@ -1 +1 @@
1
- {"version":3,"file":"SpotExecuteAPI.js","names":[],"sources":["../../../src/apis/spot/SpotExecuteAPI.ts"],"sourcesContent":["import {\n approveDepositAllowance,\n depositCollateral,\n DepositCollateralParams,\n isWriteableContract,\n MOCK_ERC20_ABI,\n toBigInt,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport { BaseSpotAPI } from './BaseSpotAPI';\nimport {\n ApproveAllowanceParams,\n BurnNlpParams,\n MintMockERC20Params,\n MintNlpParams,\n TransferQuoteParams,\n WithdrawCollateralParams,\n WithdrawCollateralV2Params,\n} from './types';\n\nexport class SpotExecuteAPI extends BaseSpotAPI {\n async deposit(params: DepositCollateralParams) {\n return depositCollateral({\n endpoint: this.context.contracts.endpoint,\n subaccountName: params.subaccountName,\n productId: params.productId,\n amount: params.amount,\n referralCode: params.referralCode,\n });\n }\n\n async withdraw(params: WithdrawCollateralParams) {\n return this.context.engineClient.withdrawCollateral({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Withdraws collateral to a custom recipient address via the `withdraw_collateral_v2` execute.\n *\n * When `sendTo` is the zero address, funds are sent to the subaccount owner. When `sendTo` is a\n * non-zero address, the transaction must be signed by the subaccount owner (linked signers are\n * not permitted).\n *\n * @param params\n */\n async withdrawV2(params: WithdrawCollateralV2Params) {\n return this.context.engineClient.withdrawCollateralV2({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async approveAllowance(params: ApproveAllowanceParams) {\n const tokenContract = await this.getTokenContractForProduct(params);\n if (!isWriteableContract(tokenContract)) {\n throw new Error(\n 'Token contract does not permit writes. Is a wallet client provided?',\n );\n }\n\n return approveDepositAllowance({\n amount: params.amount,\n endpoint: this.context.contracts.endpoint,\n tokenContract,\n });\n }\n\n /**\n * Transfers quote between subaccounts under the same wallet.\n *\n * @param params\n */\n async transferQuote(params: TransferQuoteParams) {\n return this.context.engineClient.transferQuote({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n });\n }\n\n async mintNlp(params: MintNlpParams) {\n return this.context.engineClient.mintNlp({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async burnNlp(params: BurnNlpParams) {\n return this.context.engineClient.burnNlp({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async _mintMockERC20(params: MintMockERC20Params) {\n if (!this.context.walletClient) {\n throw new WalletNotProvidedError();\n }\n\n const config = await this.context.contracts.spotEngine.read.getConfig([\n params.productId,\n ]);\n\n return this.context.walletClient.writeContract({\n abi: MOCK_ERC20_ABI,\n address: config.token,\n functionName: 'mint',\n args: [this.getWalletClientAddress(), toBigInt(params.amount)],\n });\n }\n}\n"],"mappings":";;;AAoBA,IAAa,iBAAb,cAAoC,YAAY;CAC9C,MAAM,QAAQ,QAAiC;EAC7C,OAAO,kBAAkB;GACvB,UAAU,KAAK,QAAQ,UAAU;GACjC,gBAAgB,OAAO;GACvB,WAAW,OAAO;GAClB,QAAQ,OAAO;GACf,cAAc,OAAO;EACvB,CAAC;CACH;CAEA,MAAM,SAAS,QAAkC;EAC/C,OAAO,KAAK,QAAQ,aAAa,mBAAmB;GAClD,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;;;;;;;;;;CAWA,MAAM,WAAW,QAAoC;EACnD,OAAO,KAAK,QAAQ,aAAa,qBAAqB;GACpD,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,iBAAiB,QAAgC;EACrD,MAAM,gBAAgB,MAAM,KAAK,2BAA2B,MAAM;EAClE,IAAI,CAAC,oBAAoB,aAAa,GACpC,MAAM,IAAI,MACR,qEACF;EAGF,OAAO,wBAAwB;GAC7B,QAAQ,OAAO;GACf,UAAU,KAAK,QAAQ,UAAU;GACjC;EACF,CAAC;CACH;;;;;;CAOA,MAAM,cAAc,QAA6B;EAC/C,OAAO,KAAK,QAAQ,aAAa,cAAc;GAC7C,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;GAC/D,SAAS,KAAK,+BAA+B,MAAM;EACrD,CAAC;CACH;CAEA,MAAM,QAAQ,QAAuB;EACnC,OAAO,KAAK,QAAQ,aAAa,QAAQ;GACvC,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,QAAQ,QAAuB;EACnC,OAAO,KAAK,QAAQ,aAAa,QAAQ;GACvC,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,eAAe,QAA6B;EAChD,IAAI,CAAC,KAAK,QAAQ,cAChB,MAAM,IAAI,uBAAuB;EAGnC,MAAM,SAAS,MAAM,KAAK,QAAQ,UAAU,WAAW,KAAK,UAAU,CACpE,OAAO,SACT,CAAC;EAED,OAAO,KAAK,QAAQ,aAAa,cAAc;GAC7C,KAAK;GACL,SAAS,OAAO;GAChB,cAAc;GACd,MAAM,CAAC,KAAK,uBAAuB,GAAG,SAAS,OAAO,MAAM,CAAC;EAC/D,CAAC;CACH;AACF"}
1
+ {"version":3,"file":"SpotExecuteAPI.js","names":[],"sources":["../../../src/apis/spot/SpotExecuteAPI.ts"],"sourcesContent":["import {\n approveDepositAllowance,\n depositCollateral,\n DepositCollateralParams,\n isWriteableContract,\n MOCK_ERC20_ABI,\n toBigInt,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport { BaseSpotAPI } from './BaseSpotAPI';\nimport {\n ApproveAllowanceParams,\n BurnNlpParams,\n MintMockERC20Params,\n MintNlpParams,\n TransferQuoteParams,\n WithdrawCollateralParams,\n WithdrawCollateralV2Params,\n} from './types';\n\nexport class SpotExecuteAPI extends BaseSpotAPI {\n async deposit(params: DepositCollateralParams) {\n if (!isWriteableContract(this.context.contracts.endpoint)) {\n throw new WalletNotProvidedError();\n }\n \n return depositCollateral({\n endpoint: this.context.contracts.endpoint,\n subaccountName: params.subaccountName,\n productId: params.productId,\n amount: params.amount,\n referralCode: params.referralCode,\n });\n }\n\n async withdraw(params: WithdrawCollateralParams) {\n return this.context.engineClient.withdrawCollateral({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Withdraws collateral to a custom recipient address via the `withdraw_collateral_v2` execute.\n *\n * When `sendTo` is the zero address, funds are sent to the subaccount owner. When `sendTo` is a\n * non-zero address, the transaction must be signed by the subaccount owner (linked signers are\n * not permitted).\n *\n * @param params\n */\n async withdrawV2(params: WithdrawCollateralV2Params) {\n return this.context.engineClient.withdrawCollateralV2({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async approveAllowance(params: ApproveAllowanceParams) {\n const tokenContract = await this.getTokenContractForProduct(params);\n if (!isWriteableContract(tokenContract)) {\n throw new Error(\n 'Token contract does not permit writes. Is a wallet client provided?',\n );\n }\n\n return approveDepositAllowance({\n amount: params.amount,\n endpoint: this.context.contracts.endpoint,\n tokenContract,\n });\n }\n\n /**\n * Transfers quote between subaccounts under the same wallet.\n *\n * @param params\n */\n async transferQuote(params: TransferQuoteParams) {\n return this.context.engineClient.transferQuote({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n });\n }\n\n async mintNlp(params: MintNlpParams) {\n return this.context.engineClient.mintNlp({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async burnNlp(params: BurnNlpParams) {\n return this.context.engineClient.burnNlp({\n ...params,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n async _mintMockERC20(params: MintMockERC20Params) {\n if (!this.context.walletClient) {\n throw new WalletNotProvidedError();\n }\n\n const config = await this.context.contracts.spotEngine.read.getConfig([\n params.productId,\n ]);\n\n return this.context.walletClient.writeContract({\n abi: MOCK_ERC20_ABI,\n address: config.token,\n functionName: 'mint',\n args: [this.getWalletClientAddress(), toBigInt(params.amount)],\n });\n }\n}\n"],"mappings":";;;AAoBA,IAAa,iBAAb,cAAoC,YAAY;CAC9C,MAAM,QAAQ,QAAiC;EAC7C,IAAI,CAAC,oBAAoB,KAAK,QAAQ,UAAU,QAAQ,GACtD,MAAM,IAAI,uBAAuB;EAGnC,OAAO,kBAAkB;GACvB,UAAU,KAAK,QAAQ,UAAU;GACjC,gBAAgB,OAAO;GACvB,WAAW,OAAO;GAClB,QAAQ,OAAO;GACf,cAAc,OAAO;EACvB,CAAC;CACH;CAEA,MAAM,SAAS,QAAkC;EAC/C,OAAO,KAAK,QAAQ,aAAa,mBAAmB;GAClD,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;;;;;;;;;;CAWA,MAAM,WAAW,QAAoC;EACnD,OAAO,KAAK,QAAQ,aAAa,qBAAqB;GACpD,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,iBAAiB,QAAgC;EACrD,MAAM,gBAAgB,MAAM,KAAK,2BAA2B,MAAM;EAClE,IAAI,CAAC,oBAAoB,aAAa,GACpC,MAAM,IAAI,MACR,qEACF;EAGF,OAAO,wBAAwB;GAC7B,QAAQ,OAAO;GACf,UAAU,KAAK,QAAQ,UAAU;GACjC;EACF,CAAC;CACH;;;;;;CAOA,MAAM,cAAc,QAA6B;EAC/C,OAAO,KAAK,QAAQ,aAAa,cAAc;GAC7C,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;GAC/D,SAAS,KAAK,+BAA+B,MAAM;EACrD,CAAC;CACH;CAEA,MAAM,QAAQ,QAAuB;EACnC,OAAO,KAAK,QAAQ,aAAa,QAAQ;GACvC,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,QAAQ,QAAuB;EACnC,OAAO,KAAK,QAAQ,aAAa,QAAQ;GACvC,GAAG;GACH,iBAAiB,KAAK,2BAA2B,MAAM;GACvD,SAAS,KAAK,+BAA+B,MAAM;GACnD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;EACjE,CAAC;CACH;CAEA,MAAM,eAAe,QAA6B;EAChD,IAAI,CAAC,KAAK,QAAQ,cAChB,MAAM,IAAI,uBAAuB;EAGnC,MAAM,SAAS,MAAM,KAAK,QAAQ,UAAU,WAAW,KAAK,UAAU,CACpE,OAAO,SACT,CAAC;EAED,OAAO,KAAK,QAAQ,aAAa,cAAc;GAC7C,KAAK;GACL,SAAS,OAAO;GAChB,cAAc;GACd,MAAM,CAAC,KAAK,uBAAuB,GAAG,SAAS,OAAO,MAAM,CAAC;EAC/D,CAAC;CACH;AACF"}
@@ -1,2 +1,2 @@
1
- import { t as SpotQueryAPI } from "../../SpotQueryAPI-C-646O43.cjs";
1
+ import { t as SpotQueryAPI } from "../../SpotQueryAPI-Bp6KNIrO.cjs";
2
2
  export { SpotQueryAPI };
@@ -1,2 +1,2 @@
1
- import { t as SpotQueryAPI } from "../../SpotQueryAPI-By-EKjdC.js";
1
+ import { t as SpotQueryAPI } from "../../SpotQueryAPI-Bg6a2H-O.js";
2
2
  export { SpotQueryAPI };
@@ -1,3 +1,3 @@
1
- import { a as MintMockERC20Params, c as TransferQuoteParams, i as GetTokenWalletBalanceParams, l as WithdrawCollateralParams, n as BurnNlpParams, o as MintNlpParams, r as GetTokenAllowanceParams, s as ProductIdOrTokenAddress, t as ApproveAllowanceParams, u as WithdrawCollateralV2Params } from "../../types-pRheTrJ1.cjs";
2
- import { t as SpotAPI } from "../../index-DqQ5-VOh.cjs";
1
+ import { a as MintMockERC20Params, c as TransferQuoteParams, i as GetTokenWalletBalanceParams, l as WithdrawCollateralParams, n as BurnNlpParams, o as MintNlpParams, r as GetTokenAllowanceParams, s as ProductIdOrTokenAddress, t as ApproveAllowanceParams, u as WithdrawCollateralV2Params } from "../../types-C3rE8vyS.cjs";
2
+ import { t as SpotAPI } from "../../index-Cn7kpBkt.cjs";
3
3
  export { ApproveAllowanceParams, BurnNlpParams, GetTokenAllowanceParams, GetTokenWalletBalanceParams, MintMockERC20Params, MintNlpParams, ProductIdOrTokenAddress, SpotAPI, TransferQuoteParams, WithdrawCollateralParams, WithdrawCollateralV2Params };
@@ -1,3 +1,3 @@
1
- import { a as MintMockERC20Params, c as TransferQuoteParams, i as GetTokenWalletBalanceParams, l as WithdrawCollateralParams, n as BurnNlpParams, o as MintNlpParams, r as GetTokenAllowanceParams, s as ProductIdOrTokenAddress, t as ApproveAllowanceParams, u as WithdrawCollateralV2Params } from "../../types-DnBjJCnd.js";
2
- import { t as SpotAPI } from "../../index-DPNd9PR1.js";
1
+ import { a as MintMockERC20Params, c as TransferQuoteParams, i as GetTokenWalletBalanceParams, l as WithdrawCollateralParams, n as BurnNlpParams, o as MintNlpParams, r as GetTokenAllowanceParams, s as ProductIdOrTokenAddress, t as ApproveAllowanceParams, u as WithdrawCollateralV2Params } from "../../types-OZlzeknc.js";
2
+ import { t as SpotAPI } from "../../index-C-qKYLCR.js";
3
3
  export { ApproveAllowanceParams, BurnNlpParams, GetTokenAllowanceParams, GetTokenWalletBalanceParams, MintMockERC20Params, MintNlpParams, ProductIdOrTokenAddress, SpotAPI, TransferQuoteParams, WithdrawCollateralParams, WithdrawCollateralV2Params };
@@ -1,2 +1,2 @@
1
- import { a as MintMockERC20Params, c as TransferQuoteParams, i as GetTokenWalletBalanceParams, l as WithdrawCollateralParams, n as BurnNlpParams, o as MintNlpParams, r as GetTokenAllowanceParams, s as ProductIdOrTokenAddress, t as ApproveAllowanceParams, u as WithdrawCollateralV2Params } from "../../types-pRheTrJ1.cjs";
1
+ import { a as MintMockERC20Params, c as TransferQuoteParams, i as GetTokenWalletBalanceParams, l as WithdrawCollateralParams, n as BurnNlpParams, o as MintNlpParams, r as GetTokenAllowanceParams, s as ProductIdOrTokenAddress, t as ApproveAllowanceParams, u as WithdrawCollateralV2Params } from "../../types-C3rE8vyS.cjs";
2
2
  export { ApproveAllowanceParams, BurnNlpParams, GetTokenAllowanceParams, GetTokenWalletBalanceParams, MintMockERC20Params, MintNlpParams, ProductIdOrTokenAddress, TransferQuoteParams, WithdrawCollateralParams, WithdrawCollateralV2Params };
@@ -1,2 +1,2 @@
1
- import { a as MintMockERC20Params, c as TransferQuoteParams, i as GetTokenWalletBalanceParams, l as WithdrawCollateralParams, n as BurnNlpParams, o as MintNlpParams, r as GetTokenAllowanceParams, s as ProductIdOrTokenAddress, t as ApproveAllowanceParams, u as WithdrawCollateralV2Params } from "../../types-DnBjJCnd.js";
1
+ import { a as MintMockERC20Params, c as TransferQuoteParams, i as GetTokenWalletBalanceParams, l as WithdrawCollateralParams, n as BurnNlpParams, o as MintNlpParams, r as GetTokenAllowanceParams, s as ProductIdOrTokenAddress, t as ApproveAllowanceParams, u as WithdrawCollateralV2Params } from "../../types-OZlzeknc.js";
2
2
  export { ApproveAllowanceParams, BurnNlpParams, GetTokenAllowanceParams, GetTokenWalletBalanceParams, MintMockERC20Params, MintNlpParams, ProductIdOrTokenAddress, TransferQuoteParams, WithdrawCollateralParams, WithdrawCollateralV2Params };
@@ -1,2 +1,2 @@
1
- import { t as SubaccountExecuteAPI } from "../../SubaccountExecuteAPI-BXUYFvqZ.cjs";
1
+ import { t as SubaccountExecuteAPI } from "../../SubaccountExecuteAPI-BNB-4uUP.cjs";
2
2
  export { SubaccountExecuteAPI };
@@ -1,2 +1,2 @@
1
- import { t as SubaccountExecuteAPI } from "../../SubaccountExecuteAPI-IV4EuQiO.js";
1
+ import { t as SubaccountExecuteAPI } from "../../SubaccountExecuteAPI-Dho_tprr.js";
2
2
  export { SubaccountExecuteAPI };
@@ -1,2 +1,2 @@
1
- import { t as SubaccountQueryAPI } from "../../SubaccountQueryAPI-DuPZIksw.cjs";
1
+ import { t as SubaccountQueryAPI } from "../../SubaccountQueryAPI-BV7h4nmZ.cjs";
2
2
  export { SubaccountQueryAPI };
@@ -1,2 +1,2 @@
1
- import { t as SubaccountQueryAPI } from "../../SubaccountQueryAPI-De_FQ-Qa.js";
1
+ import { t as SubaccountQueryAPI } from "../../SubaccountQueryAPI-CAUa6ANv.js";
2
2
  export { SubaccountQueryAPI };
@@ -1,3 +1,3 @@
1
- import { n as LinkSignerParams, r as LiquidateSubaccountParams, t as CreateStandardLinkedSignerResult } from "../../types-BWRdhQd_.cjs";
2
- import { t as SubaccountAPI } from "../../index-Dj9Ub1PG.cjs";
1
+ import { n as LinkSignerParams, r as LiquidateSubaccountParams, t as CreateStandardLinkedSignerResult } from "../../types-C0Wevcia.cjs";
2
+ import { t as SubaccountAPI } from "../../index-9wuDqMV2.cjs";
3
3
  export { CreateStandardLinkedSignerResult, LinkSignerParams, LiquidateSubaccountParams, SubaccountAPI };
@@ -1,3 +1,3 @@
1
- import { n as LinkSignerParams, r as LiquidateSubaccountParams, t as CreateStandardLinkedSignerResult } from "../../types-B6oFoDTo.js";
2
- import { t as SubaccountAPI } from "../../index-B1Dxe-TH.js";
1
+ import { n as LinkSignerParams, r as LiquidateSubaccountParams, t as CreateStandardLinkedSignerResult } from "../../types-BDVasYAf.js";
2
+ import { t as SubaccountAPI } from "../../index-BqAOMCKi.js";
3
3
  export { CreateStandardLinkedSignerResult, LinkSignerParams, LiquidateSubaccountParams, SubaccountAPI };
@@ -1,2 +1,2 @@
1
- import { n as LinkSignerParams, r as LiquidateSubaccountParams, t as CreateStandardLinkedSignerResult } from "../../types-BWRdhQd_.cjs";
1
+ import { n as LinkSignerParams, r as LiquidateSubaccountParams, t as CreateStandardLinkedSignerResult } from "../../types-C0Wevcia.cjs";
2
2
  export { CreateStandardLinkedSignerResult, LinkSignerParams, LiquidateSubaccountParams };
@@ -1,2 +1,2 @@
1
- import { n as LinkSignerParams, r as LiquidateSubaccountParams, t as CreateStandardLinkedSignerResult } from "../../types-B6oFoDTo.js";
1
+ import { n as LinkSignerParams, r as LiquidateSubaccountParams, t as CreateStandardLinkedSignerResult } from "../../types-BDVasYAf.js";
2
2
  export { CreateStandardLinkedSignerResult, LinkSignerParams, LiquidateSubaccountParams };
@@ -1,2 +1,2 @@
1
- import { t as WebSocketExecuteAPI } from "../../WebSocketExecuteAPI-DZ_Xauk2.cjs";
1
+ import { t as WebSocketExecuteAPI } from "../../WebSocketExecuteAPI-hJMLfP8d.cjs";
2
2
  export { WebSocketExecuteAPI };
@@ -1,2 +1,2 @@
1
- import { t as WebSocketExecuteAPI } from "../../WebSocketExecuteAPI-BbCjkskC.js";
1
+ import { t as WebSocketExecuteAPI } from "../../WebSocketExecuteAPI-CpP_ILEk.js";
2
2
  export { WebSocketExecuteAPI };
@@ -1,2 +1,2 @@
1
- import { t as WebSocketQueryAPI } from "../../WebSocketQueryAPI-D1i9ToSh.cjs";
1
+ import { t as WebSocketQueryAPI } from "../../WebSocketQueryAPI-zSF8NPwe.cjs";
2
2
  export { WebSocketQueryAPI };
@@ -1,2 +1,2 @@
1
- import { t as WebSocketQueryAPI } from "../../WebSocketQueryAPI-hOXDojO7.js";
1
+ import { t as WebSocketQueryAPI } from "../../WebSocketQueryAPI-BsyrKGrK.js";
2
2
  export { WebSocketQueryAPI };
@@ -1,2 +1,2 @@
1
- import { t as WebSocketSubscriptionAPI } from "../../WebSocketSubscriptionAPI-DgIMxfz5.cjs";
1
+ import { t as WebSocketSubscriptionAPI } from "../../WebSocketSubscriptionAPI-DrAbLF80.cjs";
2
2
  export { WebSocketSubscriptionAPI };
@@ -1,2 +1,2 @@
1
- import { t as WebSocketSubscriptionAPI } from "../../WebSocketSubscriptionAPI-B9YYloIc.js";
1
+ import { t as WebSocketSubscriptionAPI } from "../../WebSocketSubscriptionAPI-C-xipXc7.js";
2
2
  export { WebSocketSubscriptionAPI };
@@ -1,2 +1,2 @@
1
- import { t as WebsocketAPI } from "../../index-B3HYm75y.cjs";
1
+ import { t as WebsocketAPI } from "../../index-Bckt-gdC.cjs";
2
2
  export { WebsocketAPI };
@@ -1,2 +1,2 @@
1
- import { t as WebsocketAPI } from "../../index-CEwXS1Ek.js";
1
+ import { t as WebsocketAPI } from "../../index-EEn1f0QY.js";
2
2
  export { WebsocketAPI };
package/dist/client.cjs CHANGED
@@ -1,6 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_apis_market_index = require("./apis/market/index.cjs");
3
3
  const require_apis_perp_index = require("./apis/perp/index.cjs");
4
+ const require_apis_rewards_index = require("./apis/rewards/index.cjs");
4
5
  const require_apis_spot_index = require("./apis/spot/index.cjs");
5
6
  const require_apis_subaccount_index = require("./apis/subaccount/index.cjs");
6
7
  const require_apis_ws_index = require("./apis/ws/index.cjs");
@@ -49,6 +50,7 @@ var NadoClient = class {
49
50
  this.subaccount = new require_apis_subaccount_index.SubaccountAPI(context);
50
51
  this.spot = new require_apis_spot_index.SpotAPI(context);
51
52
  this.perp = new require_apis_perp_index.PerpAPI(context);
53
+ this.rewards = new require_apis_rewards_index.RewardsAPI(context);
52
54
  this.ws = new require_apis_ws_index.WebsocketAPI(context);
53
55
  }
54
56
  };
@@ -1 +1 @@
1
- {"version":3,"file":"client.cjs","names":["createClientContext","MarketAPI","SubaccountAPI","SpotAPI","PerpAPI","WebsocketAPI"],"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.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 triggerEndpoint: this.context.triggerClient.opts.url,\n mobileEndpoint: this.context.mobileClient.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":";;;;;;;;;;;;AAYA,IAAa,aAAb,MAAwB;CAQtB,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,gBAAgB,KAAK,QAAQ,aAAa,KAAK;EACjD,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,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 }\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 mobileEndpoint: this.context.mobileClient.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.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,gBAAgB,KAAK,QAAQ,aAAa,KAAK;EACjD,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"}
package/dist/client.d.cts CHANGED
@@ -1,9 +1,10 @@
1
1
  import { r as NadoClientContext } from "./context-CHBPiOx6.cjs";
2
2
  import { t as MarketAPI } from "./index-D2pKqx7b.cjs";
3
3
  import { t as PerpAPI } from "./index-Bx-PsDsb.cjs";
4
- import { t as SpotAPI } from "./index-DqQ5-VOh.cjs";
5
- import { t as SubaccountAPI } from "./index-Dj9Ub1PG.cjs";
6
- import { t as WebsocketAPI } from "./index-B3HYm75y.cjs";
4
+ import { t as RewardsAPI } from "./index-DE9RaTAD.cjs";
5
+ import { t as SpotAPI } from "./index-Cn7kpBkt.cjs";
6
+ import { t as SubaccountAPI } from "./index-9wuDqMV2.cjs";
7
+ import { t as WebsocketAPI } from "./index-Bckt-gdC.cjs";
7
8
  import { WalletClientWithAccount } from "@nadohq/shared";
8
9
 
9
10
  //#region src/client.d.ts
@@ -17,6 +18,7 @@ declare class NadoClient {
17
18
  subaccount: SubaccountAPI;
18
19
  spot: SpotAPI;
19
20
  perp: PerpAPI;
21
+ rewards: RewardsAPI;
20
22
  ws: WebsocketAPI;
21
23
  constructor(context: NadoClientContext);
22
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.cts","names":[],"sources":["../src/src/client.ts"],"mappings":";;;;;;;;;;;AAYA;;cAAa,UAAA;EACX,OAAA,EAAU,iBAAA;EACV,MAAA,EAAS,SAAA;EACT,UAAA,EAAa,aAAA;EACb,IAAA,EAAO,OAAA;EACP,IAAA,EAAO,OAAA;EACP,EAAA,EAAK,YAAA;cAEO,OAAA,EAAS,iBAAA;EAQqB;;;;EAA1C,eAAA,CAAgB,wBAAA,EAA0B,uBAAA;EAfhC;;;;EA6BV,eAAA,CAAgB,YAAA,EAAc,iBAAA;EAAA,QAmBtB,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;;;;EA8BV,eAAA,CAAgB,YAAA,EAAc,iBAAA;EAAA,QAmBtB,gBAAA;AAAA"}
package/dist/client.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  import { r as NadoClientContext } from "./context-D1xmE2Rd.js";
2
2
  import { t as MarketAPI } from "./index-IIzvROYs.js";
3
3
  import { t as PerpAPI } from "./index-DIlwbefm.js";
4
- import { t as SpotAPI } from "./index-DPNd9PR1.js";
5
- import { t as SubaccountAPI } from "./index-B1Dxe-TH.js";
6
- import { t as WebsocketAPI } from "./index-CEwXS1Ek.js";
4
+ import { t as RewardsAPI } from "./index-Dq_AuvDb.js";
5
+ import { t as SpotAPI } from "./index-C-qKYLCR.js";
6
+ import { t as SubaccountAPI } from "./index-BqAOMCKi.js";
7
+ import { t as WebsocketAPI } from "./index-EEn1f0QY.js";
7
8
  import { WalletClientWithAccount } from "@nadohq/shared";
8
9
 
9
10
  //#region src/client.d.ts
@@ -17,6 +18,7 @@ declare class NadoClient {
17
18
  subaccount: SubaccountAPI;
18
19
  spot: SpotAPI;
19
20
  perp: PerpAPI;
21
+ rewards: RewardsAPI;
20
22
  ws: WebsocketAPI;
21
23
  constructor(context: NadoClientContext);
22
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","names":[],"sources":["../src/src/client.ts"],"mappings":";;;;;;;;;;;AAYA;;cAAa,UAAA;EACX,OAAA,EAAU,iBAAA;EACV,MAAA,EAAS,SAAA;EACT,UAAA,EAAa,aAAA;EACb,IAAA,EAAO,OAAA;EACP,IAAA,EAAO,OAAA;EACP,EAAA,EAAK,YAAA;cAEO,OAAA,EAAS,iBAAA;EAQqB;;;;EAA1C,eAAA,CAAgB,wBAAA,EAA0B,uBAAA;EAfhC;;;;EA6BV,eAAA,CAAgB,YAAA,EAAc,iBAAA;EAAA,QAmBtB,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;;;;EA8BV,eAAA,CAAgB,YAAA,EAAc,iBAAA;EAAA,QAmBtB,gBAAA;AAAA"}
package/dist/client.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { MarketAPI } from "./apis/market/index.js";
2
2
  import { PerpAPI } from "./apis/perp/index.js";
3
+ import { RewardsAPI } from "./apis/rewards/index.js";
3
4
  import { SpotAPI } from "./apis/spot/index.js";
4
5
  import { SubaccountAPI } from "./apis/subaccount/index.js";
5
6
  import { WebsocketAPI } from "./apis/ws/index.js";
@@ -48,6 +49,7 @@ var NadoClient = class {
48
49
  this.subaccount = new SubaccountAPI(context);
49
50
  this.spot = new SpotAPI(context);
50
51
  this.perp = new PerpAPI(context);
52
+ this.rewards = new RewardsAPI(context);
51
53
  this.ws = new WebsocketAPI(context);
52
54
  }
53
55
  };
@@ -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 { 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.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 triggerEndpoint: this.context.triggerClient.opts.url,\n mobileEndpoint: this.context.mobileClient.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":";;;;;;;;;;;AAYA,IAAa,aAAb,MAAwB;CAQtB,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,gBAAgB,KAAK,QAAQ,aAAa,KAAK;EACjD,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,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 }\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 mobileEndpoint: this.context.mobileClient.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.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,gBAAgB,KAAK,QAAQ,aAAa,KAAK;EACjD,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,6 +1,6 @@
1
- import { t as CreateStandardLinkedSignerResult } from "./types-BWRdhQd_.cjs";
2
- import { t as SubaccountExecuteAPI } from "./SubaccountExecuteAPI-BXUYFvqZ.cjs";
3
- import { t as SubaccountQueryAPI } from "./SubaccountQueryAPI-DuPZIksw.cjs";
1
+ import { t as CreateStandardLinkedSignerResult } from "./types-C0Wevcia.cjs";
2
+ import { t as SubaccountExecuteAPI } from "./SubaccountExecuteAPI-BNB-4uUP.cjs";
3
+ import { t as SubaccountQueryAPI } from "./SubaccountQueryAPI-BV7h4nmZ.cjs";
4
4
 
5
5
  //#region src/apis/subaccount/index.d.ts
6
6
  declare const SubaccountAPI_base: import("ts-mixer/dist/types/types").Class<any[], SubaccountExecuteAPI & SubaccountQueryAPI, typeof SubaccountExecuteAPI & typeof SubaccountQueryAPI>;
@@ -16,4 +16,4 @@ declare class SubaccountAPI extends SubaccountAPI_base {
16
16
  }
17
17
  //#endregion
18
18
  export { SubaccountAPI as t };
19
- //# sourceMappingURL=index-Dj9Ub1PG.d.cts.map
19
+ //# sourceMappingURL=index-9wuDqMV2.d.cts.map