@gearbox-protocol/sdk 11.9.0-next.2 → 11.9.0

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 (455) hide show
  1. package/dist/cjs/dev/create2.js +1 -1
  2. package/dist/cjs/dev/mint/AbstractMinter.js +4 -2
  3. package/dist/cjs/dev/mint/DealMinter.js +3 -0
  4. package/dist/cjs/dev/mint/DirectMinter.js +3 -0
  5. package/dist/cjs/dev/mint/FallbackMinter.js +1 -1
  6. package/dist/cjs/dev/mint/TransferMinter.js +3 -0
  7. package/dist/cjs/permissionless/bindings/address-provider.js +6 -4
  8. package/dist/cjs/permissionless/bindings/base-contract.js +173 -0
  9. package/dist/cjs/permissionless/bindings/bytecode-repository.js +25 -23
  10. package/dist/cjs/permissionless/bindings/compressors/token-compressor.js +4 -4
  11. package/dist/cjs/permissionless/bindings/compressors/withdrawal-compressor.js +17 -11
  12. package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +22 -23
  13. package/dist/cjs/permissionless/bindings/factory/abstract-factory.js +4 -7
  14. package/dist/cjs/permissionless/bindings/governance/batches-chain.js +4 -4
  15. package/dist/cjs/permissionless/bindings/governance/governor.js +49 -30
  16. package/dist/cjs/permissionless/bindings/governance/timelock.js +4 -4
  17. package/dist/cjs/permissionless/bindings/index.js +2 -0
  18. package/dist/cjs/permissionless/bindings/instance-manager.js +77 -58
  19. package/dist/cjs/permissionless/bindings/market-configurator-factory.js +4 -4
  20. package/dist/cjs/permissionless/bindings/market-configurator.js +143 -71
  21. package/dist/cjs/permissionless/bindings/price-feed-store.js +17 -8
  22. package/dist/cjs/permissionless/bindings/router/routing-manager.js +15 -9
  23. package/dist/cjs/permissionless/bindings/treasury-splitter.js +23 -14
  24. package/dist/cjs/permissionless/core/raw-tx.js +2 -2
  25. package/dist/cjs/permissionless/utils/abi-decoder.js +72 -0
  26. package/dist/cjs/permissionless/utils/format.js +2 -2
  27. package/dist/cjs/permissionless/utils/governance/timelock-txs.js +2 -2
  28. package/dist/cjs/permissionless/utils/index.js +2 -0
  29. package/dist/cjs/permissionless/utils/price-update/get-price-feeds.js +2 -1
  30. package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +2 -1
  31. package/dist/cjs/permissionless/utils/price-update/get-prices.js +2 -1
  32. package/dist/cjs/permissionless/utils/price-update/get-updatable-feeds.js +3 -2
  33. package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +2 -1
  34. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  35. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  36. package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  37. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  38. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  39. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  40. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  41. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  42. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  43. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  44. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  45. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  46. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  47. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  48. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  49. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  50. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  51. package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  52. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  53. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  54. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  55. package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  56. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  57. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  58. package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  59. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  60. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  61. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  62. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  63. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  64. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  65. package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  66. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  67. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  68. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  69. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  70. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  71. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  72. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  73. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  74. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  75. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  76. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  77. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  78. package/dist/cjs/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  79. package/dist/cjs/plugins/bots/BotsPlugin.js +8 -21
  80. package/dist/cjs/plugins/bots/PartialLiquidationBotBaseContract.js +22 -17
  81. package/dist/cjs/plugins/bots/PartialLiquidationBotV300Contract.js +20 -4
  82. package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +78 -3
  83. package/dist/cjs/plugins/zappers/ZappersPlugin.js +1 -1
  84. package/dist/cjs/sdk/GearboxSDK.js +110 -8
  85. package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +4 -1
  86. package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +12 -8
  87. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +10 -8
  88. package/dist/cjs/sdk/base/AddressLabeller.js +49 -0
  89. package/dist/cjs/sdk/base/BaseContract.js +80 -195
  90. package/dist/cjs/sdk/base/IAddressLabeller.js +16 -0
  91. package/dist/cjs/sdk/base/SDKConstruct.js +29 -3
  92. package/dist/cjs/sdk/base/TokensMeta.js +4 -4
  93. package/dist/cjs/sdk/base/index.js +2 -4
  94. package/dist/cjs/sdk/core/BotListV3Contract.js +2 -2
  95. package/dist/cjs/sdk/core/GearStakingV3Contract.js +2 -2
  96. package/dist/cjs/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  97. package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +6 -11
  98. package/dist/cjs/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  99. package/dist/cjs/sdk/market/MarketConfiguratorContract.js +5 -5
  100. package/dist/cjs/sdk/market/MarketRegister.js +9 -7
  101. package/dist/cjs/sdk/market/MarketSuite.js +2 -2
  102. package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +3 -4
  103. package/dist/cjs/sdk/market/credit/CreditConfiguratorV310Contract.js +3 -4
  104. package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  105. package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  106. package/dist/cjs/sdk/market/credit/CreditManagerV300Contract.js +2 -5
  107. package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +2 -5
  108. package/dist/cjs/sdk/market/credit/CreditSuite.js +3 -2
  109. package/dist/cjs/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +1 -3
  110. package/dist/cjs/sdk/market/loss-policy/LossPolicyContract.js +2 -2
  111. package/dist/cjs/sdk/market/loss-policy/createLossPolicy.js +1 -1
  112. package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +26 -8
  113. package/dist/cjs/sdk/market/oracle/createPriceOracle.js +1 -1
  114. package/dist/cjs/sdk/market/pool/GaugeContract.js +2 -2
  115. package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  116. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  117. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  118. package/dist/cjs/sdk/market/pool/PoolSuite.js +1 -1
  119. package/dist/cjs/sdk/market/pool/PoolV300Contract.js +5 -5
  120. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +5 -5
  121. package/dist/cjs/sdk/market/pool/TumblerContract.js +2 -2
  122. package/dist/cjs/sdk/market/pool/createInterestRateModel.js +15 -11
  123. package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +22 -2
  124. package/dist/cjs/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  125. package/dist/cjs/sdk/market/pricefeeds/BalancerStablePriceFeed.js +9 -2
  126. package/dist/cjs/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +9 -2
  127. package/dist/cjs/sdk/market/pricefeeds/BoundedPriceFeed.js +2 -6
  128. package/dist/cjs/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  129. package/dist/cjs/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  130. package/dist/cjs/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +9 -2
  131. package/dist/cjs/sdk/market/pricefeeds/CurveStablePriceFeed.js +9 -2
  132. package/dist/cjs/sdk/market/pricefeeds/CurveUSDPriceFeed.js +9 -2
  133. package/dist/cjs/sdk/market/pricefeeds/Erc4626PriceFeed.js +18 -2
  134. package/dist/cjs/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  135. package/dist/cjs/sdk/market/pricefeeds/MellowLRTPriceFeed.js +10 -2
  136. package/dist/cjs/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  137. package/dist/cjs/sdk/market/pricefeeds/PriceFeedRef.js +4 -6
  138. package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +3 -2
  139. package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  140. package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  141. package/dist/cjs/sdk/market/pricefeeds/WstETHPriceFeed.js +9 -2
  142. package/dist/cjs/sdk/market/pricefeeds/YearnPriceFeed.js +9 -2
  143. package/dist/cjs/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  144. package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +8 -6
  145. package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +11 -9
  146. package/dist/cjs/sdk/router/AbstractRouterContract.js +114 -12
  147. package/dist/cjs/sdk/router/RouterV300Contract.js +9 -10
  148. package/dist/cjs/sdk/router/RouterV310Contract.js +10 -10
  149. package/dist/cjs/sdk/router/createRouter.js +0 -4
  150. package/dist/cjs/sdk/utils/index.js +0 -2
  151. package/dist/esm/dev/create2.js +2 -2
  152. package/dist/esm/dev/mint/AbstractMinter.js +7 -3
  153. package/dist/esm/dev/mint/DealMinter.js +3 -0
  154. package/dist/esm/dev/mint/DirectMinter.js +3 -0
  155. package/dist/esm/dev/mint/FallbackMinter.js +1 -1
  156. package/dist/esm/dev/mint/TransferMinter.js +3 -0
  157. package/dist/esm/permissionless/bindings/address-provider.js +7 -7
  158. package/dist/esm/permissionless/bindings/base-contract.js +151 -0
  159. package/dist/esm/permissionless/bindings/bytecode-repository.js +24 -22
  160. package/dist/esm/permissionless/bindings/compressors/token-compressor.js +3 -3
  161. package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +16 -10
  162. package/dist/esm/permissionless/bindings/cross-chain-multisig.js +16 -20
  163. package/dist/esm/permissionless/bindings/factory/abstract-factory.js +4 -9
  164. package/dist/esm/permissionless/bindings/governance/batches-chain.js +3 -3
  165. package/dist/esm/permissionless/bindings/governance/governor.js +47 -28
  166. package/dist/esm/permissionless/bindings/governance/timelock.js +3 -3
  167. package/dist/esm/permissionless/bindings/index.js +1 -0
  168. package/dist/esm/permissionless/bindings/instance-manager.js +69 -53
  169. package/dist/esm/permissionless/bindings/market-configurator-factory.js +3 -3
  170. package/dist/esm/permissionless/bindings/market-configurator.js +137 -65
  171. package/dist/esm/permissionless/bindings/price-feed-store.js +14 -8
  172. package/dist/esm/permissionless/bindings/router/routing-manager.js +14 -8
  173. package/dist/esm/permissionless/bindings/treasury-splitter.js +22 -15
  174. package/dist/esm/permissionless/core/raw-tx.js +1 -1
  175. package/dist/esm/permissionless/utils/abi-decoder.js +50 -0
  176. package/dist/esm/permissionless/utils/format.js +1 -1
  177. package/dist/esm/permissionless/utils/governance/timelock-txs.js +1 -1
  178. package/dist/esm/permissionless/utils/index.js +1 -0
  179. package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +2 -4
  180. package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +1 -1
  181. package/dist/esm/permissionless/utils/price-update/get-prices.js +2 -1
  182. package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +1 -1
  183. package/dist/esm/plugins/adapters/abi/conctructorAbi.js +2 -1
  184. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  185. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  186. package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  187. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  188. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  189. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  190. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  191. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  192. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  193. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  194. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  195. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  196. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  197. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  198. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  199. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  200. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  201. package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  202. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  203. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  204. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  205. package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  206. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  207. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  208. package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  209. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  210. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  211. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  212. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  213. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  214. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  215. package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  216. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  217. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  218. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  219. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  220. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  221. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  222. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  223. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  224. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  225. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  226. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  227. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  228. package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  229. package/dist/esm/plugins/bots/BotsPlugin.js +8 -11
  230. package/dist/esm/plugins/bots/PartialLiquidationBotBaseContract.js +22 -7
  231. package/dist/esm/plugins/bots/PartialLiquidationBotV300Contract.js +20 -4
  232. package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +78 -3
  233. package/dist/esm/plugins/zappers/ZappersPlugin.js +1 -1
  234. package/dist/esm/sdk/GearboxSDK.js +112 -10
  235. package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +4 -1
  236. package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +13 -9
  237. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +10 -8
  238. package/dist/esm/sdk/base/AddressLabeller.js +25 -0
  239. package/dist/esm/sdk/base/BaseContract.js +81 -202
  240. package/dist/esm/sdk/base/IAddressLabeller.js +0 -0
  241. package/dist/esm/sdk/base/SDKConstruct.js +29 -3
  242. package/dist/esm/sdk/base/TokensMeta.js +4 -4
  243. package/dist/esm/sdk/base/index.js +1 -2
  244. package/dist/esm/sdk/core/BotListV3Contract.js +2 -2
  245. package/dist/esm/sdk/core/GearStakingV3Contract.js +2 -2
  246. package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  247. package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +6 -11
  248. package/dist/esm/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  249. package/dist/esm/sdk/market/MarketConfiguratorContract.js +5 -5
  250. package/dist/esm/sdk/market/MarketRegister.js +10 -8
  251. package/dist/esm/sdk/market/MarketSuite.js +2 -2
  252. package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +3 -4
  253. package/dist/esm/sdk/market/credit/CreditConfiguratorV310Contract.js +3 -4
  254. package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  255. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  256. package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +2 -5
  257. package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +2 -5
  258. package/dist/esm/sdk/market/credit/CreditSuite.js +3 -2
  259. package/dist/esm/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +1 -3
  260. package/dist/esm/sdk/market/loss-policy/LossPolicyContract.js +3 -5
  261. package/dist/esm/sdk/market/loss-policy/createLossPolicy.js +1 -1
  262. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +26 -8
  263. package/dist/esm/sdk/market/oracle/createPriceOracle.js +1 -1
  264. package/dist/esm/sdk/market/pool/GaugeContract.js +2 -2
  265. package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  266. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  267. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  268. package/dist/esm/sdk/market/pool/PoolSuite.js +1 -1
  269. package/dist/esm/sdk/market/pool/PoolV300Contract.js +5 -5
  270. package/dist/esm/sdk/market/pool/PoolV310Contract.js +5 -5
  271. package/dist/esm/sdk/market/pool/TumblerContract.js +2 -2
  272. package/dist/esm/sdk/market/pool/createInterestRateModel.js +15 -11
  273. package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +22 -2
  274. package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  275. package/dist/esm/sdk/market/pricefeeds/BalancerStablePriceFeed.js +13 -3
  276. package/dist/esm/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +13 -3
  277. package/dist/esm/sdk/market/pricefeeds/BoundedPriceFeed.js +2 -6
  278. package/dist/esm/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  279. package/dist/esm/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  280. package/dist/esm/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +10 -3
  281. package/dist/esm/sdk/market/pricefeeds/CurveStablePriceFeed.js +10 -3
  282. package/dist/esm/sdk/market/pricefeeds/CurveUSDPriceFeed.js +10 -3
  283. package/dist/esm/sdk/market/pricefeeds/Erc4626PriceFeed.js +18 -2
  284. package/dist/esm/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  285. package/dist/esm/sdk/market/pricefeeds/MellowLRTPriceFeed.js +11 -3
  286. package/dist/esm/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  287. package/dist/esm/sdk/market/pricefeeds/PriceFeedRef.js +5 -7
  288. package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +9 -3
  289. package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  290. package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  291. package/dist/esm/sdk/market/pricefeeds/WstETHPriceFeed.js +10 -3
  292. package/dist/esm/sdk/market/pricefeeds/YearnPriceFeed.js +10 -3
  293. package/dist/esm/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  294. package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +9 -7
  295. package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +12 -10
  296. package/dist/esm/sdk/router/AbstractRouterContract.js +115 -13
  297. package/dist/esm/sdk/router/RouterV300Contract.js +9 -10
  298. package/dist/esm/sdk/router/RouterV310Contract.js +10 -10
  299. package/dist/esm/sdk/router/createRouter.js +0 -4
  300. package/dist/esm/sdk/utils/index.js +0 -1
  301. package/dist/types/dev/create2.d.ts +2 -2
  302. package/dist/types/dev/mint/AbstractMinter.d.ts +4 -3
  303. package/dist/types/dev/mint/DealMinter.d.ts +3 -0
  304. package/dist/types/dev/mint/DirectMinter.d.ts +3 -0
  305. package/dist/types/dev/mint/TransferMinter.d.ts +3 -0
  306. package/dist/types/permissionless/bindings/address-provider.d.ts +255 -4
  307. package/dist/types/permissionless/bindings/base-contract.d.ts +23 -0
  308. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +6 -5
  309. package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +3 -3
  310. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +5 -4
  311. package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +7 -7
  312. package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +1 -1
  313. package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +4 -3
  314. package/dist/types/permissionless/bindings/governance/governor.d.ts +7 -6
  315. package/dist/types/permissionless/bindings/governance/timelock.d.ts +3 -3
  316. package/dist/types/permissionless/bindings/governance/types.d.ts +1 -1
  317. package/dist/types/permissionless/bindings/index.d.ts +1 -0
  318. package/dist/types/permissionless/bindings/instance-manager.d.ts +7 -6
  319. package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +4 -4
  320. package/dist/types/permissionless/bindings/market-configurator.d.ts +6 -6
  321. package/dist/types/permissionless/bindings/price-feed-store.d.ts +7 -6
  322. package/dist/types/permissionless/bindings/router/routing-manager.d.ts +5 -4
  323. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +6 -5
  324. package/dist/types/permissionless/core/proposal.d.ts +7 -1
  325. package/dist/types/permissionless/utils/abi-decoder.d.ts +13 -0
  326. package/dist/types/permissionless/utils/create2.d.ts +1 -1
  327. package/dist/types/permissionless/utils/governance/batch.d.ts +1 -1
  328. package/dist/types/permissionless/utils/index.d.ts +1 -0
  329. package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +3 -3
  330. package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +2 -2
  331. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +2 -2
  332. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  333. package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +2 -2
  334. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +2 -2
  335. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +2 -2
  336. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +2 -2
  337. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +2 -2
  338. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +2 -2
  339. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +2 -2
  340. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +2 -2
  341. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +2 -2
  342. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
  343. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
  344. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +2 -2
  345. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +2 -2
  346. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +2 -2
  347. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +2 -2
  348. package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +2 -2
  349. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +2 -2
  350. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +2 -2
  351. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +2 -2
  352. package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +2 -2
  353. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +2 -2
  354. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +2 -2
  355. package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +2 -2
  356. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +2 -2
  357. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +2 -2
  358. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +2 -2
  359. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +2 -2
  360. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +2 -2
  361. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +2 -2
  362. package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +2 -2
  363. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +2 -2
  364. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +2 -2
  365. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +2 -2
  366. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +2 -2
  367. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +2 -2
  368. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +2 -2
  369. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -3
  370. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -3
  371. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +2 -2
  372. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +2 -2
  373. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +2 -2
  374. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +2 -2
  375. package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +2 -2
  376. package/dist/types/plugins/bots/PartialLiquidationBotV300Contract.d.ts +8 -2
  377. package/dist/types/plugins/delayed-withdrawal/types.d.ts +1 -0
  378. package/dist/types/sdk/GearboxSDK.d.ts +76 -5
  379. package/dist/types/sdk/accountMigration/types.d.ts +2 -1
  380. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +2 -2
  381. package/dist/types/sdk/accounts/types.d.ts +23 -7
  382. package/dist/types/sdk/base/AddressLabeller.d.ts +11 -0
  383. package/dist/types/sdk/base/BaseContract.d.ts +28 -72
  384. package/dist/types/sdk/base/IAddressLabeller.d.ts +9 -0
  385. package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
  386. package/dist/types/sdk/base/SDKConstruct.d.ts +16 -2
  387. package/dist/types/sdk/base/TokensMeta.d.ts +3 -2
  388. package/dist/types/sdk/base/index.d.ts +1 -2
  389. package/dist/types/sdk/base/types.d.ts +0 -50
  390. package/dist/types/sdk/core/BotListV3Contract.d.ts +1 -1
  391. package/dist/types/sdk/core/GearStakingV3Contract.d.ts +1 -1
  392. package/dist/types/sdk/core/address-provider/AbstractAddressProviderContract.d.ts +4 -3
  393. package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +3 -3
  394. package/dist/types/sdk/core/address-provider/AddressProviderV310Contract.d.ts +3 -3
  395. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +2 -2
  396. package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +3 -3
  397. package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +3 -3
  398. package/dist/types/sdk/market/credit/CreditFacadeV300Contract.d.ts +4 -3
  399. package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +4 -3
  400. package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +1 -1
  401. package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +1 -1
  402. package/dist/types/sdk/market/credit/CreditSuite.d.ts +1 -1
  403. package/dist/types/sdk/market/credit/types.d.ts +2 -1
  404. package/dist/types/sdk/market/loss-policy/AliasLossPolicyV310Contract.d.ts +0 -1
  405. package/dist/types/sdk/market/loss-policy/LossPolicyContract.d.ts +3 -2
  406. package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +12 -3
  407. package/dist/types/sdk/market/oracle/types.d.ts +10 -0
  408. package/dist/types/sdk/market/pool/GaugeContract.d.ts +3 -2
  409. package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +3 -2
  410. package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +3 -2
  411. package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +3 -2
  412. package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +5 -4
  413. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +5 -4
  414. package/dist/types/sdk/market/pool/TumblerContract.d.ts +3 -2
  415. package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +8 -3
  416. package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +3 -2
  417. package/dist/types/sdk/market/pricefeeds/BalancerStablePriceFeed.d.ts +3 -2
  418. package/dist/types/sdk/market/pricefeeds/BalancerWeightedPriceFeed.d.ts +3 -2
  419. package/dist/types/sdk/market/pricefeeds/BoundedPriceFeed.d.ts +2 -2
  420. package/dist/types/sdk/market/pricefeeds/CompositePriceFeed.d.ts +2 -2
  421. package/dist/types/sdk/market/pricefeeds/ConstantPriceFeed.d.ts +2 -2
  422. package/dist/types/sdk/market/pricefeeds/CurveCryptoPriceFeed.d.ts +3 -2
  423. package/dist/types/sdk/market/pricefeeds/CurveStablePriceFeed.d.ts +3 -2
  424. package/dist/types/sdk/market/pricefeeds/CurveUSDPriceFeed.d.ts +3 -2
  425. package/dist/types/sdk/market/pricefeeds/Erc4626PriceFeed.d.ts +3 -2
  426. package/dist/types/sdk/market/pricefeeds/ExternalPriceFeed.d.ts +2 -2
  427. package/dist/types/sdk/market/pricefeeds/MellowLRTPriceFeed.d.ts +3 -2
  428. package/dist/types/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.d.ts +2 -2
  429. package/dist/types/sdk/market/pricefeeds/PriceFeedRef.d.ts +4 -3
  430. package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +2 -1
  431. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +2 -2
  432. package/dist/types/sdk/market/pricefeeds/RedstonePriceFeed.d.ts +2 -2
  433. package/dist/types/sdk/market/pricefeeds/WstETHPriceFeed.d.ts +3 -2
  434. package/dist/types/sdk/market/pricefeeds/YearnPriceFeed.d.ts +3 -2
  435. package/dist/types/sdk/market/pricefeeds/ZeroPriceFeed.d.ts +2 -2
  436. package/dist/types/sdk/market/pricefeeds/types.d.ts +5 -0
  437. package/dist/types/sdk/router/AbstractRouterContract.d.ts +15 -8
  438. package/dist/types/sdk/router/RouterV300Contract.d.ts +3 -4
  439. package/dist/types/sdk/router/RouterV310Contract.d.ts +2 -3
  440. package/dist/types/sdk/router/types.d.ts +14 -5
  441. package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +2 -2
  442. package/dist/types/sdk/utils/index.d.ts +0 -1
  443. package/package.json +1 -1
  444. package/dist/cjs/plugins/bots/deserializePartialLiquidationBotParams.js +0 -49
  445. package/dist/cjs/sdk/base/ChainContractsRegister.js +0 -135
  446. package/dist/cjs/sdk/base/Construct.js +0 -87
  447. package/dist/cjs/sdk/utils/abi-decode.js +0 -58
  448. package/dist/esm/plugins/bots/deserializePartialLiquidationBotParams.js +0 -29
  449. package/dist/esm/sdk/base/ChainContractsRegister.js +0 -111
  450. package/dist/esm/sdk/base/Construct.js +0 -63
  451. package/dist/esm/sdk/utils/abi-decode.js +0 -37
  452. package/dist/types/plugins/bots/deserializePartialLiquidationBotParams.d.ts +0 -3
  453. package/dist/types/sdk/base/ChainContractsRegister.d.ts +0 -57
  454. package/dist/types/sdk/base/Construct.d.ts +0 -38
  455. package/dist/types/sdk/utils/abi-decode.d.ts +0 -10
