@gearbox-protocol/sdk 11.11.3 → 12.0.0-next.1

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 (457) hide show
  1. package/dist/cjs/dev/create2.js +1 -1
  2. package/dist/cjs/dev/mint/AbstractMinter.js +2 -4
  3. package/dist/cjs/dev/mint/DealMinter.js +0 -3
  4. package/dist/cjs/dev/mint/DirectMinter.js +0 -3
  5. package/dist/cjs/dev/mint/FallbackMinter.js +1 -1
  6. package/dist/cjs/dev/mint/TransferMinter.js +0 -3
  7. package/dist/cjs/permissionless/bindings/address-provider.js +4 -6
  8. package/dist/cjs/permissionless/bindings/bytecode-repository.js +23 -25
  9. package/dist/cjs/permissionless/bindings/compressors/token-compressor.js +4 -4
  10. package/dist/cjs/permissionless/bindings/compressors/withdrawal-compressor.js +11 -17
  11. package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +23 -22
  12. package/dist/cjs/permissionless/bindings/factory/abstract-factory.js +7 -4
  13. package/dist/cjs/permissionless/bindings/governance/batches-chain.js +4 -4
  14. package/dist/cjs/permissionless/bindings/governance/governor.js +30 -49
  15. package/dist/cjs/permissionless/bindings/governance/timelock.js +4 -4
  16. package/dist/cjs/permissionless/bindings/index.js +0 -2
  17. package/dist/cjs/permissionless/bindings/instance-manager.js +58 -77
  18. package/dist/cjs/permissionless/bindings/market-configurator-factory.js +4 -4
  19. package/dist/cjs/permissionless/bindings/market-configurator.js +71 -143
  20. package/dist/cjs/permissionless/bindings/price-feed-store.js +8 -17
  21. package/dist/cjs/permissionless/bindings/router/routing-manager.js +9 -15
  22. package/dist/cjs/permissionless/bindings/treasury-splitter.js +14 -23
  23. package/dist/cjs/permissionless/core/raw-tx.js +2 -2
  24. package/dist/cjs/permissionless/utils/format.js +2 -2
  25. package/dist/cjs/permissionless/utils/governance/timelock-txs.js +2 -2
  26. package/dist/cjs/permissionless/utils/index.js +0 -2
  27. package/dist/cjs/permissionless/utils/price-update/get-price-feeds.js +1 -2
  28. package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +1 -2
  29. package/dist/cjs/permissionless/utils/price-update/get-prices.js +1 -2
  30. package/dist/cjs/permissionless/utils/price-update/get-updatable-feeds.js +2 -3
  31. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  32. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  33. package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  34. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  35. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  36. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  37. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  38. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  39. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  40. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  41. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  42. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  43. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  44. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  45. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  46. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  47. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  48. package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  49. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  50. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  51. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  52. package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  53. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  54. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  55. package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  56. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  57. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  58. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  59. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  60. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  61. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  62. package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  63. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  64. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  65. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  66. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  67. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  68. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  69. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  70. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  71. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  72. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  73. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  74. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  75. package/dist/cjs/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  76. package/dist/cjs/plugins/bots/BotsPlugin.js +26 -111
  77. package/dist/cjs/plugins/bots/PartialLiquidationBotV310Contract.js +38 -6
  78. package/dist/cjs/plugins/bots/deserializePartialLiquidationBotParams.js +49 -0
  79. package/dist/cjs/plugins/bots/index.js +0 -2
  80. package/dist/cjs/plugins/bots/types.js +3 -8
  81. package/dist/cjs/plugins/zappers/ZappersPlugin.js +1 -1
  82. package/dist/cjs/sdk/GearboxSDK.js +8 -110
  83. package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +1 -4
  84. package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +6 -8
  85. package/dist/cjs/sdk/base/BaseContract.js +195 -80
  86. package/dist/cjs/sdk/base/ChainContractsRegister.js +135 -0
  87. package/dist/cjs/sdk/base/Construct.js +87 -0
  88. package/dist/cjs/sdk/base/SDKConstruct.js +3 -29
  89. package/dist/cjs/sdk/base/TokensMeta.js +4 -4
  90. package/dist/cjs/sdk/base/index.js +4 -2
  91. package/dist/cjs/sdk/core/BotListV3Contract.js +2 -2
  92. package/dist/cjs/sdk/core/GearStakingV3Contract.js +2 -2
  93. package/dist/cjs/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  94. package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +11 -6
  95. package/dist/cjs/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  96. package/dist/cjs/sdk/market/MarketConfiguratorContract.js +5 -5
  97. package/dist/cjs/sdk/market/MarketRegister.js +7 -9
  98. package/dist/cjs/sdk/market/MarketSuite.js +2 -2
  99. package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +4 -3
  100. package/dist/cjs/sdk/market/credit/CreditConfiguratorV310Contract.js +4 -3
  101. package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  102. package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  103. package/dist/cjs/sdk/market/credit/CreditManagerV300Contract.js +5 -2
  104. package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +5 -2
  105. package/dist/cjs/sdk/market/credit/CreditSuite.js +2 -3
  106. package/dist/cjs/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +3 -1
  107. package/dist/cjs/sdk/market/loss-policy/LossPolicyContract.js +2 -2
  108. package/dist/cjs/sdk/market/loss-policy/createLossPolicy.js +1 -1
  109. package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +8 -26
  110. package/dist/cjs/sdk/market/oracle/createPriceOracle.js +1 -1
  111. package/dist/cjs/sdk/market/pool/GaugeContract.js +2 -2
  112. package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  113. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  114. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  115. package/dist/cjs/sdk/market/pool/PoolSuite.js +1 -1
  116. package/dist/cjs/sdk/market/pool/PoolV300Contract.js +5 -5
  117. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +5 -5
  118. package/dist/cjs/sdk/market/pool/TumblerContract.js +2 -2
  119. package/dist/cjs/sdk/market/pool/createInterestRateModel.js +11 -15
  120. package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +2 -22
  121. package/dist/cjs/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  122. package/dist/cjs/sdk/market/pricefeeds/BalancerStablePriceFeed.js +2 -9
  123. package/dist/cjs/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +2 -9
  124. package/dist/cjs/sdk/market/pricefeeds/BoundedPriceFeed.js +6 -2
  125. package/dist/cjs/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  126. package/dist/cjs/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  127. package/dist/cjs/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +2 -9
  128. package/dist/cjs/sdk/market/pricefeeds/CurveStablePriceFeed.js +2 -9
  129. package/dist/cjs/sdk/market/pricefeeds/CurveUSDPriceFeed.js +2 -9
  130. package/dist/cjs/sdk/market/pricefeeds/Erc4626PriceFeed.js +2 -18
  131. package/dist/cjs/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  132. package/dist/cjs/sdk/market/pricefeeds/MellowLRTPriceFeed.js +2 -10
  133. package/dist/cjs/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  134. package/dist/cjs/sdk/market/pricefeeds/PriceFeedRef.js +6 -4
  135. package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +2 -3
  136. package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  137. package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  138. package/dist/cjs/sdk/market/pricefeeds/WstETHPriceFeed.js +2 -9
  139. package/dist/cjs/sdk/market/pricefeeds/YearnPriceFeed.js +2 -9
  140. package/dist/cjs/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  141. package/dist/cjs/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +17 -0
  142. package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +7 -9
  143. package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +10 -12
  144. package/dist/cjs/sdk/router/AbstractRouterContract.js +5 -0
  145. package/dist/cjs/sdk/router/RouterV310Contract.js +3 -3
  146. package/dist/cjs/sdk/router/createRouter.js +4 -0
  147. package/dist/cjs/sdk/utils/abi-decode.js +58 -0
  148. package/dist/cjs/sdk/utils/index.js +2 -0
  149. package/dist/esm/dev/create2.js +2 -2
  150. package/dist/esm/dev/mint/AbstractMinter.js +3 -7
  151. package/dist/esm/dev/mint/DealMinter.js +0 -3
  152. package/dist/esm/dev/mint/DirectMinter.js +0 -3
  153. package/dist/esm/dev/mint/FallbackMinter.js +1 -1
  154. package/dist/esm/dev/mint/TransferMinter.js +0 -3
  155. package/dist/esm/permissionless/bindings/address-provider.js +7 -7
  156. package/dist/esm/permissionless/bindings/bytecode-repository.js +22 -24
  157. package/dist/esm/permissionless/bindings/compressors/token-compressor.js +3 -3
  158. package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +10 -16
  159. package/dist/esm/permissionless/bindings/cross-chain-multisig.js +20 -16
  160. package/dist/esm/permissionless/bindings/factory/abstract-factory.js +9 -4
  161. package/dist/esm/permissionless/bindings/governance/batches-chain.js +3 -3
  162. package/dist/esm/permissionless/bindings/governance/governor.js +28 -47
  163. package/dist/esm/permissionless/bindings/governance/timelock.js +3 -3
  164. package/dist/esm/permissionless/bindings/index.js +0 -1
  165. package/dist/esm/permissionless/bindings/instance-manager.js +53 -69
  166. package/dist/esm/permissionless/bindings/market-configurator-factory.js +3 -3
  167. package/dist/esm/permissionless/bindings/market-configurator.js +65 -137
  168. package/dist/esm/permissionless/bindings/price-feed-store.js +8 -14
  169. package/dist/esm/permissionless/bindings/router/routing-manager.js +8 -14
  170. package/dist/esm/permissionless/bindings/treasury-splitter.js +15 -22
  171. package/dist/esm/permissionless/core/raw-tx.js +1 -1
  172. package/dist/esm/permissionless/utils/format.js +1 -1
  173. package/dist/esm/permissionless/utils/governance/timelock-txs.js +1 -1
  174. package/dist/esm/permissionless/utils/index.js +0 -1
  175. package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +4 -2
  176. package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +1 -1
  177. package/dist/esm/permissionless/utils/price-update/get-prices.js +1 -2
  178. package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +1 -1
  179. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  180. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  181. package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  182. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  183. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  184. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  185. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  186. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  187. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  188. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  189. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  190. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  191. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  192. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  193. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  194. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  195. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  196. package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  197. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  198. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  199. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  200. package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  201. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  202. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  203. package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  204. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  205. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  206. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  207. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  208. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  209. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  210. package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  211. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  212. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  213. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  214. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  215. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  216. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  217. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  218. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  219. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  220. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  221. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  222. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  223. package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  224. package/dist/esm/plugins/bots/BotsPlugin.js +28 -121
  225. package/dist/esm/plugins/bots/PartialLiquidationBotV310Contract.js +41 -6
  226. package/dist/esm/plugins/bots/deserializePartialLiquidationBotParams.js +29 -0
  227. package/dist/esm/plugins/bots/index.js +0 -1
  228. package/dist/esm/plugins/bots/types.js +2 -7
  229. package/dist/esm/plugins/zappers/ZappersPlugin.js +1 -1
  230. package/dist/esm/sdk/GearboxSDK.js +10 -112
  231. package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +1 -4
  232. package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +7 -9
  233. package/dist/esm/sdk/base/BaseContract.js +202 -81
  234. package/dist/esm/sdk/base/ChainContractsRegister.js +111 -0
  235. package/dist/esm/sdk/base/Construct.js +63 -0
  236. package/dist/esm/sdk/base/SDKConstruct.js +3 -29
  237. package/dist/esm/sdk/base/TokensMeta.js +4 -4
  238. package/dist/esm/sdk/base/index.js +2 -1
  239. package/dist/esm/sdk/core/BotListV3Contract.js +2 -2
  240. package/dist/esm/sdk/core/GearStakingV3Contract.js +2 -2
  241. package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  242. package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +11 -6
  243. package/dist/esm/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  244. package/dist/esm/sdk/market/MarketConfiguratorContract.js +5 -5
  245. package/dist/esm/sdk/market/MarketRegister.js +8 -10
  246. package/dist/esm/sdk/market/MarketSuite.js +2 -2
  247. package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +4 -3
  248. package/dist/esm/sdk/market/credit/CreditConfiguratorV310Contract.js +4 -3
  249. package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  250. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  251. package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +5 -2
  252. package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +5 -2
  253. package/dist/esm/sdk/market/credit/CreditSuite.js +2 -3
  254. package/dist/esm/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +3 -1
  255. package/dist/esm/sdk/market/loss-policy/LossPolicyContract.js +5 -3
  256. package/dist/esm/sdk/market/loss-policy/createLossPolicy.js +1 -1
  257. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +8 -26
  258. package/dist/esm/sdk/market/oracle/createPriceOracle.js +1 -1
  259. package/dist/esm/sdk/market/pool/GaugeContract.js +2 -2
  260. package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  261. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  262. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  263. package/dist/esm/sdk/market/pool/PoolSuite.js +1 -1
  264. package/dist/esm/sdk/market/pool/PoolV300Contract.js +5 -5
  265. package/dist/esm/sdk/market/pool/PoolV310Contract.js +5 -5
  266. package/dist/esm/sdk/market/pool/TumblerContract.js +2 -2
  267. package/dist/esm/sdk/market/pool/createInterestRateModel.js +11 -15
  268. package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +2 -22
  269. package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  270. package/dist/esm/sdk/market/pricefeeds/BalancerStablePriceFeed.js +3 -13
  271. package/dist/esm/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +3 -13
  272. package/dist/esm/sdk/market/pricefeeds/BoundedPriceFeed.js +6 -2
  273. package/dist/esm/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  274. package/dist/esm/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  275. package/dist/esm/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +3 -10
  276. package/dist/esm/sdk/market/pricefeeds/CurveStablePriceFeed.js +3 -10
  277. package/dist/esm/sdk/market/pricefeeds/CurveUSDPriceFeed.js +3 -10
  278. package/dist/esm/sdk/market/pricefeeds/Erc4626PriceFeed.js +2 -18
  279. package/dist/esm/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  280. package/dist/esm/sdk/market/pricefeeds/MellowLRTPriceFeed.js +3 -11
  281. package/dist/esm/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  282. package/dist/esm/sdk/market/pricefeeds/PriceFeedRef.js +7 -5
  283. package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +3 -9
  284. package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  285. package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  286. package/dist/esm/sdk/market/pricefeeds/WstETHPriceFeed.js +3 -10
  287. package/dist/esm/sdk/market/pricefeeds/YearnPriceFeed.js +3 -10
  288. package/dist/esm/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  289. package/dist/esm/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +17 -0
  290. package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +8 -10
  291. package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +11 -13
  292. package/dist/esm/sdk/router/AbstractRouterContract.js +5 -0
  293. package/dist/esm/sdk/router/RouterV310Contract.js +3 -3
  294. package/dist/esm/sdk/router/createRouter.js +4 -0
  295. package/dist/esm/sdk/utils/abi-decode.js +37 -0
  296. package/dist/esm/sdk/utils/index.js +1 -0
  297. package/dist/types/dev/create2.d.ts +2 -2
  298. package/dist/types/dev/mint/AbstractMinter.d.ts +3 -4
  299. package/dist/types/dev/mint/DealMinter.d.ts +0 -3
  300. package/dist/types/dev/mint/DirectMinter.d.ts +0 -3
  301. package/dist/types/dev/mint/TransferMinter.d.ts +0 -3
  302. package/dist/types/permissionless/bindings/address-provider.d.ts +4 -255
  303. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +5 -6
  304. package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +3 -3
  305. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +4 -5
  306. package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +7 -7
  307. package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +1 -1
  308. package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +3 -4
  309. package/dist/types/permissionless/bindings/governance/governor.d.ts +6 -7
  310. package/dist/types/permissionless/bindings/governance/timelock.d.ts +3 -3
  311. package/dist/types/permissionless/bindings/governance/types.d.ts +1 -1
  312. package/dist/types/permissionless/bindings/index.d.ts +0 -1
  313. package/dist/types/permissionless/bindings/instance-manager.d.ts +6 -7
  314. package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +4 -4
  315. package/dist/types/permissionless/bindings/market-configurator.d.ts +6 -6
  316. package/dist/types/permissionless/bindings/price-feed-store.d.ts +6 -7
  317. package/dist/types/permissionless/bindings/router/routing-manager.d.ts +4 -5
  318. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +5 -6
  319. package/dist/types/permissionless/core/proposal.d.ts +1 -7
  320. package/dist/types/permissionless/utils/create2.d.ts +1 -1
  321. package/dist/types/permissionless/utils/governance/batch.d.ts +1 -1
  322. package/dist/types/permissionless/utils/index.d.ts +0 -1
  323. package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +3 -3
  324. package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +2 -2
  325. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +2 -2
  326. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  327. package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +2 -2
  328. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +2 -2
  329. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +2 -2
  330. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +2 -2
  331. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +2 -2
  332. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +2 -2
  333. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +2 -2
  334. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +2 -2
  335. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +2 -2
  336. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
  337. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
  338. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +2 -2
  339. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +2 -2
  340. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +2 -2
  341. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +2 -2
  342. package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +2 -2
  343. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +2 -2
  344. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +2 -2
  345. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +2 -2
  346. package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +2 -2
  347. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +2 -2
  348. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +2 -2
  349. package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +2 -2
  350. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +2 -2
  351. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +2 -2
  352. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +2 -2
  353. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +2 -2
  354. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +2 -2
  355. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +2 -2
  356. package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +2 -2
  357. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +2 -2
  358. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +2 -2
  359. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +2 -2
  360. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +2 -2
  361. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +2 -2
  362. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +2 -2
  363. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -3
  364. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -3
  365. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +2 -2
  366. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +2 -2
  367. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +2 -2
  368. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +2 -2
  369. package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +2 -2
  370. package/dist/types/plugins/bots/BotsPlugin.d.ts +3 -13
  371. package/dist/types/plugins/bots/PartialLiquidationBotV310Contract.d.ts +19 -6
  372. package/dist/types/plugins/bots/deserializePartialLiquidationBotParams.d.ts +3 -0
  373. package/dist/types/plugins/bots/index.d.ts +0 -1
  374. package/dist/types/plugins/bots/types.d.ts +8 -21
  375. package/dist/types/sdk/GearboxSDK.d.ts +5 -76
  376. package/dist/types/sdk/accountMigration/types.d.ts +1 -2
  377. package/dist/types/sdk/accounts/types.d.ts +4 -3
  378. package/dist/types/sdk/base/BaseContract.d.ts +72 -28
  379. package/dist/types/sdk/base/ChainContractsRegister.d.ts +57 -0
  380. package/dist/types/sdk/base/Construct.d.ts +38 -0
  381. package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
  382. package/dist/types/sdk/base/SDKConstruct.d.ts +2 -16
  383. package/dist/types/sdk/base/TokensMeta.d.ts +2 -3
  384. package/dist/types/sdk/base/index.d.ts +2 -1
  385. package/dist/types/sdk/base/types.d.ts +50 -0
  386. package/dist/types/sdk/core/BotListV3Contract.d.ts +1 -1
  387. package/dist/types/sdk/core/GearStakingV3Contract.d.ts +1 -1
  388. package/dist/types/sdk/core/address-provider/AbstractAddressProviderContract.d.ts +3 -4
  389. package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +3 -3
  390. package/dist/types/sdk/core/address-provider/AddressProviderV310Contract.d.ts +3 -3
  391. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +2 -2
  392. package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +3 -3
  393. package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +3 -3
  394. package/dist/types/sdk/market/credit/CreditFacadeV300Contract.d.ts +3 -4
  395. package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +3 -4
  396. package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +1 -1
  397. package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +1 -1
  398. package/dist/types/sdk/market/credit/CreditSuite.d.ts +1 -1
  399. package/dist/types/sdk/market/credit/types.d.ts +1 -2
  400. package/dist/types/sdk/market/loss-policy/AliasLossPolicyV310Contract.d.ts +1 -0
  401. package/dist/types/sdk/market/loss-policy/LossPolicyContract.d.ts +2 -3
  402. package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +3 -12
  403. package/dist/types/sdk/market/oracle/types.d.ts +0 -10
  404. package/dist/types/sdk/market/pool/GaugeContract.d.ts +2 -3
  405. package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +2 -3
  406. package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +2 -3
  407. package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +2 -3
  408. package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +4 -5
  409. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +4 -5
  410. package/dist/types/sdk/market/pool/TumblerContract.d.ts +2 -3
  411. package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +3 -8
  412. package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +2 -3
  413. package/dist/types/sdk/market/pricefeeds/BalancerStablePriceFeed.d.ts +2 -3
  414. package/dist/types/sdk/market/pricefeeds/BalancerWeightedPriceFeed.d.ts +2 -3
  415. package/dist/types/sdk/market/pricefeeds/BoundedPriceFeed.d.ts +2 -2
  416. package/dist/types/sdk/market/pricefeeds/CompositePriceFeed.d.ts +2 -2
  417. package/dist/types/sdk/market/pricefeeds/ConstantPriceFeed.d.ts +2 -2
  418. package/dist/types/sdk/market/pricefeeds/CurveCryptoPriceFeed.d.ts +2 -3
  419. package/dist/types/sdk/market/pricefeeds/CurveStablePriceFeed.d.ts +2 -3
  420. package/dist/types/sdk/market/pricefeeds/CurveUSDPriceFeed.d.ts +2 -3
  421. package/dist/types/sdk/market/pricefeeds/Erc4626PriceFeed.d.ts +2 -3
  422. package/dist/types/sdk/market/pricefeeds/ExternalPriceFeed.d.ts +2 -2
  423. package/dist/types/sdk/market/pricefeeds/MellowLRTPriceFeed.d.ts +2 -3
  424. package/dist/types/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.d.ts +2 -2
  425. package/dist/types/sdk/market/pricefeeds/PriceFeedRef.d.ts +3 -4
  426. package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +1 -2
  427. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +2 -2
  428. package/dist/types/sdk/market/pricefeeds/RedstonePriceFeed.d.ts +2 -2
  429. package/dist/types/sdk/market/pricefeeds/WstETHPriceFeed.d.ts +2 -3
  430. package/dist/types/sdk/market/pricefeeds/YearnPriceFeed.d.ts +2 -3
  431. package/dist/types/sdk/market/pricefeeds/ZeroPriceFeed.d.ts +2 -2
  432. package/dist/types/sdk/market/pricefeeds/types.d.ts +0 -5
  433. package/dist/types/sdk/market/pricefeeds/updates/PriceUpdatesCache.d.ts +8 -1
  434. package/dist/types/sdk/router/AbstractRouterContract.d.ts +4 -1
  435. package/dist/types/sdk/router/types.d.ts +1 -2
  436. package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +2 -2
  437. package/dist/types/sdk/utils/abi-decode.d.ts +10 -0
  438. package/dist/types/sdk/utils/index.d.ts +1 -0
  439. package/package.json +1 -1
  440. package/dist/cjs/permissionless/bindings/base-contract.js +0 -173
  441. package/dist/cjs/permissionless/utils/abi-decoder.js +0 -72
  442. package/dist/cjs/plugins/bots/PartialLiquidationBotBaseContract.js +0 -75
  443. package/dist/cjs/plugins/bots/PartialLiquidationBotV300Contract.js +0 -65
  444. package/dist/cjs/sdk/base/AddressLabeller.js +0 -49
  445. package/dist/cjs/sdk/base/IAddressLabeller.js +0 -16
  446. package/dist/esm/permissionless/bindings/base-contract.js +0 -151
  447. package/dist/esm/permissionless/utils/abi-decoder.js +0 -50
  448. package/dist/esm/plugins/bots/PartialLiquidationBotBaseContract.js +0 -53
  449. package/dist/esm/plugins/bots/PartialLiquidationBotV300Contract.js +0 -41
  450. package/dist/esm/sdk/base/AddressLabeller.js +0 -25
  451. package/dist/esm/sdk/base/IAddressLabeller.js +0 -0
  452. package/dist/types/permissionless/bindings/base-contract.d.ts +0 -23
  453. package/dist/types/permissionless/utils/abi-decoder.d.ts +0 -13
  454. package/dist/types/plugins/bots/PartialLiquidationBotBaseContract.d.ts +0 -25
  455. package/dist/types/plugins/bots/PartialLiquidationBotV300Contract.d.ts +0 -227
  456. package/dist/types/sdk/base/AddressLabeller.d.ts +0 -11
  457. package/dist/types/sdk/base/IAddressLabeller.d.ts +0 -9
