@dydxprotocol/v4-client-js 3.0.6 → 3.1.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 (129) hide show
  1. package/CHANGELOG.md +4 -3
  2. package/__native__/__ios__/v4-native-client.js +2035 -305
  3. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bundle.js +126 -126
  4. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/affiliates.js +90 -2
  5. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/genesis.js +10 -2
  6. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.js +134 -4
  7. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.lcd.js +13 -1
  8. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.rpc.Query.js +19 -1
  9. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/tx.js +142 -2
  10. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/tx.rpc.msg.js +13 -1
  11. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.js +246 -240
  12. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/block_rate_limit_config.js +11 -3
  13. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.js +126 -2
  14. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.lcd.js +7 -1
  15. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.rpc.Query.js +10 -1
  16. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx.js +116 -2
  17. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx.rpc.msg.js +7 -1
  18. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/genesis.js +12 -2
  19. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/per_market_fee_discount.js +100 -0
  20. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/query.js +287 -2
  21. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/query.lcd.js +26 -1
  22. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/query.rpc.Query.js +37 -1
  23. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/staking_tier.js +126 -0
  24. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/tx.js +144 -2
  25. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/tx.rpc.msg.js +13 -1
  26. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/stats.js +27 -3
  27. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/leverage.js +118 -0
  28. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/gogoproto/bundle.js +2 -2
  29. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/google/bundle.js +12 -12
  30. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/bundle.js +22 -22
  31. package/build/cjs/src/clients/modules/account.js +31 -1
  32. package/build/cjs/src/clients/modules/get.js +31 -1
  33. package/build/cjs/src/clients/native.js +51 -1
  34. package/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  35. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bundle.d.ts +158 -158
  36. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bundle.js +126 -126
  37. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/affiliates.d.ts +43 -0
  38. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/affiliates.d.ts.map +1 -1
  39. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/affiliates.js +89 -1
  40. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/genesis.d.ts +4 -1
  41. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/genesis.d.ts.map +1 -1
  42. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/genesis.js +11 -3
  43. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.d.ts +78 -1
  44. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.d.ts.map +1 -1
  45. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.js +134 -4
  46. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.lcd.d.ts +3 -1
  47. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.lcd.d.ts.map +1 -1
  48. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.lcd.js +13 -1
  49. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.rpc.Query.d.ts +9 -1
  50. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.rpc.Query.d.ts.map +1 -1
  51. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.rpc.Query.js +20 -2
  52. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/tx.d.ts +57 -1
  53. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/tx.d.ts.map +1 -1
  54. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/tx.js +142 -2
  55. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/tx.rpc.msg.d.ts +7 -1
  56. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/tx.rpc.msg.d.ts.map +1 -1
  57. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/tx.rpc.msg.js +14 -2
  58. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.d.ts +1396 -1214
  59. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.d.ts.map +1 -1
  60. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.js +246 -240
  61. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/block_rate_limit_config.d.ts +10 -0
  62. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/block_rate_limit_config.d.ts.map +1 -1
  63. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/block_rate_limit_config.js +11 -3
  64. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.d.ts +48 -0
  65. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.d.ts.map +1 -1
  66. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.js +125 -1
  67. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.lcd.d.ts +2 -1
  68. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.lcd.d.ts.map +1 -1
  69. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.lcd.js +7 -1
  70. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.rpc.Query.d.ts +5 -1
  71. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.rpc.Query.d.ts.map +1 -1
  72. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.rpc.Query.js +11 -2
  73. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx.d.ts +51 -0
  74. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx.d.ts.map +1 -1
  75. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx.js +115 -1
  76. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx.rpc.msg.d.ts +7 -1
  77. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx.rpc.msg.d.ts.map +1 -1
  78. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx.rpc.msg.js +8 -2
  79. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/genesis.d.ts +4 -0
  80. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/genesis.d.ts.map +1 -1
  81. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/genesis.js +12 -2
  82. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/per_market_fee_discount.d.ts +36 -0
  83. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/per_market_fee_discount.d.ts.map +1 -0
  84. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/per_market_fee_discount.js +64 -0
  85. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/query.d.ts +150 -0
  86. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/query.d.ts.map +1 -1
  87. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/query.js +286 -1
  88. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/query.lcd.d.ts +5 -1
  89. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/query.lcd.d.ts.map +1 -1
  90. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/query.lcd.js +26 -1
  91. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/query.rpc.Query.d.ts +20 -1
  92. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/query.rpc.Query.d.ts.map +1 -1
  93. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/query.rpc.Query.js +38 -2
  94. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/staking_tier.d.ts +46 -0
  95. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/staking_tier.d.ts.map +1 -0
  96. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/staking_tier.js +90 -0
  97. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/tx.d.ts +69 -0
  98. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/tx.d.ts.map +1 -1
  99. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/tx.js +143 -1
  100. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/tx.rpc.msg.d.ts +10 -1
  101. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/tx.rpc.msg.d.ts.map +1 -1
  102. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/tx.rpc.msg.js +14 -2
  103. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.query.d.ts +7 -0
  104. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.query.d.ts.map +1 -1
  105. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/stats.d.ts +28 -6
  106. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/stats.d.ts.map +1 -1
  107. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/stats.js +27 -3
  108. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/leverage.d.ts +40 -0
  109. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/leverage.d.ts.map +1 -0
  110. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/leverage.js +82 -0
  111. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/gogoproto/bundle.js +2 -2
  112. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/google/bundle.d.ts +129 -129
  113. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/google/bundle.js +12 -12
  114. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/bundle.d.ts +314 -314
  115. package/build/esm/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/bundle.js +22 -22
  116. package/build/esm/src/clients/modules/account.d.ts +2 -0
  117. package/build/esm/src/clients/modules/account.d.ts.map +1 -1
  118. package/build/esm/src/clients/modules/account.js +31 -1
  119. package/build/esm/src/clients/modules/get.d.ts +16 -0
  120. package/build/esm/src/clients/modules/get.d.ts.map +1 -1
  121. package/build/esm/src/clients/modules/get.js +32 -2
  122. package/build/esm/src/clients/native.d.ts +3 -0
  123. package/build/esm/src/clients/native.d.ts.map +1 -1
  124. package/build/esm/src/clients/native.js +48 -1
  125. package/build/esm/tsconfig.esm.tsbuildinfo +1 -1
  126. package/package.json +2 -2
  127. package/src/clients/modules/account.ts +48 -0
  128. package/src/clients/modules/get.ts +50 -1
  129. package/src/clients/native.ts +44 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dydxprotocol/v4-client-js",