@@ -28,8 +28,8 @@ var import_AbstractAdapter = require("./AbstractAdapter.js");
28
28
  const abi = import_integrations_v3.iUniswapV3AdapterAbi;
29
29
  class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
30
30
  supportedPools;
31
- constructor(options, args) {
32
- super(options, { ...args, abi });
31
+ constructor(sdk, args) {
32
+ super(sdk, { ...args, abi });
33
33
  const decoded = (0, import_viem.decodeAbiParameters)(
34
34
  [
35
35
  { type: "address", name: "creditManager" },
@@ -52,14 +52,14 @@ class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
52
52
  fee: pool.fee
53
53
  }));
54
54
  }
55
- stringifyFunctionParams(params) {
55
+ parseFunctionParams(params) {
56
56
  switch (params.functionName) {
57
57
  case "exactInputSingle": {
58
58
  const [{ tokenIn, tokenOut, fee, amountIn, amountOutMinimum }] = params.args;
59
- const tokenInSym = this.tokensMeta.symbol(tokenIn);
60
- const tokenOutSym = this.tokensMeta.symbol(tokenOut);
61
- const amountInStr = this.tokensMeta.formatBN(tokenIn, amountIn);
62
- const amountOutMinimumStr = this.tokensMeta.formatBN(
59
+ const tokenInSym = this.sdk.tokensMeta.symbol(tokenIn);
60
+ const tokenOutSym = this.sdk.tokensMeta.symbol(tokenOut);
61
+ const amountInStr = this.sdk.tokensMeta.formatBN(tokenIn, amountIn);
62
+ const amountOutMinimumStr = this.sdk.tokensMeta.formatBN(
63
63
  tokenOut,
64
64
  amountOutMinimum
65
65
  );
@@ -69,9 +69,9 @@ class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
69
69
  }
70
70
  case "exactDiffInputSingle": {
71
71
  const [{ tokenIn, tokenOut, fee, leftoverAmount, rateMinRAY }] = params.args;
72
- const tokenInSym = this.tokensMeta.symbol(tokenIn);
73
- const tokenOutSym = this.tokensMeta.symbol(tokenOut);
74
- const leftoverAmountStr = this.tokensMeta.formatBN(
72
+ const tokenInSym = this.sdk.tokensMeta.symbol(tokenIn);
73
+ const tokenOutSym = this.sdk.tokensMeta.symbol(tokenOut);
74
+ const leftoverAmountStr = this.sdk.tokensMeta.formatBN(
75
75
  tokenIn,
76
76
  leftoverAmount
77
77
  );
@@ -84,8 +84,8 @@ class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
84
84
  const [{ amountIn, amountOutMinimum, path }] = params.args;
85
85
  const pathStr = this.trackInputPath(path);
86
86
  const token = `0x${path.replace("0x", "").slice(0, 40)}`;
87
- const amountInStr = this.tokensMeta.formatBN(token, amountIn);
88
- const amountOutMinimumStr = this.tokensMeta.formatBN(
87
+ const amountInStr = this.sdk.tokensMeta.formatBN(token, amountIn);
88
+ const amountOutMinimumStr = this.sdk.tokensMeta.formatBN(
89
89
  `0x${path.slice(-40, path.length)}`,
90
90
  amountOutMinimum
91
91
  );
@@ -95,7 +95,7 @@ class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
95
95
  }
96
96
  case "exactDiffInput": {
97
97
  const [{ leftoverAmount, rateMinRAY, path }] = params.args;
98
- const leftoverAmountStr = this.tokensMeta.formatBN(
98
+ const leftoverAmountStr = this.sdk.tokensMeta.formatBN(
99
99
  `0x${path.replace("0x", "").slice(0, 40)}`,
100
100
  leftoverAmount
101
101
  );
@@ -110,11 +110,11 @@ class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
110
110
  case "exactOutput": {
111
111
  const [{ amountInMaximum, amountOut, path }] = params.args;
112
112
  const pathStr = this.trackOutputPath(path);
113
- const amountInMaximumStr = this.tokensMeta.formatBN(
113
+ const amountInMaximumStr = this.sdk.tokensMeta.formatBN(
114
114
  `0x${path.slice(-40, path.length)}`,
115
115
  amountInMaximum
116
116
  );
117
- const amountOutStr = this.tokensMeta.formatBN(
117
+ const amountOutStr = this.sdk.tokensMeta.formatBN(
118
118
  `0x${path.replace("0x", "").slice(0, 40)}`,
119
119
  amountOut
120
120
  );
@@ -124,19 +124,19 @@ class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
124
124
  }
125
125
  case "exactOutputSingle": {
126
126
  const [{ tokenIn, tokenOut, fee, amountOut, amountInMaximum }] = params.args;
127
- const tokenInSym = this.tokensMeta.symbol(tokenIn);
128
- const tokenOutSym = this.tokensMeta.symbol(tokenOut);
129
- const amountInMaximumStr = this.tokensMeta.formatBN(
127
+ const tokenInSym = this.sdk.tokensMeta.symbol(tokenIn);
128
+ const tokenOutSym = this.sdk.tokensMeta.symbol(tokenOut);
129
+ const amountInMaximumStr = this.sdk.tokensMeta.formatBN(
130
130
  tokenIn,
131
131
  amountInMaximum
132
132
  );
133
- const amountOutStr = this.tokensMeta.formatBN(tokenOut, amountOut);
133
+ const amountOutStr = this.sdk.tokensMeta.formatBN(tokenOut, amountOut);
134
134
  return [
135
135
  `(amountInMaximum: ${amountInMaximumStr}, amountOut: ${amountOutStr}, path: ${tokenInSym} ==(fee: ${fee})==> ${tokenOutSym})`
136
136
  ];
137
137
  }
138
138
  default:
139
- return super.stringifyFunctionParams(params);
139
+ return void 0;
140
140
  }
141
141
  }
142
142
  trackInputPath(path) {
@@ -147,7 +147,7 @@ class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
147
147
  pointer,
148
148
  pointer + 40
149
149
  )}`.toLowerCase();
150
- result += this.tokensMeta.symbol(from) || from;
150
+ result += this.sdk.tokensMeta.symbol(from) || from;
151
151
  pointer += 40;
152
152
  if (pointer > path.length - 6) return result;
153
153
  const fee = parseInt(path.slice(pointer, pointer + 6), 16);
@@ -162,7 +162,7 @@ class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterCon
162
162
  while (pointer >= 40) {
163
163
  pointer -= 40;
164
164
  const from = `0x${path.slice(pointer, pointer + 40)}`;
165
- result += this.tokensMeta.symbol(from) || from;
165
+ result += this.sdk.tokensMeta.symbol(from) || from;
166
166
  if (pointer < 6) return result;
167
167
  pointer -= 6;
168
168
  const fee = parseInt(path.slice(pointer, pointer + 6), 16);
@@ -27,8 +27,8 @@ var import_AbstractAdapter = require("./AbstractAdapter.js");
27
27
  const abi = import_integrations_v3.iUniswapV4AdapterAbi;
28
28
  class UniswapV4AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
29
29
  supportedPoolKeys;
30
- constructor(options, args) {
31
- super(options, { ...args, abi });
30
+ constructor(sdk, args) {
31
+ super(sdk, { ...args, abi });
32
32
  const decoded = (0, import_viem.decodeAbiParameters)(
33
33
  [
34
34
  { type: "address", name: "creditManager" },
@@ -29,8 +29,8 @@ class UpshiftVaultAdapterContract extends import_AbstractAdapter.AbstractAdapter
29
29
  vault;
30
30
  asset;
31
31
  stakedPhantomToken;
32
- constructor(options, args) {
33
- super(options, { ...args, abi });
32
+ constructor(sdk, args) {
33
+ super(sdk, { ...args, abi });
34
34
  const decoded = (0, import_viem.decodeAbiParameters)(
35
35
  [
36
36
  { type: "address", name: "creditManager" },
@@ -27,8 +27,8 @@ var import_AbstractAdapter = require("./AbstractAdapter.js");
27
27
  const abi = import_integrations_v3.iVelodromeV2RouterAdapterAbi;
28
28
  class VelodromeV2RouterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
29
29
  supportedPools;
30
- constructor(options, args) {
31
- super(options, { ...args, abi });
30
+ constructor(sdk, args) {
31
+ super(sdk, { ...args, abi });
32
32
  const decoded = (0, import_viem.decodeAbiParameters)(
33
33
  [
34
34
  { type: "address", name: "creditManager" },
@@ -27,8 +27,8 @@ var import_AbstractAdapter = require("./AbstractAdapter.js");
27
27
  const abi = import_integrations_v3.iwstEthv1AdapterAbi;
28
28
  class WstETHV1AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
29
29
  stETH;
30
- constructor(options, args) {
31
- super(options, { ...args, abi });
30
+ constructor(sdk, args) {
31
+ super(sdk, { ...args, abi });
32
32
  const decoded = (0, import_viem.decodeAbiParameters)(
33
33
  [
34
34
  { type: "address", name: "creditManager" },
@@ -27,8 +27,8 @@ var import_AbstractAdapter = require("./AbstractAdapter.js");
27
27
  const abi = import_integrations_v3.iYearnV2AdapterAbi;
28
28
  class YearnV2RouterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
29
29
  token;
30
- constructor(options, args) {
31
- super(options, { ...args, abi });
30
+ constructor(sdk, args) {
31
+ super(sdk, { ...args, abi });
32
32
  const decoded = (0, import_viem.decodeAbiParameters)(
33
33
  [
34
34
  { type: "address", name: "creditManager" },
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
19
  var BotsPlugin_exports = {};
30
20
  __export(BotsPlugin_exports, {
@@ -34,7 +24,6 @@ __export(BotsPlugin_exports, {
34
24
  module.exports = __toCommonJS(BotsPlugin_exports);
35
25
  var import_peripheryCompressor = require("../../abi/compressors/peripheryCompressor.js");
36
26
  var import_sdk = require("../../sdk/index.js");
37
- var import_deserializePartialLiquidationBotParams = __toESM(require("./deserializePartialLiquidationBotParams.js"));
38
27
  var import_PartialLiquidationBotV300Contract = require("./PartialLiquidationBotV300Contract.js");
39
28
  var import_PartialLiquidationBotV310Contract = require("./PartialLiquidationBotV310Contract.js");
40
29
  var import_types = require("./types.js");
@@ -84,15 +73,15 @@ class BotsPlugin extends import_sdk.BasePlugin {
84
73
  return this.state;
85
74
  }
86
75
  #loadStateMarketState(mc, state) {
87
- const states = [...state].sort(
88
- (a, b) => (0, import_deserializePartialLiquidationBotParams.default)(a.baseParams).minHealthFactor - (0, import_deserializePartialLiquidationBotParams.default)(b.baseParams).minHealthFactor
89
- );
90
- if (states.length && (0, import_sdk.isV300)(states[0].baseParams.version)) {
91
- if (states.length !== 4) {
76
+ const bots = state.map((state2) => this.#createBot(mc, state2)).sort((a, b) => a.minHealthFactor - b.minHealthFactor);
77
+ if (bots.length && (0, import_sdk.isV300)(Number(bots[0].version))) {
78
+ if (bots.length !== 4) {
92
79
  throw new Error(`expected 4 bots v300 for market configurator ${mc}`);
93
80
  }
81
+ for (let i = 0; i < bots.length; i++) {
82
+ bots[i].botType = import_types.LIQUIDATION_BOT_TYPES[i];
83
+ }
94
84
  }
95
- const bots = states.map((s, i) => this.#createBot(mc, s, i));
96
85
  this.botsByMarket.upsert(mc, bots);
97
86
  }
98
87
  stateHuman(raw) {
@@ -130,15 +119,13 @@ class BotsPlugin extends import_sdk.BasePlugin {
130
119
  this.#loadStateMarketState(mc, botStates);
131
120
  }
132
121
  }
133
- #createBot(marketConfigurator, data, index) {
122
+ #createBot(marketConfigurator, data) {
134
123
  const v = Number(data.baseParams.version);
135
124
  if ((0, import_sdk.isV300)(v)) {
136
- const botType = import_types.LIQUIDATION_BOT_TYPES[index];
137
125
  return new import_PartialLiquidationBotV300Contract.PartialLiquidationBotV300Contract(
138
126
  this.sdk,
139
127
  data,
140
- marketConfigurator,
141
- botType
128
+ marketConfigurator
142
129
  );
143
130
  } else if ((0, import_sdk.isV310)(v)) {
144
131
  return new import_PartialLiquidationBotV310Contract.PartialLiquidationBotV310Contract(
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,22 +15,14 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
19
  var PartialLiquidationBotBaseContract_exports = {};
30
20
  __export(PartialLiquidationBotBaseContract_exports, {
31
21
  PartialLiquidationBotBaseContract: () => PartialLiquidationBotBaseContract
32
22
  });
33
23
  module.exports = __toCommonJS(PartialLiquidationBotBaseContract_exports);
24
+ var import_viem = require("viem");
34
25
  var import_sdk = require("../../sdk/index.js");
35
- var import_deserializePartialLiquidationBotParams = __toESM(require("./deserializePartialLiquidationBotParams.js"));
36
26
  class PartialLiquidationBotBaseContract extends import_sdk.BaseContract {
37
27
  requiredPermissions;
38
28
  marketConfigurator;
@@ -40,12 +30,27 @@ class PartialLiquidationBotBaseContract extends import_sdk.BaseContract {
40
30
  constructor(sdk, args) {
41
31
  super(sdk, args);
42
32
  this.#serializedParams = args.serializedParams;
43
- const bp = (0, import_deserializePartialLiquidationBotParams.default)(args);
44
- this.treasury = bp.treasury;
45
- this.minHealthFactor = bp.minHealthFactor;
46
- this.maxHealthFactor = bp.maxHealthFactor;
47
- this.premiumScaleFactor = bp.premiumScaleFactor;
48
- this.feeScaleFactor = bp.feeScaleFactor;
33
+ const [
34
+ treasury,
35
+ minHealthFactor,
36
+ maxHealthFactor,
37
+ premiumScaleFactor,
38
+ feeScaleFactor
39
+ ] = (0, import_viem.decodeAbiParameters)(
40
+ [
41
+ { name: "treasury", type: "address" },
42
+ { name: "minHealthFactor", type: "uint16" },
43
+ { name: "maxHealthFactor", type: "uint16" },
44
+ { name: "premiumScaleFactor", type: "uint16" },
45
+ { name: "feeScaleFactor", type: "uint16" }
46
+ ],
47
+ args.serializedParams
48
+ );
49
+ this.treasury = treasury;
50
+ this.minHealthFactor = minHealthFactor;
51
+ this.maxHealthFactor = maxHealthFactor;
52
+ this.premiumScaleFactor = premiumScaleFactor;
53
+ this.feeScaleFactor = feeScaleFactor;
49
54
  this.marketConfigurator = args.marketConfigurator;
50
55
  this.requiredPermissions = args.requiredPermissions;
51
56
  }
@@ -25,16 +25,15 @@ var import_abi = require("./abi/index.js");
25
25
  var import_PartialLiquidationBotBaseContract = require("./PartialLiquidationBotBaseContract.js");
26
26
  const abi = import_abi.iPartialLiquidationBotV300Abi;
27
27
  class PartialLiquidationBotV300Contract extends import_PartialLiquidationBotBaseContract.PartialLiquidationBotBaseContract {
28
- botType;
29
- constructor(sdk, args, marketConfigurator, botType) {
28
+ #botType;
29
+ constructor(sdk, args, marketConfigurator) {
30
30
  super(sdk, {
31
31
  abi,
32
32
  ...args.baseParams,
33
33
  requiredPermissions: args.requiredPermissions,
34
34
  marketConfigurator,
35
- name: `PartialLiquidationBotV300 (${botType})`
35
+ name: "PartialLiquidationBotV300"
36
36
  });
37
- this.botType = botType;
38
37
  }
39
38
  stateHuman(raw) {
40
39
  return {
@@ -42,6 +41,23 @@ class PartialLiquidationBotV300Contract extends import_PartialLiquidationBotBase
42
41
  botType: this.botType
43
42
  };
44
43
  }
44
+ /**
45
+ * Set the bot type
46
+ * This method should only be called once from BotsPlugin
47
+ */
48
+ set botType(type) {
49
+ if (this.#botType) {
50
+ throw new Error("bot type already set");
51
+ }
52
+ this.#botType = type;
53
+ this.name = `PartialLiquidationBotV300 (${type})`;
54
+ }
55
+ get botType() {
56
+ if (!this.#botType) {
57
+ throw new Error("bot type not set");
58
+ }
59
+ return this.#botType;
60
+ }
45
61
  }
46
62
  // Annotate the CommonJS export names for ESM import in node:
47
63
  0 && (module.exports = {
@@ -49,12 +49,19 @@ class DelayedWithdrawalPlugin extends import_sdk.BasePlugin {
49
49
  this.#withdrawableAssets = new import_sdk.AddressMap(void 0, MAP_LABEL);
50
50
  resp.forEach((r, index) => {
51
51
  const cm = creditManagers[index];
52
- if (r.status === "success") {
52
+ if (r.status === "success" && r.result?.length > 0) {
53
+ const configsToShow = r.result;
53
54
  this.#withdrawableAssets?.upsert(
54
55
  cm.creditManager.address,
55
- r.result.map((cfg) => ({
56
+ configsToShow.map((cfg) => ({
56
57
  ...cfg,
57
- creditManager: cm.creditManager.address
58
+ creditManager: cm.creditManager.address,
59
+ disabled: isConfigToOmit({
60
+ creditManager: cm.creditManager.address,
61
+ token: cfg.token,
62
+ withdrawalPhantomToken: cfg.withdrawalPhantomToken,
63
+ underlying: cfg.underlying
64
+ })
58
65
  }))
59
66
  );
60
67
  } else {
@@ -99,6 +106,74 @@ class DelayedWithdrawalPlugin extends import_sdk.BasePlugin {
99
106
  );
100
107
  }
101
108
  }
109
+ function getConfigKey(config) {
110
+ return `${config.creditManager}-${config.token}-${config.withdrawalPhantomToken}-${config.underlying}`.toLowerCase();
111
+ }
112
+ function isConfigToOmit(config) {
113
+ return !!CONFIGS_TO_OMIT_RECORD[getConfigKey(config)];
114
+ }
115
+ const CONFIGS_TO_OMIT_LIST = [
116
+ {
117
+ // checked
118
+ creditManager: "0xf5edc34204e67e592bdcb84114571c9e4bd0bdf7",
119
+ token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
120
+ withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
121
+ underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
122
+ },
123
+ {
124
+ // checked
125
+ creditManager: "0xb79d6544839d169869476589d2e54014a074317b",
126
+ token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
127
+ withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
128
+ underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
129
+ },
130
+ {
131
+ // checked
132
+ creditManager: "0x79c6c1ce5b12abcc3e407ce8c160ee1160250921",
133
+ token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
134
+ withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
135
+ underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
136
+ },
137
+ {
138
+ // checked
139
+ creditManager: "0xc307a074bd5aec2d6ad1d9b74465c24a59b490fd",
140
+ token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
141
+ withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
142
+ underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
143
+ },
144
+ {
145
+ // zero debt limit + no opened positions
146
+ creditManager: "0x9a0fdf7cdab4604fc27ebeab4b3d57bd825e8ebe",
147
+ token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
148
+ withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
149
+ underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
150
+ },
151
+ {
152
+ // cant load
153
+ creditManager: "0x06c0df5ac1f24bc2097b59ed8ee1db86bf0b09df",
154
+ token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
155
+ withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
156
+ underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
157
+ },
158
+ {
159
+ // cant load
160
+ creditManager: "0x1128860755c6d452d9326e35d1672ca7c920b7c1",
161
+ token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
162
+ withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
163
+ underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
164
+ },
165
+ {
166
+ // cant load
167
+ creditManager: "0x35e154be3c856c37d539aae90178fe5ac6d37644",
168
+ token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
169
+ withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
170
+ underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
171
+ }
172
+ ];
173
+ const CONFIGS_TO_OMIT_RECORD = CONFIGS_TO_OMIT_LIST.reduce((acc, config) => {
174
+ acc[getConfigKey(config)] = config;
175
+ return acc;
176
+ }, {});
102
177
  // Annotate the CommonJS export names for ESM import in node:
103
178
  0 && (module.exports = {
104
179
  DelayedWithdrawalPlugin
@@ -132,7 +132,7 @@ class ZappersPlugin extends import_sdk.BasePlugin {
132
132
  const extraZappersTokens = this.extraZappers.values().flatMap((l) => l.flatMap((z) => [z.tokenIn, z.tokenOut]));
133
133
  for (const t of [...zappersTokens, ...extraZappersTokens]) {
134
134
  this.sdk.tokensMeta.upsert(t.addr, t);
135
- this.sdk.setAddressLabel(t.addr, t.symbol);
135
+ this.sdk.addressLabels.set(t.addr, t.symbol);
136
136
  }
137
137
  }
138
138
  }
@@ -70,9 +70,10 @@ async function attachClient(options, network) {
70
70
  }
71
71
  return createClient(options, { networkType, chainId });
72
72
  }
73
- class GearboxSDK extends import_base.ChainContractsRegister {
73
+ class GearboxSDK {
74
74
  #hooks = new import_internal.Hooks();
75
75
  plugins;
76
+ #client;
76
77
  // Block which was use for data query
77
78
  #currentBlock;
78
79
  #timestamp;
@@ -83,11 +84,29 @@ class GearboxSDK extends import_base.ChainContractsRegister {
83
84
  // Collection of markets
84
85
  #marketRegister;
85
86
  #priceFeeds;
87
+ logger;
86
88
  gasLimit;
89
+ addressLabels = new import_base.AddressLabeller();
90
+ /**
91
+ * Interest rate models can be reused across chain (and SDK operates on chain level)
92
+ * TODO: use whatever interface is necessary for InterestRateModels
93
+ */
94
+ interestRateModels = new import_utils.AddressMap();
87
95
  /**
88
96
  * Will throw an error if contract type is not supported, otherwise will try to use generic contract first, if possible
89
97
  */
90
98
  strictContractTypes;
99
+ /**
100
+ * All contracts known to sdk
101
+ */
102
+ contracts = new import_utils.AddressMap(
103
+ void 0,
104
+ "contracts"
105
+ );
106
+ /**
107
+ * Token metadata such as symbol and decimals
108
+ */
109
+ tokensMeta;
91
110
  addHook = this.#hooks.addHook.bind(this.#hooks);
92
111
  removeHook = this.#hooks.removeHook.bind(this.#hooks);
93
112
  static async attach(options) {
@@ -140,16 +159,17 @@ class GearboxSDK extends import_base.ChainContractsRegister {
140
159
  }).#hydrate(rest, state);
141
160
  }
142
161
  constructor(options) {
143
- super(options.client, options.logger);
162
+ this.logger = options.logger;
144
163
  this.strictContractTypes = options.strictContractTypes ?? false;
145
164
  this.plugins = options.plugins ?? {};
165
+ this.#client = options.client;
146
166
  for (const plugin of Object.values(this.plugins)) {
147
167
  plugin.sdk = this;
148
168
  }
149
169
  if (options.gasLimit !== null) {
150
170
  this.gasLimit = options.gasLimit || 550000000n;
151
171
  }
152
- Object.assign(this, import_base.ChainContractsRegister.for(this.client, this.logger));
172
+ this.tokensMeta = new import_base.TokensMeta(this);
153
173
  }
154
174
  async #attach(opts) {
155
175
  const {
@@ -305,9 +325,74 @@ class GearboxSDK extends import_base.ChainContractsRegister {
305
325
  timestamp: state.timestamp
306
326
  });
307
327
  }
328
+ get client() {
329
+ return this.#client;
330
+ }
331
+ /**
332
+ * Replaces client inflight
333
+ * You're responsible for all inconsistencies between new and old client
334
+ * @param options
335
+ */
336
+ replaceClient(options, network) {
337
+ this.#client = createClient(options, network);
338
+ }
308
339
  get networkType() {
309
340
  return this.client.chain.network;
310
341
  }
342
+ get chain() {
343
+ return this.client.chain;
344
+ }
345
+ get chainId() {
346
+ return this.client.chain.id;
347
+ }
348
+ /**
349
+ * Converts contract call into some human-friendly string
350
+ * This method is safe and should not throw
351
+ * @param address
352
+ * @param calldata
353
+ * @returns
354
+ */
355
+ parseFunctionData(address, calldata) {
356
+ const contract = this.contracts.get(address);
357
+ return contract ? contract.parseFunctionData(calldata) : `unknown: ${address}.${calldata.slice(0, 10)}`;
358
+ }
359
+ /**
360
+ * Converts multicalls into some human-friendly strings
361
+ * This method is safe and should not throw
362
+ * @param address
363
+ * @param calldata
364
+ * @returns
365
+ */
366
+ parseMultiCall(calls) {
367
+ return calls.map(
368
+ (call) => this.parseFunctionData(call.target, call.callData)
369
+ );
370
+ }
371
+ /**
372
+ * Return args, function, type and address name from contract call
373
+ * @param address
374
+ * @param calldata
375
+ * @returns
376
+ */
377
+ parseFunctionDataToObject(address, calldata) {
378
+ const contract = this.contracts.get(address);
379
+ return contract ? {
380
+ ...contract.parseFunctionDataToObject(calldata),
381
+ address,
382
+ type: contract.contractType
383
+ } : null;
384
+ }
385
+ /**
386
+ * Converts multicalls into call info
387
+ * @param address
388
+ * @param calldata
389
+ * @returns
390
+ */
391
+ parseMultiCallToObject(calls) {
392
+ return calls.map(
393
+ (call) => this.parseFunctionDataToObject(call.target, call.callData)
394
+ );
395
+ }
311
396
  stateHuman(raw = true) {
312
397
  return {
313
398
  block: Number(this.currentBlock),
@@ -399,7 +484,7 @@ class GearboxSDK extends import_base.ChainContractsRegister {
399
484
  address: watchAddresses
400
485
  });
401
486
  for (const log of logs) {
402
- const contract = this.getContract(log.address);
487
+ const contract = this.contracts.get(log.address);
403
488
  if (contract) {
404
489
  const event = (0, import_viem.parseEventLogs)({
405
490
  abi: contract.abi,
@@ -488,11 +573,17 @@ class GearboxSDK extends import_base.ChainContractsRegister {
488
573
  }
489
574
  get botListContract() {
490
575
  const addr = this.addressProvider.getAddress(import_constants.AP_BOT_LIST, import_constants.NO_VERSION);
491
- return this.getContract(addr) ?? new import_core.BotListContract(this, addr);
576
+ if (!this.contracts.has(addr)) {
577
+ return new import_core.BotListContract(this, addr);
578
+ }
579
+ return this.contracts.get(addr);
492
580
  }
493
581
  get gearStakingContract() {
494
582
  const addr = this.addressProvider.getAddress(import_constants.AP_GEAR_STAKING, import_constants.NO_VERSION);
495
- return this.getContract(addr) ?? new import_core.GearStakingContract(this, addr);
583
+ if (!this.contracts.has(addr)) {
584
+ return new import_core.GearStakingContract(this, addr);
585
+ }
586
+ return this.contracts.get(addr);
496
587
  }
497
588
  get marketRegister() {
498
589
  if (this.#marketRegister === void 0) {
@@ -519,7 +610,7 @@ class GearboxSDK extends import_base.ChainContractsRegister {
519
610
  );
520
611
  facadeAddr = cm.creditFacade.address;
521
612
  }
522
- const facadeV = this.mustGetContract(facadeAddr).version;
613
+ const facadeV = this.contracts.mustGet(facadeAddr).version;
523
614
  routerRange = (0, import_constants.isV310)(facadeV) ? import_constants.VERSION_RANGE_310 : import_constants.VERSION_RANGE_300;
524
615
  }
525
616
  const routerEntry = this.addressProvider.getLatest(import_constants.AP_ROUTER, routerRange);
@@ -527,7 +618,18 @@ class GearboxSDK extends import_base.ChainContractsRegister {
527
618
  throw new Error(`router not found in version range ${routerRange}`);
528
619
  }
529
620
  const [routerAddr, routerV] = routerEntry;
530
- return (0, import_router.createRouter)(this, routerAddr, routerV);
621
+ if (!this.contracts.has(routerAddr)) {
622
+ return (0, import_router.createRouter)(this, routerAddr, routerV);
623
+ }
624
+ return this.contracts.get(routerAddr);
625
+ }
626
+ /**
627
+ * Helper to get human-friendly label for address
628
+ * @param address
629
+ * @returns
630
+ */
631
+ labelAddress(address) {
632
+ return this.addressLabels.get(address);
531
633
  }
532
634
  }
533
635
  // Annotate the CommonJS export names for ESM import in node: