@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
@@ -13,9 +13,9 @@ const abi = [
13
13
  ];
14
14
  class CreditFacadeV310Contract extends BaseContract {
15
15
  underlying;
16
- constructor(sdk, { creditFacade, creditManager }) {
16
+ constructor(options, { creditFacade, creditManager }) {
17
17
  const { baseParams, ...rest } = creditFacade;
18
- super(sdk, {
18
+ super(options, {
19
19
  ...baseParams,
20
20
  name: `CreditFacadeV310(${creditManager.name})`,
21
21
  abi
@@ -24,7 +24,7 @@ class CreditFacadeV310Contract extends BaseContract {
24
24
  this.underlying = creditManager.underlying;
25
25
  }
26
26
  stateHuman(raw) {
27
- const decimals = this.sdk.tokensMeta.decimals(this.underlying);
27
+ const decimals = this.tokensMeta.decimals(this.underlying);
28
28
  return {
29
29
  ...super.stateHuman(raw),
30
30
  expirable: this.expirable,
@@ -85,13 +85,13 @@ class CreditFacadeV310Contract extends BaseContract {
85
85
  args: [to, calls, referralCode]
86
86
  });
87
87
  }
88
- parseFunctionParams(params) {
88
+ stringifyFunctionParams(params) {
89
89
  switch (params.functionName) {
90
90
  case "openCreditAccount": {
91
91
  const [onBehalfOf, calls, referralCode] = params.args;
92
92
  return [
93
93
  this.labelAddress(onBehalfOf),
94
- this.sdk.parseMultiCall([...calls]).join(","),
94
+ this.register.parseMultiCall([...calls]).join(","),
95
95
  `${referralCode}`
96
96
  ];
97
97
  }
@@ -99,7 +99,7 @@ class CreditFacadeV310Contract extends BaseContract {
99
99
  const [creditAccount, calls] = params.args;
100
100
  return [
101
101
  this.labelAddress(creditAccount),
102
- this.sdk.parseMultiCall([...calls]).join(",")
102
+ this.register.parseMultiCall([...calls]).join(",")
103
103
  ];
104
104
  }
105
105
  case "liquidateCreditAccount": {
@@ -107,11 +107,11 @@ class CreditFacadeV310Contract extends BaseContract {
107
107
  return [
108
108
  this.labelAddress(creditAccount),
109
109
  this.labelAddress(to),
110
- this.sdk.parseMultiCall([...calls]).join(",")
110
+ this.register.parseMultiCall([...calls]).join(",")
111
111
  ];
112
112
  }
113
113
  default:
114
- return void 0;
114
+ return super.stringifyFunctionParams(params);
115
115
  }
116
116
  }
117
117
  }
@@ -27,9 +27,12 @@ class CreditManagerV300Contract extends BaseContract {
27
27
  this.adapters = new AddressMap(void 0, "adapters");
28
28
  for (const adapterData of adapters) {
29
29
  try {
30
- const adapter = createAdapter(this.sdk, adapterData);
31
- adapter.name = `${adapter.name}(${this.name})`;
30
+ const adapter = createAdapter(sdk, adapterData);
32
31
  this.adapters.upsert(adapter.targetContract, adapter);
32
+ this.register.setAddressLabel(
33
+ adapter.address,
34
+ `${adapter.name}(${this.name})`
35
+ );
33
36
  } catch (e) {
34
37
  throw new Error(`cannot attach adapter: ${e}`, { cause: e });
35
38
  }
@@ -27,9 +27,12 @@ class CreditManagerV310Contract extends BaseContract {
27
27
  this.adapters = new AddressMap(void 0, "adapters");
28
28
  for (const adapterData of adapters) {
29
29
  try {
30
- const adapter = createAdapter(this.sdk, adapterData);
31
- adapter.name = `${adapter.name}(${this.name})`;
30
+ const adapter = createAdapter(sdk, adapterData);
32
31
  this.adapters.upsert(adapter.targetContract, adapter);
32
+ this.register.setAddressLabel(
33
+ adapter.address,
34
+ `${adapter.name}(${this.name})`
35
+ );
33
36
  } catch (e) {
34
37
  throw new Error(`cannot attach adapter: ${e}`, { cause: e });
35
38
  }
@@ -3,7 +3,6 @@ import createCreditConfigurator from "./createCreditConfigurator.js";
3
3
  import createCreditFacade from "./createCreditFacade.js";
4
4
  import createCreditManager from "./createCreditManager.js";
5
5
  class CreditSuite extends SDKConstruct {
6
- name;
7
6
  pool;
8
7
  underlying;
9
8
  creditManager;
@@ -11,12 +10,12 @@ class CreditSuite extends SDKConstruct {
11
10
  creditConfigurator;
12
11
  marketConfigurator;
13
12
  state;
13
+ name;
14
14
  constructor(sdk, marketData, index) {
15
15
  super(sdk);
16
16
  const { creditManagers, pool } = marketData;
17
+ this.name = creditManagers[index].creditManager.name;
17
18
  this.state = creditManagers[index];
18
- const { name } = this.state.creditManager;
19
- this.name = name;
20
19
  this.pool = pool.baseParams.addr;
21
20
  this.underlying = pool.underlying;
22
21
  this.creditManager = createCreditManager(sdk, this.state);
@@ -12,6 +12,7 @@ class AliasLossPolicyV310Contract extends BaseContract {
12
12
  checksEnabled;
13
13
  tokens;
14
14
  priceFeedParams;
15
+ sdk;
15
16
  constructor(sdk, params) {
16
17
  super(sdk, {
17
18
  abi,
@@ -19,6 +20,7 @@ class AliasLossPolicyV310Contract extends BaseContract {
19
20
  contractType: params.contractType,
20
21
  version: params.version
21
22
  });
23
+ this.sdk = sdk;
22
24
  [this.accessMode, this.checksEnabled, this.tokens, this.priceFeedParams] = decodeAbiParameters(
23
25
  [
24
26
  { name: "accessMode", type: "uint8" },
@@ -39,7 +41,7 @@ class AliasLossPolicyV310Contract extends BaseContract {
39
41
  );
40
42
  }
41
43
  async getLiquidationData(creditAccount, blockNumber) {
42
- const pfs = await this.sdk.client.readContract({
44
+ const pfs = await this.client.readContract({
43
45
  address: this.address,
44
46
  abi: this.abi,
45
47
  functionName: "getRequiredAliasPriceFeeds",
@@ -1,9 +1,11 @@
1
1
  import { iLossPolicyV310Abi } from "../../../abi/310/generated.js";
2
- import { BaseContract } from "../../base/index.js";
2
+ import {
3
+ BaseContract
4
+ } from "../../base/index.js";
3
5
  const abi = iLossPolicyV310Abi;
4
6
  class LossPolicyContract extends BaseContract {
5
- constructor(sdk, params) {
6
- super(sdk, {
7
+ constructor(options, params) {
8
+ super(options, {
7
9
  abi,
8
10
  addr: params.addr,
9
11
  contractType: params.contractType,
@@ -3,7 +3,7 @@ import { AliasLossPolicyV310Contract } from "./AliasLossPolicyV310Contract.js";
3
3
  import { LOSS_POLICY_ALIASED, LOSS_POLICY_DEFAULT } from "./constants.js";
4
4
  import { LossPolicyContract } from "./LossPolicyContract.js";
5
5
  function createLossPolicy(sdk, { baseParams }) {
6
- const existing = sdk.contracts.get(baseParams.addr);
6
+ const existing = sdk.getContract(baseParams.addr);
7
7
  if (existing) {
8
8
  return existing;
9
9
  }
@@ -12,6 +12,7 @@ import { PriceFeedRef } from "../pricefeeds/index.js";
12
12
  import PriceFeedAnswerMap from "./PriceFeedAnswerMap.js";
13
13
  const ZERO_PRICE_FEED = stringToHex("PRICE_FEED::ZERO", { size: 32 });
14
14
  class PriceOracleBaseContract extends BaseContract {
15
+ sdk;
15
16
  /**
16
17
  * Mapping Token => [PriceFeed Address, stalenessPeriod]
17
18
  */
@@ -43,6 +44,7 @@ class PriceOracleBaseContract extends BaseContract {
43
44
  );
44
45
  constructor(sdk, args, data) {
45
46
  super(sdk, args);
47
+ this.sdk = sdk;
46
48
  const { priceFeedMap, priceFeedTree } = data;
47
49
  this.#loadState(priceFeedMap, priceFeedTree, true);
48
50
  }
@@ -60,19 +62,6 @@ class PriceOracleBaseContract extends BaseContract {
60
62
  reserve ? this.reservePriceFeeds.get(t)?.priceFeed : void 0
61
63
  ]).filter((f) => !!f);
62
64
  }
63
- /**
64
- * Generates updates for all updateable price feeds in this oracle (including dependencies)
65
- * @returns
66
- */
67
- async updatePriceFeeds() {
68
- const updatables = [];
69
- for (const node of this.#priceFeedTree.values()) {
70
- if (node.updatable) {
71
- updatables.push(this.sdk.priceFeeds.mustGet(node.baseParams.addr));
72
- }
73
- }
74
- return this.sdk.priceFeeds.generatePriceFeedsUpdateTxs(updatables);
75
- }
76
65
  /**
77
66
  * Gets main price for given token
78
67
  * Throws if token price feed is not found or answer is not successful
@@ -112,9 +101,9 @@ class PriceOracleBaseContract extends BaseContract {
112
101
  return amount;
113
102
  }
114
103
  const fromPrice = reserve ? this.reservePrice(from) : this.mainPrice(from);
115
- const fromScale = 10n ** BigInt(this.sdk.tokensMeta.decimals(from));
104
+ const fromScale = 10n ** BigInt(this.tokensMeta.decimals(from));
116
105
  const toPrice = reserve ? this.reservePrice(to) : this.mainPrice(to);
117
- const toScale = 10n ** BigInt(this.sdk.tokensMeta.decimals(to));
106
+ const toScale = 10n ** BigInt(this.tokensMeta.decimals(to));
118
107
  return amount * fromPrice * toScale / (toPrice * fromScale);
119
108
  }
120
109
  /**
@@ -125,7 +114,7 @@ class PriceOracleBaseContract extends BaseContract {
125
114
  */
126
115
  convertToUSD(from, amount, reserve = false) {
127
116
  const price = reserve ? this.reservePrice(from) : this.mainPrice(from);
128
- const scale = 10n ** BigInt(this.sdk.tokensMeta.decimals(from));
117
+ const scale = 10n ** BigInt(this.tokensMeta.decimals(from));
129
118
  return amount * price / scale;
130
119
  }
131
120
  /**
@@ -136,16 +125,9 @@ class PriceOracleBaseContract extends BaseContract {
136
125
  */
137
126
  convertFromUSD(to, amount, reserve = false) {
138
127
  const price = reserve ? this.reservePrice(to) : this.mainPrice(to);
139
- const scale = 10n ** BigInt(this.sdk.tokensMeta.decimals(to));
128
+ const scale = 10n ** BigInt(this.tokensMeta.decimals(to));
140
129
  return amount * scale / price;
141
130
  }
142
- /**
143
- * Loads new prices for this oracle from PriceFeedCompressor
144
- * Will (re)create price feeds if needed
145
- */
146
- async updatePrices() {
147
- await this.sdk.marketRegister.updatePrices([this.address]);
148
- }
149
131
  /**
150
132
  * All price feed tree nodes known to this oracle
151
133
  */
@@ -234,8 +216,8 @@ class PriceOracleBaseContract extends BaseContract {
234
216
  this.dirty = false;
235
217
  }
236
218
  #labelPriceFeed(address, usage, token) {
237
- this.sdk.addressLabels.set(address, (oldLabel) => {
238
- const symbol = this.sdk.tokensMeta.symbol(token);
219
+ this.sdk.setAddressLabel(address, (oldLabel) => {
220
+ const symbol = this.tokensMeta.symbol(token);
239
221
  let pricefeedTag = `${symbol}.${usage}`;
240
222
  if (oldLabel) {
241
223
  const oldLabelParts = new Set(oldLabel.split(", "));
@@ -4,7 +4,7 @@ import { PriceOracleV300Contract } from "./PriceOracleV300Contract.js";
4
4
  import { PriceOracleV310Contract } from "./PriceOracleV310Contract.js";
5
5
  function getOrCreatePriceOracle(sdk, data) {
6
6
  const { version, addr } = data.baseParams;
7
- const existing = sdk.contracts.get(addr);
7
+ const existing = sdk.getContract(addr);
8
8
  let result;
9
9
  if (existing) {
10
10
  result = tryExtendExistingOracle(existing, data);
@@ -9,8 +9,8 @@ class GaugeContract extends BaseContract {
9
9
  epochFrozen;
10
10
  epochLastUpdate;
11
11
  rates;
12
- constructor(sdk, pool, gauge) {
13
- super(sdk, {
12
+ constructor(options, pool, gauge) {
13
+ super(options, {
14
14
  ...gauge.baseParams,
15
15
  name: `Gauge(${pool.name})`,
16
16
  abi: iGaugeV300Abi
@@ -11,8 +11,8 @@ class LinearInterestRateModelContract extends BaseContract {
11
11
  Rslope2;
12
12
  Rslope3;
13
13
  isBorrowingMoreU2Forbidden;
14
- constructor(sdk, params) {
15
- super(sdk, {
14
+ constructor(options, params) {
15
+ super(options, {
16
16
  ...params.baseParams,
17
17
  name: "LinearInterestRateModel",
18
18
  abi
@@ -5,8 +5,8 @@ const abi = iPoolQuotaKeeperV300Abi;
5
5
  class PoolQuotaKeeperV300Contract extends BaseContract {
6
6
  decimals;
7
7
  quotas;
8
- constructor(sdk, pool, pqk) {
9
- super(sdk, {
8
+ constructor(options, pool, pqk) {
9
+ super(options, {
10
10
  ...pqk.baseParams,
11
11
  name: `PoolQuotaKeeper(${pool.name})`,
12
12
  abi
@@ -5,8 +5,8 @@ const abi = iPoolQuotaKeeperV310Abi;
5
5
  class PoolQuotaKeeperV310Contract extends BaseContract {
6
6
  decimals;
7
7
  quotas;
8
- constructor(sdk, pool, pqk) {
9
- super(sdk, {
8
+ constructor(options, pool, pqk) {
9
+ super(options, {
10
10
  ...pqk.baseParams,
11
11
  name: `PoolQuotaKeeper(${pool.name})`,
12
12
  abi
@@ -48,7 +48,7 @@ class PoolSuite extends SDKConstruct {
48
48
  );
49
49
  }
50
50
  get marketConfigurator() {
51
- return this.sdk.contracts.mustGet(
51
+ return this.register.mustGetContract(
52
52
  this.#marketConfigurator
53
53
  );
54
54
  }
@@ -10,9 +10,9 @@ import {
10
10
  const abi = [...iPoolV300Abi, ...iPausableAbi];
11
11
  class PoolV300Contract extends BaseContract {
12
12
  creditManagerDebtParams;
13
- constructor(sdk, data) {
13
+ constructor(options, data) {
14
14
  const { baseParams, creditManagerDebtParams, ...rest } = data;
15
- super(sdk, {
15
+ super(options, {
16
16
  ...data.baseParams,
17
17
  name: `PoolV3(${data.name})`,
18
18
  abi
@@ -21,7 +21,7 @@ class PoolV300Contract extends BaseContract {
21
21
  this.creditManagerDebtParams = new AddressMap(
22
22
  creditManagerDebtParams.map((p) => [p.creditManager, p])
23
23
  );
24
- sdk.tokensMeta.upsert(data.baseParams.addr, {
24
+ this.register.tokensMeta.upsert(data.baseParams.addr, {
25
25
  addr: data.baseParams.addr,
26
26
  decimals: data.decimals,
27
27
  name: data.name,
@@ -100,14 +100,14 @@ class PoolV300Contract extends BaseContract {
100
100
  break;
101
101
  }
102
102
  }
103
- parseFunctionParams(params) {
103
+ stringifyFunctionParams(params) {
104
104
  switch (params.functionName) {
105
105
  case "deposit": {
106
106
  const [amount, onBehalfOf] = params.args;
107
107
  return [formatBN(amount, this.decimals), this.labelAddress(onBehalfOf)];
108
108
  }
109
109
  default:
110
- return void 0;
110
+ return super.stringifyFunctionParams(params);
111
111
  }
112
112
  }
113
113
  }
@@ -10,9 +10,9 @@ import {
10
10
  const abi = [...iPoolV310Abi, ...iPausableAbi];
11
11
  class PoolV310Contract extends BaseContract {
12
12
  creditManagerDebtParams;
13
- constructor(sdk, data) {
13
+ constructor(options, data) {
14
14
  const { baseParams, creditManagerDebtParams, ...rest } = data;
15
- super(sdk, {
15
+ super(options, {
16
16
  ...data.baseParams,
17
17
  name: `PoolV3(${data.name})`,
18
18
  abi
@@ -21,7 +21,7 @@ class PoolV310Contract extends BaseContract {
21
21
  this.creditManagerDebtParams = new AddressMap(
22
22
  creditManagerDebtParams.map((p) => [p.creditManager, p])
23
23
  );
24
- sdk.tokensMeta.upsert(data.baseParams.addr, {
24
+ this.register.tokensMeta.upsert(data.baseParams.addr, {
25
25
  addr: data.baseParams.addr,
26
26
  decimals: data.decimals,
27
27
  name: data.name,
@@ -100,14 +100,14 @@ class PoolV310Contract extends BaseContract {
100
100
  break;
101
101
  }
102
102
  }
103
- parseFunctionParams(params) {
103
+ stringifyFunctionParams(params) {
104
104
  switch (params.functionName) {
105
105
  case "deposit": {
106
106
  const [amount, onBehalfOf] = params.args;
107
107
  return [formatBN(amount, this.decimals), this.labelAddress(onBehalfOf)];
108
108
  }
109
109
  default:
110
- return void 0;
110
+ return super.stringifyFunctionParams(params);
111
111
  }
112
112
  }
113
113
  }
@@ -6,8 +6,8 @@ const abi = iTumblerV310Abi;
6
6
  class TumblerContract extends BaseContract {
7
7
  epochLength;
8
8
  rates;
9
- constructor(sdk, pool, tumbler) {
10
- super(sdk, {
9
+ constructor(options, pool, tumbler) {
10
+ super(options, {
11
11
  ...tumbler.baseParams,
12
12
  name: `Tumbler(${pool.name})`,
13
13
  abi
@@ -2,21 +2,17 @@ import { bytes32ToString } from "../../utils/index.js";
2
2
  import { LinearInterestRateModelContract } from "./LinearInterestRateModelContract.js";
3
3
  function createInterestRateModel(sdk, data) {
4
4
  const { addr, contractType } = data.baseParams;
5
- if (sdk.interestRateModels.has(addr)) {
6
- return sdk.interestRateModels.mustGet(
7
- addr
8
- );
9
- } else {
10
- const modelType = bytes32ToString(contractType);
11
- switch (modelType) {
12
- case "IRM::LINEAR": {
13
- const linearModel = new LinearInterestRateModelContract(sdk, data);
14
- sdk.interestRateModels.insert(addr, linearModel);
15
- return linearModel;
16
- }
17
- default: {
18
- throw new Error(`Unknown interest rate model type: ${modelType}`);
19
- }
5
+ const existing = sdk.getContract(addr);
6
+ if (existing) {
7
+ return existing;
8
+ }
9
+ const modelType = bytes32ToString(contractType);
10
+ switch (modelType) {
11
+ case "IRM::LINEAR": {
12
+ return new LinearInterestRateModelContract(sdk, data);
13
+ }
14
+ default: {
15
+ throw new Error(`Unknown interest rate model type: ${modelType}`);
20
16
  }
21
17
  }
22
18
  }
@@ -1,10 +1,8 @@
1
1
  import { decodeAbiParameters, hexToBytes } from "viem";
2
- import { ilpPriceFeedAbi } from "../../abi/index.js";
3
2
  import { isV310 } from "../../constants/versions.js";
4
3
  import {
5
4
  AbstractPriceFeedContract
6
5
  } from "./AbstractPriceFeed.js";
7
- const LOWER_BOUND_FACTOR = 99n;
8
6
  class AbstractLPPriceFeedContract extends AbstractPriceFeedContract {
9
7
  lpContract;
10
8
  lpToken;
@@ -14,8 +12,8 @@ class AbstractLPPriceFeedContract extends AbstractPriceFeedContract {
14
12
  exchangeRate;
15
13
  aggregatePrice;
16
14
  scale;
17
- constructor(sdk, args) {
18
- super(sdk, { ...args, decimals: 8 });
15
+ constructor(options, args) {
16
+ super(options, { ...args, decimals: 8 });
19
17
  this.hasLowerBoundCap = true;
20
18
  if (isV310(args.baseParams.version)) {
21
19
  const decoder = decodeAbiParameters(
@@ -61,24 +59,6 @@ class AbstractLPPriceFeedContract extends AbstractPriceFeedContract {
61
59
  this.scale = decoder[4].scale;
62
60
  }
63
61
  }
64
- async getLowerBound() {
65
- const value = await this.getValue();
66
- const lowerBound = AbstractLPPriceFeedContract.toLowerBound(value);
67
- this.logger?.debug(
68
- `Lowerbound for ${this.labelAddress(this.address)}: ${lowerBound}`
69
- );
70
- return lowerBound;
71
- }
72
- async currentLowerBound() {
73
- return await this.sdk.client.readContract({
74
- abi: ilpPriceFeedAbi,
75
- address: this.address,
76
- functionName: "lowerBound"
77
- });
78
- }
79
- static toLowerBound(value) {
80
- return value * LOWER_BOUND_FACTOR / 100n;
81
- }
82
62
  stateHuman(raw) {
83
63
  return {
84
64
  ...super.stateHuman(raw),
@@ -23,8 +23,8 @@ class AbstractPriceFeedContract extends BaseContract {
23
23
  #args;
24
24
  hasLowerBoundCap = false;
25
25
  description;
26
- constructor(sdk, args) {
27
- super(sdk, {
26
+ constructor(options, args) {
27
+ super(options, {
28
28
  abi: args.abi,
29
29
  addr: args.baseParams.addr,
30
30
  name: args.name + (args.description ? ` ${args.description}` : ""),
@@ -40,7 +40,7 @@ class AbstractPriceFeedContract extends BaseContract {
40
40
  if (args.underlyingFeeds && args.underlyingStalenessPeriods) {
41
41
  const underlyingStalenessPeriods = args.underlyingStalenessPeriods;
42
42
  this.#underlyingPriceFeeds = args.underlyingFeeds.map(
43
- (address, i) => new PriceFeedRef(this.sdk, address, underlyingStalenessPeriods[i])
43
+ (address, i) => new PriceFeedRef(options, address, underlyingStalenessPeriods[i])
44
44
  );
45
45
  }
46
46
  }
@@ -1,23 +1,13 @@
1
- import {
2
- bptStablePriceFeedAbi,
3
- iBalancerStablePoolAbi
4
- } from "../../abi/index.js";
1
+ import { bptStablePriceFeedAbi } from "../../abi/index.js";
5
2
  import { AbstractLPPriceFeedContract } from "./AbstractLPPriceFeed.js";
6
3
  class BalancerStablePriceFeedContract extends AbstractLPPriceFeedContract {
7
- constructor(sdk, args) {
8
- super(sdk, {
4
+ constructor(options, args) {
5
+ super(options, {
9
6
  ...args,
10
7
  name: "BalancerStablePriceFeed",
11
8
  abi: bptStablePriceFeedAbi
12
9
  });
13
10
  }
14
- async getValue() {
15
- return await this.sdk.client.readContract({
16
- abi: iBalancerStablePoolAbi,
17
- address: this.lpContract,
18
- functionName: "getRate"
19
- });
20
- }
21
11
  }
22
12
  export {
23
13
  BalancerStablePriceFeedContract
@@ -1,14 +1,11 @@
1
1
  import { decodeAbiParameters, hexToBytes } from "viem";
2
- import {
3
- bptWeightedPriceFeedAbi,
4
- iBalancerWeightedPoolAbi
5
- } from "../../abi/index.js";
2
+ import { bptWeightedPriceFeedAbi } from "../../abi/index.js";
6
3
  import { AbstractLPPriceFeedContract } from "./AbstractLPPriceFeed.js";
7
4
  class BalancerWeightedPriceFeedContract extends AbstractLPPriceFeedContract {
8
5
  vault;
9
6
  poolId;
10
7
  weights;
11
- constructor(sdk, args) {
8
+ constructor(options, args) {
12
9
  const decoded = decodeAbiParameters(
13
10
  [
14
11
  { type: "bytes", name: "superParams" },
@@ -18,7 +15,7 @@ class BalancerWeightedPriceFeedContract extends AbstractLPPriceFeedContract {
18
15
  ],
19
16
  hexToBytes(args.baseParams.serializedParams)
20
17
  );
21
- super(sdk, {
18
+ super(options, {
22
19
  ...args,
23
20
  baseParams: {
24
21
  ...args.baseParams,
@@ -31,13 +28,6 @@ class BalancerWeightedPriceFeedContract extends AbstractLPPriceFeedContract {
31
28
  this.poolId = decoded[2];
32
29
  this.weights = decoded[3];
33
30
  }
34
- async getValue() {
35
- return await this.sdk.client.readContract({
36
- abi: iBalancerWeightedPoolAbi,
37
- address: this.lpContract,
38
- functionName: "getRate"
39
- });
40
- }
41
31
  stateHuman(raw) {
42
32
  return {
43
33
  ...super.stateHuman(raw),
@@ -3,8 +3,12 @@ import { boundedPriceFeedAbi } from "../../abi/index.js";
3
3
  import { AbstractPriceFeedContract } from "./AbstractPriceFeed.js";
4
4
  class BoundedPriceFeedContract extends AbstractPriceFeedContract {
5
5
  upperBound;
6
- constructor(sdk, args) {
7
- super(sdk, { ...args, name: "BoundedPriceFeed", abi: boundedPriceFeedAbi });
6
+ constructor(options, args) {
7
+ super(options, {
8
+ ...args,
9
+ name: "BoundedPriceFeed",
10
+ abi: boundedPriceFeedAbi
11
+ });
8
12
  const decoder = decodeAbiParameters(
9
13
  [
10
14
  { type: "int256" }
@@ -1,8 +1,8 @@
1
1
  import { compositePriceFeedAbi } from "../../abi/index.js";
2
2
  import { AbstractPriceFeedContract } from "./AbstractPriceFeed.js";
3
3
  class CompositePriceFeedContract extends AbstractPriceFeedContract {
4
- constructor(sdk, args) {
5
- super(sdk, {
4
+ constructor(options, args) {
5
+ super(options, {
6
6
  ...args,
7
7
  name: "CompositePriceFeed",
8
8
  abi: compositePriceFeedAbi
@@ -3,8 +3,8 @@ import { constantPriceFeedAbi } from "../../abi/oracles.js";
3
3
  import { AbstractPriceFeedContract } from "./AbstractPriceFeed.js";
4
4
  class ConstantPriceFeedContract extends AbstractPriceFeedContract {
5
5
  price;
6
- constructor(sdk, args) {
7
- super(sdk, {
6
+ constructor(options, args) {
7
+ super(options, {
8
8
  ...args,
9
9
  name: "ConstantPriceFeed",
10
10
  abi: constantPriceFeedAbi,
@@ -1,20 +1,13 @@
1
- import { curveCryptoLpPriceFeedAbi, iCurvePoolAbi } from "../../abi/index.js";
1
+ import { curveCryptoLpPriceFeedAbi } from "../../abi/index.js";
2
2
  import { AbstractLPPriceFeedContract } from "./AbstractLPPriceFeed.js";
3
3
  class CurveCryptoPriceFeedContract extends AbstractLPPriceFeedContract {
4
- constructor(sdk, args) {
5
- super(sdk, {
4
+ constructor(options, args) {
5
+ super(options, {
6
6
  ...args,
7
7
  name: "CurveCryptoPriceFeed",
8
8
  abi: curveCryptoLpPriceFeedAbi
9
9
  });
10
10
  }
11
- async getValue() {
12
- return await this.sdk.client.readContract({
13
- abi: iCurvePoolAbi,
14
- address: this.lpContract,
15
- functionName: "get_virtual_price"
16
- });
17
- }
18
11
  }
19
12
  export {
20
13
  CurveCryptoPriceFeedContract
@@ -1,20 +1,13 @@
1
- import { curveStableLpPriceFeedAbi, iCurvePoolAbi } from "../../abi/index.js";
1
+ import { curveStableLpPriceFeedAbi } from "../../abi/index.js";
2
2
  import { AbstractLPPriceFeedContract } from "./AbstractLPPriceFeed.js";
3
3
  class CurveStablePriceFeedContract extends AbstractLPPriceFeedContract {
4
- constructor(sdk, args) {
5
- super(sdk, {
4
+ constructor(options, args) {
5
+ super(options, {
6
6
  ...args,
7
7
  name: "CurveStablePriceFeed",
8
8
  abi: curveStableLpPriceFeedAbi
9
9
  });
10
10
  }
11
- async getValue() {
12
- return await this.sdk.client.readContract({
13
- abi: iCurvePoolAbi,
14
- address: this.lpContract,
15
- functionName: "get_virtual_price"
16
- });
17
- }
18
11
  }
19
12
  export {
20
13
  CurveStablePriceFeedContract