@scallop-io/sui-scallop-sdk 0.46.60 → 0.46.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -2192,6 +2192,43 @@ import { SuiPriceServiceConnection } from "@pythnetwork/pyth-sui-js";
2192
2192
  // src/queries/coreQuery.ts
2193
2193
  import { normalizeStructTag as normalizeStructTag3 } from "@mysten/sui.js/utils";
2194
2194
  import BigNumber2 from "bignumber.js";
2195
+
2196
+ // src/queries/supplyLimit.ts
2197
+ import { z as zod } from "zod";
2198
+ var supplyLimitZod = zod.object({
2199
+ dataType: zod.string(),
2200
+ type: zod.string(),
2201
+ hasPublicTransfer: zod.boolean(),
2202
+ fields: zod.object({
2203
+ id: zod.object({
2204
+ id: zod.string()
2205
+ }),
2206
+ name: zod.object({
2207
+ type: zod.string()
2208
+ }),
2209
+ value: zod.string()
2210
+ })
2211
+ });
2212
+ var SUPPLY_LIMIT_TYPE = "0x6e641f0dca8aedab3101d047e96439178f16301bf0b57fe8745086ff1195eb3e::market_dynamic_keys::SupplyLimitKey";
2213
+ var getSupplyLimit = async (utils, poolName) => {
2214
+ const poolCoinType = utils.parseCoinType(poolName).slice(2);
2215
+ const marketObject = utils.address.get("core.market");
2216
+ if (!marketObject)
2217
+ return null;
2218
+ const object = await utils.cache.queryGetDynamicFieldObject({
2219
+ parentId: marketObject,
2220
+ name: {
2221
+ type: SUPPLY_LIMIT_TYPE,
2222
+ value: poolCoinType
2223
+ }
2224
+ });
2225
+ const parsedData = supplyLimitZod.safeParse(object?.data?.content);
2226
+ if (!parsedData.success)
2227
+ return null;
2228
+ return parsedData.data.fields.value;
2229
+ };
2230
+
2231
+ // src/queries/coreQuery.ts
2195
2232
  var queryMarket = async (query, indexer = false) => {
2196
2233
  const coinPrices = await query.utils.getCoinPrices();
2197
2234
  const pools = {};
@@ -2251,6 +2288,7 @@ var queryMarket = async (query, indexer = false) => {
2251
2288
  query.utils,
2252
2289
  parsedMarketPoolData
2253
2290
  );
2291
+ const supplyLimit = await getSupplyLimit(query.utils, poolCoinName) ?? "0";
2254
2292
  pools[poolCoinName] = {
2255
2293
  coinName: poolCoinName,
2256
2294
  symbol: query.utils.parseSymbol(poolCoinName),
@@ -2269,6 +2307,7 @@ var queryMarket = async (query, indexer = false) => {
2269
2307
  borrowFee: parsedMarketPoolData.borrowFee,
2270
2308
  marketCoinSupplyAmount: parsedMarketPoolData.marketCoinSupplyAmount,
2271
2309
  minBorrowAmount: parsedMarketPoolData.minBorrowAmount,
2310
+ supplyLimit,
2272
2311
  ...calculatedMarketPoolData
2273
2312
  };
2274
2313
  }
@@ -2472,6 +2511,7 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
2472
2511
  query.utils,
2473
2512
  parsedMarketPoolData
2474
2513
  );
2514
+ const supplyLimit = await getSupplyLimit(query.utils, poolCoinName) ?? "0";
2475
2515
  marketPool = {
2476
2516
  coinName: poolCoinName,
2477
2517
  symbol: query.utils.parseSymbol(poolCoinName),
@@ -2490,6 +2530,7 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
2490
2530
  borrowFee: parsedMarketPoolData.borrowFee,
2491
2531
  marketCoinSupplyAmount: parsedMarketPoolData.marketCoinSupplyAmount,
2492
2532
  minBorrowAmount: parsedMarketPoolData.minBorrowAmount,
2533
+ supplyLimit,
2493
2534
  ...calculatedMarketPoolData
2494
2535
  };
2495
2536
  }
@@ -3964,7 +4005,7 @@ var getTotalValueLocked = async (query, indexer = false) => {
3964
4005
  import BigNumber5 from "bignumber.js";
3965
4006
  import { SUI_CLOCK_OBJECT_ID, SuiTxBlock as SuiTxBlock2 } from "@scallop-io/sui-kit";
3966
4007
  import { bcs } from "@mysten/sui.js/bcs";
3967
- import { z as zod } from "zod";
4008
+ import { z as zod2 } from "zod";
3968
4009
  var getVescaKeys = async (utils, ownerAddress) => {
3969
4010
  const owner = ownerAddress || utils.suiKit.currentAddress();
3970
4011
  const veScaObjId = utils.address.get("vesca.object");
@@ -4008,10 +4049,10 @@ var getVeScas = async ({
4008
4049
  await Promise.allSettled(tasks);
4009
4050
  return veScas.filter(Boolean).sort((a, b) => b.currentVeScaBalance - a.currentVeScaBalance);
4010
4051
  };
4011
- var SuiObjectRefZod = zod.object({
4012
- objectId: zod.string(),
4013
- digest: zod.string(),
4014
- version: zod.string()
4052
+ var SuiObjectRefZod = zod2.object({
4053
+ objectId: zod2.string(),
4054
+ digest: zod2.string(),
4055
+ version: zod2.string()
4015
4056
  });
4016
4057
  var getVeSca = async (utils, veScaKey, ownerAddress) => {
4017
4058
  const tableId = utils.address.get(`vesca.tableId`);
@@ -4144,16 +4185,16 @@ var queryVeScaKeyIdFromReferralBindings = async (address, refereeAddress) => {
4144
4185
 
4145
4186
  // src/queries/loyaltyProgramQuery.ts
4146
4187
  import BigNumber6 from "bignumber.js";
4147
- import { z as zod2 } from "zod";
4148
- var rewardPoolFieldsZod = zod2.object({
4149
- balance: zod2.string(),
4150
- enable_claim: zod2.boolean()
4188
+ import { z as zod3 } from "zod";
4189
+ var rewardPoolFieldsZod = zod3.object({
4190
+ balance: zod3.string(),
4191
+ enable_claim: zod3.boolean()
4151
4192
  }).transform((value) => ({
4152
4193
  totalPoolReward: BigNumber6(value.balance).shiftedBy(-9).toNumber(),
4153
4194
  isClaimEnabled: value.enable_claim
4154
4195
  }));
4155
- var userRewardFieldsZod = zod2.object({
4156
- value: zod2.string()
4196
+ var userRewardFieldsZod = zod3.object({
4197
+ value: zod3.string()
4157
4198
  }).transform((value) => BigNumber6(value.value).shiftedBy(-9).toNumber());
4158
4199
  var getLoyaltyProgramInformations = async (query, veScaKey) => {
4159
4200
  const rewardPool = query.address.get("loyaltyProgram.rewardPool");
@@ -6898,6 +6939,14 @@ var ScallopQuery = class {
6898
6939
  async getTvl(indexer = false) {
6899
6940
  return await getTotalValueLocked(this, indexer);
6900
6941
  }
6942
+ /**
6943
+ * Get veSca data.
6944
+ * @param veScaKey
6945
+ * @returns veSca
6946
+ */
6947
+ async getVeSca(veScaKey) {
6948
+ return await getVeSca(this.utils, veScaKey);
6949
+ }
6901
6950
  /**
6902
6951
  * Get all veSca from walletAdddress
6903
6952
  * @param walletAddress
@@ -6991,6 +7040,12 @@ var ScallopQuery = class {
6991
7040
  async getFlashLoanFees(assetCoinNames = [...SUPPORT_POOLS]) {
6992
7041
  return await getFlashLoanFees(this, assetCoinNames);
6993
7042
  }
7043
+ /**
7044
+ * Get supply limit of supply pool
7045
+ */
7046
+ async getPoolSupplyLimit(poolName) {
7047
+ return await getSupplyLimit(this.utils, poolName);
7048
+ }
6994
7049
  };
6995
7050
 
6996
7051
  // src/models/scallopBuilder.ts