@gearbox-protocol/sdk 11.12.0 → 12.0.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 (439) hide show
  1. package/dist/cjs/dev/create2.js +1 -1
  2. package/dist/cjs/dev/mint/AbstractMinter.js +2 -4
  3. package/dist/cjs/dev/mint/DealMinter.js +0 -3
  4. package/dist/cjs/dev/mint/DirectMinter.js +0 -3
  5. package/dist/cjs/dev/mint/FallbackMinter.js +1 -1
  6. package/dist/cjs/dev/mint/TransferMinter.js +0 -3
  7. package/dist/cjs/permissionless/bindings/address-provider.js +4 -6
  8. package/dist/cjs/permissionless/bindings/bytecode-repository.js +23 -25
  9. package/dist/cjs/permissionless/bindings/compressors/token-compressor.js +4 -4
  10. package/dist/cjs/permissionless/bindings/compressors/withdrawal-compressor.js +11 -17
  11. package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +23 -22
  12. package/dist/cjs/permissionless/bindings/factory/abstract-factory.js +7 -4
  13. package/dist/cjs/permissionless/bindings/governance/batches-chain.js +4 -4
  14. package/dist/cjs/permissionless/bindings/governance/governor.js +30 -49
  15. package/dist/cjs/permissionless/bindings/governance/timelock.js +4 -4
  16. package/dist/cjs/permissionless/bindings/index.js +0 -2
  17. package/dist/cjs/permissionless/bindings/instance-manager.js +58 -77
  18. package/dist/cjs/permissionless/bindings/market-configurator-factory.js +4 -4
  19. package/dist/cjs/permissionless/bindings/market-configurator.js +71 -143
  20. package/dist/cjs/permissionless/bindings/price-feed-store.js +8 -17
  21. package/dist/cjs/permissionless/bindings/router/routing-manager.js +9 -15
  22. package/dist/cjs/permissionless/bindings/treasury-splitter.js +15 -27
  23. package/dist/cjs/permissionless/core/raw-tx.js +2 -2
  24. package/dist/cjs/permissionless/utils/format.js +2 -2
  25. package/dist/cjs/permissionless/utils/governance/timelock-txs.js +2 -2
  26. package/dist/cjs/permissionless/utils/index.js +0 -2
  27. package/dist/cjs/permissionless/utils/price-update/get-price-feeds.js +1 -2
  28. package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +1 -2
  29. package/dist/cjs/permissionless/utils/price-update/get-prices.js +1 -2
  30. package/dist/cjs/permissionless/utils/price-update/get-updatable-feeds.js +2 -3
  31. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  32. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  33. package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  34. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  35. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  36. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  37. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  38. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  39. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  40. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  41. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  42. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  43. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  44. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  45. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  46. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  47. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  48. package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  49. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  50. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  51. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  52. package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  53. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  54. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  55. package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  56. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  57. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  58. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  59. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  60. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  61. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  62. package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  63. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  64. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  65. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  66. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  67. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  68. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  69. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  70. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  71. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  72. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  73. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  74. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  75. package/dist/cjs/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  76. package/dist/cjs/plugins/bots/deserializePartialLiquidationBotParams.js +49 -0
  77. package/dist/cjs/plugins/zappers/ZappersPlugin.js +1 -1
  78. package/dist/cjs/sdk/GearboxSDK.js +8 -110
  79. package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +1 -4
  80. package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +6 -8
  81. package/dist/cjs/sdk/base/BaseContract.js +195 -80
  82. package/dist/cjs/sdk/base/ChainContractsRegister.js +135 -0
  83. package/dist/cjs/sdk/base/Construct.js +87 -0
  84. package/dist/cjs/sdk/base/SDKConstruct.js +3 -29
  85. package/dist/cjs/sdk/base/TokensMeta.js +4 -4
  86. package/dist/cjs/sdk/base/index.js +4 -2
  87. package/dist/cjs/sdk/core/BotListV3Contract.js +2 -2
  88. package/dist/cjs/sdk/core/GearStakingV3Contract.js +2 -2
  89. package/dist/cjs/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  90. package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +11 -6
  91. package/dist/cjs/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  92. package/dist/cjs/sdk/market/MarketConfiguratorContract.js +5 -5
  93. package/dist/cjs/sdk/market/MarketRegister.js +7 -9
  94. package/dist/cjs/sdk/market/MarketSuite.js +2 -2
  95. package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +4 -3
  96. package/dist/cjs/sdk/market/credit/CreditConfiguratorV310Contract.js +4 -3
  97. package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  98. package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  99. package/dist/cjs/sdk/market/credit/CreditManagerV300Contract.js +5 -2
  100. package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +5 -2
  101. package/dist/cjs/sdk/market/credit/CreditSuite.js +2 -3
  102. package/dist/cjs/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +3 -1
  103. package/dist/cjs/sdk/market/loss-policy/LossPolicyContract.js +2 -2
  104. package/dist/cjs/sdk/market/loss-policy/createLossPolicy.js +1 -1
  105. package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +8 -26
  106. package/dist/cjs/sdk/market/oracle/createPriceOracle.js +1 -1
  107. package/dist/cjs/sdk/market/pool/GaugeContract.js +2 -2
  108. package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  109. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  110. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  111. package/dist/cjs/sdk/market/pool/PoolSuite.js +1 -1
  112. package/dist/cjs/sdk/market/pool/PoolV300Contract.js +5 -5
  113. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +5 -5
  114. package/dist/cjs/sdk/market/pool/TumblerContract.js +2 -2
  115. package/dist/cjs/sdk/market/pool/createInterestRateModel.js +11 -15
  116. package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +2 -22
  117. package/dist/cjs/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  118. package/dist/cjs/sdk/market/pricefeeds/BalancerStablePriceFeed.js +2 -9
  119. package/dist/cjs/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +2 -9
  120. package/dist/cjs/sdk/market/pricefeeds/BoundedPriceFeed.js +6 -2
  121. package/dist/cjs/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  122. package/dist/cjs/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  123. package/dist/cjs/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +2 -9
  124. package/dist/cjs/sdk/market/pricefeeds/CurveStablePriceFeed.js +2 -9
  125. package/dist/cjs/sdk/market/pricefeeds/CurveUSDPriceFeed.js +2 -9
  126. package/dist/cjs/sdk/market/pricefeeds/Erc4626PriceFeed.js +2 -18
  127. package/dist/cjs/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  128. package/dist/cjs/sdk/market/pricefeeds/MellowLRTPriceFeed.js +2 -10
  129. package/dist/cjs/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  130. package/dist/cjs/sdk/market/pricefeeds/PriceFeedRef.js +6 -4
  131. package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +2 -3
  132. package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  133. package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  134. package/dist/cjs/sdk/market/pricefeeds/WstETHPriceFeed.js +2 -9
  135. package/dist/cjs/sdk/market/pricefeeds/YearnPriceFeed.js +2 -9
  136. package/dist/cjs/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  137. package/dist/cjs/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +17 -0
  138. package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +7 -9
  139. package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +10 -12
  140. package/dist/cjs/sdk/router/AbstractRouterContract.js +5 -0
  141. package/dist/cjs/sdk/router/RouterV310Contract.js +3 -3
  142. package/dist/cjs/sdk/router/createRouter.js +4 -0
  143. package/dist/cjs/sdk/utils/abi-decode.js +58 -0
  144. package/dist/cjs/sdk/utils/index.js +2 -0
  145. package/dist/esm/dev/create2.js +2 -2
  146. package/dist/esm/dev/mint/AbstractMinter.js +3 -7
  147. package/dist/esm/dev/mint/DealMinter.js +0 -3
  148. package/dist/esm/dev/mint/DirectMinter.js +0 -3
  149. package/dist/esm/dev/mint/FallbackMinter.js +1 -1
  150. package/dist/esm/dev/mint/TransferMinter.js +0 -3
  151. package/dist/esm/permissionless/bindings/address-provider.js +7 -7
  152. package/dist/esm/permissionless/bindings/bytecode-repository.js +22 -24
  153. package/dist/esm/permissionless/bindings/compressors/token-compressor.js +3 -3
  154. package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +10 -16
  155. package/dist/esm/permissionless/bindings/cross-chain-multisig.js +20 -16
  156. package/dist/esm/permissionless/bindings/factory/abstract-factory.js +9 -4
  157. package/dist/esm/permissionless/bindings/governance/batches-chain.js +3 -3
  158. package/dist/esm/permissionless/bindings/governance/governor.js +28 -47
  159. package/dist/esm/permissionless/bindings/governance/timelock.js +3 -3
  160. package/dist/esm/permissionless/bindings/index.js +0 -1
  161. package/dist/esm/permissionless/bindings/instance-manager.js +53 -69
  162. package/dist/esm/permissionless/bindings/market-configurator-factory.js +3 -3
  163. package/dist/esm/permissionless/bindings/market-configurator.js +65 -137
  164. package/dist/esm/permissionless/bindings/price-feed-store.js +8 -14
  165. package/dist/esm/permissionless/bindings/router/routing-manager.js +8 -14
  166. package/dist/esm/permissionless/bindings/treasury-splitter.js +16 -26
  167. package/dist/esm/permissionless/core/raw-tx.js +1 -1
  168. package/dist/esm/permissionless/utils/format.js +1 -1
  169. package/dist/esm/permissionless/utils/governance/timelock-txs.js +1 -1
  170. package/dist/esm/permissionless/utils/index.js +0 -1
  171. package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +4 -2
  172. package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +1 -1
  173. package/dist/esm/permissionless/utils/price-update/get-prices.js +1 -2
  174. package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +1 -1
  175. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  176. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  177. package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  178. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  179. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  180. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  181. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  182. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  183. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  184. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  185. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  186. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  187. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  188. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  189. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  190. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  191. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  192. package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  193. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  194. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  195. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  196. package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  197. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  198. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  199. package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  200. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  201. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  202. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  203. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  204. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  205. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  206. package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  207. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  208. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  209. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  210. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  211. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  212. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  213. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  214. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  215. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  216. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  217. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  218. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  219. package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  220. package/dist/esm/plugins/bots/deserializePartialLiquidationBotParams.js +29 -0
  221. package/dist/esm/plugins/zappers/ZappersPlugin.js +1 -1
  222. package/dist/esm/sdk/GearboxSDK.js +10 -112
  223. package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +1 -4
  224. package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +7 -9
  225. package/dist/esm/sdk/base/BaseContract.js +202 -81
  226. package/dist/esm/sdk/base/ChainContractsRegister.js +111 -0
  227. package/dist/esm/sdk/base/Construct.js +63 -0
  228. package/dist/esm/sdk/base/SDKConstruct.js +3 -29
  229. package/dist/esm/sdk/base/TokensMeta.js +4 -4
  230. package/dist/esm/sdk/base/index.js +2 -1
  231. package/dist/esm/sdk/core/BotListV3Contract.js +2 -2
  232. package/dist/esm/sdk/core/GearStakingV3Contract.js +2 -2
  233. package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  234. package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +11 -6
  235. package/dist/esm/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  236. package/dist/esm/sdk/market/MarketConfiguratorContract.js +5 -5
  237. package/dist/esm/sdk/market/MarketRegister.js +8 -10
  238. package/dist/esm/sdk/market/MarketSuite.js +2 -2
  239. package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +4 -3
  240. package/dist/esm/sdk/market/credit/CreditConfiguratorV310Contract.js +4 -3
  241. package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  242. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  243. package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +5 -2
  244. package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +5 -2
  245. package/dist/esm/sdk/market/credit/CreditSuite.js +2 -3
  246. package/dist/esm/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +3 -1
  247. package/dist/esm/sdk/market/loss-policy/LossPolicyContract.js +5 -3
  248. package/dist/esm/sdk/market/loss-policy/createLossPolicy.js +1 -1
  249. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +8 -26
  250. package/dist/esm/sdk/market/oracle/createPriceOracle.js +1 -1
  251. package/dist/esm/sdk/market/pool/GaugeContract.js +2 -2
  252. package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  253. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  254. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  255. package/dist/esm/sdk/market/pool/PoolSuite.js +1 -1
  256. package/dist/esm/sdk/market/pool/PoolV300Contract.js +5 -5
  257. package/dist/esm/sdk/market/pool/PoolV310Contract.js +5 -5
  258. package/dist/esm/sdk/market/pool/TumblerContract.js +2 -2
  259. package/dist/esm/sdk/market/pool/createInterestRateModel.js +11 -15
  260. package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +2 -22
  261. package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  262. package/dist/esm/sdk/market/pricefeeds/BalancerStablePriceFeed.js +3 -13
  263. package/dist/esm/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +3 -13
  264. package/dist/esm/sdk/market/pricefeeds/BoundedPriceFeed.js +6 -2
  265. package/dist/esm/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  266. package/dist/esm/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  267. package/dist/esm/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +3 -10
  268. package/dist/esm/sdk/market/pricefeeds/CurveStablePriceFeed.js +3 -10
  269. package/dist/esm/sdk/market/pricefeeds/CurveUSDPriceFeed.js +3 -10
  270. package/dist/esm/sdk/market/pricefeeds/Erc4626PriceFeed.js +2 -18
  271. package/dist/esm/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  272. package/dist/esm/sdk/market/pricefeeds/MellowLRTPriceFeed.js +3 -11
  273. package/dist/esm/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  274. package/dist/esm/sdk/market/pricefeeds/PriceFeedRef.js +7 -5
  275. package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +3 -9
  276. package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  277. package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  278. package/dist/esm/sdk/market/pricefeeds/WstETHPriceFeed.js +3 -10
  279. package/dist/esm/sdk/market/pricefeeds/YearnPriceFeed.js +3 -10
  280. package/dist/esm/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  281. package/dist/esm/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +17 -0
  282. package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +8 -10
  283. package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +11 -13
  284. package/dist/esm/sdk/router/AbstractRouterContract.js +5 -0
  285. package/dist/esm/sdk/router/RouterV310Contract.js +3 -3
  286. package/dist/esm/sdk/router/createRouter.js +4 -0
  287. package/dist/esm/sdk/utils/abi-decode.js +37 -0
  288. package/dist/esm/sdk/utils/index.js +1 -0
  289. package/dist/types/dev/create2.d.ts +2 -2
  290. package/dist/types/dev/mint/AbstractMinter.d.ts +3 -4
  291. package/dist/types/dev/mint/DealMinter.d.ts +0 -3
  292. package/dist/types/dev/mint/DirectMinter.d.ts +0 -3
  293. package/dist/types/dev/mint/TransferMinter.d.ts +0 -3
  294. package/dist/types/permissionless/bindings/address-provider.d.ts +4 -255
  295. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +5 -6
  296. package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +3 -3
  297. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +4 -5
  298. package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +7 -7
  299. package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +1 -1
  300. package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +3 -4
  301. package/dist/types/permissionless/bindings/governance/governor.d.ts +6 -7
  302. package/dist/types/permissionless/bindings/governance/timelock.d.ts +3 -3
  303. package/dist/types/permissionless/bindings/governance/types.d.ts +1 -1
  304. package/dist/types/permissionless/bindings/index.d.ts +0 -1
  305. package/dist/types/permissionless/bindings/instance-manager.d.ts +6 -7
  306. package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +4 -4
  307. package/dist/types/permissionless/bindings/market-configurator.d.ts +6 -6
  308. package/dist/types/permissionless/bindings/price-feed-store.d.ts +6 -7
  309. package/dist/types/permissionless/bindings/router/routing-manager.d.ts +4 -5
  310. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +5 -6
  311. package/dist/types/permissionless/core/proposal.d.ts +1 -7
  312. package/dist/types/permissionless/utils/create2.d.ts +1 -1
  313. package/dist/types/permissionless/utils/governance/batch.d.ts +1 -1
  314. package/dist/types/permissionless/utils/index.d.ts +0 -1
  315. package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +3 -3
  316. package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +2 -2
  317. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +2 -2
  318. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  319. package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +2 -2
  320. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +2 -2
  321. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +2 -2
  322. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +2 -2
  323. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +2 -2
  324. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +2 -2
  325. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +2 -2
  326. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +2 -2
  327. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +2 -2
  328. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
  329. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
  330. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +2 -2
  331. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +2 -2
  332. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +2 -2
  333. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +2 -2
  334. package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +2 -2
  335. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +2 -2
  336. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +2 -2
  337. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +2 -2
  338. package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +2 -2
  339. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +2 -2
  340. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +2 -2
  341. package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +2 -2
  342. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +2 -2
  343. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +2 -2
  344. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +2 -2
  345. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +2 -2
  346. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +2 -2
  347. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +2 -2
  348. package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +2 -2
  349. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +2 -2
  350. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +2 -2
  351. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +2 -2
  352. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +2 -2
  353. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +2 -2
  354. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +2 -2
  355. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -3
  356. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -3
  357. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +2 -2
  358. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +2 -2
  359. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +2 -2
  360. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +2 -2
  361. package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +2 -2
  362. package/dist/types/plugins/bots/deserializePartialLiquidationBotParams.d.ts +3 -0
  363. package/dist/types/sdk/GearboxSDK.d.ts +5 -76
  364. package/dist/types/sdk/accountMigration/types.d.ts +1 -2
  365. package/dist/types/sdk/accounts/types.d.ts +4 -3
  366. package/dist/types/sdk/base/BaseContract.d.ts +72 -28
  367. package/dist/types/sdk/base/ChainContractsRegister.d.ts +57 -0
  368. package/dist/types/sdk/base/Construct.d.ts +38 -0
  369. package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
  370. package/dist/types/sdk/base/SDKConstruct.d.ts +2 -16
  371. package/dist/types/sdk/base/TokensMeta.d.ts +2 -3
  372. package/dist/types/sdk/base/index.d.ts +2 -1
  373. package/dist/types/sdk/base/types.d.ts +50 -0
  374. package/dist/types/sdk/core/BotListV3Contract.d.ts +1 -1
  375. package/dist/types/sdk/core/GearStakingV3Contract.d.ts +1 -1
  376. package/dist/types/sdk/core/address-provider/AbstractAddressProviderContract.d.ts +3 -4
  377. package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +3 -3
  378. package/dist/types/sdk/core/address-provider/AddressProviderV310Contract.d.ts +3 -3
  379. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +2 -2
  380. package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +3 -3
  381. package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +3 -3
  382. package/dist/types/sdk/market/credit/CreditFacadeV300Contract.d.ts +3 -4
  383. package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +3 -4
  384. package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +1 -1
  385. package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +1 -1
  386. package/dist/types/sdk/market/credit/CreditSuite.d.ts +1 -1
  387. package/dist/types/sdk/market/credit/types.d.ts +1 -2
  388. package/dist/types/sdk/market/loss-policy/AliasLossPolicyV310Contract.d.ts +1 -0
  389. package/dist/types/sdk/market/loss-policy/LossPolicyContract.d.ts +2 -3
  390. package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +3 -12
  391. package/dist/types/sdk/market/oracle/types.d.ts +0 -10
  392. package/dist/types/sdk/market/pool/GaugeContract.d.ts +2 -3
  393. package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +2 -3
  394. package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +2 -3
  395. package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +2 -3
  396. package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +4 -5
  397. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +4 -5
  398. package/dist/types/sdk/market/pool/TumblerContract.d.ts +2 -3
  399. package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +3 -8
  400. package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +2 -3
  401. package/dist/types/sdk/market/pricefeeds/BalancerStablePriceFeed.d.ts +2 -3
  402. package/dist/types/sdk/market/pricefeeds/BalancerWeightedPriceFeed.d.ts +2 -3
  403. package/dist/types/sdk/market/pricefeeds/BoundedPriceFeed.d.ts +2 -2
  404. package/dist/types/sdk/market/pricefeeds/CompositePriceFeed.d.ts +2 -2
  405. package/dist/types/sdk/market/pricefeeds/ConstantPriceFeed.d.ts +2 -2
  406. package/dist/types/sdk/market/pricefeeds/CurveCryptoPriceFeed.d.ts +2 -3
  407. package/dist/types/sdk/market/pricefeeds/CurveStablePriceFeed.d.ts +2 -3
  408. package/dist/types/sdk/market/pricefeeds/CurveUSDPriceFeed.d.ts +2 -3
  409. package/dist/types/sdk/market/pricefeeds/Erc4626PriceFeed.d.ts +2 -3
  410. package/dist/types/sdk/market/pricefeeds/ExternalPriceFeed.d.ts +2 -2
  411. package/dist/types/sdk/market/pricefeeds/MellowLRTPriceFeed.d.ts +2 -3
  412. package/dist/types/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.d.ts +2 -2
  413. package/dist/types/sdk/market/pricefeeds/PriceFeedRef.d.ts +3 -4
  414. package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +1 -2
  415. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +2 -2
  416. package/dist/types/sdk/market/pricefeeds/RedstonePriceFeed.d.ts +2 -2
  417. package/dist/types/sdk/market/pricefeeds/WstETHPriceFeed.d.ts +2 -3
  418. package/dist/types/sdk/market/pricefeeds/YearnPriceFeed.d.ts +2 -3
  419. package/dist/types/sdk/market/pricefeeds/ZeroPriceFeed.d.ts +2 -2
  420. package/dist/types/sdk/market/pricefeeds/types.d.ts +0 -5
  421. package/dist/types/sdk/market/pricefeeds/updates/PriceUpdatesCache.d.ts +8 -1
  422. package/dist/types/sdk/router/AbstractRouterContract.d.ts +4 -1
  423. package/dist/types/sdk/router/types.d.ts +1 -2
  424. package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +2 -2
  425. package/dist/types/sdk/utils/abi-decode.d.ts +10 -0
  426. package/dist/types/sdk/utils/index.d.ts +1 -0
  427. package/package.json +1 -1
  428. package/dist/cjs/permissionless/bindings/base-contract.js +0 -173
  429. package/dist/cjs/permissionless/utils/abi-decoder.js +0 -72
  430. package/dist/cjs/sdk/base/AddressLabeller.js +0 -49
  431. package/dist/cjs/sdk/base/IAddressLabeller.js +0 -16
  432. package/dist/esm/permissionless/bindings/base-contract.js +0 -151
  433. package/dist/esm/permissionless/utils/abi-decoder.js +0 -50
  434. package/dist/esm/sdk/base/AddressLabeller.js +0 -25
  435. package/dist/esm/sdk/base/IAddressLabeller.js +0 -0
  436. package/dist/types/permissionless/bindings/base-contract.d.ts +0 -23
  437. package/dist/types/permissionless/utils/abi-decoder.d.ts +0 -13
  438. package/dist/types/sdk/base/AddressLabeller.d.ts +0 -11
  439. package/dist/types/sdk/base/IAddressLabeller.d.ts +0 -9
