@gearbox-protocol/sdk 16.0.0-next.2 → 16.0.0-next.4

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 (55) hide show
  1. package/dist/cjs/dev/mode-parity/fieldDiff.js +1 -1
  2. package/dist/cjs/model/opportunities.schema.js +5 -5
  3. package/dist/cjs/sdk/chain/chains.js +1 -0
  4. package/dist/cjs/sdk/index.js +1 -0
  5. package/dist/cjs/sdk/market/MarketSuite.js +22 -20
  6. package/dist/cjs/sdk/market/credit/CreditSuite.js +24 -13
  7. package/dist/cjs/sdk/market/index.js +1 -0
  8. package/dist/cjs/sdk/market/math.js +10 -2
  9. package/dist/cjs/sdk/market/pool/PoolSuite.js +0 -6
  10. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +0 -7
  11. package/dist/cjs/sdk/market/pool/math.js +1 -1
  12. package/dist/esm/dev/AccountOpener.js +1 -1
  13. package/dist/esm/dev/mode-parity/fieldDiff.js +1 -1
  14. package/dist/esm/dev/withdrawalUtils.js +1 -1
  15. package/dist/esm/model/opportunities.schema.js +5 -5
  16. package/dist/esm/preview/simulate/simulatePoolOperation.js +1 -1
  17. package/dist/esm/preview/trace/extractTransfers.js +1 -1
  18. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +2 -2
  19. package/dist/esm/sdk/accounts/liquidations/LiquidationsService.js +1 -1
  20. package/dist/esm/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +1 -1
  21. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
  22. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
  23. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
  24. package/dist/esm/sdk/base/TokensMeta.js +3 -3
  25. package/dist/esm/sdk/chain/chains.js +1 -0
  26. package/dist/esm/sdk/chain/detectNetwork.js +1 -1
  27. package/dist/esm/sdk/core/createAddressProvider.js +1 -1
  28. package/dist/esm/sdk/index.js +2 -2
  29. package/dist/esm/sdk/market/MarketSuite.js +22 -20
  30. package/dist/esm/sdk/market/adapters/contracts/AccountMigratorAdapterContract.js +1 -1
  31. package/dist/esm/sdk/market/adapters/contracts/ERC4626AdapterContract.js +1 -1
  32. package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +1 -1
  33. package/dist/esm/sdk/market/credit/CreditSuite.js +25 -14
  34. package/dist/esm/sdk/market/index.js +2 -2
  35. package/dist/esm/sdk/market/math.js +10 -3
  36. package/dist/esm/sdk/market/pool/PoolSuite.js +0 -6
  37. package/dist/esm/sdk/market/pool/PoolV310Contract.js +1 -8
  38. package/dist/esm/sdk/market/pool/math.js +2 -2
  39. package/dist/esm/sdk/market/zapper/IETHZapperContract.js +1 -1
  40. package/dist/esm/sdk/market/zapper/ZapperContract.js +1 -1
  41. package/dist/esm/sdk/pools/PoolService.js +1 -1
  42. package/dist/esm/sdk/utils/viem/simulateWithPriceUpdates.js +1 -1
  43. package/dist/types/dev/mode-parity/fieldDiff.d.ts +3 -3
  44. package/dist/types/model/opportunities.d.ts +27 -30
  45. package/dist/types/model/opportunities.schema.d.ts +56 -64
  46. package/dist/types/model/primitives.d.ts +1 -1
  47. package/dist/types/sdk/index.d.ts +2 -2
  48. package/dist/types/sdk/market/MarketSuite.d.ts +8 -5
  49. package/dist/types/sdk/market/credit/CreditSuite.d.ts +0 -7
  50. package/dist/types/sdk/market/index.d.ts +2 -2
  51. package/dist/types/sdk/market/math.d.ts +9 -4
  52. package/dist/types/sdk/market/pool/PoolSuite.d.ts +0 -5
  53. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +0 -6
  54. package/dist/types/sdk/market/pool/types.d.ts +0 -6
  55. package/package.json +1 -1
@@ -109,7 +109,7 @@ function isWorse(candidate, current) {
109
109
  return candidate.bps > current.bps || candidate.bps === current.bps && candidate.id.localeCompare(current.id) < 0;
110
110
  }
111
111
  /**
112
- * Collapse `collateralTokens[0xa0b8...].symbol` to `collateralTokens[].symbol`.
112
+ * Collapse `allowedDepositTokens[0xa0b8...].symbol` to `allowedDepositTokens[].symbol`.
113
113
  **/
114
114
  function collapseArrayKeys(path) {
115
115
  return path.replace(/\[[^\]]*\]/g, "[]");
