@suilend/sdk 1.1.99 → 2.0.1

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 (91) hide show
  1. package/_generated/_dependencies/source/0x1/ascii/structs.d.ts +7 -7
  2. package/_generated/_dependencies/source/0x1/ascii/structs.js +35 -75
  3. package/_generated/_dependencies/source/0x1/index.js +3 -6
  4. package/_generated/_dependencies/source/0x1/option/structs.d.ts +3 -3
  5. package/_generated/_dependencies/source/0x1/option/structs.js +31 -69
  6. package/_generated/_dependencies/source/0x1/type-name/structs.d.ts +5 -5
  7. package/_generated/_dependencies/source/0x1/type-name/structs.js +20 -25
  8. package/_generated/_dependencies/source/0x2/bag/structs.d.ts +7 -7
  9. package/_generated/_dependencies/source/0x2/bag/structs.js +24 -29
  10. package/_generated/_dependencies/source/0x2/balance/structs.d.ts +7 -7
  11. package/_generated/_dependencies/source/0x2/balance/structs.js +49 -56
  12. package/_generated/_dependencies/source/0x2/index.js +3 -6
  13. package/_generated/_dependencies/source/0x2/object/structs.d.ts +8 -8
  14. package/_generated/_dependencies/source/0x2/object/structs.js +34 -41
  15. package/_generated/_dependencies/source/0x2/object-table/structs.d.ts +7 -7
  16. package/_generated/_dependencies/source/0x2/object-table/structs.js +31 -36
  17. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.d.ts +5 -5
  18. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.js +23 -28
  19. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.js +4 -7
  20. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.d.ts +11 -11
  21. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.js +32 -37
  22. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.d.ts +23 -23
  23. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.js +29 -34
  24. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.d.ts +4 -4
  25. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.js +21 -59
  26. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.d.ts +55 -55
  27. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.js +46 -53
  28. package/_generated/_framework/reified.d.ts +2 -2
  29. package/_generated/_framework/reified.js +27 -40
  30. package/_generated/_framework/util.js +26 -40
  31. package/_generated/_framework/vector.d.ts +4 -4
  32. package/_generated/_framework/vector.js +16 -21
  33. package/_generated/suilend/cell/structs.d.ts +4 -4
  34. package/_generated/suilend/cell/structs.js +31 -36
  35. package/_generated/suilend/decimal/structs.d.ts +4 -4
  36. package/_generated/suilend/decimal/structs.js +19 -24
  37. package/_generated/suilend/index.js +8 -12
  38. package/_generated/suilend/lending-market/functions.d.ts +1 -0
  39. package/_generated/suilend/lending-market/functions.js +271 -302
  40. package/_generated/suilend/lending-market/structs.d.ts +146 -146
  41. package/_generated/suilend/lending-market/structs.js +549 -617
  42. package/_generated/suilend/lending-market-registry/functions.js +7 -11
  43. package/_generated/suilend/liquidity-mining/structs.d.ts +50 -50
  44. package/_generated/suilend/liquidity-mining/structs.js +159 -205
  45. package/_generated/suilend/obligation/structs.d.ts +106 -106
  46. package/_generated/suilend/obligation/structs.js +313 -363
  47. package/_generated/suilend/rate-limiter/functions.js +23 -31
  48. package/_generated/suilend/rate-limiter/structs.d.ts +15 -15
  49. package/_generated/suilend/rate-limiter/structs.js +49 -56
  50. package/_generated/suilend/reserve/structs.d.ts +139 -139
  51. package/_generated/suilend/reserve/structs.js +397 -451
  52. package/_generated/suilend/reserve-config/functions.js +149 -190
  53. package/_generated/suilend/reserve-config/structs.d.ts +33 -33
  54. package/_generated/suilend/reserve-config/structs.js +109 -149
  55. package/api/events.js +1 -5
  56. package/api/index.js +1 -17
  57. package/client.d.ts +10 -10
  58. package/client.js +118 -128
  59. package/index.js +7 -23
  60. package/lib/constants.js +3 -9
  61. package/lib/index.js +5 -21
  62. package/lib/initialize.d.ts +3 -3
  63. package/lib/initialize.js +103 -140
  64. package/lib/liquidityMining.d.ts +3 -3
  65. package/lib/liquidityMining.js +57 -72
  66. package/lib/pyth.js +9 -14
  67. package/lib/strategyOwnerCap.js +106 -119
  68. package/lib/transactions.js +2 -7
  69. package/lib/types.js +4 -7
  70. package/mmt.js +2 -5
  71. package/package.json +1 -1
  72. package/parsers/apiReserveAssetDataEvent.js +25 -33
  73. package/parsers/index.js +5 -21
  74. package/parsers/lendingMarket.d.ts +1 -1
  75. package/parsers/lendingMarket.js +12 -19
  76. package/parsers/obligation.js +19 -26
  77. package/parsers/rateLimiter.js +11 -19
  78. package/parsers/reserve.d.ts +1 -1
  79. package/parsers/reserve.js +42 -85
  80. package/strategies.d.ts +11 -11
  81. package/strategies.js +547 -586
  82. package/swap/index.js +2 -18
  83. package/swap/quote.js +57 -65
  84. package/swap/transaction.d.ts +2 -2
  85. package/swap/transaction.js +40 -35
  86. package/utils/events.d.ts +3 -3
  87. package/utils/events.js +18 -35
  88. package/utils/index.js +16 -40
  89. package/utils/obligation.d.ts +4 -4
  90. package/utils/obligation.js +17 -60
  91. package/utils/simulate.js +118 -143
