@gearbox-protocol/sdk 8.2.1 → 8.3.0-next.2

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 (107) hide show
  1. package/dist/cjs/dev/AccountOpener.js +3 -3
  2. package/dist/cjs/plugins/adapters/BalancerV2VaultAdapterContract.js +1 -1
  3. package/dist/cjs/plugins/adapters/BalancerV3RouterAdapterContract.js +1 -1
  4. package/dist/cjs/plugins/adapters/CamelotV3AdapterContract.js +1 -1
  5. package/dist/cjs/plugins/adapters/ConvexV1BaseRewardPoolAdapterContract.js +1 -1
  6. package/dist/cjs/plugins/adapters/ConvexV1BoosterAdapterContract.js +1 -1
  7. package/dist/cjs/plugins/adapters/Curve2AssetsAdapterContract.js +1 -1
  8. package/dist/cjs/plugins/adapters/Curve3AssetsAdapterContract.js +1 -1
  9. package/dist/cjs/plugins/adapters/Curve4AssetsAdapterContract.js +1 -1
  10. package/dist/cjs/plugins/adapters/CurveV1AdapterDeposit.js +1 -1
  11. package/dist/cjs/plugins/adapters/CurveV1AdapterStETHContract.js +1 -1
  12. package/dist/cjs/plugins/adapters/CurveV1StableNGAdapterContract.js +1 -1
  13. package/dist/cjs/plugins/adapters/DaiUsdsAdapterContract.js +1 -1
  14. package/dist/cjs/plugins/adapters/ERC4626AdapterContract.js +1 -1
  15. package/dist/cjs/plugins/adapters/EqualizerRouterAdapterContract.js +1 -1
  16. package/dist/cjs/plugins/adapters/MellowERC4626VaultAdapterContract.js +1 -1
  17. package/dist/cjs/plugins/adapters/MellowVaultAdapterContract.js +1 -1
  18. package/dist/cjs/plugins/adapters/PendleRouterAdapterContract.js +1 -1
  19. package/dist/cjs/plugins/adapters/StakingRewardsAdapterContract.js +1 -1
  20. package/dist/cjs/plugins/adapters/UniswapV2AdapterContract.js +1 -1
  21. package/dist/cjs/plugins/adapters/UniswapV3AdapterContract.js +1 -1
  22. package/dist/cjs/plugins/adapters/VelodromeV2AdapterContract.js +1 -1
  23. package/dist/cjs/plugins/adapters/WstETHV1AdapterContract.js +1 -1
  24. package/dist/cjs/plugins/adapters/YearnV2AdapterContract.js +1 -1
  25. package/dist/cjs/plugins/adapters/index.js +2 -2
  26. package/dist/cjs/plugins/degen-distributors/DegenDistributorsPlugin.js +1 -1
  27. package/dist/cjs/plugins/pools-history/Pools7DAgoPlugin.js +1 -1
  28. package/dist/cjs/sdk/accounts/CreditAccountsService.js +3 -3
  29. package/dist/cjs/sdk/base/BaseContract.js +2 -2
  30. package/dist/cjs/sdk/core/address-provider/AbstractAddressProviderContract.js +1 -1
  31. package/dist/cjs/sdk/index.js +2 -2
  32. package/dist/cjs/sdk/market/MarketConfiguratorContract.js +1 -1
  33. package/dist/cjs/sdk/market/MarketRegister.js +42 -33
  34. package/dist/cjs/sdk/market/MarketSuite.js +5 -8
  35. package/dist/cjs/sdk/market/pool/PoolSuite.js +2 -2
  36. package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +25 -0
  37. package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +2 -2
  38. package/dist/cjs/sdk/plugins/V300StalenessPeriodPlugin.js +0 -1
  39. package/dist/cjs/sdk/router/PathOptionFactory.js +1 -1
  40. package/dist/cjs/sdk/router/RouterV300Contract.js +1 -1
  41. package/dist/cjs/sdk/router/RouterV310Contract.js +2 -2
  42. package/dist/cjs/sdk/sdk-legacy/core/creditAccount.js +37 -17
  43. package/dist/cjs/sdk/sdk-legacy/core/strategy.js +1 -1
  44. package/dist/cjs/sdk/sdk-legacy/gearboxRewards/api.js +21 -8
  45. package/dist/cjs/sdk/sdk-legacy/gearboxRewards/apy.js +20 -17
  46. package/dist/cjs/sdk/sdk-legacy/gearboxRewards/extraAPY.js +4 -2
  47. package/dist/cjs/sdk/utils/createRawTx.js +1 -1
  48. package/dist/cjs/sdk/utils/formatter.js +4 -4
  49. package/dist/cjs/sdk/utils/viem/simulateWithPriceUpdates.js +2 -2
  50. package/dist/esm/dev/AccountOpener.js +3 -3
  51. package/dist/esm/plugins/adapters/BalancerV2VaultAdapterContract.js +1 -1
  52. package/dist/esm/plugins/adapters/BalancerV3RouterAdapterContract.js +1 -1
  53. package/dist/esm/plugins/adapters/CamelotV3AdapterContract.js +1 -1
  54. package/dist/esm/plugins/adapters/ConvexV1BaseRewardPoolAdapterContract.js +1 -1
  55. package/dist/esm/plugins/adapters/ConvexV1BoosterAdapterContract.js +1 -1
  56. package/dist/esm/plugins/adapters/Curve2AssetsAdapterContract.js +1 -1
  57. package/dist/esm/plugins/adapters/Curve3AssetsAdapterContract.js +1 -1
  58. package/dist/esm/plugins/adapters/Curve4AssetsAdapterContract.js +1 -1
  59. package/dist/esm/plugins/adapters/CurveV1AdapterDeposit.js +1 -1
  60. package/dist/esm/plugins/adapters/CurveV1AdapterStETHContract.js +1 -1
  61. package/dist/esm/plugins/adapters/CurveV1StableNGAdapterContract.js +1 -1
  62. package/dist/esm/plugins/adapters/DaiUsdsAdapterContract.js +1 -1
  63. package/dist/esm/plugins/adapters/ERC4626AdapterContract.js +1 -1
  64. package/dist/esm/plugins/adapters/EqualizerRouterAdapterContract.js +1 -1
  65. package/dist/esm/plugins/adapters/MellowERC4626VaultAdapterContract.js +1 -1
  66. package/dist/esm/plugins/adapters/MellowVaultAdapterContract.js +1 -1
  67. package/dist/esm/plugins/adapters/PendleRouterAdapterContract.js +1 -1
  68. package/dist/esm/plugins/adapters/StakingRewardsAdapterContract.js +1 -1
  69. package/dist/esm/plugins/adapters/UniswapV2AdapterContract.js +1 -1
  70. package/dist/esm/plugins/adapters/UniswapV3AdapterContract.js +1 -1
  71. package/dist/esm/plugins/adapters/VelodromeV2AdapterContract.js +1 -1
  72. package/dist/esm/plugins/adapters/WstETHV1AdapterContract.js +1 -1
  73. package/dist/esm/plugins/adapters/YearnV2AdapterContract.js +1 -1
  74. package/dist/esm/plugins/adapters/index.js +1 -1
  75. package/dist/esm/plugins/degen-distributors/DegenDistributorsPlugin.js +1 -1
  76. package/dist/esm/plugins/pools-history/Pools7DAgoPlugin.js +1 -1
  77. package/dist/esm/sdk/GearboxSDK.js +1 -1
  78. package/dist/esm/sdk/accounts/CreditAccountsService.js +3 -3
  79. package/dist/esm/sdk/base/BaseContract.js +2 -2
  80. package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +1 -1
  81. package/dist/esm/sdk/index.js +1 -1
  82. package/dist/esm/sdk/market/MarketConfiguratorContract.js +1 -1
  83. package/dist/esm/sdk/market/MarketRegister.js +42 -33
  84. package/dist/esm/sdk/market/MarketSuite.js +5 -8
  85. package/dist/esm/sdk/market/pool/PoolSuite.js +2 -2
  86. package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +25 -0
  87. package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +2 -2
  88. package/dist/esm/sdk/plugins/V300StalenessPeriodPlugin.js +0 -1
  89. package/dist/esm/sdk/router/PathOptionFactory.js +1 -1
  90. package/dist/esm/sdk/router/RouterV300Contract.js +1 -1
  91. package/dist/esm/sdk/router/RouterV310Contract.js +2 -2
  92. package/dist/esm/sdk/sdk-legacy/core/creditAccount.js +37 -17
  93. package/dist/esm/sdk/sdk-legacy/core/creditSession.js +1 -1
  94. package/dist/esm/sdk/sdk-legacy/core/strategy.js +1 -1
  95. package/dist/esm/sdk/sdk-legacy/gearboxRewards/api.js +22 -9
  96. package/dist/esm/sdk/sdk-legacy/gearboxRewards/apy.js +20 -17
  97. package/dist/esm/sdk/sdk-legacy/gearboxRewards/extraAPY.js +4 -2
  98. package/dist/esm/sdk/utils/createRawTx.js +1 -1
  99. package/dist/esm/sdk/utils/formatter.js +4 -4
  100. package/dist/esm/sdk/utils/viem/simulateWithPriceUpdates.js +2 -2
  101. package/dist/types/plugins/adapters/index.d.ts +1 -1
  102. package/dist/types/plugins/bots/BotsPlugin.d.ts +1 -1
  103. package/dist/types/sdk/index.d.ts +1 -1
  104. package/dist/types/sdk/market/MarketRegister.d.ts +3 -7
  105. package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +13 -1
  106. package/dist/types/sdk/types/state.d.ts +1 -1
  107. package/package.json +9 -23
