@suilend/sdk 12.7.0 → 13.0.0-next.g803bba0

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 (84) hide show
  1. package/_generated/_dependencies/pyth-2/price-identifier/structs.d.ts +46 -0
  2. package/_generated/_dependencies/{source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e → pyth-2}/price-identifier/structs.js +45 -25
  3. package/_generated/_dependencies/std/ascii/structs.d.ts +100 -0
  4. package/_generated/_dependencies/{source/0x1 → std}/ascii/structs.js +153 -103
  5. package/_generated/_dependencies/{source/0x1 → std}/option/structs.d.ts +29 -21
  6. package/_generated/_dependencies/std/option/structs.js +155 -0
  7. package/_generated/_dependencies/std/type-name/structs.d.ts +65 -0
  8. package/_generated/_dependencies/{source/0x1 → std}/type-name/structs.js +49 -22
  9. package/_generated/_dependencies/sui/bag/structs.d.ts +75 -0
  10. package/_generated/_dependencies/sui/bag/structs.js +154 -0
  11. package/_generated/_dependencies/{source/0x2 → sui}/balance/structs.d.ts +80 -60
  12. package/_generated/_dependencies/sui/balance/structs.js +306 -0
  13. package/_generated/_dependencies/sui/object/structs.d.ts +104 -0
  14. package/_generated/_dependencies/{source/0x2 → sui}/object/structs.js +98 -46
  15. package/_generated/_dependencies/{source/0x2 → sui}/object-table/structs.d.ts +37 -30
  16. package/_generated/_dependencies/sui/object-table/structs.js +164 -0
  17. package/_generated/_envs/index.d.ts +3 -0
  18. package/_generated/_envs/index.js +18 -0
  19. package/_generated/_envs/mainnet.d.ts +2 -0
  20. package/_generated/_envs/mainnet.js +490 -0
  21. package/_generated/_framework/env.d.ts +137 -0
  22. package/_generated/_framework/env.js +261 -0
  23. package/_generated/_framework/reified.d.ts +68 -36
  24. package/_generated/_framework/reified.js +110 -98
  25. package/_generated/_framework/util.d.ts +4 -4
  26. package/_generated/_framework/util.js +82 -79
  27. package/_generated/_framework/vector.d.ts +11 -9
  28. package/_generated/_framework/vector.js +10 -10
  29. package/_generated/suilend/cell/structs.d.ts +24 -22
  30. package/_generated/suilend/cell/structs.js +68 -24
  31. package/_generated/suilend/decimal/structs.d.ts +28 -24
  32. package/_generated/suilend/decimal/structs.js +45 -24
  33. package/_generated/suilend/index.d.ts +5 -6
  34. package/_generated/suilend/index.js +10 -19
  35. package/_generated/suilend/lending-market/functions.d.ts +1123 -149
  36. package/_generated/suilend/lending-market/functions.js +1121 -207
  37. package/_generated/suilend/lending-market/structs.d.ts +985 -1290
  38. package/_generated/suilend/lending-market/structs.js +2482 -1282
  39. package/_generated/suilend/lending-market-registry/functions.d.ts +32 -3
  40. package/_generated/suilend/lending-market-registry/functions.js +30 -6
  41. package/_generated/suilend/liquidity-mining/structs.d.ts +200 -333
  42. package/_generated/suilend/liquidity-mining/structs.js +449 -319
  43. package/_generated/suilend/obligation/structs.d.ts +406 -918
  44. package/_generated/suilend/obligation/structs.js +786 -596
  45. package/_generated/suilend/rate-limiter/functions.d.ts +134 -15
  46. package/_generated/suilend/rate-limiter/functions.js +139 -21
  47. package/_generated/suilend/rate-limiter/structs.d.ts +72 -80
  48. package/_generated/suilend/rate-limiter/structs.js +98 -48
  49. package/_generated/suilend/reserve/structs.d.ts +611 -904
  50. package/_generated/suilend/reserve/structs.js +1528 -736
  51. package/_generated/suilend/reserve-config/functions.d.ts +718 -96
  52. package/_generated/suilend/reserve-config/functions.js +751 -157
  53. package/_generated/suilend/reserve-config/structs.d.ts +148 -163
  54. package/_generated/suilend/reserve-config/structs.js +260 -94
  55. package/client.d.ts +2 -2
  56. package/client.js +22 -39
  57. package/lib/initialize.d.ts +76 -76
  58. package/lib/initialize.js +10 -10
  59. package/lib/proCompatible.js +5 -5
  60. package/package.json +1 -1
  61. package/parsers/lendingMarket.d.ts +9 -9
  62. package/parsers/obligation.d.ts +14 -14
  63. package/parsers/obligation.js +4 -4
  64. package/parsers/rateLimiter.d.ts +1 -1
  65. package/parsers/reserve.d.ts +12 -12
  66. package/parsers/reserve.js +2 -2
  67. package/strategies.d.ts +14 -14
  68. package/utils/simulate.d.ts +1 -1
  69. package/utils/simulate.js +5 -5
  70. package/_generated/_dependencies/source/0x1/ascii/structs.d.ts +0 -84
  71. package/_generated/_dependencies/source/0x1/index.d.ts +0 -3
  72. package/_generated/_dependencies/source/0x1/index.js +0 -3
  73. package/_generated/_dependencies/source/0x1/option/structs.js +0 -110
  74. package/_generated/_dependencies/source/0x1/type-name/structs.d.ts +0 -47
  75. package/_generated/_dependencies/source/0x2/bag/structs.d.ts +0 -52
  76. package/_generated/_dependencies/source/0x2/bag/structs.js +0 -113
  77. package/_generated/_dependencies/source/0x2/balance/structs.js +0 -210
  78. package/_generated/_dependencies/source/0x2/index.d.ts +0 -3
  79. package/_generated/_dependencies/source/0x2/index.js +0 -3
  80. package/_generated/_dependencies/source/0x2/object/structs.d.ts +0 -82
  81. package/_generated/_dependencies/source/0x2/object-table/structs.js +0 -115
  82. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.d.ts +0 -4
  83. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.js +0 -4
  84. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.d.ts +0 -46