@@ -1,41 +1,35 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.parseDownsampledApiReserveAssetDataEvent = exports.parseReserveAssetDataEvent = void 0;
7
- const utils_1 = require("@mysten/sui/utils");
8
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
9
- const constants_1 = require("../lib/constants");
10
- const parseReserveAssetDataEvent = (event, reserve) => {
11
- const availableAmount = new bignumber_js_1.default(event.availableAmount)
12
- .div(constants_1.WAD)
1
+ import { normalizeStructTag } from "@mysten/sui/utils";
2
+ import BigNumber from "bignumber.js";
3
+ import { WAD } from "../lib/constants";
4
+ export const parseReserveAssetDataEvent = (event, reserve) => {
5
+ const availableAmount = new BigNumber(event.availableAmount)
6
+ .div(WAD)
13
7
  .div(10 ** reserve.mintDecimals);
14
- const depositedAmount = new bignumber_js_1.default(event.supplyAmount)
15
- .div(constants_1.WAD)
8
+ const depositedAmount = new BigNumber(event.supplyAmount)
9
+ .div(WAD)
16
10
  .div(10 ** reserve.mintDecimals);
17
- const borrowedAmount = new bignumber_js_1.default(event.borrowedAmount)
18
- .div(constants_1.WAD)
11
+ const borrowedAmount = new BigNumber(event.borrowedAmount)
12
+ .div(WAD)
19
13
  .div(10 ** reserve.mintDecimals);
20
- const availableAmountUsd = new bignumber_js_1.default(event.availableAmountUsdEstimate).div(constants_1.WAD);
21
- const depositedAmountUsd = new bignumber_js_1.default(event.supplyAmountUsdEstimate).div(constants_1.WAD);
22
- const borrowedAmountUsd = new bignumber_js_1.default(event.borrowedAmountUsdEstimate).div(constants_1.WAD);
23
- const borrowAprPercent = new bignumber_js_1.default(event.borrowApr).div(constants_1.WAD).times(100);
24
- const depositAprPercent = new bignumber_js_1.default(event.supplyApr).div(constants_1.WAD).times(100);
25
- const ctokenSupply = new bignumber_js_1.default(event.ctokenSupply).div(10 ** reserve.mintDecimals);
26
- const cumulativeBorrowRate = new bignumber_js_1.default(event.cumulativeBorrowRate).div(constants_1.WAD);
27
- const price = new bignumber_js_1.default(event.price).div(constants_1.WAD);
28
- const smoothedPrice = new bignumber_js_1.default(event.smoothedPrice).div(constants_1.WAD);
29
- const minPrice = bignumber_js_1.default.min(price, smoothedPrice);
30
- const maxPrice = bignumber_js_1.default.max(price, smoothedPrice);
14
+ const availableAmountUsd = new BigNumber(event.availableAmountUsdEstimate).div(WAD);
15
+ const depositedAmountUsd = new BigNumber(event.supplyAmountUsdEstimate).div(WAD);
16
+ const borrowedAmountUsd = new BigNumber(event.borrowedAmountUsdEstimate).div(WAD);
17
+ const borrowAprPercent = new BigNumber(event.borrowApr).div(WAD).times(100);
18
+ const depositAprPercent = new BigNumber(event.supplyApr).div(WAD).times(100);
19
+ const ctokenSupply = new BigNumber(event.ctokenSupply).div(10 ** reserve.mintDecimals);
20
+ const cumulativeBorrowRate = new BigNumber(event.cumulativeBorrowRate).div(WAD);
21
+ const price = new BigNumber(event.price).div(WAD);
22
+ const smoothedPrice = new BigNumber(event.smoothedPrice).div(WAD);
23
+ const minPrice = BigNumber.min(price, smoothedPrice);
24
+ const maxPrice = BigNumber.max(price, smoothedPrice);
31
25
  // Custom
32
26
  const utilizationPercent = depositedAmount.eq(0)
33
- ? new bignumber_js_1.default(0)
27
+ ? new BigNumber(0)
34
28
  : borrowedAmount.div(depositedAmount).times(100);
35
29
  return {
36
30
  id: event.id,
37
31
  lendingMarketId: event.lendingMarketId,
38
- coinType: (0, utils_1.normalizeStructTag)(event.coinType),
32
+ coinType: normalizeStructTag(event.coinType),
39
33
  reserveId: event.reserveId,
40
34
  availableAmount,
41
35
  depositedAmount,
@@ -60,8 +54,6 @@ const parseReserveAssetDataEvent = (event, reserve) => {
60
54
  original: event,
61
55
  };
62
56
  };
63
- exports.parseReserveAssetDataEvent = parseReserveAssetDataEvent;
64
- const parseDownsampledApiReserveAssetDataEvent = (event, reserve) => {
65
- return Object.assign(Object.assign({}, (0, exports.parseReserveAssetDataEvent)(event, reserve)), { sampleTimestampS: event.sampletimestamp });
57
+ export const parseDownsampledApiReserveAssetDataEvent = (event, reserve) => {
58
+ return Object.assign(Object.assign({}, parseReserveAssetDataEvent(event, reserve)), { sampleTimestampS: event.sampletimestamp });
66
59
  };
67
- exports.parseDownsampledApiReserveAssetDataEvent = parseDownsampledApiReserveAssetDataEvent;
package/parsers/index.js CHANGED
@@ -1,21 +1,5 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./apiReserveAssetDataEvent"), exports);
18
- __exportStar(require("./lendingMarket"), exports);
19
- __exportStar(require("./obligation"), exports);
20
- __exportStar(require("./rateLimiter"), exports);
21
- __exportStar(require("./reserve"), exports);
1
+ export * from "./apiReserveAssetDataEvent";
2
+ export * from "./lendingMarket";
3
+ export * from "./obligation";
4
+ export * from "./rateLimiter";
5
+ export * from "./reserve";
@@ -1,4 +1,4 @@
1
- import { CoinMetadata } from "@mysten/sui/client";
1
+ import { CoinMetadata } from "@mysten/sui/jsonRpc";
2
2
  import BigNumber from "bignumber.js";
3
3
  import { LendingMarket } from "../_generated/suilend/lending-market/structs";
4
4
  import { Reserve } from "../_generated/suilend/reserve/structs";
@@ -1,27 +1,21 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.parseLendingMarket = void 0;
7
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
- const rateLimiter_1 = require("./rateLimiter");
9
- const reserve_1 = require("./reserve");
10
- const parseLendingMarket = (lendingMarket, reserves, coinMetadataMap, nowS, lendingMarketMetadata) => {
1
+ import BigNumber from "bignumber.js";
2
+ import { parseRateLimiter } from "./rateLimiter";
3
+ import { parseReserve } from "./reserve";
4
+ export const parseLendingMarket = (lendingMarket, reserves, coinMetadataMap, nowS, lendingMarketMetadata) => {
11
5
  var _a, _b, _c;
12
6
  const id = lendingMarket.id;
13
7
  const type = lendingMarket.$typeArgs[0];
14
8
  const version = lendingMarket.version;
15
- const parsedReserves = reserves.map((reserve) => (0, reserve_1.parseReserve)(reserve, coinMetadataMap));
9
+ const parsedReserves = reserves.map((reserve) => parseReserve(reserve, coinMetadataMap));
16
10
  const obligations = lendingMarket.obligations;
17
- const parsedRateLimiter = (0, rateLimiter_1.parseRateLimiter)(lendingMarket.rateLimiter, nowS);
11
+ const parsedRateLimiter = parseRateLimiter(lendingMarket.rateLimiter, nowS);
18
12
  const feeReceiver = lendingMarket.feeReceiver;
19
- const badDebtUsd = new bignumber_js_1.default(lendingMarket.badDebtUsd.value.toString());
20
- const badDebtLimitUsd = new bignumber_js_1.default(lendingMarket.badDebtLimitUsd.value.toString());
13
+ const badDebtUsd = new BigNumber(lendingMarket.badDebtUsd.value.toString());
14
+ const badDebtLimitUsd = new BigNumber(lendingMarket.badDebtLimitUsd.value.toString());
21
15
  // Custom
22
- let depositedAmountUsd = new bignumber_js_1.default(0);
23
- let borrowedAmountUsd = new bignumber_js_1.default(0);
24
- let tvlUsd = new bignumber_js_1.default(0);
16
+ let depositedAmountUsd = new BigNumber(0);
17
+ let borrowedAmountUsd = new BigNumber(0);
18
+ let tvlUsd = new BigNumber(0);
25
19
  parsedReserves.forEach((parsedReserve) => {
26
20
  depositedAmountUsd = depositedAmountUsd.plus(parsedReserve.depositedAmountUsd);
27
21
  borrowedAmountUsd = borrowedAmountUsd.plus(parsedReserve.borrowedAmountUsd);
@@ -42,7 +36,7 @@ const parseLendingMarket = (lendingMarket, reserves, coinMetadataMap, nowS, lend
42
36
  id,
43
37
  type,
44
38
  ownerCapId: (_a = lendingMarketMetadata === null || lendingMarketMetadata === void 0 ? void 0 : lendingMarketMetadata.lendingMarketOwnerCapId) !== null && _a !== void 0 ? _a : undefined,
45
- name: (_b = lendingMarketMetadata === null || lendingMarketMetadata === void 0 ? void 0 : lendingMarketMetadata.name) !== null && _b !== void 0 ? _b : type.split("::").slice(1).join(" "),
39
+ name: (_b = lendingMarketMetadata === null || lendingMarketMetadata === void 0 ? void 0 : lendingMarketMetadata.name) !== null && _b !== void 0 ? _b : type.split("::").slice(2).join(" "),
46
40
  isHidden: (_c = lendingMarketMetadata === null || lendingMarketMetadata === void 0 ? void 0 : lendingMarketMetadata.isHidden) !== null && _c !== void 0 ? _c : true,
47
41
  /**
48
42
  * @deprecated since version 1.0.3. Use `depositedAmountUsd` instead.
@@ -54,4 +48,3 @@ const parseLendingMarket = (lendingMarket, reserves, coinMetadataMap, nowS, lend
54
48
  totalBorrowUsd: borrowedAmountUsd,
55
49
  };
56
50
  };
57
- exports.parseLendingMarket = parseLendingMarket;
@@ -1,29 +1,23 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.parseObligation = void 0;
7
- const utils_1 = require("@mysten/sui/utils");
8
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
9
- const constants_1 = require("../lib/constants");
10
- const parseObligation = (obligation, parsedReserveMap, isStrategy) => {
11
- let totalDepositedAmountUsd = new bignumber_js_1.default(0);
12
- let totalBorrowedAmountUsd = new bignumber_js_1.default(0);
13
- let weightedBorrowsUsd = new bignumber_js_1.default(0);
14
- let maxPriceWeightedBorrowsUsd = new bignumber_js_1.default(0);
15
- let borrowLimitUsd = new bignumber_js_1.default(0);
16
- let minPriceBorrowLimitUsd = new bignumber_js_1.default(0);
17
- let unhealthyBorrowValueUsd = new bignumber_js_1.default(0);
1
+ import { normalizeStructTag } from "@mysten/sui/utils";
2
+ import BigNumber from "bignumber.js";
3
+ import { WAD } from "../lib/constants";
4
+ export const parseObligation = (obligation, parsedReserveMap, isStrategy) => {
5
+ let totalDepositedAmountUsd = new BigNumber(0);
6
+ let totalBorrowedAmountUsd = new BigNumber(0);
7
+ let weightedBorrowsUsd = new BigNumber(0);
8
+ let maxPriceWeightedBorrowsUsd = new BigNumber(0);
9
+ let borrowLimitUsd = new BigNumber(0);
10
+ let minPriceBorrowLimitUsd = new BigNumber(0);
11
+ let unhealthyBorrowValueUsd = new BigNumber(0);
18
12
  let depositPositionCount = 0;
19
13
  let borrowPositionCount = 0;
20
14
  const deposits = obligation.deposits.map((deposit) => {
21
- const coinType = (0, utils_1.normalizeStructTag)(deposit.coinType.name);
15
+ const coinType = normalizeStructTag(deposit.coinType.name);
22
16
  const reserve = parsedReserveMap[coinType];
23
17
  if (!reserve)
24
18
  throw new Error(`Reserve with coinType ${deposit.coinType.name} not found`);
25
19
  depositPositionCount++;
26
- const depositedCtokenAmount = new bignumber_js_1.default(deposit.depositedCtokenAmount.toString());
20
+ const depositedCtokenAmount = new BigNumber(deposit.depositedCtokenAmount.toString());
27
21
  const depositedAmount = depositedCtokenAmount
28
22
  .times(reserve.cTokenExchangeRate)
29
23
  .div(10 ** reserve.mintDecimals);
@@ -50,14 +44,14 @@ const parseObligation = (obligation, parsedReserveMap, isStrategy) => {
50
44
  };
51
45
  });
52
46
  const borrows = obligation.borrows.map((borrow) => {
53
- const coinType = (0, utils_1.normalizeStructTag)(borrow.coinType.name);
47
+ const coinType = normalizeStructTag(borrow.coinType.name);
54
48
  const reserve = parsedReserveMap[coinType];
55
49
  if (!reserve)
56
50
  throw new Error(`Reserve with coinType ${borrow.coinType.name} not found`);
57
51
  borrowPositionCount++;
58
- const cumulativeBorrowRate = new bignumber_js_1.default(borrow.cumulativeBorrowRate.value.toString()).div(constants_1.WAD);
59
- const borrowedAmountInitial = new bignumber_js_1.default(borrow.borrowedAmount.value.toString())
60
- .div(constants_1.WAD)
52
+ const cumulativeBorrowRate = new BigNumber(borrow.cumulativeBorrowRate.value.toString()).div(WAD);
53
+ const borrowedAmountInitial = new BigNumber(borrow.borrowedAmount.value.toString())
54
+ .div(WAD)
61
55
  .div(10 ** reserve.mintDecimals);
62
56
  const borrowInterestIndex = reserve.cumulativeBorrowRate.div(cumulativeBorrowRate);
63
57
  const borrowedAmount = borrowedAmountInitial.times(borrowInterestIndex);
@@ -84,9 +78,9 @@ const parseObligation = (obligation, parsedReserveMap, isStrategy) => {
84
78
  const netValueUsd = totalDepositedAmountUsd.minus(totalBorrowedAmountUsd);
85
79
  // Cap `minPriceBorrowLimitUsd` at $30m (account borrow limit) -- NON-STRATEGY OBLIGATIONS ONLY
86
80
  if (!isStrategy)
87
- minPriceBorrowLimitUsd = bignumber_js_1.default.min(minPriceBorrowLimitUsd, 30 * 10 ** 6);
81
+ minPriceBorrowLimitUsd = BigNumber.min(minPriceBorrowLimitUsd, 30 * 10 ** 6);
88
82
  const weightedConservativeBorrowUtilizationPercent = minPriceBorrowLimitUsd.eq(0)
89
- ? new bignumber_js_1.default(0)
83
+ ? new BigNumber(0)
90
84
  : maxPriceWeightedBorrowsUsd.div(minPriceBorrowLimitUsd).times(100);
91
85
  return {
92
86
  id: obligation.id,
@@ -131,4 +125,3 @@ const parseObligation = (obligation, parsedReserveMap, isStrategy) => {
131
125
  minPriceBorrowLimit: minPriceBorrowLimitUsd,
132
126
  };
133
127
  };
134
- exports.parseObligation = parseObligation;
@@ -1,28 +1,22 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.parseRateLimiterConfig = exports.parseRateLimiter = void 0;
7
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
- const constants_1 = require("../lib/constants");
9
- const parseRateLimiter = (rateLimiter, nowS) => {
10
- const config = (0, exports.parseRateLimiterConfig)(rateLimiter);
1
+ import BigNumber from "bignumber.js";
2
+ import { WAD } from "../lib/constants";
3
+ export const parseRateLimiter = (rateLimiter, nowS) => {
4
+ const config = parseRateLimiterConfig(rateLimiter);
11
5
  const $typeName = rateLimiter.$typeName;
12
6
  const prevQty = rateLimiter.prevQty.value;
13
7
  const windowStart = rateLimiter.windowStart;
14
8
  const curQty = rateLimiter.curQty.value;
15
9
  // Custom
16
- const prevWeight = new bignumber_js_1.default(config.windowDuration.toString())
10
+ const prevWeight = new BigNumber(config.windowDuration.toString())
17
11
  .minus((BigInt(nowS) - windowStart + BigInt(1)).toString())
18
12
  .div(config.windowDuration.toString());
19
13
  const currentOutflow = prevWeight
20
- .times(new bignumber_js_1.default(prevQty.toString()))
21
- .plus(new bignumber_js_1.default(curQty.toString()))
22
- .div(constants_1.WAD);
14
+ .times(new BigNumber(prevQty.toString()))
15
+ .plus(new BigNumber(curQty.toString()))
16
+ .div(WAD);
23
17
  const remainingOutflow = currentOutflow.gt(config.maxOutflow.toString())
24
- ? new bignumber_js_1.default(0)
25
- : new bignumber_js_1.default(config.maxOutflow.toString()).minus(currentOutflow);
18
+ ? new BigNumber(0)
19
+ : new BigNumber(config.maxOutflow.toString()).minus(currentOutflow);
26
20
  return {
27
21
  config,
28
22
  $typeName,
@@ -32,8 +26,7 @@ const parseRateLimiter = (rateLimiter, nowS) => {
32
26
  remainingOutflow,
33
27
  };
34
28
  };
35
- exports.parseRateLimiter = parseRateLimiter;
36
- const parseRateLimiterConfig = (rateLimiter) => {
29
+ export const parseRateLimiterConfig = (rateLimiter) => {
37
30
  const config = rateLimiter.config;
38
31
  if (!config)
39
32
  throw new Error("Rate limiter config not found");
@@ -44,4 +37,3 @@ const parseRateLimiterConfig = (rateLimiter) => {
44
37
  maxOutflow,
45
38
  };
46
39
  };
47
- exports.parseRateLimiterConfig = parseRateLimiterConfig;
@@ -1,4 +1,4 @@
1
- import { CoinMetadata } from "@mysten/sui/client";
1
+ import { CoinMetadata } from "@mysten/sui/jsonRpc";
2
2
  import BigNumber from "bignumber.js";
3
3
  import { PoolReward, PoolRewardManager } from "../_generated/suilend/liquidity-mining/structs";
4
4
  import { Reserve } from "../_generated/suilend/reserve/structs";
@@ -1,75 +1,36 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.parsePoolReward = exports.parsePoolRewardManager = exports.parseReserveConfig = exports.parseReserve = void 0;
40
- const utils_1 = require("@mysten/sui/utils");
41
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
42
- const uuid_1 = require("uuid");
43
- const constants_1 = require("../lib/constants");
44
- const utils_2 = require("../utils");
45
- const simulate = __importStar(require("../utils/simulate"));
46
- const parseReserve = (reserve, coinMetadataMap) => {
47
- const config = (0, exports.parseReserveConfig)(reserve);
1
+ import { normalizeStructTag } from "@mysten/sui/utils";
2
+ import BigNumber from "bignumber.js";
3
+ import { v4 as uuidv4 } from "uuid";
4
+ import { WAD } from "../lib/constants";
5
+ import { toHexString } from "../utils";
6
+ import * as simulate from "../utils/simulate";
7
+ export const parseReserve = (reserve, coinMetadataMap) => {
8
+ const config = parseReserveConfig(reserve);
48
9
  const $typeName = reserve.$typeName;
49
10
  const id = reserve.id;
50
11
  const arrayIndex = BigInt(reserve.arrayIndex);
51
- const coinType = (0, utils_1.normalizeStructTag)(reserve.coinType.name);
12
+ const coinType = normalizeStructTag(reserve.coinType.name);
52
13
  const coinMetadata = coinMetadataMap[coinType];
53
14
  const mintDecimals = reserve.mintDecimals;
54
- const priceIdentifier = `0x${(0, utils_2.toHexString)(reserve.priceIdentifier.bytes)}`;
55
- const price = new bignumber_js_1.default(reserve.price.value.toString()).div(constants_1.WAD);
56
- const smoothedPrice = new bignumber_js_1.default(reserve.smoothedPrice.value.toString()).div(constants_1.WAD);
57
- const minPrice = bignumber_js_1.default.min(price, smoothedPrice);
58
- const maxPrice = bignumber_js_1.default.max(price, smoothedPrice);
15
+ const priceIdentifier = `0x${toHexString(reserve.priceIdentifier.bytes)}`;
16
+ const price = new BigNumber(reserve.price.value.toString()).div(WAD);
17
+ const smoothedPrice = new BigNumber(reserve.smoothedPrice.value.toString()).div(WAD);
18
+ const minPrice = BigNumber.min(price, smoothedPrice);
19
+ const maxPrice = BigNumber.max(price, smoothedPrice);
59
20
  const priceLastUpdateTimestampS = reserve.priceLastUpdateTimestampS;
60
- const availableAmount = new bignumber_js_1.default(reserve.availableAmount.toString()).div(10 ** mintDecimals);
61
- const ctokenSupply = new bignumber_js_1.default(reserve.ctokenSupply.toString()).div(10 ** mintDecimals);
62
- const borrowedAmount = new bignumber_js_1.default(reserve.borrowedAmount.value.toString())
63
- .div(constants_1.WAD)
21
+ const availableAmount = new BigNumber(reserve.availableAmount.toString()).div(10 ** mintDecimals);
22
+ const ctokenSupply = new BigNumber(reserve.ctokenSupply.toString()).div(10 ** mintDecimals);
23
+ const borrowedAmount = new BigNumber(reserve.borrowedAmount.value.toString())
24
+ .div(WAD)
64
25
  .div(10 ** mintDecimals);
65
- const cumulativeBorrowRate = new bignumber_js_1.default(reserve.cumulativeBorrowRate.value.toString()).div(constants_1.WAD);
26
+ const cumulativeBorrowRate = new BigNumber(reserve.cumulativeBorrowRate.value.toString()).div(WAD);
66
27
  const interestLastUpdateTimestampS = reserve.interestLastUpdateTimestampS;
67
- const unclaimedSpreadFees = new bignumber_js_1.default(reserve.unclaimedSpreadFees.value.toString())
68
- .div(constants_1.WAD)
28
+ const unclaimedSpreadFees = new BigNumber(reserve.unclaimedSpreadFees.value.toString())
29
+ .div(WAD)
69
30
  .div(10 ** mintDecimals);
70
- const attributedBorrowValue = new bignumber_js_1.default(reserve.attributedBorrowValue.value.toString());
71
- const depositsPoolRewardManager = (0, exports.parsePoolRewardManager)(reserve.depositsPoolRewardManager, coinMetadataMap);
72
- const borrowsPoolRewardManager = (0, exports.parsePoolRewardManager)(reserve.borrowsPoolRewardManager, coinMetadataMap);
31
+ const attributedBorrowValue = new BigNumber(reserve.attributedBorrowValue.value.toString());
32
+ const depositsPoolRewardManager = parsePoolRewardManager(reserve.depositsPoolRewardManager, coinMetadataMap);
33
+ const borrowsPoolRewardManager = parsePoolRewardManager(reserve.borrowsPoolRewardManager, coinMetadataMap);
73
34
  // Custom
74
35
  const availableAmountUsd = availableAmount.times(price);
75
36
  const borrowedAmountUsd = borrowedAmount.times(price);
@@ -136,8 +97,7 @@ const parseReserve = (reserve, coinMetadataMap) => {
136
97
  totalDeposits: depositedAmount,
137
98
  };
138
99
  };
139
- exports.parseReserve = parseReserve;
140
- const parseReserveConfig = (reserve) => {
100
+ export const parseReserveConfig = (reserve) => {
141
101
  const config = reserve.config.element;
142
102
  if (!config)
143
103
  throw new Error("Reserve config not found");
@@ -146,13 +106,13 @@ const parseReserveConfig = (reserve) => {
146
106
  const openLtvPct = config.openLtvPct;
147
107
  const closeLtvPct = config.closeLtvPct;
148
108
  const maxCloseLtvPct = config.maxCloseLtvPct;
149
- const borrowWeightBps = (0, bignumber_js_1.default)(config.borrowWeightBps.toString());
150
- const depositLimit = new bignumber_js_1.default(config.depositLimit.toString()).div(10 ** mintDecimals);
151
- const borrowLimit = new bignumber_js_1.default(config.borrowLimit.toString()).div(10 ** mintDecimals);
109
+ const borrowWeightBps = BigNumber(config.borrowWeightBps.toString());
110
+ const depositLimit = new BigNumber(config.depositLimit.toString()).div(10 ** mintDecimals);
111
+ const borrowLimit = new BigNumber(config.borrowLimit.toString()).div(10 ** mintDecimals);
152
112
  const liquidationBonusBps = Number(config.liquidationBonusBps.toString());
153
113
  const maxLiquidationBonusBps = Number(config.maxLiquidationBonusBps.toString());
154
- const depositLimitUsd = new bignumber_js_1.default(config.depositLimitUsd.toString());
155
- const borrowLimitUsd = new bignumber_js_1.default(config.borrowLimitUsd.toString());
114
+ const depositLimitUsd = new BigNumber(config.depositLimitUsd.toString());
115
+ const borrowLimitUsd = new BigNumber(config.borrowLimitUsd.toString());
156
116
  const borrowFeeBps = Number(config.borrowFeeBps.toString());
157
117
  const spreadFeeBps = Number(config.spreadFeeBps.toString());
158
118
  const protocolLiquidationFeeBps = Number(config.protocolLiquidationFeeBps.toString());
@@ -161,9 +121,9 @@ const parseReserveConfig = (reserve) => {
161
121
  const closeAttributedBorrowLimitUsd = Number(config.closeAttributedBorrowLimitUsd.toString());
162
122
  // additionalFields
163
123
  const interestRate = config.interestRateUtils.map((util, index) => ({
164
- id: (0, uuid_1.v4)(),
165
- utilPercent: new bignumber_js_1.default(util.toString()),
166
- aprPercent: new bignumber_js_1.default(config.interestRateAprs[index].toString()).div(100),
124
+ id: uuidv4(),
125
+ utilPercent: new BigNumber(util.toString()),
126
+ aprPercent: new BigNumber(config.interestRateAprs[index].toString()).div(100),
167
127
  }));
168
128
  return {
169
129
  $typeName,
@@ -187,13 +147,12 @@ const parseReserveConfig = (reserve) => {
187
147
  interestRate,
188
148
  };
189
149
  };
190
- exports.parseReserveConfig = parseReserveConfig;
191
- const parsePoolRewardManager = (poolRewardManager, coinMetadataMap) => {
150
+ export const parsePoolRewardManager = (poolRewardManager, coinMetadataMap) => {
192
151
  const $typeName = poolRewardManager.$typeName;
193
152
  const id = poolRewardManager.id;
194
153
  const totalShares = poolRewardManager.totalShares;
195
154
  const poolRewards = poolRewardManager.poolRewards
196
- .map((pr, index) => (0, exports.parsePoolReward)(pr, index, coinMetadataMap))
155
+ .map((pr, index) => parsePoolReward(pr, index, coinMetadataMap))
197
156
  .filter(Boolean);
198
157
  const lastUpdateTimeMs = poolRewardManager.lastUpdateTimeMs;
199
158
  return {
@@ -204,24 +163,23 @@ const parsePoolRewardManager = (poolRewardManager, coinMetadataMap) => {
204
163
  lastUpdateTimeMs,
205
164
  };
206
165
  };
207
- exports.parsePoolRewardManager = parsePoolRewardManager;
208
- const parsePoolReward = (poolReward, rewardIndex, coinMetadataMap) => {
166
+ export const parsePoolReward = (poolReward, rewardIndex, coinMetadataMap) => {
209
167
  if (!poolReward)
210
168
  return null;
211
169
  const $typeName = poolReward.$typeName;
212
170
  const id = poolReward.id;
213
171
  const poolRewardManagerId = poolReward.poolRewardManagerId;
214
- const coinType = (0, utils_1.normalizeStructTag)(poolReward.coinType.name);
172
+ const coinType = normalizeStructTag(poolReward.coinType.name);
215
173
  const coinMetadata = coinMetadataMap[coinType];
216
174
  const mintDecimals = coinMetadata.decimals;
217
175
  const startTimeMs = Number(poolReward.startTimeMs);
218
176
  const endTimeMs = Number(poolReward.endTimeMs);
219
- const totalRewards = new bignumber_js_1.default(poolReward.totalRewards.toString()).div(10 ** coinMetadata.decimals);
220
- const allocatedRewards = new bignumber_js_1.default(poolReward.allocatedRewards.value.toString())
221
- .div(constants_1.WAD)
177
+ const totalRewards = new BigNumber(poolReward.totalRewards.toString()).div(10 ** coinMetadata.decimals);
178
+ const allocatedRewards = new BigNumber(poolReward.allocatedRewards.value.toString())
179
+ .div(WAD)
222
180
  .div(10 ** coinMetadata.decimals);
223
- const cumulativeRewardsPerShare = new bignumber_js_1.default(poolReward.cumulativeRewardsPerShare.value.toString())
224
- .div(constants_1.WAD)
181
+ const cumulativeRewardsPerShare = new BigNumber(poolReward.cumulativeRewardsPerShare.value.toString())
182
+ .div(WAD)
225
183
  .div(10 ** coinMetadata.decimals);
226
184
  const numUserRewardManagers = poolReward.numUserRewardManagers;
227
185
  // additionalFields
@@ -243,4 +201,3 @@ const parsePoolReward = (poolReward, rewardIndex, coinMetadataMap) => {
243
201
  mintDecimals,
244
202
  };
245
203
  };
246
- exports.parsePoolReward = parsePoolReward;
package/strategies.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AggregatorClient as CetusSdk } from "@cetusprotocol/aggregator-sdk";
2
- import { CoinMetadata, DevInspectResults, SuiClient } from "@mysten/sui/client";
2
+ import { CoinMetadata, DevInspectResults, SuiJsonRpcClient } from "@mysten/sui/jsonRpc";
3
3
  import { Transaction, TransactionArgument, TransactionObjectInput } from "@mysten/sui/transactions";
4
4
  import BigNumber from "bignumber.js";
5
5
  import { LstClient } from "@suilend/springsui-sdk";
@@ -152,7 +152,7 @@ export type StrategyLstMap = Record<string, {
152
152
  suiToLstExchangeRate: BigNumber;
153
153
  lstToSuiExchangeRate: BigNumber;
154
154
  }>;
155
- export declare const fetchStrategyLstMap: (suiClient: SuiClient) => Promise<StrategyLstMap | undefined>;
155
+ export declare const fetchStrategyLstMap: (suiClient: SuiJsonRpcClient) => Promise<StrategyLstMap | undefined>;
156
156
  export declare const getStrategyLstMintFee: (lstMap: StrategyLstMap, lstCoinType: string, suiAmount: BigNumber) => BigNumber;
157
157
  export declare const getStrategyLstRedeemFee: (lstMap: StrategyLstMap, lstCoinType: string, lstAmount: BigNumber) => BigNumber;
158
158
  export declare const STRATEGY_TYPE_EXPOSURE_MAP: Record<StrategyType, {
@@ -303,50 +303,50 @@ export declare const getStrategyAprPercent: (reserveMap: Record<string, ParsedRe
303
303
  }>, rewardMap: RewardMap, lstMap: StrategyLstMap, strategyType: StrategyType, obligation?: ParsedObligation, exposure?: BigNumber) => BigNumber;
304
304
  export declare const getStrategyHealthPercent: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, obligation?: ParsedObligation, exposure?: BigNumber) => BigNumber;
305
305
  export declare const getStrategyLiquidationPrice: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, obligation?: ParsedObligation, exposure?: BigNumber) => BigNumber | null;
306
- export declare const strategyLoopToExposureTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string | undefined, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, _targetBorrowedAmount: BigNumber | undefined, _targetExposure: BigNumber | undefined, // Must be defined if _targetBorrowedAmount is undefined
306
+ export declare const strategyLoopToExposureTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiJsonRpcClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string | undefined, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, _targetBorrowedAmount: BigNumber | undefined, _targetExposure: BigNumber | undefined, // Must be defined if _targetBorrowedAmount is undefined
307
307
  transaction: Transaction) => Promise<{
308
308
  deposits: StrategyDeposit[];
309
309
  borrowedAmount: BigNumber;
310
310
  transaction: Transaction;
311
311
  }>;
312
- export declare const strategyUnloopToExposureTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, _targetBorrowedAmount: BigNumber | undefined, _targetExposure: BigNumber | undefined, // Must be defined if _targetBorrowedAmount is undefined
312
+ export declare const strategyUnloopToExposureTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiJsonRpcClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, _targetBorrowedAmount: BigNumber | undefined, _targetExposure: BigNumber | undefined, // Must be defined if _targetBorrowedAmount is undefined
313
313
  transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
314
314
  deposits: StrategyDeposit[];
315
315
  borrowedAmount: BigNumber;
316
316
  transaction: Transaction;
317
317
  }>;
318
- export declare const strategyDepositTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string | undefined, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, deposit: StrategyDeposit, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
318
+ export declare const strategyDepositTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiJsonRpcClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string | undefined, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, deposit: StrategyDeposit, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
319
319
  deposits: StrategyDeposit[];
320
320
  borrowedAmount: BigNumber;
321
321
  transaction: Transaction;
322
322
  }>;
323
- export declare const strategyDepositAndLoopToExposureTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string | undefined, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, deposit: StrategyDeposit, targetExposure: BigNumber, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
323
+ export declare const strategyDepositAndLoopToExposureTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiJsonRpcClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string | undefined, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, deposit: StrategyDeposit, targetExposure: BigNumber, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
324
324
  deposits: StrategyDeposit[];
325
325
  borrowedAmount: BigNumber;
326
326
  transaction: Transaction;
327
327
  }>;
328
- export declare const strategyWithdrawTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, withdraw: StrategyWithdraw, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>, returnWithdrawnCoin?: boolean) => Promise<{
328
+ export declare const strategyWithdrawTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiJsonRpcClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, withdraw: StrategyWithdraw, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>, returnWithdrawnCoin?: boolean) => Promise<{
329
329
  deposits: StrategyDeposit[];
330
330
  borrowedAmount: BigNumber;
331
331
  transaction: Transaction;
332
332
  withdrawnCoin?: TransactionArgument;
333
333
  }>;
334
- export declare const strategyMaxWithdrawTx: (reserveMap: Record<string, ParsedReserve>, rewardPriceMap: Record<string, BigNumber | undefined>, rewardsMap: RewardsMap, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, withdrawCoinType: string, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
334
+ export declare const strategyMaxWithdrawTx: (reserveMap: Record<string, ParsedReserve>, rewardPriceMap: Record<string, BigNumber | undefined>, rewardsMap: RewardsMap, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiJsonRpcClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, withdrawCoinType: string, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
335
335
  deposits: StrategyDeposit[];
336
336
  borrowedAmount: BigNumber;
337
337
  transaction: Transaction;
338
338
  }>;
339
- export declare const strategyAdjustRepayTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, flashLoanBorrowedAmount: BigNumber, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
339
+ export declare const strategyAdjustRepayTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiJsonRpcClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, flashLoanBorrowedAmount: BigNumber, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
340
340
  deposits: StrategyDeposit[];
341
341
  borrowedAmount: BigNumber;
342
342
  transaction: Transaction;
343
343
  }>;
344
- export declare const strategyDepositAdjustWithdrawTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, flashLoanBorrowedAmount: BigNumber, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
344
+ export declare const strategyDepositAdjustWithdrawTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiJsonRpcClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, flashLoanBorrowedAmount: BigNumber, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
345
345
  deposits: StrategyDeposit[];
346
346
  borrowedAmount: BigNumber;
347
347
  transaction: Transaction;
348
348
  }>;
349
- export declare const strategyAdjustTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligation: ParsedObligation, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, targetExposure: BigNumber, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
349
+ export declare const strategyAdjustTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiJsonRpcClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligation: ParsedObligation, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, targetExposure: BigNumber, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
350
350
  deposits: StrategyDeposit[];
351
351
  borrowedAmount: BigNumber;
352
352
  transaction: Transaction;