@@ -53,7 +53,7 @@ class AccountOpener extends import_sdk.SDKConstruct {
53
53
  });
54
54
  try {
55
55
  this.#faucet = options.faucet ?? service.sdk.addressProvider.getAddress("FAUCET");
56
- } catch (e) {
56
+ } catch (_e) {
57
57
  this.#logger?.warn("faucet not found, will not claim from faucet");
58
58
  }
59
59
  this.#borrower = options.borrower;
@@ -275,7 +275,7 @@ class AccountOpener extends import_sdk.SDKConstruct {
275
275
  minAvailableByPool[cm.pool] = (minAvailableByPool[cm.pool] ?? 0n) + minDebt * (leverage - import_sdk.PERCENTAGE_FACTOR) / import_sdk.PERCENTAGE_FACTOR * this.#poolDepositMultiplier / import_sdk.PERCENTAGE_FACTOR;
276
276
  }
277
277
  let totalUSD = 0n;
278
- let deposits = [];
278
+ const deposits = [];
279
279
  for (const [p, minAvailable] of Object.entries(minAvailableByPool)) {
280
280
  const market = this.sdk.marketRegister.findByPool(p);
281
281
  const pool = market.pool.pool;
@@ -363,7 +363,7 @@ class AccountOpener extends import_sdk.SDKConstruct {
363
363
  async #prepareBorrower(targets) {
364
364
  const borrower = await this.#getBorrower();
365
365
  let claimUSD = 0n;
366
- let degenNFTS = {};
366
+ const degenNFTS = {};
367
367
  for (const target of targets) {
368
368
  const cm = this.sdk.marketRegister.findCreditManager(
369
369
  target.creditManager
@@ -21,8 +21,8 @@ __export(BalancerV2VaultAdapterContract_exports, {
21
21
  BalancerV2VaultAdapterContract: () => BalancerV2VaultAdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(BalancerV2VaultAdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iBalancerV2VaultAdapterAbi;
27
27
  class BalancerV2VaultAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(BalancerV3RouterAdapterContract_exports, {
21
21
  BalancerV3RouterAdapterContract: () => BalancerV3RouterAdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(BalancerV3RouterAdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iBalancerV3RouterAdapterAbi;
27
27
  class BalancerV3RouterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(CamelotV3AdapterContract_exports, {
21
21
  CamelotV3AdapterContract: () => CamelotV3AdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(CamelotV3AdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iCamelotV3AdapterAbi;
27
27
  class CamelotV3AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(ConvexV1BaseRewardPoolAdapterContract_exports, {
21
21
  ConvexV1BaseRewardPoolAdapterContract: () => ConvexV1BaseRewardPoolAdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(ConvexV1BaseRewardPoolAdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iConvexV1BaseRewardPoolAdapterAbi;
27
27
  class ConvexV1BaseRewardPoolAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(ConvexV1BoosterAdapterContract_exports, {
21
21
  ConvexV1BoosterAdapterContract: () => ConvexV1BoosterAdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(ConvexV1BoosterAdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iConvexV1BoosterAdapterAbi;
27
27
  class ConvexV1BoosterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(Curve2AssetsAdapterContract_exports, {
21
21
  Curve2AssetsAdapterContract: () => Curve2AssetsAdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(Curve2AssetsAdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iCurveV1_2AssetsAdapterAbi;
27
27
  class Curve2AssetsAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(Curve3AssetsAdapterContract_exports, {
21
21
  Curve3AssetsAdapterContract: () => Curve3AssetsAdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(Curve3AssetsAdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iCurveV1_3AssetsAdapterAbi;
27
27
  class Curve3AssetsAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(Curve4AssetsAdapterContract_exports, {
21
21
  Curve4AssetsAdapterContract: () => Curve4AssetsAdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(Curve4AssetsAdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iCurveV1_4AssetsAdapterAbi;
27
27
  class Curve4AssetsAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(CurveV1AdapterDeposit_exports, {
21
21
  CurveV1AdapterDeposit: () => CurveV1AdapterDeposit
22
22
  });
23
23
  module.exports = __toCommonJS(CurveV1AdapterDeposit_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iCurveV1AdapterAbi;
27
27
  class CurveV1AdapterDeposit extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(CurveV1AdapterStETHContract_exports, {
21
21
  CurveV1AdapterStETHContract: () => CurveV1AdapterStETHContract
22
22
  });
23
23
  module.exports = __toCommonJS(CurveV1AdapterStETHContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iCurveV1_2AssetsAdapterAbi;
27
27
  class CurveV1AdapterStETHContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(CurveV1StableNGAdapterContract_exports, {
21
21
  CurveV1StableNGAdapterContract: () => CurveV1StableNGAdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(CurveV1StableNGAdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iCurveV1StableNgAdapterAbi;
27
27
  class CurveV1StableNGAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(DaiUsdsAdapterContract_exports, {
21
21
  DaiUsdsAdapterContract: () => DaiUsdsAdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(DaiUsdsAdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iDaiUsdsAdapterAbi;
27
27
  class DaiUsdsAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(ERC4626AdapterContract_exports, {
21
21
  ERC4626AdapterContract: () => ERC4626AdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(ERC4626AdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.ierc4626AdapterAbi;
27
27
  class ERC4626AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(EqualizerRouterAdapterContract_exports, {
21
21
  EqualizerRouterAdapterContract: () => EqualizerRouterAdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(EqualizerRouterAdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iEqualizerRouterAdapterAbi;
27
27
  class EqualizerRouterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(MellowERC4626VaultAdapterContract_exports, {
21
21
  MellowERC4626VaultAdapterContract: () => MellowERC4626VaultAdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(MellowERC4626VaultAdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.ierc4626AdapterAbi;
27
27
  class MellowERC4626VaultAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(MellowVaultAdapterContract_exports, {
21
21
  MellowVaultAdapterContract: () => MellowVaultAdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(MellowVaultAdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iMellowVaultAdapterAbi;
27
27
  class MellowVaultAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(PendleRouterAdapterContract_exports, {
21
21
  PendleRouterAdapterContract: () => PendleRouterAdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(PendleRouterAdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iPendleRouterAdapterAbi;
27
27
  class PendleRouterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(StakingRewardsAdapterContract_exports, {
21
21
  StakingRewardsAdapterContract: () => StakingRewardsAdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(StakingRewardsAdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iStakingRewardsAdapterAbi;
27
27
  class StakingRewardsAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -22,8 +22,8 @@ __export(UniswapV2AdapterContract_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(UniswapV2AdapterContract_exports);
24
24
  var import_sdk = require("../../sdk/index.js");
25
- var import_abi = require("./abi/index.js");
26
25
  var import_AbstractAdapter = require("./AbstractAdapter.js");
26
+ var import_abi = require("./abi/index.js");
27
27
  const abi = import_abi.iUniswapV2AdapterAbi;
28
28
  class UniswapV2AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
29
29
  constructor(sdk, args) {
@@ -22,8 +22,8 @@ __export(UniswapV3AdapterContract_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(UniswapV3AdapterContract_exports);
24
24
  var import_sdk = require("../../sdk/index.js");
25
- var import_abi = require("./abi/index.js");
26
25
  var import_AbstractAdapter = require("./AbstractAdapter.js");
26
+ var import_abi = require("./abi/index.js");
27
27
  const abi = import_abi.iUniswapV3AdapterAbi;
28
28
  class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
29
29
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(VelodromeV2AdapterContract_exports, {
21
21
  VelodromeV2RouterAdapterContract: () => VelodromeV2RouterAdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(VelodromeV2AdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iVelodromeV2RouterAdapterAbi;
27
27
  class VelodromeV2RouterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(WstETHV1AdapterContract_exports, {
21
21
  WstETHV1AdapterContract: () => WstETHV1AdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(WstETHV1AdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iwstEthv1AdapterAbi;
27
27
  class WstETHV1AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -21,8 +21,8 @@ __export(YearnV2AdapterContract_exports, {
21
21
  YearnV2RouterAdapterContract: () => YearnV2RouterAdapterContract
22
22
  });
23
23
  module.exports = __toCommonJS(YearnV2AdapterContract_exports);
24
- var import_abi = require("./abi/index.js");
25
24
  var import_AbstractAdapter = require("./AbstractAdapter.js");
25
+ var import_abi = require("./abi/index.js");
26
26
  const abi = import_abi.iYearnV2AdapterAbi;
27
27
  class YearnV2RouterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
28
  constructor(sdk, args) {
@@ -15,9 +15,9 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
15
15
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
16
  var adapters_exports = {};
17
17
  module.exports = __toCommonJS(adapters_exports);
18
- __reExport(adapters_exports, require("./abi/index.js"), module.exports);
19
18
  __reExport(adapters_exports, require("./AbstractAdapter.js"), module.exports);
20
19
  __reExport(adapters_exports, require("./AdaptersPlugin.js"), module.exports);
20
+ __reExport(adapters_exports, require("./abi/index.js"), module.exports);
21
21
  __reExport(adapters_exports, require("./BalancerV2VaultAdapterContract.js"), module.exports);
22
22
  __reExport(adapters_exports, require("./BalancerV3RouterAdapterContract.js"), module.exports);
23
23
  __reExport(adapters_exports, require("./CamelotV3AdapterContract.js"), module.exports);
@@ -44,9 +44,9 @@ __reExport(adapters_exports, require("./WstETHV1AdapterContract.js"), module.exp
44
44
  __reExport(adapters_exports, require("./YearnV2AdapterContract.js"), module.exports);
45
45
  // Annotate the CommonJS export names for ESM import in node:
46
46
  0 && (module.exports = {
47
- ...require("./abi/index.js"),
48
47
  ...require("./AbstractAdapter.js"),
49
48
  ...require("./AdaptersPlugin.js"),
49
+ ...require("./abi/index.js"),
50
50
  ...require("./BalancerV2VaultAdapterContract.js"),
51
51
  ...require("./BalancerV3RouterAdapterContract.js"),
52
52
  ...require("./CamelotV3AdapterContract.js"),
@@ -54,7 +54,7 @@ class DegenDistributorsPlugin extends import_sdk.BasePlugin {
54
54
  const cfgLC = cfg.toLowerCase();
55
55
  const r = distributorByConfigurator?.[cfgLC];
56
56
  if (r.status === "fulfilled") {
57
- this.#distributors.upsert(pool, r.value);
57
+ this.#distributors?.upsert(pool, r.value);
58
58
  } else {
59
59
  this.sdk.logger?.error(
60
60
  `failed to load degen distributor for market configurator ${this.labelAddress(cfg)} and pool ${this.labelAddress(pool)}: ${r.reason}`
@@ -57,7 +57,7 @@ class Pools7DAgoPlugin extends import_sdk.BasePlugin {
57
57
  const cfg = m.configurator.address;
58
58
  const pool = m.pool.pool.address;
59
59
  if (r.status === "success") {
60
- this.#pools7DAgo.upsert(m.pool.pool.address, {
60
+ this.#pools7DAgo?.upsert(m.pool.pool.address, {
61
61
  dieselRate: r.result.dieselRate,
62
62
  pool
63
63
  });
@@ -67,7 +67,7 @@ class CreditAccountsService extends import_base.SDKConstruct {
67
67
  // @ts-expect-error
68
68
  gas: this.sdk.gasLimit
69
69
  });
70
- } catch (e) {
70
+ } catch (_e) {
71
71
  return void 0;
72
72
  }
73
73
  if (raw.success) {
@@ -1122,7 +1122,7 @@ class CreditAccountsService extends import_base.SDKConstruct {
1122
1122
  const poolAddressLc = poolAddress.toLowerCase();
1123
1123
  return getWithdrawCall(cmAdapters[poolAddressLc], a);
1124
1124
  });
1125
- const skyStkCalls = sky.map((a) => {
1125
+ const skyStkCalls = sky.flatMap((a) => {
1126
1126
  const symbol = import_sdk_gov_legacy.tokenSymbolByAddress[a.token];
1127
1127
  const { pool } = import_sdk_gov_legacy.stakingRewardsTokens[symbol];
1128
1128
  const poolAddress = currentContractsData[pool];
@@ -1131,7 +1131,7 @@ class CreditAccountsService extends import_base.SDKConstruct {
1131
1131
  }
1132
1132
  const poolAddressLc = poolAddress.toLowerCase();
1133
1133
  return getWithdrawCall_Rewards(cmAdapters[poolAddressLc], a);
1134
- }).flat(1);
1134
+ });
1135
1135
  const unwrapCalls = [...convexStkCalls, ...auraStkCalls, ...skyStkCalls];
1136
1136
  const withdraw = assets.map((a) => {
1137
1137
  const symbol = import_sdk_gov_legacy.tokenSymbolByAddress[a.token];
@@ -111,13 +111,13 @@ class BaseContract extends import_SDKConstruct.SDKConstruct {
111
111
  data: calldata
112
112
  });
113
113
  const abiItem = this.abi.find(
114
- (abiItem2) => abiItem2.name === decoded.functionName && abiItem2.type === "function"
114
+ (abiItem2) => abiItem2?.name === decoded.functionName && abiItem2?.type === "function"
115
115
  );
116
116
  if (!abiItem) {
117
117
  return `Unknown function: ${decoded.functionName}`;
118
118
  }
119
119
  let paramsHuman;
120
- let humanParams = this.parseFunctionParams(decoded);
120
+ const humanParams = this.parseFunctionParams(decoded);
121
121
  if (humanParams) {
122
122
  paramsHuman = humanParams.map((value, i) => {
123
123
  return `${abiItem.inputs[i].name}: ${value}`;
@@ -32,7 +32,7 @@ class AbstractAddressProviderContract extends import_base.BaseContract {
32
32
  this.#addresses = addresses;
33
33
  }
34
34
  setInternalAddress(key, address, version) {
35
- let k = (0, import_viem.isHex)(key) ? (0, import_viem.hexToString)(key, { size: 32 }) : key;
35
+ const k = (0, import_viem.isHex)(key) ? (0, import_viem.hexToString)(key, { size: 32 }) : key;
36
36
  if (!this.#addresses[k]) {
37
37
  this.#addresses[k] = {};
38
38
  }
@@ -20,8 +20,8 @@ __reExport(sdk_exports, require("./base/index.js"), module.exports);
20
20
  __reExport(sdk_exports, require("./chain/index.js"), module.exports);
21
21
  __reExport(sdk_exports, require("./constants/index.js"), module.exports);
22
22
  __reExport(sdk_exports, require("./core/index.js"), module.exports);
23
- __reExport(sdk_exports, require("./gauges/index.js"), module.exports);
24
23
  __reExport(sdk_exports, require("./GearboxSDK.js"), module.exports);
24
+ __reExport(sdk_exports, require("./gauges/index.js"), module.exports);
25
25
  __reExport(sdk_exports, require("./market/index.js"), module.exports);
26
26
  __reExport(sdk_exports, require("./plugins/index.js"), module.exports);
27
27
  __reExport(sdk_exports, require("./router/index.js"), module.exports);
@@ -37,8 +37,8 @@ __reExport(sdk_exports, require("./utils/viem/index.js"), module.exports);
37
37
  ...require("./chain/index.js"),
38
38
  ...require("./constants/index.js"),
39
39
  ...require("./core/index.js"),
40
- ...require("./gauges/index.js"),
41
40
  ...require("./GearboxSDK.js"),
41
+ ...require("./gauges/index.js"),
42
42
  ...require("./market/index.js"),
43
43
  ...require("./plugins/index.js"),
44
44
  ...require("./router/index.js"),
@@ -44,7 +44,7 @@ class MarketConfiguratorContract extends import_base.BaseContract {
44
44
  });
45
45
  this.sdk.provider.addressLabels.set(
46
46
  this.address,
47
- "Market configurator " + this.#curatorName
47
+ `Market configurator ${this.#curatorName}`
48
48
  );
49
49
  }
50
50
  async getPeripheryContract(contract) {
@@ -26,6 +26,7 @@ var import_base = require("../base/index.js");
26
26
  var import_constants = require("../constants/index.js");
27
27
  var import_utils = require("../utils/index.js");
28
28
  var import_viem = require("../utils/viem/index.js");
29
+ var import_MarketConfiguratorContract = require("./MarketConfiguratorContract.js");
29
30
  var import_MarketSuite = require("./MarketSuite.js");
30
31
  class MarketRegister extends import_base.SDKConstruct {
31
32
  #logger;
@@ -34,6 +35,10 @@ class MarketRegister extends import_base.SDKConstruct {
34
35
  */
35
36
  #markets = new import_utils.AddressMap(void 0, "markets");
36
37
  #marketFilter;
38
+ #marketConfigurators = new import_utils.AddressMap(
39
+ void 0,
40
+ "marketConfigurators"
41
+ );
37
42
  constructor(sdk) {
38
43
  super(sdk);
39
44
  this.#logger = (0, import_utils.childLogger)("MarketRegister", sdk.logger);
@@ -46,11 +51,7 @@ class MarketRegister extends import_base.SDKConstruct {
46
51
  new import_MarketSuite.MarketSuite(this.sdk, data)
47
52
  );
48
53
  }
49
- this.#marketFilter = {
50
- configurators: this.marketConfigurators.map((c) => c.address),
51
- pools: [],
52
- underlying: import_constants.ADDRESS_0X0
53
- };
54
+ this.#setMarketFilter(this.marketConfigurators.map((c) => c.address));
54
55
  }
55
56
  async loadMarkets(marketConfigurators, ignoreUpdateablePrices) {
56
57
  if (!marketConfigurators.length) {
@@ -61,35 +62,43 @@ class MarketRegister extends import_base.SDKConstruct {
61
62
  }
62
63
  await this.#loadMarkets(marketConfigurators, [], ignoreUpdateablePrices);
63
64
  }
65
+ #setMarketFilter(configurators, pools = []) {
66
+ for (const c of configurators) {
67
+ this.#marketConfigurators.upsert(
68
+ c,
69
+ new import_MarketConfiguratorContract.MarketConfiguratorContract(this.sdk, c)
70
+ );
71
+ }
72
+ this.#marketFilter = {
73
+ configurators,
74
+ pools,
75
+ underlying: import_constants.ADDRESS_0X0
76
+ };
77
+ }
64
78
  get marketFilter() {
79
+ if (!this.#marketFilter) {
80
+ throw new Error(
81
+ "market filter is not set, check if market register was properly attached or hydrated"
82
+ );
83
+ }
65
84
  return this.#marketFilter;
66
85
  }
67
86
  async syncState(skipPriceUpdate) {
68
- const dirtyPools = [];
69
- const nonDirtyOracles = [];
70
- for (const m of this.markets) {
71
- if (m.dirty) {
72
- dirtyPools.push(m.pool);
73
- } else {
74
- nonDirtyOracles.push(m.priceOracle.address);
75
- }
76
- }
77
- if (dirtyPools.length) {
78
- this.#logger?.debug(`need to reload ${dirtyPools.length} markets`);
87
+ const dirty = this.markets.some((m) => m.dirty) || this.marketConfigurators.some((c) => c.dirty);
88
+ if (dirty) {
89
+ this.#logger?.debug(
90
+ "some markets or market configurators are dirty, reloading everything"
91
+ );
79
92
  await this.#loadMarkets(
80
- Array.from(new Set(dirtyPools.map((p) => p.marketConfigurator.address))),
81
- dirtyPools.map((p) => p.pool.address)
93
+ [...this.marketFilter.configurators],
94
+ [...this.marketFilter.pools]
82
95
  );
83
- } else if (!skipPriceUpdate && nonDirtyOracles.length) {
84
- await this.updatePrices(nonDirtyOracles);
96
+ } else if (!skipPriceUpdate) {
97
+ await this.updatePrices();
85
98
  }
86
99
  }
87
100
  async #loadMarkets(configurators, pools, ignoreUpdateablePrices) {
88
- this.#marketFilter = {
89
- configurators,
90
- pools,
91
- underlying: import_constants.ADDRESS_0X0
92
- };
101
+ this.#setMarketFilter(configurators, pools);
93
102
  const [marketCompressorAddress] = this.sdk.addressProvider.mustGetLatest(
94
103
  import_constants.AP_MARKET_COMPRESSOR,
95
104
  import_constants.VERSION_RANGE_310
@@ -118,7 +127,7 @@ class MarketRegister extends import_base.SDKConstruct {
118
127
  abi: import_compressors.iMarketCompressorAbi,
119
128
  address: marketCompressorAddress,
120
129
  functionName: "getMarkets",
121
- args: [this.#marketFilter]
130
+ args: [this.marketFilter]
122
131
  }
123
132
  ],
124
133
  blockNumber: this.sdk.currentBlock,
@@ -131,7 +140,7 @@ class MarketRegister extends import_base.SDKConstruct {
131
140
  abi: import_compressors.iMarketCompressorAbi,
132
141
  address: marketCompressorAddress,
133
142
  functionName: "getMarkets",
134
- args: [this.#marketFilter],
143
+ args: [this.marketFilter],
135
144
  blockNumber: this.sdk.currentBlock,
136
145
  // @ts-expect-error
137
146
  gas: this.sdk.gasLimit
@@ -179,7 +188,11 @@ class MarketRegister extends import_base.SDKConstruct {
179
188
  }
180
189
  }
181
190
  get watchAddresses() {
182
- return new Set(this.markets.flatMap((m) => Array.from(m.watchAddresses)));
191
+ return /* @__PURE__ */ new Set([
192
+ ...this.markets.flatMap((m) => Array.from(m.watchAddresses)),
193
+ // this is needed to handle edge case of market configurator without markets, to detect CreateMarket event
194
+ ...this.marketFilter.configurators
195
+ ]);
183
196
  }
184
197
  get state() {
185
198
  return this.markets.map((market) => market.state);
@@ -196,11 +209,7 @@ class MarketRegister extends import_base.SDKConstruct {
196
209
  return this.markets.flatMap((market) => market.creditManagers);
197
210
  }
198
211
  get marketConfigurators() {
199
- const result = /* @__PURE__ */ new Set();
200
- for (const m of this.markets) {
201
- result.add(m.configurator);
202
- }
203
- return Array.from(result);
212
+ return this.#marketConfigurators.values();
204
213
  }
205
214
  findCreditManager(creditManager) {
206
215
  const addr = creditManager.toLowerCase();
@@ -39,16 +39,13 @@ class MarketSuite extends import_base.SDKConstruct {
39
39
  constructor(sdk, marketData) {
40
40
  super(sdk);
41
41
  this.state = marketData;
42
- let configurator = sdk.contracts.get(
43
- marketData.configurator
44
- );
45
- if (!configurator) {
46
- configurator = new import_MarketConfiguratorContract.MarketConfiguratorContract(
47
- sdk,
48
- marketData.configurator
42
+ const mc = sdk.contracts.mustGet(marketData.configurator);
43
+ if (!(mc instanceof import_MarketConfiguratorContract.MarketConfiguratorContract)) {
44
+ throw new Error(
45
+ `Market configurator ${marketData.configurator} is not a market configurator`
49
46
  );
50
47
  }
51
- this.configurator = configurator;
48
+ this.configurator = mc;
52
49
  this.acl = marketData.acl;
53
50
  for (const t of marketData.tokens) {
54
51
  sdk.tokensMeta.upsert(t.addr, t);
@@ -61,7 +61,7 @@ class PoolSuite extends import_base.SDKConstruct {
61
61
  return this.rateKeeper;
62
62
  }
63
63
  throw new Error(
64
- "Rate keeper is not a gauge, but a " + this.rateKeeper.contractType
64
+ `Rate keeper is not a gauge, but a ${this.rateKeeper.contractType}`
65
65
  );
66
66
  }
67
67
  get tumbler() {
@@ -69,7 +69,7 @@ class PoolSuite extends import_base.SDKConstruct {
69
69
  return this.rateKeeper;
70
70
  }
71
71
  throw new Error(
72
- "Rate keeper is not a tumbler, but a " + this.rateKeeper.contractType
72
+ `Rate keeper is not a tumbler, but a ${this.rateKeeper.contractType}`
73
73
  );
74
74
  }
75
75
  get linearModel() {
@@ -98,6 +98,31 @@ class PriceFeedRegister extends import_base.SDKConstruct {
98
98
  this.#latestUpdate = latestUpdate;
99
99
  return result;
100
100
  }
101
+ /**
102
+ * Similar to generatePriceFeedsUpdateTxs, but will generate necessary price update transactions for external price feeds
103
+ * This does not add feeds to this register, so they won't be implicitly included in future generatePriceFeedsUpdateTxs calls
104
+ * @param feeds
105
+ * @param block
106
+ * @returns
107
+ */
108
+ async generateExternalPriceFeedsUpdateTxs(feeds, block) {
109
+ const [priceFeedCompressorAddress] = this.sdk.addressProvider.mustGetLatest(
110
+ import_constants.AP_PRICE_FEED_COMPRESSOR,
111
+ import_constants.VERSION_RANGE_310
112
+ );
113
+ const blockParam = block ?? { blockNumber: this.sdk.currentBlock };
114
+ const result = await this.provider.publicClient.readContract({
115
+ address: priceFeedCompressorAddress,
116
+ abi: import_compressors.iPriceFeedCompressorAbi,
117
+ functionName: "loadPriceFeedTree",
118
+ args: [feeds],
119
+ ...blockParam,
120
+ // @ts-expect-error
121
+ gas: this.sdk.gasLimit
122
+ });
123
+ const feedContracts = result.map((data) => this.create(data));
124
+ return this.generatePriceFeedsUpdateTxs(feedContracts);
125
+ }
101
126
  has(address) {
102
127
  return this.#feeds.has(address);
103
128
  }
@@ -41,8 +41,8 @@ class PythUpdater extends import_base.SDKConstruct {
41
41
  this.#logger = (0, import_utils.childLogger)("PythUpdater", sdk.logger);
42
42
  this.#ignoreMissingFeeds = opts.ignoreMissingFeeds;
43
43
  this.#api = opts.apiProxy ?? "https://hermes.pyth.network/v2/updates/price/";
44
- this.#api = this.#api.endsWith("/") ? this.#api : this.#api + "/";
45
- let ts = opts.historicTimestamp;
44
+ this.#api = this.#api.endsWith("/") ? this.#api : `${this.#api}/`;
45
+ const ts = opts.historicTimestamp;
46
46
  if (ts) {
47
47
  this.#historicalTimestamp = ts === true ? Number(this.sdk.timestamp) : ts;
48
48
  }