@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.js CHANGED
@@ -2266,6 +2266,43 @@ var import_pyth_sui_js = require("@pythnetwork/pyth-sui-js");
2266
2266
  // src/queries/coreQuery.ts
2267
2267
  var import_utils3 = require("@mysten/sui.js/utils");
2268
2268
  var import_bignumber2 = __toESM(require("bignumber.js"));
2269
+
2270
+ // src/queries/supplyLimit.ts
2271
+ var import_zod = require("zod");
2272
+ var supplyLimitZod = import_zod.z.object({
2273
+ dataType: import_zod.z.string(),
2274
+ type: import_zod.z.string(),
2275
+ hasPublicTransfer: import_zod.z.boolean(),
2276
+ fields: import_zod.z.object({
2277
+ id: import_zod.z.object({
2278
+ id: import_zod.z.string()
2279
+ }),
2280
+ name: import_zod.z.object({
2281
+ type: import_zod.z.string()
2282
+ }),
2283
+ value: import_zod.z.string()
2284
+ })
2285
+ });
2286
+ var SUPPLY_LIMIT_TYPE = "0x6e641f0dca8aedab3101d047e96439178f16301bf0b57fe8745086ff1195eb3e::market_dynamic_keys::SupplyLimitKey";
2287
+ var getSupplyLimit = async (utils, poolName) => {
2288
+ const poolCoinType = utils.parseCoinType(poolName).slice(2);
2289
+ const marketObject = utils.address.get("core.market");
2290
+ if (!marketObject)
2291
+ return null;
2292
+ const object = await utils.cache.queryGetDynamicFieldObject({
2293
+ parentId: marketObject,
2294
+ name: {
2295
+ type: SUPPLY_LIMIT_TYPE,
2296
+ value: poolCoinType
2297
+ }
2298
+ });
2299
+ const parsedData = supplyLimitZod.safeParse(object?.data?.content);
2300
+ if (!parsedData.success)
2301
+ return null;
2302
+ return parsedData.data.fields.value;
2303
+ };
2304
+
2305
+ // src/queries/coreQuery.ts
2269
2306
  var queryMarket = async (query, indexer = false) => {
2270
2307
  const coinPrices = await query.utils.getCoinPrices();
2271
2308
  const pools = {};
@@ -2325,6 +2362,7 @@ var queryMarket = async (query, indexer = false) => {
2325
2362
  query.utils,
2326
2363
  parsedMarketPoolData
2327
2364
  );
2365
+ const supplyLimit = await getSupplyLimit(query.utils, poolCoinName) ?? "0";
2328
2366
  pools[poolCoinName] = {
2329
2367
  coinName: poolCoinName,
2330
2368
  symbol: query.utils.parseSymbol(poolCoinName),
@@ -2343,6 +2381,7 @@ var queryMarket = async (query, indexer = false) => {
2343
2381
  borrowFee: parsedMarketPoolData.borrowFee,
2344
2382
  marketCoinSupplyAmount: parsedMarketPoolData.marketCoinSupplyAmount,
2345
2383
  minBorrowAmount: parsedMarketPoolData.minBorrowAmount,
2384
+ supplyLimit,
2346
2385
  ...calculatedMarketPoolData
2347
2386
  };
2348
2387
  }
@@ -2546,6 +2585,7 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
2546
2585
  query.utils,
2547
2586
  parsedMarketPoolData
2548
2587
  );
2588
+ const supplyLimit = await getSupplyLimit(query.utils, poolCoinName) ?? "0";
2549
2589
  marketPool = {
2550
2590
  coinName: poolCoinName,
2551
2591
  symbol: query.utils.parseSymbol(poolCoinName),
@@ -2564,6 +2604,7 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
2564
2604
  borrowFee: parsedMarketPoolData.borrowFee,
2565
2605
  marketCoinSupplyAmount: parsedMarketPoolData.marketCoinSupplyAmount,
2566
2606
  minBorrowAmount: parsedMarketPoolData.minBorrowAmount,
2607
+ supplyLimit,
2567
2608
  ...calculatedMarketPoolData
2568
2609
  };
2569
2610
  }