@@ -1,9 +1,9 @@
1
- import { PUBLISHED_AT } from "../_generated/suilend/index.js";
1
+ import { getPublishedAt } from "../_generated/_envs/index.js";
2
2
  import { obj, pure } from "../_generated/_framework/util.js";
3
3
  /** `priceInfo` must come from the upgraded Pyth package; a legacy one aborts. */
4
4
  export function refreshReservePriceProCompatible(tx, typeArg, args) {
5
5
  return tx.moveCall({
6
- target: `${PUBLISHED_AT}::lending_market::refresh_reserve_price_pro_compatible`,
6
+ target: `${getPublishedAt("suilend")}::lending_market::refresh_reserve_price_pro_compatible`,
7
7
  typeArguments: [typeArg],
8
8
  arguments: [
9
9
  obj(tx, args.lendingMarket),
@@ -47,7 +47,7 @@ export function priceInfoPublishTime(json, priceInfoObjectId) {
47
47
  */
48
48
  export function addReserveProCompatible(tx, typeArgs, args) {
49
49
  return tx.moveCall({
50
- target: `${PUBLISHED_AT}::lending_market::add_reserve_pro_compatible`,
50
+ target: `${getPublishedAt("suilend")}::lending_market::add_reserve_pro_compatible`,
51
51
  typeArguments: typeArgs,
52
52
  arguments: [
53
53
  obj(tx, args.lendingMarketOwnerCap),
@@ -62,7 +62,7 @@ export function addReserveProCompatible(tx, typeArgs, args) {
62
62
  /** The `Currency`-based form; same shape, different metadata argument. */
63
63
  export function addReserveV2ProCompatible(tx, typeArgs, args) {
64
64
  return tx.moveCall({
65
- target: `${PUBLISHED_AT}::lending_market::add_reserve_v2_pro_compatible`,
65
+ target: `${getPublishedAt("suilend")}::lending_market::add_reserve_v2_pro_compatible`,
66
66
  typeArguments: typeArgs,
67
67
  arguments: [
68
68
  obj(tx, args.lendingMarketOwnerCap),
@@ -76,7 +76,7 @@ export function addReserveV2ProCompatible(tx, typeArgs, args) {
76
76
  }
77
77
  export function changeReservePriceFeedProCompatible(tx, typeArgs, args) {
78
78
  return tx.moveCall({
79
- target: `${PUBLISHED_AT}::lending_market::change_reserve_price_feed_pro_compatible`,
79
+ target: `${getPublishedAt("suilend")}::lending_market::change_reserve_price_feed_pro_compatible`,
80
80
  typeArguments: typeArgs,
81
81
  arguments: [
82
82
  obj(tx, args.lendingMarketOwnerCap),
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@suilend/sdk","version":"12.7.0","private":false,"description":"A TypeScript SDK for interacting with the Suilend program","author":"Suilend","license":"MIT","main":"./index.js","exports":{".":"./index.js","./client":"./client.js","./mmt":"./mmt.js","./strategies":"./strategies.js","./api/events":"./api/events.js","./api":"./api/index.js","./lib/constants":"./lib/constants.js","./lib":"./lib/index.js","./lib/initialize":"./lib/initialize.js","./lib/liquidityMining":"./lib/liquidityMining.js","./lib/proCompatible":"./lib/proCompatible.js","./lib/pyth":"./lib/pyth.js","./lib/strategyOwnerCap":"./lib/strategyOwnerCap.js","./lib/transactions":"./lib/transactions.js","./lib/types":"./lib/types.js","./margin":"./margin/index.js","./parsers/apiReserveAssetDataEvent":"./parsers/apiReserveAssetDataEvent.js","./parsers":"./parsers/index.js","./parsers/lendingMarket":"./parsers/lendingMarket.js","./parsers/obligation":"./parsers/obligation.js","./parsers/rateLimiter":"./parsers/rateLimiter.js","./parsers/reserve":"./parsers/reserve.js","./swap":"./swap/index.js","./swap/quote":"./swap/quote.js","./swap/transaction":"./swap/transaction.js","./utils/events":"./utils/events.js","./utils/feedId":"./utils/feedId.js","./utils":"./utils/index.js","./utils/obligation":"./utils/obligation.js","./utils/simulate":"./utils/simulate.js","./_generated/_framework/reified":"./_generated/_framework/reified.js","./_generated/_framework/util":"./_generated/_framework/util.js","./_generated/_framework/vector":"./_generated/_framework/vector.js","./_generated/suilend":"./_generated/suilend/index.js","./margin/margin/admin_cap":"./margin/margin/admin_cap.js","./margin/margin/market":"./margin/margin/market.js","./margin/margin/permissions":"./margin/margin/permissions.js","./margin/margin/position":"./margin/margin/position.js","./margin/margin/router":"./margin/margin/router.js","./margin/margin/version":"./margin/margin/version.js","./margin/utils":"./margin/utils/index.js","./_generated/suilend/cell/structs":"./_generated/suilend/cell/structs.js","./_generated/suilend/decimal/structs":"./_generated/suilend/decimal/structs.js","./_generated/suilend/lending-market/functions":"./_generated/suilend/lending-market/functions.js","./_generated/suilend/lending-market/structs":"./_generated/suilend/lending-market/structs.js","./_generated/suilend/lending-market-registry/functions":"./_generated/suilend/lending-market-registry/functions.js","./_generated/suilend/liquidity-mining/structs":"./_generated/suilend/liquidity-mining/structs.js","./_generated/suilend/obligation/structs":"./_generated/suilend/obligation/structs.js","./_generated/suilend/rate-limiter/functions":"./_generated/suilend/rate-limiter/functions.js","./_generated/suilend/rate-limiter/structs":"./_generated/suilend/rate-limiter/structs.js","./_generated/suilend/reserve/structs":"./_generated/suilend/reserve/structs.js","./_generated/suilend/reserve-config/functions":"./_generated/suilend/reserve-config/functions.js","./_generated/suilend/reserve-config/structs":"./_generated/suilend/reserve-config/structs.js","./_generated/_dependencies/source/0x1":"./_generated/_dependencies/source/0x1/index.js","./_generated/_dependencies/source/0x2":"./_generated/_dependencies/source/0x2/index.js","./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e":"./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.js","./margin/margin/deps/std/type_name":"./margin/margin/deps/std/type_name.js","./margin/margin/deps/sui/vec_set":"./margin/margin/deps/sui/vec_set.js","./margin/margin/deps/suilend/lending_market":"./margin/margin/deps/suilend/lending_market.js","./_generated/_dependencies/source/0x1/ascii/structs":"./_generated/_dependencies/source/0x1/ascii/structs.js","./_generated/_dependencies/source/0x1/option/structs":"./_generated/_dependencies/source/0x1/option/structs.js","./_generated/_dependencies/source/0x1/type-name/structs":"./_generated/_dependencies/source/0x1/type-name/structs.js","./_generated/_dependencies/source/0x2/bag/structs":"./_generated/_dependencies/source/0x2/bag/structs.js","./_generated/_dependencies/source/0x2/balance/structs":"./_generated/_dependencies/source/0x2/balance/structs.js","./_generated/_dependencies/source/0x2/object/structs":"./_generated/_dependencies/source/0x2/object/structs.js","./_generated/_dependencies/source/0x2/object-table/structs":"./_generated/_dependencies/source/0x2/object-table/structs.js","./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs":"./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.js"},"types":"./index.d.ts","scripts":{"build":"rm -rf ./dist && tsc && node ./fix-esm-imports.js","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","test":"vitest run","lint:ci":"yarn run typecheck","prettier":"prettier --write src/ tests/","release":"yarn run build && node ./release.js && cd ./dist && npm publish --access public"},"repository":{"type":"git","url":"git+https://github.com/fireflyprotocol/lending-mono.git","directory":"ts/sdks/sdk"},"dependencies":{"@bluefin-exchange/bluefin7k-aggregator-sdk":"7.6.3","@cetusprotocol/aggregator-sdk":"1.7.3","@flowx-finance/sdk":"2.1.0","@pythnetwork/hermes-client":"3.1.0","@pythnetwork/pyth-sui-js":"4.0.0","@suilend/springsui-sdk":"4.1.0","bignumber.js":"11.1.5","bn.js":"5.2.5","crypto-js":"4.2.0","lodash":"4.18.1","p-limit":"7.3.3","uuid":"14.0.2"},"devDependencies":{"@mysten/bcs":"2.1.1","@mysten/sui":"2.29.0","@suilend/sui-core":"2.1.0","@tsconfig/recommended":"1.0.13","@types/bn.js":"5.2.0","@types/lodash":"4.17.25","@types/node":"26.5.1","fast-check":"4.10.2","prettier":"3.9.9","ts-node":"10.9.2","typescript":"6.0.3","vite":"8.3.0","vitest":"5.0.1"},"peerDependencies":{"@mysten/bcs":"^2.1.1","@mysten/sui":">=2.22.1 <3","@suilend/sui-core":"^2.0.1"},"type":"module"}
1
+ {"name":"@suilend/sdk","version":"13.0.0-next.g803bba0","private":false,"description":"A TypeScript SDK for interacting with the Suilend program","author":"Suilend","license":"MIT","main":"./index.js","exports":{".":"./index.js","./client":"./client.js","./mmt":"./mmt.js","./strategies":"./strategies.js","./api/events":"./api/events.js","./api":"./api/index.js","./lib/constants":"./lib/constants.js","./lib":"./lib/index.js","./lib/initialize":"./lib/initialize.js","./lib/liquidityMining":"./lib/liquidityMining.js","./lib/proCompatible":"./lib/proCompatible.js","./lib/pyth":"./lib/pyth.js","./lib/strategyOwnerCap":"./lib/strategyOwnerCap.js","./lib/transactions":"./lib/transactions.js","./lib/types":"./lib/types.js","./margin":"./margin/index.js","./parsers/apiReserveAssetDataEvent":"./parsers/apiReserveAssetDataEvent.js","./parsers":"./parsers/index.js","./parsers/lendingMarket":"./parsers/lendingMarket.js","./parsers/obligation":"./parsers/obligation.js","./parsers/rateLimiter":"./parsers/rateLimiter.js","./parsers/reserve":"./parsers/reserve.js","./swap":"./swap/index.js","./swap/quote":"./swap/quote.js","./swap/transaction":"./swap/transaction.js","./utils/events":"./utils/events.js","./utils/feedId":"./utils/feedId.js","./utils":"./utils/index.js","./utils/obligation":"./utils/obligation.js","./utils/simulate":"./utils/simulate.js","./_generated/_envs":"./_generated/_envs/index.js","./_generated/_envs/mainnet":"./_generated/_envs/mainnet.js","./_generated/_framework/env":"./_generated/_framework/env.js","./_generated/_framework/reified":"./_generated/_framework/reified.js","./_generated/_framework/util":"./_generated/_framework/util.js","./_generated/_framework/vector":"./_generated/_framework/vector.js","./_generated/suilend":"./_generated/suilend/index.js","./margin/margin/admin_cap":"./margin/margin/admin_cap.js","./margin/margin/market":"./margin/margin/market.js","./margin/margin/permissions":"./margin/margin/permissions.js","./margin/margin/position":"./margin/margin/position.js","./margin/margin/router":"./margin/margin/router.js","./margin/margin/version":"./margin/margin/version.js","./margin/utils":"./margin/utils/index.js","./_generated/suilend/cell/structs":"./_generated/suilend/cell/structs.js","./_generated/suilend/decimal/structs":"./_generated/suilend/decimal/structs.js","./_generated/suilend/lending-market/functions":"./_generated/suilend/lending-market/functions.js","./_generated/suilend/lending-market/structs":"./_generated/suilend/lending-market/structs.js","./_generated/suilend/lending-market-registry/functions":"./_generated/suilend/lending-market-registry/functions.js","./_generated/suilend/liquidity-mining/structs":"./_generated/suilend/liquidity-mining/structs.js","./_generated/suilend/obligation/structs":"./_generated/suilend/obligation/structs.js","./_generated/suilend/rate-limiter/functions":"./_generated/suilend/rate-limiter/functions.js","./_generated/suilend/rate-limiter/structs":"./_generated/suilend/rate-limiter/structs.js","./_generated/suilend/reserve/structs":"./_generated/suilend/reserve/structs.js","./_generated/suilend/reserve-config/functions":"./_generated/suilend/reserve-config/functions.js","./_generated/suilend/reserve-config/structs":"./_generated/suilend/reserve-config/structs.js","./_generated/_dependencies/pyth-2/price-identifier/structs":"./_generated/_dependencies/pyth-2/price-identifier/structs.js","./_generated/_dependencies/std/ascii/structs":"./_generated/_dependencies/std/ascii/structs.js","./_generated/_dependencies/std/option/structs":"./_generated/_dependencies/std/option/structs.js","./_generated/_dependencies/std/type-name/structs":"./_generated/_dependencies/std/type-name/structs.js","./_generated/_dependencies/sui/bag/structs":"./_generated/_dependencies/sui/bag/structs.js","./_generated/_dependencies/sui/balance/structs":"./_generated/_dependencies/sui/balance/structs.js","./_generated/_dependencies/sui/object/structs":"./_generated/_dependencies/sui/object/structs.js","./_generated/_dependencies/sui/object-table/structs":"./_generated/_dependencies/sui/object-table/structs.js","./margin/margin/deps/std/type_name":"./margin/margin/deps/std/type_name.js","./margin/margin/deps/sui/vec_set":"./margin/margin/deps/sui/vec_set.js","./margin/margin/deps/suilend/lending_market":"./margin/margin/deps/suilend/lending_market.js"},"types":"./index.d.ts","scripts":{"codegen":"node ./codegen.js","codegen:install":"node ./install-codegen.js","build":"rm -rf ./dist && tsc && node ./fix-esm-imports.js","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","test":"vitest run","lint:ci":"yarn run typecheck","prettier":"prettier --write src/ tests/","release":"yarn run build && node ./release.js && cd ./dist && npm publish --access public"},"repository":{"type":"git","url":"git+https://github.com/fireflyprotocol/lending-mono.git","directory":"ts/sdks/sdk"},"dependencies":{"@bluefin-exchange/bluefin7k-aggregator-sdk":"7.6.3","@cetusprotocol/aggregator-sdk":"1.7.3","@flowx-finance/sdk":"2.1.0","@pythnetwork/hermes-client":"3.1.0","@pythnetwork/pyth-sui-js":"4.0.0","@suilend/springsui-sdk":"4.1.0","bignumber.js":"11.1.5","bn.js":"5.2.5","crypto-js":"4.2.0","lodash":"4.18.1","p-limit":"7.3.3","uuid":"14.0.2"},"devDependencies":{"@mysten/bcs":"2.1.1","@mysten/sui":"2.29.0","@suilend/sui-core":"2.1.0","@tsconfig/recommended":"1.0.13","@types/bn.js":"5.2.0","@types/lodash":"4.17.25","@types/node":"26.5.1","fast-check":"4.10.2","prettier":"3.9.9","ts-node":"10.9.2","typescript":"6.0.3","vite":"8.3.0","vitest":"5.0.1"},"peerDependencies":{"@mysten/bcs":"^2.1.1","@mysten/sui":">=2.22.1 <3","@suilend/sui-core":"^2.0.1"},"type":"module"}
@@ -8,7 +8,7 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
8
8
  version: bigint;
9
9
  reserves: {
10
10
  config: {
11
- $typeName: string;
11
+ $typeName: `${string}::reserve_config::ReserveConfig`;
12
12
  openLtvPct: number;
13
13
  closeLtvPct: number;
14
14
  maxCloseLtvPct: number;
@@ -25,14 +25,14 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
25
25
  isolated: boolean;
26
26
  openAttributedBorrowLimitUsd: number;
27
27
  closeAttributedBorrowLimitUsd: number;
28
- additionalFields: import("../_generated/_dependencies/source/0x2/bag/structs").Bag;
28
+ additionalFields: import("../_generated/_dependencies/sui/bag/structs").Bag;
29
29
  interestRate: {
30
30
  id: string;
31
31
  utilPercent: BigNumber;
32
32
  aprPercent: BigNumber;
33
33
  }[];
34
34
  };
35
- $typeName: string;
35
+ $typeName: `${string}::reserve::Reserve`;
36
36
  id: string;
37
37
  arrayIndex: bigint;
38
38
  coinType: string;
@@ -51,11 +51,11 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
51
51
  unclaimedSpreadFees: BigNumber;
52
52
  attributedBorrowValue: BigNumber;
53
53
  depositsPoolRewardManager: {
54
- $typeName: string;
54
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
55
55
  id: string;
56
56
  totalShares: bigint;
57
57
  poolRewards: {
58
- $typeName: string;
58
+ $typeName: `${string}::liquidity_mining::PoolReward`;
59
59
  id: string;
60
60
  poolRewardManagerId: string;
61
61
  coinType: string;
@@ -72,11 +72,11 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
72
72
  lastUpdateTimeMs: bigint;
73
73
  };
74
74
  borrowsPoolRewardManager: {
75
- $typeName: string;
75
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
76
76
  id: string;
77
77
  totalShares: bigint;
78
78
  poolRewards: {
79
- $typeName: string;
79
+ $typeName: `${string}::liquidity_mining::PoolReward`;
80
80
  id: string;
81
81
  poolRewardManagerId: string;
82
82
  coinType: string;
@@ -115,13 +115,13 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
115
115
  description: string;
116
116
  totalDeposits: BigNumber;
117
117
  }[];
118
- obligations: import("../_generated/_dependencies/source/0x2/object-table/structs").ObjectTable<"0x2::object::ID", `0x1f54a9a2d71799553197e9ea24557797c6398d6a65f2d4d3818c9304b75d5e21::obligation::Obligation<${string}>` | `0xf95b06141ed4a174f239417323bde3f209b972f5930d8521ea38a52aff3a6ddf::obligation::Obligation<${string}>`>;
118
+ obligations: import("../_generated/_dependencies/sui/object-table/structs").ObjectTable<"0x2::object::ID", `${string}::obligation::Obligation<${string}>`>;
119
119
  rateLimiter: {
120
120
  config: {
121
121
  windowDuration: bigint;
122
122
  maxOutflow: bigint;
123
123
  };
124
- $typeName: string;
124
+ $typeName: `${string}::rate_limiter::RateLimiter`;
125
125
  prevQty: bigint;
126
126
  windowStart: bigint;
127
127
  curQty: bigint;
@@ -28,7 +28,7 @@ export declare const parseObligation: (obligation: Obligation<string>, parsedRes
28
28
  depositedCtokenAmount: BigNumber;
29
29
  reserve: {
30
30
  config: {
31
- $typeName: string;
31
+ $typeName: `${string}::reserve_config::ReserveConfig`;
32
32
  openLtvPct: number;
33
33
  closeLtvPct: number;
34
34
  maxCloseLtvPct: number;
@@ -45,14 +45,14 @@ export declare const parseObligation: (obligation: Obligation<string>, parsedRes
45
45
  isolated: boolean;
46
46
  openAttributedBorrowLimitUsd: number;
47
47
  closeAttributedBorrowLimitUsd: number;
48
- additionalFields: import("../_generated/_dependencies/source/0x2/bag/structs").Bag;
48
+ additionalFields: import("../_generated/_dependencies/sui/bag/structs").Bag;
49
49
  interestRate: {
50
50
  id: string;
51
51
  utilPercent: BigNumber;
52
52
  aprPercent: BigNumber;
53
53
  }[];
54
54
  };
55
- $typeName: string;
55
+ $typeName: `${string}::reserve::Reserve`;
56
56
  id: string;
57
57
  arrayIndex: bigint;
58
58
  coinType: string;
@@ -71,11 +71,11 @@ export declare const parseObligation: (obligation: Obligation<string>, parsedRes
71
71
  unclaimedSpreadFees: BigNumber;
72
72
  attributedBorrowValue: BigNumber;
73
73
  depositsPoolRewardManager: {
74
- $typeName: string;
74
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
75
75
  id: string;
76
76
  totalShares: bigint;
77
77
  poolRewards: {
78
- $typeName: string;
78
+ $typeName: `${string}::liquidity_mining::PoolReward`;
79
79
  id: string;
80
80
  poolRewardManagerId: string;
81
81
  coinType: string;
@@ -92,11 +92,11 @@ export declare const parseObligation: (obligation: Obligation<string>, parsedRes
92
92
  lastUpdateTimeMs: bigint;
93
93
  };
94
94
  borrowsPoolRewardManager: {
95
- $typeName: string;
95
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
96
96
  id: string;
97
97
  totalShares: bigint;
98
98
  poolRewards: {
99
- $typeName: string;
99
+ $typeName: `${string}::liquidity_mining::PoolReward`;
100
100
  id: string;
101
101
  poolRewardManagerId: string;
102
102
  coinType: string;
@@ -146,7 +146,7 @@ export declare const parseObligation: (obligation: Obligation<string>, parsedRes
146
146
  borrowedAmountUsd: BigNumber;
147
147
  reserve: {
148
148
  config: {
149
- $typeName: string;
149
+ $typeName: `${string}::reserve_config::ReserveConfig`;
150
150
  openLtvPct: number;
151
151
  closeLtvPct: number;
152
152
  maxCloseLtvPct: number;
@@ -163,14 +163,14 @@ export declare const parseObligation: (obligation: Obligation<string>, parsedRes
163
163
  isolated: boolean;
164
164
  openAttributedBorrowLimitUsd: number;
165
165
  closeAttributedBorrowLimitUsd: number;
166
- additionalFields: import("../_generated/_dependencies/source/0x2/bag/structs").Bag;
166
+ additionalFields: import("../_generated/_dependencies/sui/bag/structs").Bag;
167
167
  interestRate: {
168
168
  id: string;
169
169
  utilPercent: BigNumber;
170
170
  aprPercent: BigNumber;
171
171
  }[];
172
172
  };
173
- $typeName: string;
173
+ $typeName: `${string}::reserve::Reserve`;
174
174
  id: string;
175
175
  arrayIndex: bigint;
176
176
  coinType: string;
@@ -189,11 +189,11 @@ export declare const parseObligation: (obligation: Obligation<string>, parsedRes
189
189
  unclaimedSpreadFees: BigNumber;
190
190
  attributedBorrowValue: BigNumber;
191
191
  depositsPoolRewardManager: {
192
- $typeName: string;
192
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
193
193
  id: string;
194
194
  totalShares: bigint;
195
195
  poolRewards: {
196
- $typeName: string;
196
+ $typeName: `${string}::liquidity_mining::PoolReward`;
197
197
  id: string;
198
198
  poolRewardManagerId: string;
199
199
  coinType: string;
@@ -210,11 +210,11 @@ export declare const parseObligation: (obligation: Obligation<string>, parsedRes
210
210
  lastUpdateTimeMs: bigint;
211
211
  };
212
212
  borrowsPoolRewardManager: {
213
- $typeName: string;
213
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
214
214
  id: string;
215
215
  totalShares: bigint;
216
216
  poolRewards: {
217
- $typeName: string;
217
+ $typeName: `${string}::liquidity_mining::PoolReward`;
218
218
  id: string;
219
219
  poolRewardManagerId: string;
220
220
  coinType: string;
@@ -12,10 +12,10 @@ export const parseObligation = (obligation, parsedReserveMap, isStrategy) => {
12
12
  let depositPositionCount = 0;
13
13
  let borrowPositionCount = 0;
14
14
  const deposits = obligation.deposits.map((deposit) => {
15
- const coinType = normalizeStructTag(deposit.coinType.name);
15
+ const coinType = normalizeStructTag(deposit.coinType);
16
16
  const reserve = parsedReserveMap[coinType];
17
17
  if (!reserve)
18
- throw new Error(`Reserve with coinType ${deposit.coinType.name} not found`);
18
+ throw new Error(`Reserve with coinType ${deposit.coinType} not found`);
19
19
  depositPositionCount++;
20
20
  const depositedCtokenAmount = new BigNumber(deposit.depositedCtokenAmount.toString());
21
21
  const depositedAmount = depositedCtokenAmount
@@ -44,10 +44,10 @@ export const parseObligation = (obligation, parsedReserveMap, isStrategy) => {
44
44
  };
45
45
  });
46
46
  const borrows = obligation.borrows.map((borrow) => {
47
- const coinType = normalizeStructTag(borrow.coinType.name);
47
+ const coinType = normalizeStructTag(borrow.coinType);
48
48
  const reserve = parsedReserveMap[coinType];
49
49
  if (!reserve)
50
- throw new Error(`Reserve with coinType ${borrow.coinType.name} not found`);
50
+ throw new Error(`Reserve with coinType ${borrow.coinType} not found`);
51
51
  borrowPositionCount++;
52
52
  const cumulativeBorrowRate = new BigNumber(borrow.cumulativeBorrowRate.value.toString()).div(WAD);
53
53
  const borrowedAmountInitial = new BigNumber(borrow.borrowedAmount.value.toString())
@@ -7,7 +7,7 @@ export declare const parseRateLimiter: (rateLimiter: RateLimiter, nowS: number)
7
7
  windowDuration: bigint;
8
8
  maxOutflow: bigint;
9
9
  };
10
- $typeName: string;
10
+ $typeName: `${string}::rate_limiter::RateLimiter`;
11
11
  prevQty: bigint;
12
12
  windowStart: bigint;
13
13
  curQty: bigint;
@@ -8,7 +8,7 @@ export type ParsedPoolRewardManager = ReturnType<typeof parsePoolRewardManager>;
8
8
  export type ParsedPoolReward = NonNullable<ReturnType<typeof parsePoolReward>>;
9
9
  export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: Record<string, SuiClientTypes.CoinMetadata>) => {
10
10
  config: {
11
- $typeName: string;
11
+ $typeName: `${string}::reserve_config::ReserveConfig`;
12
12
  openLtvPct: number;
13
13
  closeLtvPct: number;
14
14
  maxCloseLtvPct: number;
@@ -25,14 +25,14 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
25
25
  isolated: boolean;
26
26
  openAttributedBorrowLimitUsd: number;
27
27
  closeAttributedBorrowLimitUsd: number;
28
- additionalFields: import("../_generated/_dependencies/source/0x2/bag/structs").Bag;
28
+ additionalFields: import("../_generated/_dependencies/sui/bag/structs").Bag;
29
29
  interestRate: {
30
30
  id: string;
31
31
  utilPercent: BigNumber;
32
32
  aprPercent: BigNumber;
33
33
  }[];
34
34
  };
35
- $typeName: string;
35
+ $typeName: `${string}::reserve::Reserve`;
36
36
  id: string;
37
37
  arrayIndex: bigint;
38
38
  coinType: string;
@@ -51,11 +51,11 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
51
51
  unclaimedSpreadFees: BigNumber;
52
52
  attributedBorrowValue: BigNumber;
53
53
  depositsPoolRewardManager: {
54
- $typeName: string;
54
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
55
55
  id: string;
56
56
  totalShares: bigint;
57
57
  poolRewards: {
58
- $typeName: string;
58
+ $typeName: `${string}::liquidity_mining::PoolReward`;
59
59
  id: string;
60
60
  poolRewardManagerId: string;
61
61
  coinType: string;
@@ -72,11 +72,11 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
72
72
  lastUpdateTimeMs: bigint;
73
73
  };
74
74
  borrowsPoolRewardManager: {
75
- $typeName: string;
75
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
76
76
  id: string;
77
77
  totalShares: bigint;
78
78
  poolRewards: {
79
- $typeName: string;
79
+ $typeName: `${string}::liquidity_mining::PoolReward`;
80
80
  id: string;
81
81
  poolRewardManagerId: string;
82
82
  coinType: string;
@@ -131,7 +131,7 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
131
131
  totalDeposits: BigNumber;
132
132
  };
133
133
  export declare const parseReserveConfig: (reserve: Reserve<string>) => {
134
- $typeName: string;
134
+ $typeName: `${string}::reserve_config::ReserveConfig`;
135
135
  openLtvPct: number;
136
136
  closeLtvPct: number;
137
137
  maxCloseLtvPct: number;
@@ -148,7 +148,7 @@ export declare const parseReserveConfig: (reserve: Reserve<string>) => {
148
148
  isolated: boolean;
149
149
  openAttributedBorrowLimitUsd: number;
150
150
  closeAttributedBorrowLimitUsd: number;
151
- additionalFields: import("../_generated/_dependencies/source/0x2/bag/structs").Bag;
151
+ additionalFields: import("../_generated/_dependencies/sui/bag/structs").Bag;
152
152
  interestRate: {
153
153
  id: string;
154
154
  utilPercent: BigNumber;
@@ -156,11 +156,11 @@ export declare const parseReserveConfig: (reserve: Reserve<string>) => {
156
156
  }[];
157
157
  };
158
158
  export declare const parsePoolRewardManager: (poolRewardManager: PoolRewardManager, coinMetadataMap: Record<string, SuiClientTypes.CoinMetadata>) => {
159
- $typeName: string;
159
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
160
160
  id: string;
161
161
  totalShares: bigint;
162
162
  poolRewards: {
163
- $typeName: string;
163
+ $typeName: `${string}::liquidity_mining::PoolReward`;
164
164
  id: string;
165
165
  poolRewardManagerId: string;
166
166
  coinType: string;
@@ -177,7 +177,7 @@ export declare const parsePoolRewardManager: (poolRewardManager: PoolRewardManag
177
177
  lastUpdateTimeMs: bigint;
178
178
  };
179
179
  export declare const parsePoolReward: (poolReward: PoolReward | null, rewardIndex: number, coinMetadataMap: Record<string, SuiClientTypes.CoinMetadata>) => {
180
- $typeName: string;
180
+ $typeName: `${string}::liquidity_mining::PoolReward`;
181
181
  id: string;
182
182
  poolRewardManagerId: string;
183
183
  coinType: string;
@@ -9,7 +9,7 @@ export const parseReserve = (reserve, coinMetadataMap) => {
9
9
  const $typeName = reserve.$typeName;
10
10
  const id = reserve.id;
11
11
  const arrayIndex = BigInt(reserve.arrayIndex);
12
- const coinType = normalizeStructTag(reserve.coinType.name);
12
+ const coinType = normalizeStructTag(reserve.coinType);
13
13
  const coinMetadata = coinMetadataMap[coinType];
14
14
  const mintDecimals = reserve.mintDecimals;
15
15
  const priceIdentifier = `0x${toHexString(reserve.priceIdentifier.bytes)}`;
@@ -174,7 +174,7 @@ export const parsePoolReward = (poolReward, rewardIndex, coinMetadataMap) => {
174
174
  const $typeName = poolReward.$typeName;
175
175
  const id = poolReward.id;
176
176
  const poolRewardManagerId = poolReward.poolRewardManagerId;
177
- const coinType = normalizeStructTag(poolReward.coinType.name);
177
+ const coinType = normalizeStructTag(poolReward.coinType);
178
178
  const coinMetadata = coinMetadataMap[coinType];
179
179
  const mintDecimals = coinMetadata.decimals;
180
180
  const startTimeMs = Number(poolReward.startTimeMs);
package/strategies.d.ts CHANGED
@@ -57,7 +57,7 @@ export declare const addOrInsertStrategyDeposit: (_deposits: StrategyDeposit[],
57
57
  export declare const hasStrategyPosition: (obligation: ParsedObligation) => boolean;
58
58
  export declare const getStrategySuiReserve: (reserveMap: Record<string, ParsedReserve>) => {
59
59
  config: {
60
- $typeName: string;
60
+ $typeName: `${string}::reserve_config::ReserveConfig`;
61
61
  openLtvPct: number;
62
62
  closeLtvPct: number;
63
63
  maxCloseLtvPct: number;
@@ -74,14 +74,14 @@ export declare const getStrategySuiReserve: (reserveMap: Record<string, ParsedRe
74
74
  isolated: boolean;
75
75
  openAttributedBorrowLimitUsd: number;
76
76
  closeAttributedBorrowLimitUsd: number;
77
- additionalFields: import("./_generated/_dependencies/source/0x2/bag/structs").Bag;
77
+ additionalFields: import("./_generated/_dependencies/sui/bag/structs").Bag;
78
78
  interestRate: {
79
79
  id: string;
80
80
  utilPercent: BigNumber;
81
81
  aprPercent: BigNumber;
82
82
  }[];
83
83
  };
84
- $typeName: string;
84
+ $typeName: `${string}::reserve::Reserve`;
85
85
  id: string;
86
86
  arrayIndex: bigint;
87
87
  coinType: string;
@@ -100,11 +100,11 @@ export declare const getStrategySuiReserve: (reserveMap: Record<string, ParsedRe
100
100
  unclaimedSpreadFees: BigNumber;
101
101
  attributedBorrowValue: BigNumber;
102
102
  depositsPoolRewardManager: {
103
- $typeName: string;
103
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
104
104
  id: string;
105
105
  totalShares: bigint;
106
106
  poolRewards: {
107
- $typeName: string;
107
+ $typeName: `${string}::liquidity_mining::PoolReward`;
108
108
  id: string;
109
109
  poolRewardManagerId: string;
110
110
  coinType: string;
@@ -121,11 +121,11 @@ export declare const getStrategySuiReserve: (reserveMap: Record<string, ParsedRe
121
121
  lastUpdateTimeMs: bigint;
122
122
  };
123
123
  borrowsPoolRewardManager: {
124
- $typeName: string;
124
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
125
125
  id: string;
126
126
  totalShares: bigint;
127
127
  poolRewards: {
128
- $typeName: string;
128
+ $typeName: `${string}::liquidity_mining::PoolReward`;
129
129
  id: string;
130
130
  poolRewardManagerId: string;
131
131
  coinType: string;
@@ -187,7 +187,7 @@ export declare const getStrategyDepositReserves: (reserveMap: Record<string, Par
187
187
  export declare const getStrategyBorrowReserve: (reserveMap: Record<string, ParsedReserve>, strategyType: StrategyType) => ParsedReserve;
188
188
  export declare const getStrategyDefaultCurrencyReserve: (reserveMap: Record<string, ParsedReserve>, strategyType: StrategyType) => {
189
189
  config: {
190
- $typeName: string;
190
+ $typeName: `${string}::reserve_config::ReserveConfig`;
191
191
  openLtvPct: number;
192
192
  closeLtvPct: number;
193
193
  maxCloseLtvPct: number;
@@ -204,14 +204,14 @@ export declare const getStrategyDefaultCurrencyReserve: (reserveMap: Record<stri
204
204
  isolated: boolean;
205
205
  openAttributedBorrowLimitUsd: number;
206
206
  closeAttributedBorrowLimitUsd: number;
207
- additionalFields: import("./_generated/_dependencies/source/0x2/bag/structs").Bag;
207
+ additionalFields: import("./_generated/_dependencies/sui/bag/structs").Bag;
208
208
  interestRate: {
209
209
  id: string;
210
210
  utilPercent: BigNumber;
211
211
  aprPercent: BigNumber;
212
212
  }[];
213
213
  };
214
- $typeName: string;
214
+ $typeName: `${string}::reserve::Reserve`;
215
215
  id: string;
216
216
  arrayIndex: bigint;
217
217
  coinType: string;
@@ -230,11 +230,11 @@ export declare const getStrategyDefaultCurrencyReserve: (reserveMap: Record<stri
230
230
  unclaimedSpreadFees: BigNumber;
231
231
  attributedBorrowValue: BigNumber;
232
232
  depositsPoolRewardManager: {
233
- $typeName: string;
233
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
234
234
  id: string;
235
235
  totalShares: bigint;
236
236
  poolRewards: {
237
- $typeName: string;
237
+ $typeName: `${string}::liquidity_mining::PoolReward`;
238
238
  id: string;
239
239
  poolRewardManagerId: string;
240
240
  coinType: string;
@@ -251,11 +251,11 @@ export declare const getStrategyDefaultCurrencyReserve: (reserveMap: Record<stri
251
251
  lastUpdateTimeMs: bigint;
252
252
  };
253
253
  borrowsPoolRewardManager: {
254
- $typeName: string;
254
+ $typeName: `${string}::liquidity_mining::PoolRewardManager`;
255
255
  id: string;
256
256
  totalShares: bigint;
257
257
  poolRewards: {
258
- $typeName: string;
258
+ $typeName: `${string}::liquidity_mining::PoolReward`;
259
259
  id: string;
260
260
  poolRewardManagerId: string;
261
261
  coinType: string;
@@ -164,7 +164,7 @@ export declare const compoundBorrowedAmount: (snapshotAmount: BigNumber, current
164
164
  */
165
165
  export declare const compoundDebt: (borrow: Borrow, reserve: Reserve<string>) => Borrow;
166
166
  export type ObligationHealthDepositInput = {
167
- /** Matches `reserve.coinType.name` (unprefixed struct tag) — same field `refreshObligation` compares deposits against. */
167
+ /** Matches `reserve.coinType` (unprefixed struct tag) — same field `refreshObligation` compares deposits against. */
168
168
  coinType: string;
169
169
  /** Raw ctoken unit count, i.e. `deposit.depositedCtokenAmount` as stored (Positions.quantity for a deposit row). */
170
170
  depositedCtokenAmount: BigNumber;
package/utils/simulate.js CHANGED
@@ -173,7 +173,7 @@ export const applyReservePriceFeeds = (reserves, priceFeeds) => {
173
173
  return reserves.map((reserve) => {
174
174
  const priceFeed = byId.get(reserveFeedId(reserve));
175
175
  if (!priceFeed)
176
- throw new Error(`Price feed not found for reserve ${reserve.coinType.name}`);
176
+ throw new Error(`Price feed not found for reserve ${reserve.coinType}`);
177
177
  return withFeedPrice(reserve, priceFeed);
178
178
  });
179
179
  };
@@ -260,7 +260,7 @@ export const applyReservePriceFeedsTolerant = (reserves, priceFeeds) => {
260
260
  // normalizeStructTag'd). The raw on-chain form never compares equal to
261
261
  // one of those keys — it lacks the `0x` prefix — so reporting it raw made
262
262
  // the cross-reference this field exists for silently never match.
263
- unpricedCoinTypes.push(normalizeStructTag(reserve.coinType.name));
263
+ unpricedCoinTypes.push(normalizeStructTag(reserve.coinType));
264
264
  return reserve;
265
265
  }
266
266
  return withFeedPrice(reserve, priceFeed);
@@ -320,7 +320,7 @@ export const updateUserRewardManager = (poolManager, userRewardManager, nowMs) =
320
320
  return updatedUserRewardManager;
321
321
  };
322
322
  export const findReserveOrThrow = (reserves, coinType) => {
323
- const reserve = reserves.find((r) => r.coinType.name === coinType);
323
+ const reserve = reserves.find((r) => r.coinType === coinType);
324
324
  if (!reserve) {
325
325
  throw new Error(`Unable to find reserve for coin type ${coinType}`);
326
326
  }
@@ -348,7 +348,7 @@ export function computeObligationRefresh(obligation, refreshedReserves, nowMs) {
348
348
  let unhealthyBorrowValueUsd = new BigNumber(0);
349
349
  const deposits = obligation.deposits.map((unrefreshedDeposit) => {
350
350
  const deposit = { ...unrefreshedDeposit };
351
- const reserve = findReserveOrThrow(refreshedReserves, deposit.coinType.name);
351
+ const reserve = findReserveOrThrow(refreshedReserves, deposit.coinType);
352
352
  const config = reserve.config.element;
353
353
  userRewardManagers[Number(deposit.userRewardManagerIndex)] =
354
354
  updateUserRewardManager(reserve.depositsPoolRewardManager, userRewardManagers[Number(deposit.userRewardManagerIndex)], nowMs);
@@ -364,7 +364,7 @@ export function computeObligationRefresh(obligation, refreshedReserves, nowMs) {
364
364
  let weightedBorrowedValueUsd = new BigNumber(0);
365
365
  let weightedBorrowedValueUpperBoundUsd = new BigNumber(0);
366
366
  const borrows = obligation.borrows.map((unrefreshedBorrow) => {
367
- const reserve = findReserveOrThrow(refreshedReserves, unrefreshedBorrow.coinType.name);
367
+ const reserve = findReserveOrThrow(refreshedReserves, unrefreshedBorrow.coinType);
368
368
  const config = reserve.config.element;
369
369
  // Exact BigNumber-compounded amount, computed once and reused below for
370
370
  // `borrow.borrowedAmount` and both market values. `compoundDebt` would