@@ -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(sdk, args) {
11
- super(sdk, { ...args, abi });
10
+ constructor(options, args) {
11
+ super(options, { ...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
- parseFunctionParams(params) {
34
+ stringifyFunctionParams(params) {
35
35
  switch (params.functionName) {
36
36
  case "exactInputSingle": {
37
37
  const [{ tokenIn, tokenOut, fee, amountIn, amountOutMinimum }] = params.args;
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(
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(
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.sdk.tokensMeta.symbol(tokenIn);
52
- const tokenOutSym = this.sdk.tokensMeta.symbol(tokenOut);
53
- const leftoverAmountStr = this.sdk.tokensMeta.formatBN(
51
+ const tokenInSym = this.tokensMeta.symbol(tokenIn);
52
+ const tokenOutSym = this.tokensMeta.symbol(tokenOut);
53
+ const leftoverAmountStr = this.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.sdk.tokensMeta.formatBN(token, amountIn);
67
- const amountOutMinimumStr = this.sdk.tokensMeta.formatBN(
66
+ const amountInStr = this.tokensMeta.formatBN(token, amountIn);
67
+ const amountOutMinimumStr = this.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.sdk.tokensMeta.formatBN(
77
+ const leftoverAmountStr = this.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.sdk.tokensMeta.formatBN(
92
+ const amountInMaximumStr = this.tokensMeta.formatBN(
93
93
  `0x${path.slice(-40, path.length)}`,
94
94
  amountInMaximum
95
95
  );
96
- const amountOutStr = this.sdk.tokensMeta.formatBN(
96
+ const amountOutStr = this.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.sdk.tokensMeta.symbol(tokenIn);
107
- const tokenOutSym = this.sdk.tokensMeta.symbol(tokenOut);
108
- const amountInMaximumStr = this.sdk.tokensMeta.formatBN(
106
+ const tokenInSym = this.tokensMeta.symbol(tokenIn);
107
+ const tokenOutSym = this.tokensMeta.symbol(tokenOut);
108
+ const amountInMaximumStr = this.tokensMeta.formatBN(
109
109
  tokenIn,
110
110
  amountInMaximum
111
111
  );
112
- const amountOutStr = this.sdk.tokensMeta.formatBN(tokenOut, amountOut);
112
+ const amountOutStr = this.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 void 0;
118
+ return super.stringifyFunctionParams(params);
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.sdk.tokensMeta.symbol(from) || from;
129
+ result += this.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.sdk.tokensMeta.symbol(from) || from;
144
+ result += this.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(sdk, args) {
8
- super(sdk, { ...args, abi });
7
+ constructor(options, args) {
8
+ super(options, { ...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(sdk, args) {
10
- super(sdk, { ...args, abi });
9
+ constructor(options, args) {
10
+ super(options, { ...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(sdk, args) {
8
- super(sdk, { ...args, abi });
7
+ constructor(options, args) {
8
+ super(options, { ...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(sdk, args) {
8
- super(sdk, { ...args, abi });
7
+ constructor(options, args) {
8
+ super(options, { ...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(sdk, args) {
8
- super(sdk, { ...args, abi });
7
+ constructor(options, args) {
8
+ super(options, { ...args, abi });
9
9
  const decoded = decodeAbiParameters(
10
10
  [
11
11
  { type: "address", name: "creditManager" },
@@ -1,22 +1,12 @@
1
- import {
2
- decodeAbiParameters,
3
- encodeAbiParameters,
4
- stringToHex
5
- } from "viem";
1
+ import { encodeAbiParameters, stringToHex } from "viem";
6
2
  import { iBytecodeRepositoryAbi } from "../../abi/310/iBytecodeRepository.js";
7
- import { peripheryCompressorAbi } from "../../abi/compressors/peripheryCompressor.js";
8
3
  import {
9
4
  AddressMap,
10
5
  AP_BYTECODE_REPOSITORY,
11
- AP_PERIPHERY_COMPRESSOR,
12
6
  AP_TREASURY,
13
7
  BasePlugin,
14
8
  chains as CHAINS,
15
- hexEq,
16
- isV300,
17
- isV310,
18
- TypedObjectUtils,
19
- VERSION_RANGE_310
9
+ hexEq
20
10
  } from "../../sdk/index.js";
21
11
  import { iPartialLiquidationBotV310Abi } from "./abi/iPartialLiquidationBotV310.js";
22
12
  import {
@@ -25,64 +15,29 @@ import {
25
15
  PARTIAL_LIQUIDATION_BOT_DEPLOYER,
26
16
  PARTIAL_LIQUIDATION_BOT_SALT
27
17
  } from "./config.js";
28
- import { PartialLiquidationBotV300Contract } from "./PartialLiquidationBotV300Contract.js";
29
18
  import { PartialLiquidationBotV310Contract } from "./PartialLiquidationBotV310Contract.js";
30
19
  import {
31
20
  BOT_PARAMS_ABI,
32
- LIQUIDATION_BOT_TYPES
21
+ BOT_PARTIAL_LIQUIDATION
33
22
  } from "./types.js";
34
- class UnsupportedBotVersionError extends Error {
35
- state;
36
- constructor(state) {
37
- super(
38
- `unsupported bot version ${state.baseParams.version} for bot at ${state.baseParams.addr}`
39
- );
40
- this.state = state;
41
- }
42
- }
43
23
  class BotsPlugin extends BasePlugin {
44
- #botsByMarket;
24
+ #bots;
45
25
  get loaded() {
46
- return !!this.#botsByMarket;
26
+ return !!this.#bots;
27
+ }
28
+ get bots() {
29
+ return this.#bots?.values() ?? [];
47
30
  }
48
31
  async load(force) {
49
32
  if (!force && this.loaded) {
50
33
  return this.state;
51
34
  }
52
- const [pcAddr] = this.sdk.addressProvider.mustGetLatest(
53
- AP_PERIPHERY_COMPRESSOR,
54
- VERSION_RANGE_310
55
- );
56
- this.logger?.debug(`loading bots with periphery compressor ${pcAddr}`);
57
- const mcs = this.sdk.marketRegister.marketConfigurators.map(
58
- (mc) => mc.address
59
- );
60
- const botsData = await this.client.multicall({
61
- contracts: mcs.map(
62
- (mc) => ({
63
- address: pcAddr,
64
- abi: peripheryCompressorAbi,
65
- functionName: "getBots",
66
- args: [mc]
67
- })
68
- ),
69
- allowFailure: false
70
- });
71
- this.#botsByMarket = new AddressMap();
72
- for (let i = 0; i < mcs.length; i++) {
73
- const mc = mcs[i];
74
- const marketBotData = botsData[i];
75
- this.#loadStateMarketState(mc, marketBotData);
76
- }
77
- return this.state;
78
- }
79
- async findDeployedPartialLiquidationBots() {
80
35
  const treasury = this.sdk.addressProvider.getAddress(AP_TREASURY);
81
36
  const bcr = this.sdk.addressProvider.getAddress(AP_BYTECODE_REPOSITORY);
82
37
  const configs = PARTIAL_LIQUIDATION_BOT_CONFIGS[this.sdk.networkType] ?? [];
83
- const result = new AddressMap();
38
+ this.#bots = new AddressMap();
84
39
  if (!configs.length) {
85
- return result;
40
+ return this.state;
86
41
  }
87
42
  const deployedBots = await this.client.multicall({
88
43
  contracts: configs.map(
@@ -91,7 +46,7 @@ class BotsPlugin extends BasePlugin {
91
46
  abi: iBytecodeRepositoryAbi,
92
47
  functionName: "computeAddress",
93
48
  args: [
94
- stringToHex("BOT::PARTIAL_LIQUIDATION", { size: 32 }),
49
+ stringToHex(BOT_PARTIAL_LIQUIDATION, { size: 32 }),
95
50
  310,
96
51
  encodeAbiParameters(BOT_PARAMS_ABI, [
97
52
  treasury,
@@ -141,88 +96,41 @@ class BotsPlugin extends BasePlugin {
141
96
  const serialized = serializedBots[i];
142
97
  const expected = expectedBots.mustGet(botAddrs[i]);
143
98
  if (serialized.status === "success") {
144
- const [
145
- treasury2,
146
- minHealthFactor,
147
- maxHealthFactor,
148
- premiumScaleFactor,
149
- feeScaleFactor
150
- ] = decodeAbiParameters(BOT_PARAMS_ABI, serialized.result);
151
- if (!hexEq(treasury2, expected.treasury) || minHealthFactor !== expected.minHealthFactor || maxHealthFactor !== expected.maxHealthFactor || premiumScaleFactor !== expected.premiumScaleFactor || feeScaleFactor !== expected.feeScaleFactor) {
99
+ const bot = new PartialLiquidationBotV310Contract(this.sdk, {
100
+ addr: botAddrs[i],
101
+ version: BigInt(310),
102
+ contractType: BOT_PARTIAL_LIQUIDATION,
103
+ serializedParams: serialized.result
104
+ });
105
+ if (!hexEq(treasury, expected.treasury) || bot.minHealthFactor !== expected.minHealthFactor || bot.maxHealthFactor !== expected.maxHealthFactor || bot.premiumScaleFactor !== expected.premiumScaleFactor || bot.feeScaleFactor !== expected.feeScaleFactor) {
152
106
  this.logger?.error(
153
107
  `serialized bot ${botAddrs[i]} does not match expected bot`,
154
108
  serialized.error
155
109
  );
156
110
  } else {
157
- result.upsert(botAddrs[i], expected);
111
+ this.#bots.upsert(botAddrs[i], bot);
158
112
  }
159
113
  }
160
114
  }
161
- return result;
162
- }
163
- #loadStateMarketState(mc, state) {
164
- const bots = state.map((state2) => this.#createBot(mc, state2)).sort((a, b) => a.minHealthFactor - b.minHealthFactor);
165
- if (bots.length && isV300(Number(bots[0].version))) {
166
- if (bots.length !== 4) {
167
- throw new Error(`expected 4 bots v300 for market configurator ${mc}`);
168
- }
169
- for (let i = 0; i < bots.length; i++) {
170
- bots[i].botType = LIQUIDATION_BOT_TYPES[i];
171
- }
172
- }
173
- this.botsByMarket.upsert(mc, bots);
115
+ return this.state;
174
116
  }
175
117
  stateHuman(raw) {
176
118
  return {
177
- bots: Object.fromEntries(
178
- this.botsByMarket.entries().map(([mc, bots]) => [
179
- this.labelAddress(mc),
180
- bots.map((b) => b.stateHuman(raw))
181
- ])
182
- )
119
+ bots: this.#bots?.values().map((bot) => bot.stateHuman(raw)) ?? []
183
120
  };
184
121
  }
185
- get botsByMarket() {
186
- if (!this.#botsByMarket) {
187
- throw new Error("bots plugin not loaded");
188
- }
189
- return this.#botsByMarket;
190
- }
191
- botsByMarketConfigurator(mc) {
192
- return this.botsByMarket.get(mc) ?? [];
193
- }
194
- get allBots() {
195
- return this.botsByMarket.values().flat();
196
- }
197
122
  get state() {
198
123
  return {
199
- bots: TypedObjectUtils.fromEntries(
200
- this.botsByMarket.entries().map(([mc, bots]) => [mc, bots.map((b) => b.state)])
201
- )
124
+ bots: this.#bots?.values().map((bot) => bot.state) ?? []
202
125
  };
203
126
  }
204
127
  hydrate(state) {
205
- this.#botsByMarket = new AddressMap();
206
- for (const [mc, botStates] of TypedObjectUtils.entries(state.bots)) {
207
- this.#loadStateMarketState(mc, botStates);
208
- }
209
- }
210
- #createBot(marketConfigurator, data) {
211
- const v = Number(data.baseParams.version);
212
- if (isV300(v)) {
213
- return new PartialLiquidationBotV300Contract(
214
- this.sdk,
215
- data,
216
- marketConfigurator
217
- );
218
- } else if (isV310(v)) {
219
- return new PartialLiquidationBotV310Contract(
220
- this.sdk,
221
- data,
222
- marketConfigurator
128
+ this.#bots = new AddressMap();
129
+ for (const botState of state.bots) {
130
+ this.#bots.upsert(
131
+ botState.addr,
132
+ new PartialLiquidationBotV310Contract(this.sdk, botState)
223
133
  );
224
- } else {
225
- throw new Error(`unsupported bot version: ${v}`);
226
134
  }
227
135
  }
228
136
  static getMigrationBotData(chainId) {
@@ -230,6 +138,5 @@ class BotsPlugin extends BasePlugin {
230
138
  }
231
139
  }
232
140
  export {
233
- BotsPlugin,
234
- UnsupportedBotVersionError
141
+ BotsPlugin
235
142
  };
@@ -1,15 +1,50 @@
1
+ import { decodeAbiParameters, stringToHex } from "viem";
2
+ import {
3
+ BaseContract,
4
+ formatPercentage
5
+ } from "../../sdk/index.js";
1
6
  import { iPartialLiquidationBotV310Abi } from "./abi/index.js";
2
- import { PartialLiquidationBotBaseContract } from "./PartialLiquidationBotBaseContract.js";
7
+ import { BOT_PARAMS_ABI } from "./types.js";
3
8
  const abi = iPartialLiquidationBotV310Abi;
4
- class PartialLiquidationBotV310Contract extends PartialLiquidationBotBaseContract {
5
- constructor(sdk, args, marketConfigurator) {
9
+ class PartialLiquidationBotV310Contract extends BaseContract {
10
+ treasury;
11
+ minHealthFactor;
12
+ maxHealthFactor;
13
+ premiumScaleFactor;
14
+ feeScaleFactor;
15
+ #serializedParams;
16
+ constructor(sdk, args) {
6
17
  super(sdk, {
18
+ ...args,
7
19
  abi,
8
- ...args.baseParams,
9
- requiredPermissions: args.requiredPermissions,
10
- marketConfigurator,
11
20
  name: "PartialLiquidationBotV310"
12
21
  });
22
+ [
23
+ this.treasury,
24
+ this.minHealthFactor,
25
+ this.maxHealthFactor,
26
+ this.premiumScaleFactor,
27
+ this.feeScaleFactor
28
+ ] = decodeAbiParameters(BOT_PARAMS_ABI, args.serializedParams);
29
+ this.#serializedParams = args.serializedParams;
30
+ }
31
+ stateHuman(raw) {
32
+ return {
33
+ ...super.stateHuman(raw),
34
+ treasury: this.treasury,
35
+ minHealthFactor: formatPercentage(this.minHealthFactor),
36
+ maxHealthFactor: formatPercentage(this.maxHealthFactor),
37
+ premiumScaleFactor: formatPercentage(this.premiumScaleFactor),
38
+ feeScaleFactor: formatPercentage(this.feeScaleFactor)
39
+ };
40
+ }
41
+ get state() {
42
+ return {
43
+ addr: this.address,
44
+ version: BigInt(this.version),
45
+ contractType: stringToHex(this.contractType, { size: 32 }),
46
+ serializedParams: this.#serializedParams
47
+ };
13
48
  }
14
49
  }
15
50
  export {
@@ -0,0 +1,29 @@
1
+ import { decodeAbiParameters } from "viem";
2
+ function deserializePartialLiquidationBotParams(params) {
3
+ const [
4
+ treasury,
5
+ minHealthFactor,
6
+ maxHealthFactor,
7
+ premiumScaleFactor,
8
+ feeScaleFactor
9
+ ] = decodeAbiParameters(
10
+ [
11
+ { name: "treasury", type: "address" },
12
+ { name: "minHealthFactor", type: "uint16" },
13
+ { name: "maxHealthFactor", type: "uint16" },
14
+ { name: "premiumScaleFactor", type: "uint16" },
15
+ { name: "feeScaleFactor", type: "uint16" }
16
+ ],
17
+ params.serializedParams
18
+ );
19
+ return {
20
+ treasury,
21
+ minHealthFactor,
22
+ maxHealthFactor,
23
+ premiumScaleFactor,
24
+ feeScaleFactor
25
+ };
26
+ }
27
+ export {
28
+ deserializePartialLiquidationBotParams as default
29
+ };
@@ -1,6 +1,5 @@
1
1
  export * from "./abi/index.js";
2
2
  export * from "./BotsPlugin.js";
3
3
  export * from "./config.js";
4
- export * from "./PartialLiquidationBotV300Contract.js";
5
4
  export * from "./PartialLiquidationBotV310Contract.js";
6
5
  export * from "./types.js";
@@ -1,3 +1,4 @@
1
+ const BOT_PARTIAL_LIQUIDATION = "BOT::PARTIAL_LIQUIDATION";
1
2
  const BOT_PARAMS_ABI = [
2
3
  { type: "address", name: "treasury" },
3
4
  { type: "uint16", name: "minHealthFactor" },
@@ -5,15 +6,9 @@ const BOT_PARAMS_ABI = [
5
6
  { type: "uint16", name: "premiumScaleFactor" },
6
7
  { type: "uint16", name: "feeScaleFactor" }
7
8
  ];
8
- const LIQUIDATION_BOT_TYPES = [
9
- "PARTIAL_LIQUIDATION_BOT",
10
- "DELEVERAGE_BOT_PEGGED",
11
- "DELEVERAGE_BOT_LV",
12
- "DELEVERAGE_BOT_HV"
13
- ];
14
9
  const MIGRATION_BOT_TYPES = ["MIGRATION_BOT"];
15
10
  export {
16
11
  BOT_PARAMS_ABI,
17
- LIQUIDATION_BOT_TYPES,
12
+ BOT_PARTIAL_LIQUIDATION,
18
13
  MIGRATION_BOT_TYPES
19
14
  };
@@ -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.addressLabels.set(t.addr, t.symbol);
118
+ this.sdk.setAddressLabel(t.addr, t.symbol);
119
119
  }
120
120
  }
121
121
  }