@gearbox-protocol/sdk 11.9.0-next.2 → 11.10.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 +6 -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 +6 -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 +2 -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
@@ -7,8 +7,8 @@ import { AbstractAdapterContract } from "./AbstractAdapter.js";
7
7
  const abi = iUniswapV3AdapterAbi;
8
8
  class UniswapV3AdapterContract extends AbstractAdapterContract {
9
9
  supportedPools;
10
- constructor(options, args) {
11
- super(options, { ...args, abi });
10
+ constructor(sdk, args) {
11
+ super(sdk, { ...args, abi });
12
12
  const decoded = decodeAbiParameters(
13
13
  [
14
14
  { type: "address", name: "creditManager" },
@@ -31,14 +31,14 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
31
31
  fee: pool.fee
32
32
  }));
33
33
  }
34
- stringifyFunctionParams(params) {
34
+ parseFunctionParams(params) {
35
35
  switch (params.functionName) {
36
36
  case "exactInputSingle": {
37
37
  const [{ tokenIn, tokenOut, fee, amountIn, amountOutMinimum }] = params.args;
38
- const tokenInSym = this.tokensMeta.symbol(tokenIn);
39
- const tokenOutSym = this.tokensMeta.symbol(tokenOut);
40
- const amountInStr = this.tokensMeta.formatBN(tokenIn, amountIn);
41
- const amountOutMinimumStr = this.tokensMeta.formatBN(
38
+ const tokenInSym = this.sdk.tokensMeta.symbol(tokenIn);
39
+ const tokenOutSym = this.sdk.tokensMeta.symbol(tokenOut);
40
+ const amountInStr = this.sdk.tokensMeta.formatBN(tokenIn, amountIn);
41
+ const amountOutMinimumStr = this.sdk.tokensMeta.formatBN(
42
42
  tokenOut,
43
43
  amountOutMinimum
44
44
  );
@@ -48,9 +48,9 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
48
48
  }
49
49
  case "exactDiffInputSingle": {
50
50
  const [{ tokenIn, tokenOut, fee, leftoverAmount, rateMinRAY }] = params.args;
51
- const tokenInSym = this.tokensMeta.symbol(tokenIn);
52
- const tokenOutSym = this.tokensMeta.symbol(tokenOut);
53
- const leftoverAmountStr = this.tokensMeta.formatBN(
51
+ const tokenInSym = this.sdk.tokensMeta.symbol(tokenIn);
52
+ const tokenOutSym = this.sdk.tokensMeta.symbol(tokenOut);
53
+ const leftoverAmountStr = this.sdk.tokensMeta.formatBN(
54
54
  tokenIn,
55
55
  leftoverAmount
56
56
  );
@@ -63,8 +63,8 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
63
63
  const [{ amountIn, amountOutMinimum, path }] = params.args;
64
64
  const pathStr = this.trackInputPath(path);
65
65
  const token = `0x${path.replace("0x", "").slice(0, 40)}`;
66
- const amountInStr = this.tokensMeta.formatBN(token, amountIn);
67
- const amountOutMinimumStr = this.tokensMeta.formatBN(
66
+ const amountInStr = this.sdk.tokensMeta.formatBN(token, amountIn);
67
+ const amountOutMinimumStr = this.sdk.tokensMeta.formatBN(
68
68
  `0x${path.slice(-40, path.length)}`,
69
69
  amountOutMinimum
70
70
  );
@@ -74,7 +74,7 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
74
74
  }
75
75
  case "exactDiffInput": {
76
76
  const [{ leftoverAmount, rateMinRAY, path }] = params.args;
77
- const leftoverAmountStr = this.tokensMeta.formatBN(
77
+ const leftoverAmountStr = this.sdk.tokensMeta.formatBN(
78
78
  `0x${path.replace("0x", "").slice(0, 40)}`,
79
79
  leftoverAmount
80
80
  );
@@ -89,11 +89,11 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
89
89
  case "exactOutput": {
90
90
  const [{ amountInMaximum, amountOut, path }] = params.args;
91
91
  const pathStr = this.trackOutputPath(path);
92
- const amountInMaximumStr = this.tokensMeta.formatBN(
92
+ const amountInMaximumStr = this.sdk.tokensMeta.formatBN(
93
93
  `0x${path.slice(-40, path.length)}`,
94
94
  amountInMaximum
95
95
  );
96
- const amountOutStr = this.tokensMeta.formatBN(
96
+ const amountOutStr = this.sdk.tokensMeta.formatBN(
97
97
  `0x${path.replace("0x", "").slice(0, 40)}`,
98
98
  amountOut
99
99
  );
@@ -103,19 +103,19 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
103
103
  }
104
104
  case "exactOutputSingle": {
105
105
  const [{ tokenIn, tokenOut, fee, amountOut, amountInMaximum }] = params.args;
106
- const tokenInSym = this.tokensMeta.symbol(tokenIn);
107
- const tokenOutSym = this.tokensMeta.symbol(tokenOut);
108
- const amountInMaximumStr = this.tokensMeta.formatBN(
106
+ const tokenInSym = this.sdk.tokensMeta.symbol(tokenIn);
107
+ const tokenOutSym = this.sdk.tokensMeta.symbol(tokenOut);
108
+ const amountInMaximumStr = this.sdk.tokensMeta.formatBN(
109
109
  tokenIn,
110
110
  amountInMaximum
111
111
  );
112
- const amountOutStr = this.tokensMeta.formatBN(tokenOut, amountOut);
112
+ const amountOutStr = this.sdk.tokensMeta.formatBN(tokenOut, amountOut);
113
113
  return [
114
114
  `(amountInMaximum: ${amountInMaximumStr}, amountOut: ${amountOutStr}, path: ${tokenInSym} ==(fee: ${fee})==> ${tokenOutSym})`
115
115
  ];
116
116
  }
117
117
  default:
118
- return super.stringifyFunctionParams(params);
118
+ return void 0;
119
119
  }
120
120
  }
121
121
  trackInputPath(path) {
@@ -126,7 +126,7 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
126
126
  pointer,
127
127
  pointer + 40
128
128
  )}`.toLowerCase();
129
- result += this.tokensMeta.symbol(from) || from;
129
+ result += this.sdk.tokensMeta.symbol(from) || from;
130
130
  pointer += 40;
131
131
  if (pointer > path.length - 6) return result;
132
132
  const fee = parseInt(path.slice(pointer, pointer + 6), 16);
@@ -141,7 +141,7 @@ class UniswapV3AdapterContract extends AbstractAdapterContract {
141
141
  while (pointer >= 40) {
142
142
  pointer -= 40;
143
143
  const from = `0x${path.slice(pointer, pointer + 40)}`;
144
- result += this.tokensMeta.symbol(from) || from;
144
+ result += this.sdk.tokensMeta.symbol(from) || from;
145
145
  if (pointer < 6) return result;
146
146
  pointer -= 6;
147
147
  const fee = parseInt(path.slice(pointer, pointer + 6), 16);
@@ -4,8 +4,8 @@ import { AbstractAdapterContract } from "./AbstractAdapter.js";
4
4
  const abi = iUniswapV4AdapterAbi;
5
5
  class UniswapV4AdapterContract extends AbstractAdapterContract {
6
6
  supportedPoolKeys;
7
- constructor(options, args) {
8
- super(options, { ...args, abi });
7
+ constructor(sdk, args) {
8
+ super(sdk, { ...args, abi });
9
9
  const decoded = decodeAbiParameters(
10
10
  [
11
11
  { type: "address", name: "creditManager" },
@@ -6,8 +6,8 @@ class UpshiftVaultAdapterContract extends AbstractAdapterContract {
6
6
  vault;
7
7
  asset;
8
8
  stakedPhantomToken;
9
- constructor(options, args) {
10
- super(options, { ...args, abi });
9
+ constructor(sdk, args) {
10
+ super(sdk, { ...args, abi });
11
11
  const decoded = decodeAbiParameters(
12
12
  [
13
13
  { type: "address", name: "creditManager" },
@@ -4,8 +4,8 @@ import { AbstractAdapterContract } from "./AbstractAdapter.js";
4
4
  const abi = iVelodromeV2RouterAdapterAbi;
5
5
  class VelodromeV2RouterAdapterContract extends AbstractAdapterContract {
6
6
  supportedPools;
7
- constructor(options, args) {
8
- super(options, { ...args, abi });
7
+ constructor(sdk, args) {
8
+ super(sdk, { ...args, abi });
9
9
  const decoded = decodeAbiParameters(
10
10
  [
11
11
  { type: "address", name: "creditManager" },
@@ -4,8 +4,8 @@ import { AbstractAdapterContract } from "./AbstractAdapter.js";
4
4
  const abi = iwstEthv1AdapterAbi;
5
5
  class WstETHV1AdapterContract extends AbstractAdapterContract {
6
6
  stETH;
7
- constructor(options, args) {
8
- super(options, { ...args, abi });
7
+ constructor(sdk, args) {
8
+ super(sdk, { ...args, abi });
9
9
  const decoded = decodeAbiParameters(
10
10
  [
11
11
  { type: "address", name: "creditManager" },
@@ -4,8 +4,8 @@ import { AbstractAdapterContract } from "./AbstractAdapter.js";
4
4
  const abi = iYearnV2AdapterAbi;
5
5
  class YearnV2RouterAdapterContract extends AbstractAdapterContract {
6
6
  token;
7
- constructor(options, args) {
8
- super(options, { ...args, abi });
7
+ constructor(sdk, args) {
8
+ super(sdk, { ...args, abi });
9
9
  const decoded = decodeAbiParameters(
10
10
  [
11
11
  { type: "address", name: "creditManager" },
@@ -8,7 +8,6 @@ import {
8
8
  TypedObjectUtils,
9
9
  VERSION_RANGE_310
10
10
  } from "../../sdk/index.js";
11
- import deserializePartialLiquidationBotParams from "./deserializePartialLiquidationBotParams.js";
12
11
  import { PartialLiquidationBotV300Contract } from "./PartialLiquidationBotV300Contract.js";
13
12
  import { PartialLiquidationBotV310Contract } from "./PartialLiquidationBotV310Contract.js";
14
13
  import {
@@ -60,15 +59,15 @@ class BotsPlugin extends BasePlugin {
60
59
  return this.state;
61
60
  }
62
61
  #loadStateMarketState(mc, state) {
63
- const states = [...state].sort(
64
- (a, b) => deserializePartialLiquidationBotParams(a.baseParams).minHealthFactor - deserializePartialLiquidationBotParams(b.baseParams).minHealthFactor
65
- );
66
- if (states.length && isV300(states[0].baseParams.version)) {
67
- if (states.length !== 4) {
62
+ const bots = state.map((state2) => this.#createBot(mc, state2)).sort((a, b) => a.minHealthFactor - b.minHealthFactor);
63
+ if (bots.length && isV300(Number(bots[0].version))) {
64
+ if (bots.length !== 4) {
68
65
  throw new Error(`expected 4 bots v300 for market configurator ${mc}`);
69
66
  }
67
+ for (let i = 0; i < bots.length; i++) {
68
+ bots[i].botType = LIQUIDATION_BOT_TYPES[i];
69
+ }
70
70
  }
71
- const bots = states.map((s, i) => this.#createBot(mc, s, i));
72
71
  this.botsByMarket.upsert(mc, bots);
73
72
  }
74
73
  stateHuman(raw) {
@@ -106,15 +105,13 @@ class BotsPlugin extends BasePlugin {
106
105
  this.#loadStateMarketState(mc, botStates);
107
106
  }
108
107
  }
109
- #createBot(marketConfigurator, data, index) {
108
+ #createBot(marketConfigurator, data) {
110
109
  const v = Number(data.baseParams.version);
111
110
  if (isV300(v)) {
112
- const botType = LIQUIDATION_BOT_TYPES[index];
113
111
  return new PartialLiquidationBotV300Contract(
114
112
  this.sdk,
115
113
  data,
116
- marketConfigurator,
117
- botType
114
+ marketConfigurator
118
115
  );
119
116
  } else if (isV310(v)) {
120
117
  return new PartialLiquidationBotV310Contract(
@@ -1,5 +1,5 @@
1
+ import { decodeAbiParameters } from "viem";
1
2
  import { BaseContract, formatPercentage } from "../../sdk/index.js";
2
- import deserializePartialLiquidationBotParams from "./deserializePartialLiquidationBotParams.js";
3
3
  class PartialLiquidationBotBaseContract extends BaseContract {
4
4
  requiredPermissions;
5
5
  marketConfigurator;
@@ -7,12 +7,27 @@ class PartialLiquidationBotBaseContract extends BaseContract {
7
7
  constructor(sdk, args) {
8
8
  super(sdk, args);
9
9
  this.#serializedParams = args.serializedParams;
10
- const bp = deserializePartialLiquidationBotParams(args);
11
- this.treasury = bp.treasury;
12
- this.minHealthFactor = bp.minHealthFactor;
13
- this.maxHealthFactor = bp.maxHealthFactor;
14
- this.premiumScaleFactor = bp.premiumScaleFactor;
15
- this.feeScaleFactor = bp.feeScaleFactor;
10
+ const [
11
+ treasury,
12
+ minHealthFactor,
13
+ maxHealthFactor,
14
+ premiumScaleFactor,
15
+ feeScaleFactor
16
+ ] = decodeAbiParameters(
17
+ [
18
+ { name: "treasury", type: "address" },
19
+ { name: "minHealthFactor", type: "uint16" },
20
+ { name: "maxHealthFactor", type: "uint16" },
21
+ { name: "premiumScaleFactor", type: "uint16" },
22
+ { name: "feeScaleFactor", type: "uint16" }
23
+ ],
24
+ args.serializedParams
25
+ );
26
+ this.treasury = treasury;
27
+ this.minHealthFactor = minHealthFactor;
28
+ this.maxHealthFactor = maxHealthFactor;
29
+ this.premiumScaleFactor = premiumScaleFactor;
30
+ this.feeScaleFactor = feeScaleFactor;
16
31
  this.marketConfigurator = args.marketConfigurator;
17
32
  this.requiredPermissions = args.requiredPermissions;
18
33
  }
@@ -2,16 +2,15 @@ import { iPartialLiquidationBotV300Abi } from "./abi/index.js";
2
2
  import { PartialLiquidationBotBaseContract } from "./PartialLiquidationBotBaseContract.js";
3
3
  const abi = iPartialLiquidationBotV300Abi;
4
4
  class PartialLiquidationBotV300Contract extends PartialLiquidationBotBaseContract {
5
- botType;
6
- constructor(sdk, args, marketConfigurator, botType) {
5
+ #botType;
6
+ constructor(sdk, args, marketConfigurator) {
7
7
  super(sdk, {
8
8
  abi,
9
9
  ...args.baseParams,
10
10
  requiredPermissions: args.requiredPermissions,
11
11
  marketConfigurator,
12
- name: `PartialLiquidationBotV300 (${botType})`
12
+ name: "PartialLiquidationBotV300"
13
13
  });
14
- this.botType = botType;
15
14
  }
16
15
  stateHuman(raw) {
17
16
  return {
@@ -19,6 +18,23 @@ class PartialLiquidationBotV300Contract extends PartialLiquidationBotBaseContrac
19
18
  botType: this.botType
20
19
  };
21
20
  }
21
+ /**
22
+ * Set the bot type
23
+ * This method should only be called once from BotsPlugin
24
+ */
25
+ set botType(type) {
26
+ if (this.#botType) {
27
+ throw new Error("bot type already set");
28
+ }
29
+ this.#botType = type;
30
+ this.name = `PartialLiquidationBotV300 (${type})`;
31
+ }
32
+ get botType() {
33
+ if (!this.#botType) {
34
+ throw new Error("bot type not set");
35
+ }
36
+ return this.#botType;
37
+ }
22
38
  }
23
39
  export {
24
40
  PartialLiquidationBotV300Contract
@@ -30,12 +30,19 @@ class DelayedWithdrawalPlugin extends BasePlugin {
30
30
  this.#withdrawableAssets = new AddressMap(void 0, MAP_LABEL);
31
31
  resp.forEach((r, index) => {
32
32
  const cm = creditManagers[index];
33
- if (r.status === "success") {
33
+ if (r.status === "success" && r.result?.length > 0) {
34
+ const configsToShow = r.result;
34
35
  this.#withdrawableAssets?.upsert(
35
36
  cm.creditManager.address,
36
- r.result.map((cfg) => ({
37
+ configsToShow.map((cfg) => ({
37
38
  ...cfg,
38
- creditManager: cm.creditManager.address
39
+ creditManager: cm.creditManager.address,
40
+ disabled: isConfigToOmit({
41
+ creditManager: cm.creditManager.address,
42
+ token: cfg.token,
43
+ withdrawalPhantomToken: cfg.withdrawalPhantomToken,
44
+ underlying: cfg.underlying
45
+ })
39
46
  }))
40
47
  );
41
48
  } else {
@@ -80,6 +87,74 @@ class DelayedWithdrawalPlugin extends BasePlugin {
80
87
  );
81
88
  }
82
89
  }
90
+ function getConfigKey(config) {
91
+ return `${config.creditManager}-${config.token}-${config.withdrawalPhantomToken}-${config.underlying}`.toLowerCase();
92
+ }
93
+ function isConfigToOmit(config) {
94
+ return !!CONFIGS_TO_OMIT_RECORD[getConfigKey(config)];
95
+ }
96
+ const CONFIGS_TO_OMIT_LIST = [
97
+ {
98
+ // checked
99
+ creditManager: "0xf5edc34204e67e592bdcb84114571c9e4bd0bdf7",
100
+ token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
101
+ withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
102
+ underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
103
+ },
104
+ {
105
+ // checked
106
+ creditManager: "0xb79d6544839d169869476589d2e54014a074317b",
107
+ token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
108
+ withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
109
+ underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
110
+ },
111
+ {
112
+ // checked
113
+ creditManager: "0x79c6c1ce5b12abcc3e407ce8c160ee1160250921",
114
+ token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
115
+ withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
116
+ underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
117
+ },
118
+ {
119
+ // checked
120
+ creditManager: "0xc307a074bd5aec2d6ad1d9b74465c24a59b490fd",
121
+ token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
122
+ withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
123
+ underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
124
+ },
125
+ {
126
+ // zero debt limit + no opened positions
127
+ creditManager: "0x9a0fdf7cdab4604fc27ebeab4b3d57bd825e8ebe",
128
+ token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
129
+ withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
130
+ underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
131
+ },
132
+ {
133
+ // cant load
134
+ creditManager: "0x06c0df5ac1f24bc2097b59ed8ee1db86bf0b09df",
135
+ token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
136
+ withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
137
+ underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
138
+ },
139
+ {
140
+ // cant load
141
+ creditManager: "0x1128860755c6d452d9326e35d1672ca7c920b7c1",
142
+ token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
143
+ withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
144
+ underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
145
+ },
146
+ {
147
+ // cant load
148
+ creditManager: "0x35e154be3c856c37d539aae90178fe5ac6d37644",
149
+ token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a",
150
+ withdrawalPhantomToken: "0x6252467C2FefB61cB55180282943139BAeEA36c5",
151
+ underlying: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"
152
+ }
153
+ ];
154
+ const CONFIGS_TO_OMIT_RECORD = CONFIGS_TO_OMIT_LIST.reduce((acc, config) => {
155
+ acc[getConfigKey(config)] = config;
156
+ return acc;
157
+ }, {});
83
158
  export {
84
159
  DelayedWithdrawalPlugin
85
160
  };
@@ -115,7 +115,7 @@ class ZappersPlugin extends BasePlugin {
115
115
  const extraZappersTokens = this.extraZappers.values().flatMap((l) => l.flatMap((z) => [z.tokenIn, z.tokenOut]));
116
116
  for (const t of [...zappersTokens, ...extraZappersTokens]) {
117
117
  this.sdk.tokensMeta.upsert(t.addr, t);
118
- this.sdk.setAddressLabel(t.addr, t.symbol);
118
+ this.sdk.addressLabels.set(t.addr, t.symbol);
119
119
  }
120
120
  }
121
121
  }
@@ -5,7 +5,7 @@ import {
5
5
  http,
6
6
  parseEventLogs
7
7
  } from "viem";
8
- import { ChainContractsRegister } from "./base/index.js";
8
+ import { AddressLabeller, TokensMeta } from "./base/index.js";
9
9
  import { detectNetwork, getChain } from "./chain/index.js";
10
10
  import {
11
11
  ADDRESS_PROVIDER_V310,
@@ -30,7 +30,7 @@ import {
30
30
  PluginStateVersionError
31
31
  } from "./plugins/index.js";
32
32
  import { createRouter } from "./router/index.js";
33
- import { TypedObjectUtils, toAddress } from "./utils/index.js";
33
+ import { AddressMap, TypedObjectUtils, toAddress } from "./utils/index.js";
34
34
  import { Hooks } from "./utils/internal/index.js";
35
35
  import { getLogsSafe } from "./utils/viem/index.js";
36
36
  const ERR_NOT_ATTACHED = new Error("Gearbox SDK not attached");
@@ -69,9 +69,10 @@ async function attachClient(options, network) {
69
69
  }
70
70
  return createClient(options, { networkType, chainId });
71
71
  }
72
- class GearboxSDK extends ChainContractsRegister {
72
+ class GearboxSDK {
73
73
  #hooks = new Hooks();
74
74
  plugins;
75
+ #client;
75
76
  // Block which was use for data query
76
77
  #currentBlock;
77
78
  #timestamp;
@@ -82,11 +83,29 @@ class GearboxSDK extends ChainContractsRegister {
82
83
  // Collection of markets
83
84
  #marketRegister;
84
85
  #priceFeeds;
86
+ logger;
85
87
  gasLimit;
88
+ addressLabels = new AddressLabeller();
89
+ /**
90
+ * Interest rate models can be reused across chain (and SDK operates on chain level)
91
+ * TODO: use whatever interface is necessary for InterestRateModels
92
+ */
93
+ interestRateModels = new AddressMap();
86
94
  /**
87
95
  * Will throw an error if contract type is not supported, otherwise will try to use generic contract first, if possible
88
96
  */
89
97
  strictContractTypes;
98
+ /**
99
+ * All contracts known to sdk
100
+ */
101
+ contracts = new AddressMap(
102
+ void 0,
103
+ "contracts"
104
+ );
105
+ /**
106
+ * Token metadata such as symbol and decimals
107
+ */
108
+ tokensMeta;
90
109
  addHook = this.#hooks.addHook.bind(this.#hooks);
91
110
  removeHook = this.#hooks.removeHook.bind(this.#hooks);
92
111
  static async attach(options) {
@@ -139,16 +158,17 @@ class GearboxSDK extends ChainContractsRegister {
139
158
  }).#hydrate(rest, state);
140
159
  }
141
160
  constructor(options) {
142
- super(options.client, options.logger);
161
+ this.logger = options.logger;
143
162
  this.strictContractTypes = options.strictContractTypes ?? false;
144
163
  this.plugins = options.plugins ?? {};
164
+ this.#client = options.client;
145
165
  for (const plugin of Object.values(this.plugins)) {
146
166
  plugin.sdk = this;
147
167
  }
148
168
  if (options.gasLimit !== null) {
149
169
  this.gasLimit = options.gasLimit || 550000000n;
150
170
  }
151
- Object.assign(this, ChainContractsRegister.for(this.client, this.logger));
171
+ this.tokensMeta = new TokensMeta(this);
152
172
  }
153
173
  async #attach(opts) {
154
174
  const {
@@ -304,9 +324,74 @@ class GearboxSDK extends ChainContractsRegister {
304
324
  timestamp: state.timestamp
305
325
  });
306
326
  }
327
+ get client() {
328
+ return this.#client;
329
+ }
330
+ /**
331
+ * Replaces client inflight
332
+ * You're responsible for all inconsistencies between new and old client
333
+ * @param options
334
+ */
335
+ replaceClient(options, network) {
336
+ this.#client = createClient(options, network);
337
+ }
307
338
  get networkType() {
308
339
  return this.client.chain.network;
309
340
  }
341
+ get chain() {
342
+ return this.client.chain;
343
+ }
344
+ get chainId() {
345
+ return this.client.chain.id;
346
+ }
347
+ /**
348
+ * Converts contract call into some human-friendly string
349
+ * This method is safe and should not throw
350
+ * @param address
351
+ * @param calldata
352
+ * @returns
353
+ */
354
+ parseFunctionData(address, calldata) {
355
+ const contract = this.contracts.get(address);
356
+ return contract ? contract.parseFunctionData(calldata) : `unknown: ${address}.${calldata.slice(0, 10)}`;
357
+ }
358
+ /**
359
+ * Converts multicalls into some human-friendly strings
360
+ * This method is safe and should not throw
361
+ * @param address
362
+ * @param calldata
363
+ * @returns
364
+ */
365
+ parseMultiCall(calls) {
366
+ return calls.map(
367
+ (call) => this.parseFunctionData(call.target, call.callData)
368
+ );
369
+ }
370
+ /**
371
+ * Return args, function, type and address name from contract call
372
+ * @param address
373
+ * @param calldata
374
+ * @returns
375
+ */
376
+ parseFunctionDataToObject(address, calldata) {
377
+ const contract = this.contracts.get(address);
378
+ return contract ? {
379
+ ...contract.parseFunctionDataToObject(calldata),
380
+ address,
381
+ type: contract.contractType
382
+ } : null;
383
+ }
384
+ /**
385
+ * Converts multicalls into call info
386
+ * @param address
387
+ * @param calldata
388
+ * @returns
389
+ */
390
+ parseMultiCallToObject(calls) {
391
+ return calls.map(
392
+ (call) => this.parseFunctionDataToObject(call.target, call.callData)
393
+ );
394
+ }
310
395
  stateHuman(raw = true) {
311
396
  return {
312
397
  block: Number(this.currentBlock),
@@ -398,7 +483,7 @@ class GearboxSDK extends ChainContractsRegister {
398
483
  address: watchAddresses
399
484
  });
400
485
  for (const log of logs) {
401
- const contract = this.getContract(log.address);
486
+ const contract = this.contracts.get(log.address);
402
487
  if (contract) {
403
488
  const event = parseEventLogs({
404
489
  abi: contract.abi,
@@ -487,11 +572,17 @@ class GearboxSDK extends ChainContractsRegister {
487
572
  }
488
573
  get botListContract() {
489
574
  const addr = this.addressProvider.getAddress(AP_BOT_LIST, NO_VERSION);
490
- return this.getContract(addr) ?? new BotListContract(this, addr);
575
+ if (!this.contracts.has(addr)) {
576
+ return new BotListContract(this, addr);
577
+ }
578
+ return this.contracts.get(addr);
491
579
  }
492
580
  get gearStakingContract() {
493
581
  const addr = this.addressProvider.getAddress(AP_GEAR_STAKING, NO_VERSION);
494
- return this.getContract(addr) ?? new GearStakingContract(this, addr);
582
+ if (!this.contracts.has(addr)) {
583
+ return new GearStakingContract(this, addr);
584
+ }
585
+ return this.contracts.get(addr);
495
586
  }
496
587
  get marketRegister() {
497
588
  if (this.#marketRegister === void 0) {
@@ -518,7 +609,7 @@ class GearboxSDK extends ChainContractsRegister {
518
609
  );
519
610
  facadeAddr = cm.creditFacade.address;
520
611
  }
521
- const facadeV = this.mustGetContract(facadeAddr).version;
612
+ const facadeV = this.contracts.mustGet(facadeAddr).version;
522
613
  routerRange = isV310(facadeV) ? VERSION_RANGE_310 : VERSION_RANGE_300;
523
614
  }
524
615
  const routerEntry = this.addressProvider.getLatest(AP_ROUTER, routerRange);
@@ -526,7 +617,18 @@ class GearboxSDK extends ChainContractsRegister {
526
617
  throw new Error(`router not found in version range ${routerRange}`);
527
618
  }
528
619
  const [routerAddr, routerV] = routerEntry;
529
- return createRouter(this, routerAddr, routerV);
620
+ if (!this.contracts.has(routerAddr)) {
621
+ return createRouter(this, routerAddr, routerV);
622
+ }
623
+ return this.contracts.get(routerAddr);
624
+ }
625
+ /**
626
+ * Helper to get human-friendly label for address
627
+ * @param address
628
+ * @returns
629
+ */
630
+ labelAddress(address) {
631
+ return this.addressLabels.get(address);
530
632
  }
531
633
  }
532
634
  export {
@@ -7,7 +7,9 @@ import { createCreditAccountService } from "../accounts/createCreditAccountServi
7
7
  import { SDKConstruct } from "../base/index.js";
8
8
  import { chains as CHAINS } from "../chain/chains.js";
9
9
  import { isV310 } from "../constants/versions.js";
10
+ import { childLogger } from "../utils/index.js";
10
11
  class AbstractMigrateCreditAccountsService extends SDKConstruct {
12
+ #logger;
11
13
  #version;
12
14
  #service;
13
15
  // TODO: HARDCODED
@@ -29,7 +31,8 @@ class AbstractMigrateCreditAccountsService extends SDKConstruct {
29
31
  super(sdk);
30
32
  this.#version = version;
31
33
  this.#service = createCreditAccountService(this.sdk, version);
32
- this.logger?.debug(
34
+ this.#logger = childLogger("MigrateCreditAccountsService", sdk.logger);
35
+ this.#logger?.debug(
33
36
  `Created MigrateCreditAccountsService with version: ${this.#version}`
34
37
  );
35
38
  }