@@ -4038,7 +4079,7 @@ var getTotalValueLocked = async (query, indexer = false) => {
4038
4079
  var import_bignumber5 = __toESM(require("bignumber.js"));
4039
4080
  var import_sui_kit3 = require("@scallop-io/sui-kit");
4040
4081
  var import_bcs = require("@mysten/sui.js/bcs");
4041
- var import_zod = require("zod");
4082
+ var import_zod2 = require("zod");
4042
4083
  var getVescaKeys = async (utils, ownerAddress) => {
4043
4084
  const owner = ownerAddress || utils.suiKit.currentAddress();
4044
4085
  const veScaObjId = utils.address.get("vesca.object");
@@ -4082,10 +4123,10 @@ var getVeScas = async ({
4082
4123
  await Promise.allSettled(tasks);
4083
4124
  return veScas.filter(Boolean).sort((a, b) => b.currentVeScaBalance - a.currentVeScaBalance);
4084
4125
  };
4085
- var SuiObjectRefZod = import_zod.z.object({
4086
- objectId: import_zod.z.string(),
4087
- digest: import_zod.z.string(),
4088
- version: import_zod.z.string()
4126
+ var SuiObjectRefZod = import_zod2.z.object({
4127
+ objectId: import_zod2.z.string(),
4128
+ digest: import_zod2.z.string(),
4129
+ version: import_zod2.z.string()
4089
4130
  });
4090
4131
  var getVeSca = async (utils, veScaKey, ownerAddress) => {
4091
4132
  const tableId = utils.address.get(`vesca.tableId`);
@@ -4218,16 +4259,16 @@ var queryVeScaKeyIdFromReferralBindings = async (address, refereeAddress) => {
4218
4259
 
4219
4260
  // src/queries/loyaltyProgramQuery.ts
4220
4261
  var import_bignumber6 = __toESM(require("bignumber.js"));
4221
- var import_zod2 = require("zod");
4222
- var rewardPoolFieldsZod = import_zod2.z.object({
4223
- balance: import_zod2.z.string(),
4224
- enable_claim: import_zod2.z.boolean()
4262
+ var import_zod3 = require("zod");
4263
+ var rewardPoolFieldsZod = import_zod3.z.object({
4264
+ balance: import_zod3.z.string(),
4265
+ enable_claim: import_zod3.z.boolean()
4225
4266
  }).transform((value) => ({
4226
4267
  totalPoolReward: (0, import_bignumber6.default)(value.balance).shiftedBy(-9).toNumber(),
4227
4268
  isClaimEnabled: value.enable_claim
4228
4269
  }));
4229
- var userRewardFieldsZod = import_zod2.z.object({
4230
- value: import_zod2.z.string()
4270
+ var userRewardFieldsZod = import_zod3.z.object({
4271
+ value: import_zod3.z.string()
4231
4272
  }).transform((value) => (0, import_bignumber6.default)(value.value).shiftedBy(-9).toNumber());
4232
4273
  var getLoyaltyProgramInformations = async (query, veScaKey) => {
4233
4274
  const rewardPool = query.address.get("loyaltyProgram.rewardPool");
@@ -6958,6 +6999,14 @@ var ScallopQuery = class {
6958
6999
  async getTvl(indexer = false) {
6959
7000
  return await getTotalValueLocked(this, indexer);
6960
7001
  }
7002
+ /**
7003
+ * Get veSca data.
7004
+ * @param veScaKey
7005
+ * @returns veSca
7006
+ */
7007
+ async getVeSca(veScaKey) {
7008
+ return await getVeSca(this.utils, veScaKey);
7009
+ }
6961
7010
  /**
6962
7011
  * Get all veSca from walletAdddress
6963
7012
  * @param walletAddress
@@ -7051,6 +7100,12 @@ var ScallopQuery = class {
7051
7100
  async getFlashLoanFees(assetCoinNames = [...SUPPORT_POOLS]) {
7052
7101
  return await getFlashLoanFees(this, assetCoinNames);
7053
7102
  }
7103
+ /**
7104
+ * Get supply limit of supply pool
7105
+ */
7106
+ async getPoolSupplyLimit(poolName) {
7107
+ return await getSupplyLimit(this.utils, poolName);
7108
+ }
7054
7109
  };
7055
7110
 
7056
7111
  // src/models/scallopBuilder.ts