3
- "version": "3.0.6",
3
+ "version": "3.1.0",
4
4
  "description": "General client library for the new dYdX system (v4 decentralized)",
5
5
  "main": "build/cjs/src/index.js",
6
6
  "module": "build/esm/src/index.js",
@@ -52,7 +52,7 @@
52
52
  "@cosmjs/stargate": "^0.32.1",
53
53
  "@cosmjs/tendermint-rpc": "^0.32.1",
54
54
  "@cosmjs/utils": "^0.32.1",
55
- "@dydxprotocol/v4-proto": "9.0.0",
55
+ "@dydxprotocol/v4-proto": "9.4.0-rc.0",
56
56
  "@osmonauts/lcd": "^0.6.0",
57
57
  "@scure/bip32": "^1.1.5",
58
58
  "@scure/bip39": "^1.1.1",
@@ -289,6 +289,54 @@ export default class AccountClient extends RestClient {
289
289
  });
290
290
  }
291
291
 
292
+ async getSubaccountHistoricalPNLsV2(
293
+ address: string,
294
+ subaccountNumber: number,
295
+ // false or undefined = hourly
296
+ daily?: boolean,
297
+ createdBeforeOrAtHeight?: number | null,
298
+ createdBeforeOrAt?: string | null,
299
+ createdOnOrAfterHeight?: number | null,
300
+ createdOnOrAfter?: string | null,
301
+ limit?: number | null,
302
+ page?: number | null,
303
+ ): Promise<Data> {
304
+ const uri = '/v4/pnl';
305
+ return this.get(uri, {
306
+ address,
307
+ subaccountNumber,
308
+ createdBeforeOrAtHeight,
309
+ createdBeforeOrAt,
310
+ createdOnOrAfterHeight,
311
+ createdOnOrAfter,
312
+ limit,
313
+ page,
314
+ daily,
315
+ });
316
+ }
317
+
318
+ async getParentSubaccountNumberHistoricalPNLsV2(
319
+ address: string,
320
+ parentSubaccountNumber: number,
321
+ // false or undefined = hourly
322
+ daily?: boolean,
323
+ createdBeforeOrAtHeight?: number | null,
324
+ createdBeforeOrAt?: string | null,
325
+ createdOnOrAfterHeight?: number | null,
326
+ createdOnOrAfter?: string | null,
327
+ ): Promise<Data> {
328
+ const uri = '/v4/pnl/parentSubaccountNumber';
329
+ return this.get(uri, {
330
+ address,
331
+ parentSubaccountNumber,
332
+ createdBeforeOrAtHeight,
333
+ createdBeforeOrAt,
334
+ createdOnOrAfterHeight,
335
+ createdOnOrAfter,
336
+ daily,
337
+ });
338
+ }
339
+
292
340
  // ------ Rewards ------ //
293
341
 