@@ -28,8 +28,8 @@ const abi = import_v300.iPoolQuotaKeeperV300Abi;
28
28
  class PoolQuotaKeeperV300Contract extends import_base.BaseContract {
29
29
  decimals;
30
30
  quotas;
31
- constructor(sdk, pool, pqk) {
32
- super(sdk, {
31
+ constructor(options, pool, pqk) {
32
+ super(options, {
33
33
  ...pqk.baseParams,
34
34
  name: `PoolQuotaKeeper(${pool.name})`,
35
35
  abi
@@ -28,8 +28,8 @@ const abi = import_generated.iPoolQuotaKeeperV310Abi;
28
28
  class PoolQuotaKeeperV310Contract extends import_base.BaseContract {
29
29
  decimals;
30
30
  quotas;
31
- constructor(sdk, pool, pqk) {
32
- super(sdk, {
31
+ constructor(options, pool, pqk) {
32
+ super(options, {
33
33
  ...pqk.baseParams,
34
34
  name: `PoolQuotaKeeper(${pool.name})`,
35
35
  abi
@@ -81,7 +81,7 @@ class PoolSuite extends import_base.SDKConstruct {
81
81
  );
82
82
  }
83
83
  get marketConfigurator() {
84
- return this.sdk.contracts.mustGet(
84
+ return this.register.mustGetContract(
85
85
  this.#marketConfigurator
86
86
  );
87
87
  }
@@ -28,9 +28,9 @@ var import_utils = require("../../utils/index.js");
28
28
  const abi = [...import_v300.iPoolV300Abi, ...import_iPausable.iPausableAbi];
29
29
  class PoolV300Contract extends import_base.BaseContract {
30
30
  creditManagerDebtParams;
31
- constructor(sdk, data) {
31
+ constructor(options, data) {
32
32
  const { baseParams, creditManagerDebtParams, ...rest } = data;
33
- super(sdk, {
33
+ super(options, {
34
34
  ...data.baseParams,
35
35
  name: `PoolV3(${data.name})`,
36
36
  abi
@@ -39,7 +39,7 @@ class PoolV300Contract extends import_base.BaseContract {
39
39
  this.creditManagerDebtParams = new import_utils.AddressMap(
40
40
  creditManagerDebtParams.map((p) => [p.creditManager, p])
41
41
  );
42
- sdk.tokensMeta.upsert(data.baseParams.addr, {
42
+ this.register.tokensMeta.upsert(data.baseParams.addr, {
43
43
  addr: data.baseParams.addr,
44
44
  decimals: data.decimals,
45
45
  name: data.name,
@@ -118,14 +118,14 @@ class PoolV300Contract extends import_base.BaseContract {
118
118
  break;
119
119
  }
120
120
  }
121
- parseFunctionParams(params) {
121
+ stringifyFunctionParams(params) {
122
122
  switch (params.functionName) {
123
123
  case "deposit": {
124
124
  const [amount, onBehalfOf] = params.args;
125
125
  return [(0, import_utils.formatBN)(amount, this.decimals), this.labelAddress(onBehalfOf)];
126
126
  }
127
127
  default:
128
- return void 0;
128
+ return super.stringifyFunctionParams(params);
129
129
  }
130
130
  }
131
131
  }
@@ -28,9 +28,9 @@ var import_utils = require("../../utils/index.js");
28
28
  const abi = [...import_generated.iPoolV310Abi, ...import_iPausable.iPausableAbi];
29
29
  class PoolV310Contract extends import_base.BaseContract {
30
30
  creditManagerDebtParams;
31
- constructor(sdk, data) {
31
+ constructor(options, data) {
32
32
  const { baseParams, creditManagerDebtParams, ...rest } = data;
33
- super(sdk, {
33
+ super(options, {
34
34
  ...data.baseParams,
35
35
  name: `PoolV3(${data.name})`,
36
36
  abi
@@ -39,7 +39,7 @@ class PoolV310Contract extends import_base.BaseContract {
39
39
  this.creditManagerDebtParams = new import_utils.AddressMap(
40
40
  creditManagerDebtParams.map((p) => [p.creditManager, p])
41
41
  );
42
- sdk.tokensMeta.upsert(data.baseParams.addr, {
42
+ this.register.tokensMeta.upsert(data.baseParams.addr, {
43
43
  addr: data.baseParams.addr,
44
44
  decimals: data.decimals,
45
45
  name: data.name,
@@ -118,14 +118,14 @@ class PoolV310Contract extends import_base.BaseContract {
118
118
  break;
119
119
  }
120
120
  }
121
- parseFunctionParams(params) {
121
+ stringifyFunctionParams(params) {
122
122
  switch (params.functionName) {
123
123
  case "deposit": {
124
124
  const [amount, onBehalfOf] = params.args;
125
125
  return [(0, import_utils.formatBN)(amount, this.decimals), this.labelAddress(onBehalfOf)];
126
126
  }
127
127
  default:
128
- return void 0;
128
+ return super.stringifyFunctionParams(params);
129
129
  }
130
130
  }
131
131
  }
@@ -29,8 +29,8 @@ const abi = import_generated.iTumblerV310Abi;
29
29
  class TumblerContract extends import_base.BaseContract {
30
30
  epochLength;
31
31
  rates;
32
- constructor(sdk, pool, tumbler) {
33
- super(sdk, {
32
+ constructor(options, pool, tumbler) {
33
+ super(options, {
34
34
  ...tumbler.baseParams,
35
35
  name: `Tumbler(${pool.name})`,
36
36
  abi
@@ -25,21 +25,17 @@ var import_utils = require("../../utils/index.js");
25
25
  var import_LinearInterestRateModelContract = require("./LinearInterestRateModelContract.js");
26
26
  function createInterestRateModel(sdk, data) {
27
27
  const { addr, contractType } = data.baseParams;
28
- if (sdk.interestRateModels.has(addr)) {
29
- return sdk.interestRateModels.mustGet(
30
- addr
31
- );
32
- } else {
33
- const modelType = (0, import_utils.bytes32ToString)(contractType);
34
- switch (modelType) {
35
- case "IRM::LINEAR": {
36
- const linearModel = new import_LinearInterestRateModelContract.LinearInterestRateModelContract(sdk, data);
37
- sdk.interestRateModels.insert(addr, linearModel);
38
- return linearModel;
39
- }
40
- default: {
41
- throw new Error(`Unknown interest rate model type: ${modelType}`);
42
- }
28
+ const existing = sdk.getContract(addr);
29
+ if (existing) {
30
+ return existing;
31
+ }
32
+ const modelType = (0, import_utils.bytes32ToString)(contractType);
33
+ switch (modelType) {
34
+ case "IRM::LINEAR": {
35
+ return new import_LinearInterestRateModelContract.LinearInterestRateModelContract(sdk, data);
36
+ }
37
+ default: {
38
+ throw new Error(`Unknown interest rate model type: ${modelType}`);
43
39
  }
44
40
  }
45
41
  }
@@ -23,10 +23,8 @@ __export(AbstractLPPriceFeed_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(AbstractLPPriceFeed_exports);
25
25
  var import_viem = require("viem");
26
- var import_abi = require("../../abi/index.js");
27
26
  var import_versions = require("../../constants/versions.js");
28
27
  var import_AbstractPriceFeed = require("./AbstractPriceFeed.js");
29
- const LOWER_BOUND_FACTOR = 99n;
30
28
  class AbstractLPPriceFeedContract extends import_AbstractPriceFeed.AbstractPriceFeedContract {
31
29
  lpContract;
32
30
  lpToken;
@@ -36,8 +34,8 @@ class AbstractLPPriceFeedContract extends import_AbstractPriceFeed.AbstractPrice
36
34
  exchangeRate;
37
35
  aggregatePrice;
38
36
  scale;
39
- constructor(sdk, args) {
40
- super(sdk, { ...args, decimals: 8 });
37
+ constructor(options, args) {
38
+ super(options, { ...args, decimals: 8 });
41
39
  this.hasLowerBoundCap = true;
42
40
  if ((0, import_versions.isV310)(args.baseParams.version)) {
43
41
  const decoder = (0, import_viem.decodeAbiParameters)(
@@ -83,24 +81,6 @@ class AbstractLPPriceFeedContract extends import_AbstractPriceFeed.AbstractPrice
83
81
  this.scale = decoder[4].scale;
84
82
  }
85
83
  }
86
- async getLowerBound() {
87
- const value = await this.getValue();
88
- const lowerBound = AbstractLPPriceFeedContract.toLowerBound(value);
89
- this.logger?.debug(
90
- `Lowerbound for ${this.labelAddress(this.address)}: ${lowerBound}`
91
- );
92
- return lowerBound;
93
- }
94
- async currentLowerBound() {
95
- return await this.sdk.client.readContract({
96
- abi: import_abi.ilpPriceFeedAbi,
97
- address: this.address,
98
- functionName: "lowerBound"
99
- });
100
- }
101
- static toLowerBound(value) {
102
- return value * LOWER_BOUND_FACTOR / 100n;
103
- }
104
84
  stateHuman(raw) {
105
85
  return {
106
86
  ...super.stateHuman(raw),
@@ -47,8 +47,8 @@ class AbstractPriceFeedContract extends import_base.BaseContract {
47
47
  #args;
48
48
  hasLowerBoundCap = false;
49
49
  description;
50
- constructor(sdk, args) {
51
- super(sdk, {
50
+ constructor(options, args) {
51
+ super(options, {
52
52
  abi: args.abi,
53
53
  addr: args.baseParams.addr,
54
54
  name: args.name + (args.description ? ` ${args.description}` : ""),
@@ -64,7 +64,7 @@ class AbstractPriceFeedContract extends import_base.BaseContract {
64
64
  if (args.underlyingFeeds && args.underlyingStalenessPeriods) {
65
65
  const underlyingStalenessPeriods = args.underlyingStalenessPeriods;
66
66
  this.#underlyingPriceFeeds = args.underlyingFeeds.map(
67
- (address, i) => new import_PriceFeedRef.PriceFeedRef(this.sdk, address, underlyingStalenessPeriods[i])
67
+ (address, i) => new import_PriceFeedRef.PriceFeedRef(options, address, underlyingStalenessPeriods[i])
68
68
  );
69
69
  }
70
70
  }
@@ -24,20 +24,13 @@ module.exports = __toCommonJS(BalancerStablePriceFeed_exports);
24
24
  var import_abi = require("../../abi/index.js");
25
25
  var import_AbstractLPPriceFeed = require("./AbstractLPPriceFeed.js");
26
26
  class BalancerStablePriceFeedContract extends import_AbstractLPPriceFeed.AbstractLPPriceFeedContract {
27
- constructor(sdk, args) {
28
- super(sdk, {
27
+ constructor(options, args) {
28
+ super(options, {
29
29
  ...args,
30
30
  name: "BalancerStablePriceFeed",
31
31
  abi: import_abi.bptStablePriceFeedAbi
32
32
  });
33
33
  }
34
- async getValue() {
35
- return await this.sdk.client.readContract({
36
- abi: import_abi.iBalancerStablePoolAbi,
37
- address: this.lpContract,
38
- functionName: "getRate"
39
- });
40
- }
41
34
  }
42
35
  // Annotate the CommonJS export names for ESM import in node:
43
36
  0 && (module.exports = {
@@ -28,7 +28,7 @@ class BalancerWeightedPriceFeedContract extends import_AbstractLPPriceFeed.Abstr
28
28
  vault;
29
29
  poolId;
30
30
  weights;
31
- constructor(sdk, args) {
31
+ constructor(options, args) {
32
32
  const decoded = (0, import_viem.decodeAbiParameters)(
33
33
  [
34
34
  { type: "bytes", name: "superParams" },
@@ -38,7 +38,7 @@ class BalancerWeightedPriceFeedContract extends import_AbstractLPPriceFeed.Abstr
38
38
  ],
39
39
  (0, import_viem.hexToBytes)(args.baseParams.serializedParams)
40
40
  );
41
- super(sdk, {
41
+ super(options, {
42
42
  ...args,
43
43
  baseParams: {
44
44
  ...args.baseParams,
@@ -51,13 +51,6 @@ class BalancerWeightedPriceFeedContract extends import_AbstractLPPriceFeed.Abstr
51
51
  this.poolId = decoded[2];
52
52
  this.weights = decoded[3];
53
53
  }
54
- async getValue() {
55
- return await this.sdk.client.readContract({
56
- abi: import_abi.iBalancerWeightedPoolAbi,
57
- address: this.lpContract,
58
- functionName: "getRate"
59
- });
60
- }
61
54
  stateHuman(raw) {
62
55
  return {
63
56
  ...super.stateHuman(raw),
@@ -26,8 +26,12 @@ var import_abi = require("../../abi/index.js");
26
26
  var import_AbstractPriceFeed = require("./AbstractPriceFeed.js");
27
27
  class BoundedPriceFeedContract extends import_AbstractPriceFeed.AbstractPriceFeedContract {
28
28
  upperBound;
29
- constructor(sdk, args) {
30
- super(sdk, { ...args, name: "BoundedPriceFeed", abi: import_abi.boundedPriceFeedAbi });
29
+ constructor(options, args) {
30
+ super(options, {
31
+ ...args,
32
+ name: "BoundedPriceFeed",
33
+ abi: import_abi.boundedPriceFeedAbi
34
+ });
31
35
  const decoder = (0, import_viem.decodeAbiParameters)(
32
36
  [
33
37
  { type: "int256" }
@@ -24,8 +24,8 @@ module.exports = __toCommonJS(CompositePriceFeed_exports);
24
24
  var import_abi = require("../../abi/index.js");
25
25
  var import_AbstractPriceFeed = require("./AbstractPriceFeed.js");
26
26
  class CompositePriceFeedContract extends import_AbstractPriceFeed.AbstractPriceFeedContract {
27
- constructor(sdk, args) {
28
- super(sdk, {
27
+ constructor(options, args) {
28
+ super(options, {
29
29
  ...args,
30
30
  name: "CompositePriceFeed",
31
31
  abi: import_abi.compositePriceFeedAbi
@@ -26,8 +26,8 @@ var import_oracles = require("../../abi/oracles.js");
26
26
  var import_AbstractPriceFeed = require("./AbstractPriceFeed.js");
27
27
  class ConstantPriceFeedContract extends import_AbstractPriceFeed.AbstractPriceFeedContract {
28
28
  price;
29
- constructor(sdk, args) {
30
- super(sdk, {
29
+ constructor(options, args) {
30
+ super(options, {
31
31
  ...args,
32
32
  name: "ConstantPriceFeed",
33
33
  abi: import_oracles.constantPriceFeedAbi,
@@ -24,20 +24,13 @@ module.exports = __toCommonJS(CurveCryptoPriceFeed_exports);
24
24
  var import_abi = require("../../abi/index.js");
25
25
  var import_AbstractLPPriceFeed = require("./AbstractLPPriceFeed.js");
26
26
  class CurveCryptoPriceFeedContract extends import_AbstractLPPriceFeed.AbstractLPPriceFeedContract {
27
- constructor(sdk, args) {
28
- super(sdk, {
27
+ constructor(options, args) {
28
+ super(options, {
29
29
  ...args,
30
30
  name: "CurveCryptoPriceFeed",
31
31
  abi: import_abi.curveCryptoLpPriceFeedAbi
32
32
  });
33
33
  }
34
- async getValue() {
35
- return await this.sdk.client.readContract({
36
- abi: import_abi.iCurvePoolAbi,
37
- address: this.lpContract,
38
- functionName: "get_virtual_price"
39
- });
40
- }
41
34
  }
42
35
  // Annotate the CommonJS export names for ESM import in node:
43
36
  0 && (module.exports = {
@@ -24,20 +24,13 @@ module.exports = __toCommonJS(CurveStablePriceFeed_exports);
24
24
  var import_abi = require("../../abi/index.js");
25
25
  var import_AbstractLPPriceFeed = require("./AbstractLPPriceFeed.js");
26
26
  class CurveStablePriceFeedContract extends import_AbstractLPPriceFeed.AbstractLPPriceFeedContract {
27
- constructor(sdk, args) {
28
- super(sdk, {
27
+ constructor(options, args) {
28
+ super(options, {
29
29
  ...args,
30
30
  name: "CurveStablePriceFeed",
31
31
  abi: import_abi.curveStableLpPriceFeedAbi
32
32
  });
33
33
  }
34
- async getValue() {
35
- return await this.sdk.client.readContract({
36
- abi: import_abi.iCurvePoolAbi,
37
- address: this.lpContract,
38
- functionName: "get_virtual_price"
39
- });
40
- }
41
34
  }
42
35
  // Annotate the CommonJS export names for ESM import in node:
43
36
  0 && (module.exports = {
@@ -24,20 +24,13 @@ module.exports = __toCommonJS(CurveUSDPriceFeed_exports);
24
24
  var import_abi = require("../../abi/index.js");
25
25
  var import_AbstractLPPriceFeed = require("./AbstractLPPriceFeed.js");
26
26
  class CurveUSDPriceFeedContract extends import_AbstractLPPriceFeed.AbstractLPPriceFeedContract {
27
- constructor(sdk, args) {
28
- super(sdk, {
27
+ constructor(options, args) {
28
+ super(options, {
29
29
  ...args,
30
30
  name: "CurveUSDPriceFeed",
31
31
  abi: import_abi.curveUsdPriceFeedAbi
32
32
  });
33
33
  }
34
- async getValue() {
35
- return await this.sdk.client.readContract({
36
- abi: import_abi.iCurvePoolAbi,
37
- address: this.lpContract,
38
- functionName: "get_virtual_price"
39
- });
40
- }
41
34
  }
42
35
  // Annotate the CommonJS export names for ESM import in node:
43
36
  0 && (module.exports = {
@@ -21,32 +21,16 @@ __export(Erc4626PriceFeed_exports, {
21
21
  Erc4626PriceFeedContract: () => Erc4626PriceFeedContract
22
22
  });
23
23
  module.exports = __toCommonJS(Erc4626PriceFeed_exports);
24
- var import_viem = require("viem");
25
- var import_iERC20 = require("../../../abi/iERC20.js");
26
24
  var import_abi = require("../../abi/index.js");
27
25
  var import_AbstractLPPriceFeed = require("./AbstractLPPriceFeed.js");
28
26
  class Erc4626PriceFeedContract extends import_AbstractLPPriceFeed.AbstractLPPriceFeedContract {
29
- constructor(sdk, args) {
30
- super(sdk, {
27
+ constructor(options, args) {
28
+ super(options, {
31
29
  ...args,
32
30
  name: "ERC4626PriceFeed",
33
31
  abi: import_abi.erc4626PriceFeedAbi
34
32
  });
35
33
  }
36
- async getValue() {
37
- const decimals = await this.sdk.client.readContract({
38
- abi: import_iERC20.ierc20Abi,
39
- address: this.lpContract,
40
- functionName: "decimals"
41
- });
42
- const price = await this.sdk.client.readContract({
43
- abi: import_viem.erc4626Abi,
44
- address: this.lpContract,
45
- functionName: "convertToAssets",
46
- args: [10n ** BigInt(decimals)]
47
- });
48
- return price;
49
- }
50
34
  }
51
35
  // Annotate the CommonJS export names for ESM import in node:
52
36
  0 && (module.exports = {
@@ -24,8 +24,8 @@ module.exports = __toCommonJS(ExternalPriceFeed_exports);
24
24
  var import_abi = require("../../abi/index.js");
25
25
  var import_AbstractPriceFeed = require("./AbstractPriceFeed.js");
26
26
  class ExternalPriceFeedContract extends import_AbstractPriceFeed.AbstractPriceFeedContract {
27
- constructor(sdk, args) {
28
- super(sdk, {
27
+ constructor(options, args) {
28
+ super(options, {
29
29
  ...args,
30
30
  name: "ExternalPriceFeed",
31
31
  abi: import_abi.chainlinkReadableAggregatorAbi
@@ -24,21 +24,13 @@ module.exports = __toCommonJS(MellowLRTPriceFeed_exports);
24
24
  var import_abi = require("../../abi/index.js");
25
25
  var import_AbstractLPPriceFeed = require("./AbstractLPPriceFeed.js");
26
26
  class MellowLRTPriceFeedContract extends import_AbstractLPPriceFeed.AbstractLPPriceFeedContract {
27
- constructor(sdk, args) {
28
- super(sdk, {
27
+ constructor(options, args) {
28
+ super(options, {
29
29
  ...args,
30
30
  name: "MellowLRTPriceFeed",
31
31
  abi: import_abi.mellowLrtPriceFeedAbi
32
32
  });
33
33
  }
34
- async getValue() {
35
- const stack = await this.sdk.client.readContract({
36
- abi: import_abi.iMellowVaultAbi,
37
- address: this.lpContract,
38
- functionName: "calculateStack"
39
- });
40
- return stack.totalValue * BigInt(1e18) / stack.totalSupply;
41
- }
42
34
  }
43
35
  // Annotate the CommonJS export names for ESM import in node:
44
36
  0 && (module.exports = {
@@ -32,8 +32,8 @@ class PendleTWAPPTPriceFeed extends import_AbstractPriceFeed.AbstractPriceFeedCo
32
32
  expiry;
33
33
  twapWindow;
34
34
  priceToSy;
35
- constructor(sdk, args) {
36
- super(sdk, {
35
+ constructor(options, args) {
36
+ super(options, {
37
37
  ...args,
38
38
  name: "PendleTWAPPTPriceFeed",
39
39
  abi
@@ -23,18 +23,20 @@ __export(PriceFeedRef_exports, {
23
23
  module.exports = __toCommonJS(PriceFeedRef_exports);
24
24
  var import_base = require("../../base/index.js");
25
25
  var import_utils = require("../../utils/index.js");
26
- class PriceFeedRef extends import_base.SDKConstruct {
26
+ class PriceFeedRef extends import_base.Construct {
27
27
  address;
28
28
  stalenessPeriod;
29
29
  #priceFeed;
30
- constructor(sdk, address, stalenessPeriod) {
31
- super(sdk);
30
+ constructor(options, address, stalenessPeriod) {
31
+ super(options);
32
32
  this.address = address;
33
33
  this.stalenessPeriod = stalenessPeriod;
34
34
  }
35
35
  get priceFeed() {
36
36
  if (!this.#priceFeed) {
37
- this.#priceFeed = this.sdk.priceFeeds.mustGet(this.address);
37
+ this.#priceFeed = this.register.mustGetContract(
38
+ this.address
39
+ );
38
40
  }
39
41
  return this.#priceFeed;
40
42
  }
@@ -48,14 +48,12 @@ var import_WstETHPriceFeed = require("./WstETHPriceFeed.js");
48
48
  var import_YearnPriceFeed = require("./YearnPriceFeed.js");
49
49
  var import_ZeroPriceFeed = require("./ZeroPriceFeed.js");
50
50
  class PriceFeedRegister extends import_base.SDKConstruct {
51
- logger;
52
51
  #hooks = new import_internal.Hooks();
53
52
  #feeds = new import_utils.AddressMap(void 0, "priceFeeds");
54
53
  #latestUpdate;
55
54
  updaters;
56
55
  constructor(sdk, opts = {}) {
57
56
  super(sdk);
58
- this.logger = (0, import_utils.childLogger)("PriceFeedRegister", sdk.logger);
59
57
  this.updaters = [
60
58
  new import_updates.RedstoneUpdater(sdk, opts?.redstone),
61
59
  new import_updates.PythUpdater(sdk, opts?.pyth)
@@ -285,7 +283,8 @@ class PriceFeedRegister extends import_base.SDKConstruct {
285
283
  }
286
284
  }
287
285
  #createUpdatableProxy(data) {
288
- return new Proxy(this.create(data), {
286
+ const contract = this.#feeds.get(data.baseParams.addr) ?? this.create(data);
287
+ return new Proxy(contract, {
289
288
  get(target, prop) {
290
289
  if (prop === "updatableDependencies") {
291
290
  return () => [target];
@@ -30,8 +30,8 @@ class PythPriceFeed extends import_AbstractPriceFeed.AbstractPriceFeedContract {
30
30
  priceFeedId;
31
31
  pyth;
32
32
  maxConfToPriceRatio;
33
- constructor(sdk, args) {
34
- super(sdk, {
33
+ constructor(options, args) {
34
+ super(options, {
35
35
  ...args,
36
36
  name: "PythPriceFeed",
37
37
  abi
@@ -33,10 +33,10 @@ class RedstonePriceFeedContract extends import_AbstractPriceFeed.AbstractPriceFe
33
33
  signersThreshold;
34
34
  lastPrice;
35
35
  lastPayloadTimestamp;
36
- constructor(sdk, args) {
37
- super(sdk, {
36
+ constructor(options, args) {
37
+ super(options, {
38
38
  ...args,
39
- name: `RedstonePriceFeed`,
39
+ name: "RedstonePriceFeed",
40
40
  abi: import_abi.redstonePriceFeedAbi
41
41
  });
42
42
  if ((0, import_constants.isV310)(args.baseParams.version)) {
@@ -24,20 +24,13 @@ module.exports = __toCommonJS(WstETHPriceFeed_exports);
24
24
  var import_abi = require("../../abi/index.js");
25
25
  var import_AbstractLPPriceFeed = require("./AbstractLPPriceFeed.js");
26
26
  class WstETHPriceFeedContract extends import_AbstractLPPriceFeed.AbstractLPPriceFeedContract {
27
- constructor(sdk, args) {
28
- super(sdk, {
27
+ constructor(options, args) {
28
+ super(options, {
29
29
  ...args,
30
30
  name: "WstETHPriceFeed",
31
31
  abi: import_abi.wstEthPriceFeedAbi
32
32
  });
33
33
  }
34
- async getValue() {
35
- return await this.sdk.client.readContract({
36
- abi: import_abi.iwstEthAbi,
37
- address: this.lpContract,
38
- functionName: "stEthPerToken"
39
- });
40
- }
41
34
  }
42
35
  // Annotate the CommonJS export names for ESM import in node:
43
36
  0 && (module.exports = {
@@ -24,20 +24,13 @@ module.exports = __toCommonJS(YearnPriceFeed_exports);
24
24
  var import_abi = require("../../abi/index.js");
25
25
  var import_AbstractLPPriceFeed = require("./AbstractLPPriceFeed.js");
26
26
  class YearnPriceFeedContract extends import_AbstractLPPriceFeed.AbstractLPPriceFeedContract {
27
- constructor(sdk, args) {
28
- super(sdk, {
27
+ constructor(options, args) {
28
+ super(options, {
29
29
  ...args,
30
30
  name: "YearnPriceFeed",
31
31
  abi: import_abi.yearnPriceFeedAbi
32
32
  });
33
33
  }
34
- async getValue() {
35
- return await this.sdk.client.readContract({
36
- abi: import_abi.iyVaultAbi,
37
- address: this.lpContract,
38
- functionName: "pricePerShare"
39
- });
40
- }
41
34
  }
42
35
  // Annotate the CommonJS export names for ESM import in node:
43
36
  0 && (module.exports = {
@@ -24,8 +24,8 @@ module.exports = __toCommonJS(ZeroPriceFeed_exports);
24
24
  var import_abi = require("../../abi/index.js");
25
25
  var import_AbstractPriceFeed = require("./AbstractPriceFeed.js");
26
26
  class ZeroPriceFeedContract extends import_AbstractPriceFeed.AbstractPriceFeedContract {
27
- constructor(sdk, args) {
28
- super(sdk, {
27
+ constructor(options, args) {
28
+ super(options, {
29
29
  ...args,
30
30
  name: "ZeroPriceFeed",
31
31
  abi: import_abi.zeroPriceFeedAbi,
@@ -22,6 +22,23 @@ __export(PriceUpdatesCache_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(PriceUpdatesCache_exports);
24
24
  class PriceUpdatesCache {
25
+ static #caches = /* @__PURE__ */ new Map();
26
+ /**
27
+ * Price update caches can be shared across networks
28
+ * @param id - unique key to identify the cache
29
+ * @param opts
30
+ * @returns
31
+ */
32
+ static get(id, opts) {
33
+ const key = `${id}:${opts.historical ? "historical" : "latest"}:${opts.ttl}`;
34
+ const cache = PriceUpdatesCache.#caches.get(key);
35
+ if (cache) {
36
+ return cache;
37
+ }
38
+ const newCache = new PriceUpdatesCache(opts);
39
+ PriceUpdatesCache.#caches.set(key, newCache);
40
+ return newCache;
41
+ }
25
42
  #cache = /* @__PURE__ */ new Map();
26
43
  #ttlMs;
27
44
  #historical;