@@ -59,8 +59,7 @@ const opportunityBaseSchema = zod_v4.z.object({
59
59
  name: zod_v4.z.string(),
60
60
  curator: require_model_curators_schema.curatorSchema,
61
61
  underlyingToken: require_model_primitives_schema.tokenSchema,
62
- totalBorrow: require_model_primitives_schema.amountSchema,
63
- collateralTokens: zod_v4.z.array(require_model_primitives_schema.tokenSchema),
62
+ allowedDepositTokens: zod_v4.z.array(require_model_primitives_schema.tokenSchema),
64
63
  paused: zod_v4.z.boolean(),
65
64
  rwa: zod_v4.z.boolean(),
66
65
  sunset: zod_v4.z.boolean()
@@ -73,8 +72,8 @@ const quotaAssetSchema = zod_v4.z.object({
73
72
  quotaRate: require_model_compare_schema.tolerance(require_model_primitives_schema.bpsSchema, "bps"),
74
73
  limit: require_model_primitives_schema.amountSchema,
75
74
  used: require_model_compare_schema.tolerance(require_model_primitives_schema.amountSchema, "amount"),
76
- allocationShare: require_model_compare_schema.tolerance(require_model_primitives_schema.bpsSchema, "bps"),
77
- allocatedDebt: require_model_compare_schema.tolerance(require_model_primitives_schema.amountSchema, "amount")
75
+ allocationShare: require_model_compare_schema.offchainOnly(require_model_primitives_schema.bpsSchema).optional(),
76
+ allocatedDebt: require_model_compare_schema.offchainOnly(require_model_primitives_schema.amountSchema).optional()
78
77
  });
79
78
  /**
80
79
  * {@link PoolOpportunity}
@@ -85,7 +84,7 @@ const poolOpportunitySchema = zod_v4.z.object({
85
84
  pool: require_sdk_utils_zod.ZodAddress(),
86
85
  totalSupply: require_model_compare_schema.tolerance(require_model_primitives_schema.amountSchema, "amount"),
87
86
  availableLiquidity: require_model_compare_schema.tolerance(require_model_primitives_schema.amountSchema, "amount"),
88
- utilization: require_model_compare_schema.tolerance(require_model_primitives_schema.bpsSchema, "bps"),
87
+ totalBorrowedWithInterest: require_model_compare_schema.tolerance(require_model_primitives_schema.amountSchema, "amount"),
89
88
  supplyApy: apyBreakdownSchema,
90
89
  supplyApyAvg7D: require_model_compare_schema.offchainOnly(apyBreakdownSchema).optional(),
91
90
  quotaAssets: zod_v4.z.array(quotaAssetSchema)
@@ -98,6 +97,7 @@ const strategyOpportunitySchema = zod_v4.z.object({
98
97
  kind: zod_v4.z.literal("strategy"),
99
98
  creditManager: require_sdk_utils_zod.ZodAddress(),
100
99
  targetCollateral: require_model_primitives_schema.tokenSchema,
100
+ totalBorrowed: require_model_primitives_schema.amountSchema,
101
101
  liquidationThreshold: require_model_primitives_schema.bpsSchema,
102
102
  liquidationPremium: require_model_primitives_schema.bpsSchema,
103
103
  liquidationFee: require_model_primitives_schema.bpsSchema,
@@ -60,6 +60,7 @@ const chains = {
60
60
  }),
61
61
  testMarketConfigurators: require_sdk_utils_AddressMap.AddressMap.fromRecord({
62
62
  "0x99df7330bf42d596af2e9d9836d4fc2077c574aa": "M11 Credit",
63
+ "0x610627d8d01a413bdd9b0a0b60070da7dd1e54ad": "Securitize",
63
64
  "0xa770ce584adb6491a2138da6eaec33243bdcd248": "Testnet Curator"
64
65
  }),
65
66
  rwaFactories: [],
@@ -483,6 +483,7 @@ exports.calcPositionLeverage = require_sdk_market_math.calcPositionLeverage;
483
483
  exports.calcQuotaRate = require_sdk_market_math.calcQuotaRate;
484
484
  exports.calcTimeToLiquidationMs = require_sdk_positions_calcTimeToLiquidationMs.calcTimeToLiquidationMs;
485
485
  exports.calcUtilization = require_sdk_market_math.calcUtilization;
486
+ exports.calcUtilizationRaw = require_sdk_market_math.calcUtilizationRaw;
486
487
  exports.chains = require_sdk_chain_chains.chains;
487
488
  exports.childLogger = require_sdk_utils_childLogger.childLogger;
488
489
  exports.classifyCurveOperation = require_sdk_market_adapters_transferHelpers.classifyCurveOperation;
@@ -1,7 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_sdk_utils_AddressMap = require("../utils/AddressMap.js");
3
3
  const require_sdk_chain_chains = require("../chain/chains.js");
4
- const require_sdk_constants_math = require("../constants/math.js");
5
4
  require("../utils/index.js");
6
5
  const require_sdk_base_SDKConstruct = require("../base/SDKConstruct.js");
7
6
  require("../base/index.js");
@@ -18,6 +17,7 @@ const require_sdk_market_oracle_createPriceOracle = require("./oracle/createPric
18
17
  require("./oracle/index.js");
19
18
  const require_sdk_market_pool_PoolSuite = require("./pool/PoolSuite.js");
20
19
  require("./pool/index.js");
20
+ let viem = require("viem");
21
21
  //#region src/sdk/market/MarketSuite.ts
22
22
  /**
23
23
  * Aggregates all SDK wrappers that make up one Gearbox market.
@@ -137,20 +137,28 @@ var MarketSuite = class extends require_sdk_base_SDKConstruct.SDKConstruct {
137
137
  return this.configurator.curator;
138
138
  }
139
139
  /**
140
- * Tokens a position can actually be built on in this market, deduplicated
141
- * across its credit suites.
140
+ * Tokens a user can transfer from their wallet to deposit into this pool.
141
+ *
142
+ * 1. unwrapped underlying
143
+ * 2. tokenIn of every zapper (order does not matter), skipping the wrapped
144
+ * and unwrapped underlying
142
145
  */
143
- get collateralTokens() {
144
- const seen = new require_sdk_utils_AddressMap.AddressMap(void 0, "collateralTokens");
145
- for (const suite of this.creditManagers) for (const collateral of suite.strategyCollaterals) seen.upsert(collateral, this.tokensMeta.mustGetToken(collateral));
146
+ get allowedDepositTokens() {
147
+ const seen = new require_sdk_utils_AddressMap.AddressMap(void 0, "allowedDepositTokens");
148
+ seen.upsert(this.unwrappedUnderlying, this.underlyingToken);
149
+ for (const zapper of this.sdk.marketRegister.poolZappers(this.pool.pool.address)) {
150
+ const tokenIn = zapper.tokenIn.addr;
151
+ if ((0, viem.isAddressEqual)(tokenIn, this.pool.underlying) || (0, viem.isAddressEqual)(tokenIn, this.unwrappedUnderlying)) continue;
152
+ seen.upsert(tokenIn, this.tokensMeta.mustGetToken(tokenIn));
153
+ }
146
154
  return seen.values();
147
155
  }
148
156
  /**
149
- * Whether at least one of {@link collateralTokens} is a real-world-asset
150
- * token. Read from a hardcoded per-chain list rather than from the chain.
157
+ * Whether one of the market's quoted tokens is a real-world-asset token.
158
+ * Read from a hardcoded per-chain list rather than from the chain.
151
159
  */
152
160
  get rwa() {
153
- return this.collateralTokens.some((token) => require_sdk_chain_chains.isRWAToken(token.address, this.sdk.networkType));
161
+ return this.pool.pqk.quotas.keys().some((token) => require_sdk_chain_chains.isRWAToken(token, this.sdk.networkType));
154
162
  }
155
163
  /**
156
164
  * Whether this market's pool is being wound down and should no longer be
@@ -166,16 +174,11 @@ var MarketSuite = class extends require_sdk_base_SDKConstruct.SDKConstruct {
166
174
  quotaAssets() {
167
175
  const oracle = this.priceOracle;
168
176
  const { underlying } = this;
169
- const quotas = this.pool.pqk.quotas.entries();
170
- const sumUsed = quotas.reduce((sum, [, quota]) => sum + quota.totalQuoted, 0n);
171
- const { totalBorrowed } = this.pool.pool;
172
- return quotas.map(([token, quota]) => ({
177
+ return this.pool.pqk.quotas.entries().map(([token, quota]) => ({
173
178
  token: this.tokensMeta.mustGetToken(token),
174
179
  quotaRate: quota.rate,
175
180
  limit: oracle.toAmount(underlying, quota.limit),
176
- used: oracle.toAmount(underlying, quota.totalQuoted),
177
- allocationShare: sumUsed === 0n ? 0 : Number(quota.totalQuoted * require_sdk_constants_math.PERCENTAGE_FACTOR / sumUsed),
178
- allocatedDebt: oracle.toAmount(underlying, sumUsed === 0n ? 0n : totalBorrowed * quota.totalQuoted / sumUsed)
181
+ used: oracle.toAmount(underlying, quota.totalQuoted)
179
182
  }));
180
183
  }
181
184
  /**
@@ -222,12 +225,11 @@ var MarketSuite = class extends require_sdk_base_SDKConstruct.SDKConstruct {
222
225
  name: this.poolName,
223
226
  curator: this.curator,
224
227
  underlyingToken: this.underlyingToken,
225
- totalSupply: oracle.toAmount(pool.underlying, pool.totalAssets),
228
+ totalSupply: oracle.toAmount(pool.underlying, pool.expectedLiquidity),
226
229
  availableLiquidity: oracle.toAmount(pool.underlying, pool.availableLiquidity),
227
- totalBorrow: oracle.toAmount(pool.underlying, pool.totalBorrowed),
228
- utilization: pool.utilization,
230
+ totalBorrowedWithInterest: oracle.toAmount(pool.underlying, pool.borrowed),
229
231
  supplyApy: { organicApy: require_sdk_market_math.rayToBps(pool.supplyRate) },
230
- collateralTokens: this.collateralTokens,
232
+ allowedDepositTokens: this.allowedDepositTokens,
231
233
  paused: pool.isPaused,
232
234
  rwa: this.rwa,
233
235
  sunset: this.sunset,
@@ -13,6 +13,7 @@ const require_sdk_market_credit_collateralUtils = require("./collateralUtils.js"
13
13
  const require_sdk_market_credit_createCreditConfigurator = require("./createCreditConfigurator.js");
14
14
  const require_sdk_market_credit_createCreditFacade = require("./createCreditFacade.js");
15
15
  const require_sdk_market_credit_createCreditManager = require("./createCreditManager.js");
16
+ let viem = require("viem");
16
17
  //#region src/sdk/market/credit/CreditSuite.ts
17
18
  /**
18
19
  * Amount of underlying seeded into each pool at market creation to protect
@@ -178,17 +179,6 @@ var CreditSuite = class extends require_sdk_base_SDKConstruct.SDKConstruct {
178
179
  return this.creditFacade.isPaused || this.market.pool.isPaused;
179
180
  }
180
181
  /**
181
- * Collateral tokens a leveraged position can be built around in this suite,
182
- * see {@link isStrategyCollateral} for the per-token criteria. Tokens the
183
- * facade has forbidden are excluded — they cannot be taken on — even when
184
- * they still pass the shared eligibility rule used for target selection.
185
- */
186
- get strategyCollaterals() {
187
- if (this.maxBorrowAmount <= MIN_STRATEGY_BORROW_AMOUNT) return [];
188
- const forbidden = new Set(this.forbiddenTokens);
189
- return this.creditManager.collateralTokens.filter((token) => !forbidden.has(token) && require_sdk_market_credit_collateralUtils.isStrategyCollateral(this.#strategyCollateralProps(token), true));
190
- }
191
- /**
192
182
  * Tokens forbidden by the facade.
193
183
  */
194
184
  get forbiddenTokens() {
@@ -258,8 +248,8 @@ var CreditSuite = class extends require_sdk_base_SDKConstruct.SDKConstruct {
258
248
  name: this.strategyName ?? this.market.underlyingToken.symbol,
259
249
  curator: market.curator,
260
250
  underlyingToken: market.underlyingToken,
261
- totalBorrow: oracle.toAmount(pool.underlying, borrowed),
262
- collateralTokens: this.strategyCollaterals.map((t) => this.tokensMeta.mustGetToken(t)),
251
+ totalBorrowed: oracle.toAmount(pool.underlying, borrowed),
252
+ allowedDepositTokens: this.#allowedDepositTokens(collateral),
263
253
  paused: this.isPaused,
264
254
  rwa: market.rwa,
265
255
  sunset: market.sunset || require_sdk_chain_chains.isSunsetStrategy(cm.address, this.sdk.networkType),
@@ -328,6 +318,27 @@ var CreditSuite = class extends require_sdk_base_SDKConstruct.SDKConstruct {
328
318
  return collateral;
329
319
  }
330
320
  /**
321
+ * Tokens a user can transfer from their wallet when opening an account in
322
+ * this suite:
323
+ *
324
+ * 1. unwrapped underlying (USDC, never dcUSDC)
325
+ * 2. target collateral
326
+ * 3. remaining CM collaterals in manager order, no phantoms
327
+ */
328
+ #allowedDepositTokens(targetCollateral) {
329
+ const unwrappedUnderlying = this.market.unwrappedUnderlying;
330
+ const contractUnderlying = this.underlying;
331
+ const skip = (token) => (0, viem.isAddressEqual)(token, unwrappedUnderlying) || (0, viem.isAddressEqual)(token, contractUnderlying) || (0, viem.isAddressEqual)(token, targetCollateral);
332
+ return [
333
+ unwrappedUnderlying,
334
+ targetCollateral,
335
+ ...this.creditManager.collateralTokens.filter((token) => {
336
+ const contractType = this.tokensMeta.mustGet(token).contractType;
337
+ return !skip(token) && !contractType?.startsWith("PHANTOM_TOKEN::");
338
+ })
339
+ ].map((token) => this.tokensMeta.mustGetToken(token));
340
+ }
341
+ /**
331
342
  * Shared inputs of {@link isStrategyCollateral} for one of this suite's
332
343
  * collateral tokens.
333
344
  */
@@ -253,6 +253,7 @@ exports.calcNetStrategyApy = require_sdk_market_math.calcNetStrategyApy;
253
253
  exports.calcPositionLeverage = require_sdk_market_math.calcPositionLeverage;
254
254
  exports.calcQuotaRate = require_sdk_market_math.calcQuotaRate;
255
255
  exports.calcUtilization = require_sdk_market_math.calcUtilization;
256
+ exports.calcUtilizationRaw = require_sdk_market_math.calcUtilizationRaw;
256
257
  exports.classifyCurveOperation = require_sdk_market_adapters_transferHelpers.classifyCurveOperation;
257
258
  exports.createAdapter = require_sdk_market_adapters_createAdapter.createAdapter;
258
259
  exports.createPriceOracle = require_sdk_market_oracle_createPriceOracle.createPriceOracle;
@@ -61,15 +61,22 @@ function usdToNumber(usd) {
61
61
  * @example
62
62
  * ```ts
63
63
  * // borrowed: 750, total: 1000
64
- * calcUtilization(750n, 1000n) // 750 / 1000 = 7500 bps = 75%
64
+ * calcUtilizationRaw(750n, 1000n) // 750 / 1000 = 7500 bps = 75%
65
65
  * ```
66
66
  **/
67
- function calcUtilization(borrowed, total) {
67
+ function calcUtilizationRaw(borrowed, total) {
68
68
  if (total <= 0n || borrowed <= 0n) return 0;
69
69
  const utilization = Number(borrowed * require_sdk_constants_math.PERCENTAGE_FACTOR / total);
70
70
  return Math.min(utilization, FULL);
71
71
  }
72
72
  /**
73
+ * Pool utilization: {@link PoolOpportunity.totalBorrowedWithInterest} as a
74
+ * share of {@link PoolOpportunity.totalSupply}, in basis points.
75
+ **/
76
+ function calcUtilization(poolOpportunity) {
77
+ return calcUtilizationRaw(poolOpportunity.totalBorrowedWithInterest.value, poolOpportunity.totalSupply.value);
78
+ }
79
+ /**
73
80
  * Annual cost of debt for a credit manager, in basis points:
74
81
  * `baseInterestRate × (1 + feeInterest)` — the pool's base rate plus the
75
82
  * protocol's cut of the accrued interest.
@@ -279,6 +286,7 @@ exports.calcNetStrategyApy = calcNetStrategyApy;
279
286
  exports.calcPositionLeverage = calcPositionLeverage;
280
287
  exports.calcQuotaRate = calcQuotaRate;
281
288
  exports.calcUtilization = calcUtilization;
289
+ exports.calcUtilizationRaw = calcUtilizationRaw;
282
290
  exports.healthFactorBps = healthFactorBps;
283
291
  exports.minSeizedAmount = minSeizedAmount;
284
292
  exports.optimalHFForPartialLiquidation = optimalHFForPartialLiquidation;
@@ -106,12 +106,6 @@ var PoolSuite = class extends require_sdk_base_SDKConstruct.SDKConstruct {
106
106
  return this.pool.unwrappedUnderlying;
107
107
  }
108
108
  /**
109
- * {@inheritDoc IPoolContract.utilization}
110
- */
111
- get utilization() {
112
- return this.pool.utilization;
113
- }
114
- /**
115
109
  * Whether the pool is paused, which blocks borrowing across every connected
116
110
  * credit suite.
117
111
  */
@@ -8,7 +8,6 @@ const require_sdk_utils_formatter = require("../../utils/formatter.js");
8
8
  require("../../utils/index.js");
9
9
  const require_sdk_base_BaseContract = require("../../base/BaseContract.js");
10
10
  require("../../base/index.js");
11
- const require_sdk_market_math = require("../math.js");
12
11
  //#region src/sdk/market/pool/PoolV310Contract.ts
13
12
  const abi = [...require_abi_310_generated.iPoolV310Abi, ...require_abi_iPausable.iPausableAbi];
14
13
  var PoolV310Contract = class extends require_sdk_base_BaseContract.BaseContract {
@@ -48,12 +47,6 @@ var PoolV310Contract = class extends require_sdk_base_BaseContract.BaseContract
48
47
  return this.totalSupply * this.dieselRate / require_sdk_constants_math.RAY;
49
48
  }
50
49
  /**
51
- * {@inheritDoc IPoolContract.utilization}
52
- */
53
- get utilization() {
54
- return require_sdk_market_math.calcUtilization(this.borrowed, this.expectedLiquidity);
55
- }
56
- /**
57
50
  * {@inheritDoc IPoolContract.unwrappedUnderlying}
58
51
  */
59
52
  get unwrappedUnderlying() {
@@ -29,7 +29,7 @@ function borrowRateAtUtilization(utilization, params) {
29
29
  **/
30
30
  function utilizationAfterLiquidityChange(expectedLiquidity, availableLiquidity, availableLiquidityChange) {
31
31
  const borrowed = expectedLiquidity - (availableLiquidity + availableLiquidityChange);
32
- return require_sdk_market_math.calcUtilization(borrowed, expectedLiquidity);
32
+ return require_sdk_market_math.calcUtilizationRaw(borrowed, expectedLiquidity);
33
33
  }
34
34
  /**
35
35
  * Rate depositors earn at a given utilization, in basis points: the interest
@@ -1,9 +1,9 @@
1
- import { ierc20Abi } from "../abi/iERC20.js";
2
1
  import { iCreditFacadeV310Abi } from "../abi/310/generated.js";
3
2
  import { AddressMap } from "../sdk/utils/AddressMap.js";
4
3
  import { AddressSet } from "../sdk/utils/AddressSet.js";
5
4
  import { AssetsMap } from "../sdk/utils/AssetsMap.js";
6
5
  import { childLogger } from "../sdk/utils/childLogger.js";
6
+ import { ierc20Abi } from "../abi/iERC20.js";
7
7
  import "../sdk/constants/addresses.js";
8
8
  import { MAX_UINT256, PERCENTAGE_FACTOR } from "../sdk/constants/math.js";
9
9
  import { SDKConstruct } from "../sdk/base/SDKConstruct.js";
@@ -108,7 +108,7 @@ function isWorse(candidate, current) {
108
108
  return candidate.bps > current.bps || candidate.bps === current.bps && candidate.id.localeCompare(current.id) < 0;
109
109
  }
110
110
  /**
111
- * Collapse `collateralTokens[0xa0b8...].symbol` to `collateralTokens[].symbol`.
111
+ * Collapse `allowedDepositTokens[0xa0b8...].symbol` to `allowedDepositTokens[].symbol`.
112
112
  **/
113
113
  function collapseArrayKeys(path) {
114
114
  return path.replace(/\[[^\]]*\]/g, "[]");
@@ -1,6 +1,6 @@
1
- import { iWithdrawalCompressorV313Abi } from "../abi/IWithdrawalCompressorV313.js";
2
1
  import { getNetworkType } from "../sdk/chain/chains.js";
3
2
  import { getWithdrawalCompressorAddress } from "../sdk/accounts/withdrawal-compressor/addresses.js";
3
+ import { iWithdrawalCompressorV313Abi } from "../abi/IWithdrawalCompressorV313.js";
4
4
  import "../sdk/index.js";
5
5
  import { iMidasDataFeedAbi, iMidasRedemptionVaultAbi, midasGatewayAbi, midasRedeemerAbi, midasRedemptionVaultPhantomTokenAbi, securitizeRedeemerAbi, securitizeRedemptionGatewayAbi, securitizeRedemptionPhantomTokenAbi } from "./withdrawalAbi.js";
6
6
  import { erc20Abi, hexToString, parseAbi, parseEther } from "viem";
@@ -58,8 +58,7 @@ const opportunityBaseSchema = z.object({
58
58
  name: z.string(),
59
59
  curator: curatorSchema,
60
60
  underlyingToken: tokenSchema,
61
- totalBorrow: amountSchema,
62
- collateralTokens: z.array(tokenSchema),
61
+ allowedDepositTokens: z.array(tokenSchema),
63
62
  paused: z.boolean(),
64
63
  rwa: z.boolean(),
65
64
  sunset: z.boolean()
@@ -72,8 +71,8 @@ const quotaAssetSchema = z.object({
72
71
  quotaRate: tolerance(bpsSchema, "bps"),
73
72
  limit: amountSchema,
74
73
  used: tolerance(amountSchema, "amount"),
75
- allocationShare: tolerance(bpsSchema, "bps"),
76
- allocatedDebt: tolerance(amountSchema, "amount")
74
+ allocationShare: offchainOnly(bpsSchema).optional(),
75
+ allocatedDebt: offchainOnly(amountSchema).optional()
77
76
  });
78
77
  /**
79
78
  * {@link PoolOpportunity}
@@ -84,7 +83,7 @@ const poolOpportunitySchema = z.object({
84
83
  pool: ZodAddress(),
85
84
  totalSupply: tolerance(amountSchema, "amount"),
86
85
  availableLiquidity: tolerance(amountSchema, "amount"),
87
- utilization: tolerance(bpsSchema, "bps"),
86
+ totalBorrowedWithInterest: tolerance(amountSchema, "amount"),
88
87
  supplyApy: apyBreakdownSchema,
89
88
  supplyApyAvg7D: offchainOnly(apyBreakdownSchema).optional(),
90
89
  quotaAssets: z.array(quotaAssetSchema)
@@ -97,6 +96,7 @@ const strategyOpportunitySchema = z.object({
97
96
  kind: z.literal("strategy"),
98
97
  creditManager: ZodAddress(),
99
98
  targetCollateral: tokenSchema,
99
+ totalBorrowed: amountSchema,
100
100
  liquidationThreshold: bpsSchema,
101
101
  liquidationPremium: bpsSchema,
102
102
  liquidationFee: bpsSchema,
@@ -1,5 +1,5 @@
1
- import { iZapperAbi } from "../../abi/iZapper.js";
2
1
  import { iPoolV310Abi } from "../../abi/310/generated.js";
2
+ import { iZapperAbi } from "../../abi/iZapper.js";
3
3
  import { asPreviewSimulationError } from "./errors.js";
4
4
  //#region src/preview/simulate/simulatePoolOperation.ts
5
5
  function previewRead(operation) {
@@ -1,6 +1,6 @@
1
- import { ierc20Abi } from "../../abi/iERC20.js";
2
1
  import { iCreditFacadeV310Abi } from "../../abi/310/generated.js";
3
2
  import { AddressMap } from "../../sdk/utils/AddressMap.js";
3
+ import { ierc20Abi } from "../../abi/iERC20.js";
4
4
  import "../../sdk/index.js";
5
5
  import { UnexpectedFacadeEventOrderError } from "./errors.js";
6
6
  import { getAddress, isAddressEqual, parseEventLogs } from "viem";
@@ -1,5 +1,3 @@
1
- import { iBaseRewardPoolAbi } from "../../abi/iBaseRewardPool.js";
2
- import { ierc4626AdapterAbi } from "../../abi/ierc4626Adapter.js";
3
1
  import { AP_REWARDS_COMPRESSOR } from "../constants/address-provider.js";
4
2
  import { ADDRESS_0X0 } from "../constants/addresses.js";
5
3
  import { MAX_UINT256 } from "../constants/math.js";
@@ -10,6 +8,8 @@ import "../base/index.js";
10
8
  import { AccountBotsService } from "./bots/AccountBotsService.js";
11
9
  import "./bots/index.js";
12
10
  import { rewardsCompressorAbi } from "../../abi/compressors/rewardsCompressor.js";
11
+ import { iBaseRewardPoolAbi } from "../../abi/iBaseRewardPool.js";
12
+ import { ierc4626AdapterAbi } from "../../abi/ierc4626Adapter.js";
13
13
  import { expectedBalanceDeltas } from "../market/credit/expectedBalanceDeltas.js";
14
14
  import "../market/index.js";
15
15
  import { CreditAccountCompressor } from "./credit-account-compressor/CreditAccountCompressor.js";
@@ -1,4 +1,3 @@
1
- import { iLiquidationCompressorV313Abi } from "../../../abi/ILiquidationCompressorV313.js";
2
1
  import { AddressSet } from "../../utils/AddressSet.js";
3
2
  import { bytes32ToString } from "../../utils/bytes32ToString.js";
4
3
  import { ADDRESS_0X0 } from "../../constants/addresses.js";
@@ -20,6 +19,7 @@ import { SecuritizeLiquidatorContract } from "../../market/rwa/securitize/Securi
20
19
  import "../../market/rwa/securitize/index.js";
21
20
  import "../../market/index.js";
22
21
  import { LIQUIDATION_APPROVAL_BUFFER, LIQUIDATION_COMPRESSOR_V313_ADDRESS } from "./constants.js";
22
+ import { iLiquidationCompressorV313Abi } from "../../../abi/ILiquidationCompressorV313.js";
23
23
  //#region src/sdk/accounts/liquidations/LiquidationsService.ts
24
24
  /**
25
25
  * Service for discovering liquidatable credit accounts and previewing manual
@@ -1,7 +1,7 @@
1
- import { iRedemptionLoggerV310Abi } from "../../../abi/iRedemptionLoggerV310.js";
2
1
  import { BaseContract } from "../../base/BaseContract.js";
3
2
  import "../../base/index.js";
4
3
  import { decodeDelayedIntent } from "./intent-codec.js";
4
+ import { iRedemptionLoggerV310Abi } from "../../../abi/iRedemptionLoggerV310.js";
5
5
  import { InvalidDelayedIntentError } from "./errors.js";
6
6
  //#region src/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.ts
7
7
  const abi = iRedemptionLoggerV310Abi;
@@ -1,5 +1,5 @@
1
- import { iWithdrawalCompressorV310Abi } from "../../../abi/IWithdrawalCompressorV310.js";
2
1
  import { AbstractWithdrawalCompressorContract } from "./AbstractWithdrawalCompressorContract.js";
2
+ import { iWithdrawalCompressorV310Abi } from "../../../abi/IWithdrawalCompressorV310.js";
3
3
  //#region src/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.ts
4
4
  const abi = iWithdrawalCompressorV310Abi;
5
5
  /**
@@ -1,5 +1,5 @@
1
- import { iWithdrawalCompressorV311Abi } from "../../../abi/IWithdrawalCompressorV311.js";
2
1
  import { AbstractWithdrawalCompressorContract } from "./AbstractWithdrawalCompressorContract.js";
2
+ import { iWithdrawalCompressorV311Abi } from "../../../abi/IWithdrawalCompressorV311.js";
3
3
  //#region src/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.ts
4
4
  const abi = iWithdrawalCompressorV311Abi;
5
5
  /**
@@ -1,6 +1,6 @@
1
- import { iWithdrawalCompressorV313Abi } from "../../../abi/IWithdrawalCompressorV313.js";
2
1
  import { encodeDelayedIntent } from "./intent-codec.js";
3
2
  import { AbstractWithdrawalCompressorContract, iCreditAccountAbi, toClaimableWithdrawal, toPendingWithdrawal, toRequestableWithdrawal } from "./AbstractWithdrawalCompressorContract.js";
3
+ import { iWithdrawalCompressorV313Abi } from "../../../abi/IWithdrawalCompressorV313.js";
4
4
  import { toWithdrawalStatus } from "./types.js";
5
5
  //#region src/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.ts
6
6
  const abi = iWithdrawalCompressorV313Abi;
@@ -1,12 +1,12 @@
1
- import { iExpirableAbi } from "../../abi/iExpirable.js";
2
- import { iStateSerializerAbi } from "../../abi/iStateSerializer.js";
3
- import { iVersionAbi } from "../../abi/iVersion.js";
4
1
  import { AddressMap } from "../utils/AddressMap.js";
5
2
  import { AddressSet } from "../utils/AddressSet.js";
6
3
  import { bytes32ToString } from "../utils/bytes32ToString.js";
7
4
  import { getAssetType } from "../chain/chains.js";
8
5
  import { formatBN } from "../utils/formatter.js";
9
6
  import "../utils/index.js";
7
+ import { iExpirableAbi } from "../../abi/iExpirable.js";
8
+ import { iStateSerializerAbi } from "../../abi/iStateSerializer.js";
9
+ import { iVersionAbi } from "../../abi/iVersion.js";
10
10
  import { executeMulticallBatches } from "../utils/viem/executeMulticallBatches.js";
11
11
  //#region src/sdk/base/TokensMeta.ts
12
12
  /**
@@ -59,6 +59,7 @@ const chains = {
59
59
  }),
60
60
  testMarketConfigurators: AddressMap.fromRecord({
61
61
  "0x99df7330bf42d596af2e9d9836d4fc2077c574aa": "M11 Credit",
62
+ "0x610627d8d01a413bdd9b0a0b60070da7dd1e54ad": "Securitize",
62
63
  "0xa770ce584adb6491a2138da6eaec33243bdcd248": "Testnet Curator"
63
64
  }),
64
65
  rwaFactories: [],
@@ -1,5 +1,5 @@
1
- import { ierc20Abi } from "../../abi/iERC20.js";
2
1
  import { chains } from "./chains.js";
2
+ import { ierc20Abi } from "../../abi/iERC20.js";
3
3
  //#region src/sdk/chain/detectNetwork.ts
4
4
  /**
5
5
  * Detects the network type from the given client.
@@ -1,8 +1,8 @@
1
- import { iVersionAbi } from "../../abi/iVersion.js";
2
1
  import { AP_MARKET_COMPRESSOR, AP_PRICE_FEED_COMPRESSOR } from "../constants/address-provider.js";
3
2
  import { isV310 } from "../constants/versions.js";
4
3
  import "../constants/index.js";
5
4
  import { hexEq } from "../utils/hex.js";
5
+ import { iVersionAbi } from "../../abi/iVersion.js";
6
6
  import { AddressProviderV310Contract } from "./AddressProviderV310Contract.js";
7
7
  //#region src/sdk/core/createAddressProvider.ts
8
8
  const OVERRIDE_ADDRESSES = { Mainnet: {
@@ -131,7 +131,7 @@ import { createAdapter } from "./market/adapters/createAdapter.js";
131
131
  import { CreditConfiguratorV310Contract } from "./market/credit/CreditConfiguratorV310Contract.js";
132
132
  import { CreditFacadeV310BaseContract, creditFacadeV310Abi as abi } from "./market/credit/CreditFacadeV310BaseContract.js";
133
133
  import { CreditFacadeV310Contract } from "./market/credit/CreditFacadeV310Contract.js";
134
- import { DEFAULT_QUOTA_BUFFER_BPS, MAX_LEVERAGE_BUFFER_BPS, PARTIAL_LIQUIDATION_BUFFER_BPS, bpsToRay, calcBorrowApy, calcEffectiveBorrowApy, calcMaxLeverage, calcNetStrategyApy, calcPositionLeverage, calcQuotaRate, calcUtilization, healthFactorBps, minSeizedAmount, optimalHFForPartialLiquidation, optimalRepaidAmount, rayToBps, usdToNumber } from "./market/math.js";
134
+ import { DEFAULT_QUOTA_BUFFER_BPS, MAX_LEVERAGE_BUFFER_BPS, PARTIAL_LIQUIDATION_BUFFER_BPS, bpsToRay, calcBorrowApy, calcEffectiveBorrowApy, calcMaxLeverage, calcNetStrategyApy, calcPositionLeverage, calcQuotaRate, calcUtilization, calcUtilizationRaw, healthFactorBps, minSeizedAmount, optimalHFForPartialLiquidation, optimalRepaidAmount, rayToBps, usdToNumber } from "./market/math.js";
135
135
  import { CreditManagerV310Contract } from "./market/credit/CreditManagerV310Contract.js";
136
136
  import { strategyName } from "./market/strategyName.js";
137
137
  import { dominantCollateral, isStrategyCollateral, pickStrategyTargetCollateral } from "./market/credit/collateralUtils.js";
@@ -238,4 +238,4 @@ import { OnchainSDK, STATE_VERSION } from "./OnchainSDK.js";
238
238
  import { MultichainSDK } from "./MultichainSDK.js";
239
239
  import { attachOptionsSchema, onchainSDKOptionsSchema } from "./options.js";
240
240
  import "./types/index.js";
241
- export { ADDRESS_0X0, ADDRESS_PROVIDER_V310, AP_ACCOUNT_FACTORY, AP_ACL, AP_BOT_LIST, AP_BYTECODE_REPOSITORY, AP_CONTRACTS_REGISTER, AP_CONTROLLER_TIMELOCK, AP_CREDIT_ACCOUNT_COMPRESSOR, AP_CREDIT_SUITE_COMPRESSOR, AP_DATA_COMPRESSOR, AP_DELEVERAGE_BOT_HV, AP_DELEVERAGE_BOT_LV, AP_DELEVERAGE_BOT_PEGGED, AP_GAUGE_COMPRESSOR, AP_GEAR_STAKING, AP_GEAR_TOKEN, AP_INFLATION_ATTACK_BLOCKER, AP_INSOLVENCY_CHECKER, AP_MARKET_COMPRESSOR, AP_MARKET_CONFIGURATOR, AP_PARTIAL_LIQUIDATION_BOT, AP_PERIPHERY_COMPRESSOR, AP_PRICE_FEED_COMPRESSOR, AP_PRICE_FEED_STORE, AP_PRICE_ORACLE, AP_REDEMPTION_LOGGER, AP_REWARDS_COMPRESSOR, AP_ROUTER, AP_RWA_COMPRESSOR, AP_TOKEN_COMPRESSOR, AP_TREASURY, AP_WETH_GATEWAY, AP_WETH_TOKEN, AP_ZAPPER_REGISTER, AP_ZERO_PRICE_FEED, AbstractAdapterContract, AbstractLPPriceFeedContract, AbstractPriceFeedContract, AbstractWithdrawalCompressorContract, AccountBotsService, AccountMigratorAdapterContract, AdapterType, AddressMap, AddressProviderV310Contract, AddressSet, AssetsMap, BLOCKS_PER_WEEK_BY_NETWORK, BalancerStablePriceFeedContract, BalancerV3PoolStatus, BalancerV3RouterAdapterContract, BalancerV3WrapperAdapterContract, BalancerWeightedPriceFeedContract, BaseContract, BasePlugin, BigIntMath, BotPermissions, BoundedPriceFeedContract, CamelotV3AdapterContract, ChainContractsRegister, ChainNotConfiguredError, CompositePriceFeedContract, Construct, ContractParseError, ConvexV1BaseRewardPoolAdapterContract, ConvexV1BoosterAdapterContract, CreditAccountCompressor, CreditAccountCompressorV310Contract, CreditAccountOperationsService, CreditAccountsServiceV310, CreditConfiguratorV310Contract, CreditFacadeV310BaseContract, CreditFacadeV310Contract, CreditManagerV310Contract, CreditSuite, Curve2AssetsAdapterContract, Curve3AssetsAdapterContract, Curve4AssetsAdapterContract, CurveCryptoPriceFeedContract, CurveStablePriceFeedContract, CurveUSDPriceFeedContract, CurveV1AdapterStETHContract, CurveV1StableNGAdapterContract, DEFAULT_QUOTA_BUFFER_BPS, DELAYED_INTENT_TYPES, DELAYED_INTENT_VERSION, DUST_THRESHOLD, DaiUsdsAdapterContract, ERC4626AdapterContract, ERC4626ReferralAdapterContract, Erc4626PriceFeedContract, ExternalPriceFeedContract, FluidDexAdapterContract, GaugeContract, IERC20ZapperContract, IETHZapperContract, InfinifiGatewayAdapterContract, InfinifiUnwindingGatewayAdapterContract, IntentPreviewError, InvalidDelayedIntentError, KelpLRTDepositPoolAdapterContract, KelpLRTWithdrawalManagerAdapterContract, LEVERAGE_DECIMALS, LIQUIDATION_APPROVAL_BUFFER, LIQUIDATION_COMPRESSOR_V313_ADDRESS, LidoV1AdapterContract, LinearInterestRateModelContract, LiquidationsService, MAX_INT, MAX_LEVERAGE_BUFFER_BPS, MAX_UINT16, MAX_UINT256, MIN_INT96, MULTICALL_ADDRESS, MarketRegister, MarketSuite, MellowClaimerAdapterContract, MellowDVVAdapterContract, MellowERC4626VaultAdapterContract, MellowLRTPriceFeedContract, MellowWrapperAdapterContract, MidasGatewayAdapterContract, MidasIssuanceVaultAdapterContract, MidasLiquidatorContract, MidasRedemptionVaultAdapterContract, MissingSerializedParamsError, MultichainConstruct, MultichainLiquidationsService, MultichainOpportunitiesService, MultichainPositionsService, MultichainSDK, NATIVE_ADDRESS, NON_STRATEGY_PHANTOM_TOKEN_TYPES, NOT_DEPLOYED, NO_VERSION, NetworkType, OnchainSDK, OpportunitiesService, PARTIAL_LIQUIDATION_BUFFER_BPS, PERCENTAGE_DECIMALS, PERCENTAGE_FACTOR, PERCENTAGE_FACTOR_1KK, PERIPHERY_CONTRACTS, PHANTOM_TOKEN_CONTRACT_TYPES, PHANTOM_TOKEN_MIDAS_REDEMPTION, PHANTOM_TOKEN_SECURITIZE_REDEMPTION, PRICE_DECIMALS, PRICE_DECIMALS_POW, PartialPriceFeedInitError, PendlePairStatus, PendleRouterAdapterContract, PendleTWAPPTPriceFeed, PendleTokenType, PeripheryCompressorV310Contract, PluginStateVersionError, PoolService, PoolSuite, PoolV310Contract, PositionsService, PriceFeedRef, PriceFeedRegister, PriceOracleV310Contract, PythPriceFeed, RAMP_DURATION_BY_NETWORK, RAY, RAY_DECIMALS_POW, RWARegistry, RWA_FACTORY_SECURITIZE, RWA_FACTORY_TYPES, RWA_LIQUIDATOR_MIDAS, RWA_LIQUIDATOR_SECURITIZE, RWA_ON_DEMAND_LP_MONOPOLIZED, RWA_UNDERLYING_DEFAULT, RWA_UNDERLYING_ON_DEMAND, RedemptionLoggerV310Contract, RedstonePriceFeedContract, RouterV310Contract, SDKConstruct, SECONDS_PER_YEAR, SECURITIZE_REGISTER_VAULT_TYPES, SLIPPAGE_DECIMALS, STATE_VERSION, SUPPORTED_NETWORKS, SdkAlreadyAttachedError, SdkChainMismatchError, SdkMissingChainStateError, SdkNotAttachedError, SdkStateVersionMismatchError, SdkSyncFailedError, SecuritizeLiquidatorContract, SecuritizeOnRampAdapterContract, SecuritizeRWAFactory, SecuritizeRedemptionGatewayAdapterContract, SimulateWithPriceUpdatesError, SimulationError, StakingRewardsAdapterContract, TokensMeta, TraderJoePoolVersion, TraderJoeRouterAdapterContract, TypedObjectUtils, UniswapV2AdapterContract, UniswapV3AdapterContract, UniswapV4AdapterContract, UnsupportedZapperFunctionError, UpshiftVaultAdapterContract, VERSION_RANGE_310, VelodromeV2RouterAdapterContract, VotingContractStatus, WAD, WAD_DECIMALS_POW, WithdrawalCompressorV310Contract, WithdrawalCompressorV311Contract, WithdrawalCompressorV313Contract, WstETHPriceFeedContract, WstETHV1AdapterContract, YearnPriceFeedContract, ZapperContract, ZeroPriceFeedContract, ZodAddress, ZodBigInt, ZodHex, accountSnapshotFromCreditAccountData, adapterActionAbi, adapterActionSelectors, adapterActionSignatures, adapterConstructorAbi, allTransfersAsTokenAmounts, assetsMap, attachOptionsSchema, botPermissionsToString, bpsToRay, bytes32ToString, calcBorrowApy, calcBorrowRate, calcEffectiveBorrowApy, calcHealthFactor, calcLiquidationPrice, calcLiquidationPriceForTarget, calcMaxLeverage, calcNetStrategyApy, calcPositionLeverage, calcQuotaRate, calcTimeToLiquidationMs, calcUtilization, chains, childLogger, classifyCurveOperation, createAdapter, createAddressProvider, createPriceOracle, createRawTx, createRedemptionLogger, createRouter, createWithdrawalCompressor, createZapper, abi as creditFacadeV310Abi, curveAddLiquidityFromTransfers, curveRemoveLiquidityFromTransfers, decodeDelayedIntent, detectNetwork, dominantCollateral, encodeDelayedIntent, erc4626ReferralAdapterAbi, estimateRawTxGas, etherscanApiUrl, etherscanUrl, executeDelegatedMulticalls, executeMulticallBatches, expectedBalanceDeltas, fetchCreditAccountSlice, fetchRedstonePayloads, filterDust, filterDustUSD, findCuratorMarketConfigurator, fmtBinaryMask, fnSigToName, formatBN, formatBNvalue, formatDuration, formatLeverage, formatNumberToString_, formatPercentage, formatTimestamp, functionArgsToMap, functionArgsToRecord, generateCastTraceCall, getAccountTargetCollateral, getAdapterActionAbi, getAdapterDeployParamsAbi, getAdapterType, getAssetType, getCastTraceArgs, getChain, getCuratorName, getFunctionSignature, getLegacyStrategyTarget, getNetworkType, getRawPriceUpdates, getSimulateWithPriceUpdatesError, getWithdrawalCompressorAddress, halfRAY, hasAdapterDeployParamsAbi, healthFactorBps, hexEq, hydrateAddressProvider, iBalancerV3RouterAbi, iBalancerV3RouterAdapterAbi, iBalancerV3WrapperAbi, iBalancerV3WrapperAdapterAbi, iBaseOnRampAbi, iBaseRewardPoolAbi, iBoosterAbi, iCamelotV3AdapterAbi, iCamelotV3RouterAbi, iConvexV1BaseRewardPoolAdapterAbi, iConvexV1BoosterAdapterAbi, iCreditAccountAbi, iCurvePoolAbi, iCurvePoolStableNGAbi, iCurvePool_2Abi, iCurvePool_3Abi, iCurvePool_4Abi, iCurveV1StableNgAdapterAbi, iCurveV1_2AssetsAdapterAbi, iCurveV1_3AssetsAdapterAbi, iCurveV1_4AssetsAdapterAbi, iDaiUsdsAbi, iDaiUsdsAdapterAbi, iERC4626Abi, iERC4626ReferralAbi, iFluidDexAbi, iFluidDexAdapterAbi, iInfinifiGatewayAbi, iInfinifiGatewayAdapterAbi, iInfinifiUnwindingGatewayAbi, iInfinifiUnwindingGatewayAdapterAbi, iKelpLRTDepositPoolGatewayAbi, iKelpLRTWithdrawalManagerGatewayAbi, iKelpLrtDepositPoolAdapterAbi, iKelpLrtDepositPoolGatewayAbi, iKelpLrtWithdrawalManagerAdapterAbi, iKelpLrtWithdrawalManagerGatewayAbi, iLidoV1AdapterAbi, iMellow4626VaultAdapterAbi, iMellowClaimerAbi, iMellowClaimerAdapterAbi, iMellowWrapperAbi, iMellowWrapperAdapterAbi, iMidasGatewayAdapterV311Abi, iMidasGatewayV311Abi, iMidasIssuanceVaultAdapterV310Abi, iMidasIssuanceVaultV310Abi, iMidasRedemptionVaultAdapterV310Abi, iMidasRedemptionVaultGatewayV310Abi, iPendleRouterAbi, iPendleRouterAdapterAbi, iSecuritizeOnRampAbi, iSecuritizeOnRampAdapterV310Abi, iSecuritizeRedemptionGatewayAdapterV311Abi, iSecuritizeRedemptionGatewayV311Abi, iStakingRewardsAbi, iStakingRewardsAdapterAbi, iTraderJoeRouterAbi, iTraderJoeRouterAdapterAbi, iUniswapV2AdapterAbi, iUniswapV2Router02Abi, iUniswapV3Abi, iUniswapV3AdapterAbi, iUniswapV4AdapterAbi, iUniswapV4GatewayAbi, iUpshiftVaultAdapterAbi, iUpshiftVaultGatewayAbi, iVelodromeV2RouterAbi, iVelodromeV2RouterAdapterAbi, isDust, isLPPriceFeed, isPublicNetwork, isRWAFactory, isRWAToken, isStrategyCollateral, isSunsetPool, isSunsetStrategy, isSupportedNetwork, isUpdatablePriceFeed, isV310, isVersionRange, iwstETHAbi, iwstEthv1AdapterAbi, json_parse, json_stringify, lidoV1_WETHGatewayAbi, mellowDvvAdapterAbi, minSeizedAmount, numberWithCommas, onchainSDKOptionsSchema, optimalHFForPartialLiquidation, optimalRepaidAmount, parseAdapterAction, parseAdapterDeployParams, parsePosNegAmount, percentFmt, pickStrategyTargetCollateral, rayToBps, rayToNumber, retry, rewardsFromTransfers, sendRawTx, shortAddress, shortHash, simulateCall, simulateMulticall, simulateWithPriceUpdates, strategyName, swapFromTransfers, toAddress, toBN, toBigInt, toChainIds, toClaimableWithdrawal, toCreditAccountSlice, toNetTransfers, toPendingWithdrawal, toRequestableWithdrawal, toShares, toSharesUp, toSignificant, toWithdrawalStatus, usdToNumber, watchBlocksAsync };
241
+ export { ADDRESS_0X0, ADDRESS_PROVIDER_V310, AP_ACCOUNT_FACTORY, AP_ACL, AP_BOT_LIST, AP_BYTECODE_REPOSITORY, AP_CONTRACTS_REGISTER, AP_CONTROLLER_TIMELOCK, AP_CREDIT_ACCOUNT_COMPRESSOR, AP_CREDIT_SUITE_COMPRESSOR, AP_DATA_COMPRESSOR, AP_DELEVERAGE_BOT_HV, AP_DELEVERAGE_BOT_LV, AP_DELEVERAGE_BOT_PEGGED, AP_GAUGE_COMPRESSOR, AP_GEAR_STAKING, AP_GEAR_TOKEN, AP_INFLATION_ATTACK_BLOCKER, AP_INSOLVENCY_CHECKER, AP_MARKET_COMPRESSOR, AP_MARKET_CONFIGURATOR, AP_PARTIAL_LIQUIDATION_BOT, AP_PERIPHERY_COMPRESSOR, AP_PRICE_FEED_COMPRESSOR, AP_PRICE_FEED_STORE, AP_PRICE_ORACLE, AP_REDEMPTION_LOGGER, AP_REWARDS_COMPRESSOR, AP_ROUTER, AP_RWA_COMPRESSOR, AP_TOKEN_COMPRESSOR, AP_TREASURY, AP_WETH_GATEWAY, AP_WETH_TOKEN, AP_ZAPPER_REGISTER, AP_ZERO_PRICE_FEED, AbstractAdapterContract, AbstractLPPriceFeedContract, AbstractPriceFeedContract, AbstractWithdrawalCompressorContract, AccountBotsService, AccountMigratorAdapterContract, AdapterType, AddressMap, AddressProviderV310Contract, AddressSet, AssetsMap, BLOCKS_PER_WEEK_BY_NETWORK, BalancerStablePriceFeedContract, BalancerV3PoolStatus, BalancerV3RouterAdapterContract, BalancerV3WrapperAdapterContract, BalancerWeightedPriceFeedContract, BaseContract, BasePlugin, BigIntMath, BotPermissions, BoundedPriceFeedContract, CamelotV3AdapterContract, ChainContractsRegister, ChainNotConfiguredError, CompositePriceFeedContract, Construct, ContractParseError, ConvexV1BaseRewardPoolAdapterContract, ConvexV1BoosterAdapterContract, CreditAccountCompressor, CreditAccountCompressorV310Contract, CreditAccountOperationsService, CreditAccountsServiceV310, CreditConfiguratorV310Contract, CreditFacadeV310BaseContract, CreditFacadeV310Contract, CreditManagerV310Contract, CreditSuite, Curve2AssetsAdapterContract, Curve3AssetsAdapterContract, Curve4AssetsAdapterContract, CurveCryptoPriceFeedContract, CurveStablePriceFeedContract, CurveUSDPriceFeedContract, CurveV1AdapterStETHContract, CurveV1StableNGAdapterContract, DEFAULT_QUOTA_BUFFER_BPS, DELAYED_INTENT_TYPES, DELAYED_INTENT_VERSION, DUST_THRESHOLD, DaiUsdsAdapterContract, ERC4626AdapterContract, ERC4626ReferralAdapterContract, Erc4626PriceFeedContract, ExternalPriceFeedContract, FluidDexAdapterContract, GaugeContract, IERC20ZapperContract, IETHZapperContract, InfinifiGatewayAdapterContract, InfinifiUnwindingGatewayAdapterContract, IntentPreviewError, InvalidDelayedIntentError, KelpLRTDepositPoolAdapterContract, KelpLRTWithdrawalManagerAdapterContract, LEVERAGE_DECIMALS, LIQUIDATION_APPROVAL_BUFFER, LIQUIDATION_COMPRESSOR_V313_ADDRESS, LidoV1AdapterContract, LinearInterestRateModelContract, LiquidationsService, MAX_INT, MAX_LEVERAGE_BUFFER_BPS, MAX_UINT16, MAX_UINT256, MIN_INT96, MULTICALL_ADDRESS, MarketRegister, MarketSuite, MellowClaimerAdapterContract, MellowDVVAdapterContract, MellowERC4626VaultAdapterContract, MellowLRTPriceFeedContract, MellowWrapperAdapterContract, MidasGatewayAdapterContract, MidasIssuanceVaultAdapterContract, MidasLiquidatorContract, MidasRedemptionVaultAdapterContract, MissingSerializedParamsError, MultichainConstruct, MultichainLiquidationsService, MultichainOpportunitiesService, MultichainPositionsService, MultichainSDK, NATIVE_ADDRESS, NON_STRATEGY_PHANTOM_TOKEN_TYPES, NOT_DEPLOYED, NO_VERSION, NetworkType, OnchainSDK, OpportunitiesService, PARTIAL_LIQUIDATION_BUFFER_BPS, PERCENTAGE_DECIMALS, PERCENTAGE_FACTOR, PERCENTAGE_FACTOR_1KK, PERIPHERY_CONTRACTS, PHANTOM_TOKEN_CONTRACT_TYPES, PHANTOM_TOKEN_MIDAS_REDEMPTION, PHANTOM_TOKEN_SECURITIZE_REDEMPTION, PRICE_DECIMALS, PRICE_DECIMALS_POW, PartialPriceFeedInitError, PendlePairStatus, PendleRouterAdapterContract, PendleTWAPPTPriceFeed, PendleTokenType, PeripheryCompressorV310Contract, PluginStateVersionError, PoolService, PoolSuite, PoolV310Contract, PositionsService, PriceFeedRef, PriceFeedRegister, PriceOracleV310Contract, PythPriceFeed, RAMP_DURATION_BY_NETWORK, RAY, RAY_DECIMALS_POW, RWARegistry, RWA_FACTORY_SECURITIZE, RWA_FACTORY_TYPES, RWA_LIQUIDATOR_MIDAS, RWA_LIQUIDATOR_SECURITIZE, RWA_ON_DEMAND_LP_MONOPOLIZED, RWA_UNDERLYING_DEFAULT, RWA_UNDERLYING_ON_DEMAND, RedemptionLoggerV310Contract, RedstonePriceFeedContract, RouterV310Contract, SDKConstruct, SECONDS_PER_YEAR, SECURITIZE_REGISTER_VAULT_TYPES, SLIPPAGE_DECIMALS, STATE_VERSION, SUPPORTED_NETWORKS, SdkAlreadyAttachedError, SdkChainMismatchError, SdkMissingChainStateError, SdkNotAttachedError, SdkStateVersionMismatchError, SdkSyncFailedError, SecuritizeLiquidatorContract, SecuritizeOnRampAdapterContract, SecuritizeRWAFactory, SecuritizeRedemptionGatewayAdapterContract, SimulateWithPriceUpdatesError, SimulationError, StakingRewardsAdapterContract, TokensMeta, TraderJoePoolVersion, TraderJoeRouterAdapterContract, TypedObjectUtils, UniswapV2AdapterContract, UniswapV3AdapterContract, UniswapV4AdapterContract, UnsupportedZapperFunctionError, UpshiftVaultAdapterContract, VERSION_RANGE_310, VelodromeV2RouterAdapterContract, VotingContractStatus, WAD, WAD_DECIMALS_POW, WithdrawalCompressorV310Contract, WithdrawalCompressorV311Contract, WithdrawalCompressorV313Contract, WstETHPriceFeedContract, WstETHV1AdapterContract, YearnPriceFeedContract, ZapperContract, ZeroPriceFeedContract, ZodAddress, ZodBigInt, ZodHex, accountSnapshotFromCreditAccountData, adapterActionAbi, adapterActionSelectors, adapterActionSignatures, adapterConstructorAbi, allTransfersAsTokenAmounts, assetsMap, attachOptionsSchema, botPermissionsToString, bpsToRay, bytes32ToString, calcBorrowApy, calcBorrowRate, calcEffectiveBorrowApy, calcHealthFactor, calcLiquidationPrice, calcLiquidationPriceForTarget, calcMaxLeverage, calcNetStrategyApy, calcPositionLeverage, calcQuotaRate, calcTimeToLiquidationMs, calcUtilization, calcUtilizationRaw, chains, childLogger, classifyCurveOperation, createAdapter, createAddressProvider, createPriceOracle, createRawTx, createRedemptionLogger, createRouter, createWithdrawalCompressor, createZapper, abi as creditFacadeV310Abi, curveAddLiquidityFromTransfers, curveRemoveLiquidityFromTransfers, decodeDelayedIntent, detectNetwork, dominantCollateral, encodeDelayedIntent, erc4626ReferralAdapterAbi, estimateRawTxGas, etherscanApiUrl, etherscanUrl, executeDelegatedMulticalls, executeMulticallBatches, expectedBalanceDeltas, fetchCreditAccountSlice, fetchRedstonePayloads, filterDust, filterDustUSD, findCuratorMarketConfigurator, fmtBinaryMask, fnSigToName, formatBN, formatBNvalue, formatDuration, formatLeverage, formatNumberToString_, formatPercentage, formatTimestamp, functionArgsToMap, functionArgsToRecord, generateCastTraceCall, getAccountTargetCollateral, getAdapterActionAbi, getAdapterDeployParamsAbi, getAdapterType, getAssetType, getCastTraceArgs, getChain, getCuratorName, getFunctionSignature, getLegacyStrategyTarget, getNetworkType, getRawPriceUpdates, getSimulateWithPriceUpdatesError, getWithdrawalCompressorAddress, halfRAY, hasAdapterDeployParamsAbi, healthFactorBps, hexEq, hydrateAddressProvider, iBalancerV3RouterAbi, iBalancerV3RouterAdapterAbi, iBalancerV3WrapperAbi, iBalancerV3WrapperAdapterAbi, iBaseOnRampAbi, iBaseRewardPoolAbi, iBoosterAbi, iCamelotV3AdapterAbi, iCamelotV3RouterAbi, iConvexV1BaseRewardPoolAdapterAbi, iConvexV1BoosterAdapterAbi, iCreditAccountAbi, iCurvePoolAbi, iCurvePoolStableNGAbi, iCurvePool_2Abi, iCurvePool_3Abi, iCurvePool_4Abi, iCurveV1StableNgAdapterAbi, iCurveV1_2AssetsAdapterAbi, iCurveV1_3AssetsAdapterAbi, iCurveV1_4AssetsAdapterAbi, iDaiUsdsAbi, iDaiUsdsAdapterAbi, iERC4626Abi, iERC4626ReferralAbi, iFluidDexAbi, iFluidDexAdapterAbi, iInfinifiGatewayAbi, iInfinifiGatewayAdapterAbi, iInfinifiUnwindingGatewayAbi, iInfinifiUnwindingGatewayAdapterAbi, iKelpLRTDepositPoolGatewayAbi, iKelpLRTWithdrawalManagerGatewayAbi, iKelpLrtDepositPoolAdapterAbi, iKelpLrtDepositPoolGatewayAbi, iKelpLrtWithdrawalManagerAdapterAbi, iKelpLrtWithdrawalManagerGatewayAbi, iLidoV1AdapterAbi, iMellow4626VaultAdapterAbi, iMellowClaimerAbi, iMellowClaimerAdapterAbi, iMellowWrapperAbi, iMellowWrapperAdapterAbi, iMidasGatewayAdapterV311Abi, iMidasGatewayV311Abi, iMidasIssuanceVaultAdapterV310Abi, iMidasIssuanceVaultV310Abi, iMidasRedemptionVaultAdapterV310Abi, iMidasRedemptionVaultGatewayV310Abi, iPendleRouterAbi, iPendleRouterAdapterAbi, iSecuritizeOnRampAbi, iSecuritizeOnRampAdapterV310Abi, iSecuritizeRedemptionGatewayAdapterV311Abi, iSecuritizeRedemptionGatewayV311Abi, iStakingRewardsAbi, iStakingRewardsAdapterAbi, iTraderJoeRouterAbi, iTraderJoeRouterAdapterAbi, iUniswapV2AdapterAbi, iUniswapV2Router02Abi, iUniswapV3Abi, iUniswapV3AdapterAbi, iUniswapV4AdapterAbi, iUniswapV4GatewayAbi, iUpshiftVaultAdapterAbi, iUpshiftVaultGatewayAbi, iVelodromeV2RouterAbi, iVelodromeV2RouterAdapterAbi, isDust, isLPPriceFeed, isPublicNetwork, isRWAFactory, isRWAToken, isStrategyCollateral, isSunsetPool, isSunsetStrategy, isSupportedNetwork, isUpdatablePriceFeed, isV310, isVersionRange, iwstETHAbi, iwstEthv1AdapterAbi, json_parse, json_stringify, lidoV1_WETHGatewayAbi, mellowDvvAdapterAbi, minSeizedAmount, numberWithCommas, onchainSDKOptionsSchema, optimalHFForPartialLiquidation, optimalRepaidAmount, parseAdapterAction, parseAdapterDeployParams, parsePosNegAmount, percentFmt, pickStrategyTargetCollateral, rayToBps, rayToNumber, retry, rewardsFromTransfers, sendRawTx, shortAddress, shortHash, simulateCall, simulateMulticall, simulateWithPriceUpdates, strategyName, swapFromTransfers, toAddress, toBN, toBigInt, toChainIds, toClaimableWithdrawal, toCreditAccountSlice, toNetTransfers, toPendingWithdrawal, toRequestableWithdrawal, toShares, toSharesUp, toSignificant, toWithdrawalStatus, usdToNumber, watchBlocksAsync };