294
342
  async getHistoricalTradingRewardsAggregations(
@@ -7,7 +7,10 @@ import {
7
7
  TxExtension,
8
8
  QueryAbciResponse,
9
9
  } from '@cosmjs/stargate';
10
- import { GetAuthenticatorsRequest, GetAuthenticatorsResponse } from '@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query';
10
+ import {
11
+ GetAuthenticatorsRequest,
12
+ GetAuthenticatorsResponse,
13
+ } from '@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query';
11
14
  import * as AuthModule from 'cosmjs-types/cosmos/auth/v1beta1/query';
12
15
  import * as BankModule from 'cosmjs-types/cosmos/bank/v1beta1/query';
13
16
  import { Any } from 'cosmjs-types/google/protobuf/any';
@@ -626,6 +629,52 @@ export class Get {
626
629
  return GetAuthenticatorsResponse.decode(data);
627
630
  }
628
631
 
632
+ /**
633
+ * @description Get fee discounts for all perp markets.
634
+ * @returns All markets' fee discounts.
635
+ */
636
+ async getAllPerpMarketFeeDiscounts(): Promise<FeeTierModule.QueryAllMarketFeeDiscountParamsRequest> {
637
+ const requestData = Uint8Array.from(
638
+ FeeTierModule.QueryAllMarketFeeDiscountParamsRequest.encode({}).finish(),
639
+ );
640
+
641
+ const data = await this.sendQuery(
642
+ '/dydxprotocol.feetiers.Query/AllMarketFeeDiscountParams',
643
+ requestData,
644
+ );
645
+
646
+ return FeeTierModule.QueryAllMarketFeeDiscountParamsResponse.decode(data);
647
+ }
648
+
649
+ /**
650
+ *
651
+ * @param address The address of the user to get the staking tier for.
652
+ * @returns The staking tier for the user.
653
+ */
654
+ async getUserStakingTier(address: string): Promise<FeeTierModule.QueryUserStakingTierResponse> {
655
+ const requestData = Uint8Array.from(
656
+ FeeTierModule.QueryUserStakingTierRequest.encode({
657
+ address,
658
+ }).finish(),
659
+ );
660
+
661
+ const data = await this.sendQuery('/dydxprotocol.feetiers.Query/UserStakingTier', requestData);
662
+
663
+ return FeeTierModule.QueryUserStakingTierResponse.decode(data);
664
+ }
665
+
666
+ /**
667
+ * @description Get all staking tiers.
668
+ * @returns All staking tiers.
669
+ */
670
+ async getAllStakingTiers(): Promise<FeeTierModule.QueryStakingTiersResponse> {
671
+ const requestData = Uint8Array.from(FeeTierModule.QueryStakingTiersRequest.encode({}).finish());
672
+
673
+ const data = await this.sendQuery('/dydxprotocol.feetiers.Query/StakingTiers', requestData);
674
+
675
+ return FeeTierModule.QueryStakingTiersResponse.decode(data);
676
+ }
677
+
629
678
  private async sendQuery(requestUrl: string, requestData: Uint8Array): Promise<Uint8Array> {
630
679
  // eslint-disable-next-line max-len
631
680
  const resp: QueryAbciResponse = await this.stargateQueryClient.queryAbci(
@@ -1462,3 +1462,47 @@ export async function withdrawFromMegavault(
1462
1462
  return wrappedError(error);
1463
1463
  }
1464
1464
  }
1465
+
1466
+ export async function getAllPerpMarketFeeDiscounts(): Promise<string> {
1467
+ try {
1468
+ const client = globalThis.client;
1469
+ if (client === undefined) {
1470
+ throw new UserError('client is not connected. Call connectClient() first');
1471
+ }
1472
+ const response = await globalThis.client?.validatorClient.get.getAllPerpMarketFeeDiscounts();
1473
+ return encodeJson(response);
1474
+ } catch (error) {
1475
+ return wrappedError(error);
1476
+ }
1477
+ }
1478
+
1479
+ export async function getAllStakingTiers(): Promise<string> {
1480
+ try {
1481
+ const client = globalThis.client;
1482
+ if (client === undefined) {
1483
+ throw new UserError('client is not connected. Call connectClient() first');
1484
+ }
1485
+ const response = await globalThis.client?.validatorClient.get.getAllStakingTiers();
1486
+ return encodeJson(response);
1487
+ } catch (error) {
1488
+ return wrappedError(error);
1489
+ }
1490
+ }
1491
+
1492
+ export async function getUserStakingTier(payload: string): Promise<string> {
1493
+ try {
1494
+ const client = globalThis.client;
1495
+ if (client === undefined) {
1496
+ throw new UserError('client is not connected. Call connectClient() first');
1497
+ }
1498
+ const json = JSON.parse(payload);
1499
+ const address = json.address;
1500
+ if (address === undefined) {
1501
+ throw new UserError('address is not set');
1502
+ }
1503
+ const response = await globalThis.client?.validatorClient.get.getUserStakingTier(address);
1504
+ return encodeJson(response);
1505
+ } catch (error) {
1506
+ return wrappedError(error);
1507
+ }
1508
+ }