@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
@@ -56,19 +56,21 @@ const PythOptions = import_v4.z.object({
56
56
  ignoreMissingFeeds: import_v4.z.boolean().optional()
57
57
  });
58
58
  class PythUpdater extends import_base.SDKConstruct {
59
+ #logger;
59
60
  #cache;
60
61
  #historicalTimestamp;
61
62
  #api;
62
63
  #ignoreMissingFeeds;
63
64
  constructor(sdk, opts = {}) {
64
65
  super(sdk);
66
+ this.#logger = (0, import_utils.childLogger)("PythUpdater", sdk.logger);
65
67
  this.#ignoreMissingFeeds = opts.ignoreMissingFeeds;
66
68
  this.#api = opts.apiProxy ?? "https://hermes.pyth.network/v2/updates/price/";
67
69
  this.#api = this.#api.endsWith("/") ? this.#api : `${this.#api}/`;
68
70
  const ts = opts.historicTimestamp;
69
71
  if (ts) {
70
72
  this.#historicalTimestamp = ts === true ? Number(this.sdk.timestamp) : ts;
71
- this.logger?.debug(
73
+ this.#logger?.debug(
72
74
  `using historical timestamp ${this.#historicalTimestamp}`
73
75
  );
74
76
  }
@@ -84,7 +86,7 @@ class PythUpdater extends import_base.SDKConstruct {
84
86
  if (feeds.length === 0) {
85
87
  return [];
86
88
  }
87
- this.logger?.debug(
89
+ this.#logger?.debug(
88
90
  `generating update transactions for ${feeds.length} pyth price feeds`
89
91
  );
90
92
  const pythFeeds = new Map(
@@ -119,7 +121,7 @@ class PythUpdater extends import_base.SDKConstruct {
119
121
  tsRange = `${tsRange} - ${maxTimestamp} (${maxDelta})`;
120
122
  }
121
123
  }
122
- this.logger?.debug(
124
+ this.#logger?.debug(
123
125
  `generated ${results.length} update transactions for pyth price feeds: ${Array.from(pythFeeds.keys()).join(", ")}${tsRange}`
124
126
  );
125
127
  return results;
@@ -130,7 +132,7 @@ class PythUpdater extends import_base.SDKConstruct {
130
132
  * @returns
131
133
  */
132
134
  async #getPayloads(dataFeedsIds) {
133
- this.logger?.debug(
135
+ this.#logger?.debug(
134
136
  `getting pyth payloads for ${dataFeedsIds.size} price feeds: ${Array.from(dataFeedsIds).join(", ")}`
135
137
  );
136
138
  const fromCache = [];
@@ -149,7 +151,7 @@ class PythUpdater extends import_base.SDKConstruct {
149
151
  for (const resp of fromPyth) {
150
152
  this.#cache.set(resp, resp.dataFeedId);
151
153
  }
152
- this.logger?.debug(
154
+ this.#logger?.debug(
153
155
  `got ${fromPyth.length} new pyth updates and ${fromCache.length} from cache`
154
156
  );
155
157
  return [...fromCache, ...fromPyth];
@@ -165,7 +167,7 @@ class PythUpdater extends import_base.SDKConstruct {
165
167
  }
166
168
  const ids = Array.from(dataFeedsIds);
167
169
  const tsStr = this.#historicalTimestamp ? ` with historical timestamp ${this.#historicalTimestamp}` : "";
168
- this.logger?.debug(
170
+ this.#logger?.debug(
169
171
  `fetching pyth payloads for ${dataFeedsIds.size} price feeds: ${ids.join(", ")}${tsStr}`
170
172
  );
171
173
  const url = new URL(this.#api + (this.#historicalTimestamp ?? "latest"));
@@ -61,6 +61,7 @@ const RedstoneOptions = import_v4.z.object({
61
61
  enableLogging: import_v4.z.boolean().optional()
62
62
  });
63
63
  class RedstoneUpdater extends import_base.SDKConstruct {
64
+ #logger;
64
65
  #cache;
65
66
  #historicalTimestampMs;
66
67
  #gateways;
@@ -68,6 +69,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
68
69
  #enableLogging;
69
70
  constructor(sdk, opts = {}) {
70
71
  super(sdk);
72
+ this.#logger = (0, import_utils.childLogger)("RedstoneUpdater", sdk.logger);
71
73
  this.#ignoreMissingFeeds = opts.ignoreMissingFeeds;
72
74
  this.#enableLogging = opts.enableLogging;
73
75
  this.#gateways = opts.gateways?.length ? opts.gateways : void 0;
@@ -75,7 +77,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
75
77
  if (ts) {
76
78
  ts = ts === true ? Number(this.sdk.timestamp) * 1e3 : ts;
77
79
  this.#historicalTimestampMs = 6e4 * Math.floor(ts / 6e4);
78
- this.logger?.debug(
80
+ this.#logger?.debug(
79
81
  `using historical timestamp ${this.#historicalTimestampMs}`
80
82
  );
81
83
  }
@@ -91,7 +93,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
91
93
  if (feeds.length === 0) {
92
94
  return [];
93
95
  }
94
- this.logger?.debug(
96
+ this.#logger?.debug(
95
97
  `generating update transactions for ${feeds.length} redstone price feeds`
96
98
  );
97
99
  const groupedFeeds = {};
@@ -148,7 +150,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
148
150
  tsRange = `${tsRange} - ${maxTimestamp} (${maxDelta})`;
149
151
  }
150
152
  }
151
- this.logger?.debug(
153
+ this.#logger?.debug(
152
154
  `generated ${results.length} update transactions for redstone price feeds: ${Array.from(priceFeeds.keys()).join(", ")}${tsRange}`
153
155
  );
154
156
  return results;
@@ -173,7 +175,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
173
175
  for (const { timestamp, dataFeedId } of result) {
174
176
  const delta = Number(this.sdk.timestamp) - timestamp;
175
177
  if (delta >= 240 && delta < 255) {
176
- this.logger?.warn(
178
+ this.#logger?.warn(
177
179
  `payload for ${dataFeedId} has expired by ${delta} seconds`
178
180
  );
179
181
  expired = true;
@@ -197,7 +199,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
197
199
  * @returns
198
200
  */
199
201
  async #getPayloads(dataServiceId, dataFeedsIds, uniqueSignersCount) {
200
- this.logger?.debug(
202
+ this.#logger?.debug(
201
203
  `getting redstone payloads for ${dataFeedsIds.size} data feeds in ${dataServiceId} with ${uniqueSignersCount} signers: ${Array.from(dataFeedsIds).join(", ")}`
202
204
  );
203
205
  const fromCache = [];
@@ -222,7 +224,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
222
224
  for (const resp of fromRedstone) {
223
225
  this.#cache.set(resp, dataServiceId, resp.dataFeedId, uniqueSignersCount);
224
226
  }
225
- this.logger?.debug(
227
+ this.#logger?.debug(
226
228
  `got ${fromRedstone.length} new redstone updates and ${fromCache.length} from cache`
227
229
  );
228
230
  return [...fromCache, ...fromRedstone];
@@ -241,7 +243,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
241
243
  }
242
244
  const dataPackagesIds = Array.from(dataFeedsIds);
243
245
  const tsStr = this.#historicalTimestampMs ? ` with historical timestamp ${this.#historicalTimestampMs}` : "";
244
- this.logger?.debug(
246
+ this.#logger?.debug(
245
247
  `fetching redstone payloads for ${dataFeedsIds.size} data feeds in ${dataServiceId} with ${uniqueSignersCount} signers: ${dataPackagesIds.join(", ")}${tsStr}`
246
248
  );
247
249
  const wrapper = new import_evm_connector.DataServiceWrapper({
@@ -270,14 +272,14 @@ class RedstoneUpdater extends import_base.SDKConstruct {
270
272
  const signedDataPackages = packagesByDataFeedId[dataFeedId];
271
273
  if (!signedDataPackages) {
272
274
  if (this.#ignoreMissingFeeds) {
273
- this.logger?.warn(`cannot find data packages for ${dataFeedId}`);
275
+ this.#logger?.warn(`cannot find data packages for ${dataFeedId}`);
274
276
  continue;
275
277
  }
276
278
  throw new Error(`cannot find data packages for ${dataFeedId}`);
277
279
  }
278
280
  if (signedDataPackages.length !== uniqueSignersCount) {
279
281
  if (this.#ignoreMissingFeeds) {
280
- this.logger?.warn(
282
+ this.#logger?.warn(
281
283
  `got ${signedDataPackages.length} data packages for ${dataFeedId}, but expected ${uniqueSignersCount}`
282
284
  );
283
285
  continue;
@@ -22,6 +22,7 @@ __export(AbstractRouterContract_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(AbstractRouterContract_exports);
24
24
  var import_base = require("../base/index.js");
25
+ var import_math = require("../constants/math.js");
25
26
  var import_utils = require("../utils/index.js");
26
27
  var import_internal = require("../utils/internal/index.js");
27
28
  var import_helpers = require("./helpers.js");
@@ -29,13 +30,12 @@ class AbstractRouterContract extends import_base.BaseContract {
29
30
  hooks = new import_internal.Hooks();
30
31
  addHook = this.hooks.addHook.bind(this.hooks);
31
32
  removeHook = this.hooks.removeHook.bind(this.hooks);
32
- sdk;
33
- constructor(sdk, args) {
34
- super(sdk, args);
35
- this.sdk = sdk;
36
- }
37
- getExpectedAndLeftover(ca, cm, balances, keepAssets) {
38
- const b = balances || this.getDefaultExpectedAndLeftover(ca, keepAssets);
33
+ getExpectedAndLeftover(ca, cm, options = {}) {
34
+ const b = options.balances ? options.balances : this.getDefaultExpectedAndLeftover(
35
+ ca,
36
+ options.keepAssets,
37
+ options.debtOnly
38
+ );
39
39
  const { leftoverBalances, expectedBalances, tokensToClaim } = b;
40
40
  const expected = new import_utils.AddressMap();
41
41
  const leftover = new import_utils.AddressMap();
@@ -53,15 +53,22 @@ class AbstractRouterContract extends import_base.BaseContract {
53
53
  tokensToClaim
54
54
  };
55
55
  }
56
- getDefaultExpectedAndLeftover(ca, keepAssets) {
56
+ getDefaultExpectedAndLeftover(ca, keepAssets, debtOnly) {
57
57
  const expectedBalances = new import_utils.AddressMap();
58
58
  const leftoverBalances = new import_utils.AddressMap();
59
- const keepAssetsSet = new Set(keepAssets?.map((a) => a.toLowerCase()));
60
- for (const { token: t, balance, mask } of ca.tokens) {
61
- const token = t;
59
+ const keepAssetsSet = new import_utils.AddressSet(keepAssets);
60
+ if (debtOnly) {
61
+ const result = this.getLeftoversAfterBuyingDebt(ca, keepAssetsSet);
62
+ if (result) {
63
+ return result;
64
+ } else {
65
+ this.logger?.warn("no token found to cover debt");
66
+ }
67
+ }
68
+ for (const { token, balance, mask } of ca.tokens) {
62
69
  const isEnabled = (mask & ca.enabledTokensMask) !== 0n;
63
70
  expectedBalances.upsert(token, { token, balance });
64
- if (keepAssetsSet.has(token.toLowerCase()) || !isEnabled || (0, import_utils.isDust)({
71
+ if (keepAssetsSet.has(token) || !isEnabled || (0, import_utils.isDust)({
65
72
  sdk: this.sdk,
66
73
  token,
67
74
  balance,
@@ -79,6 +86,101 @@ class AbstractRouterContract extends import_base.BaseContract {
79
86
  tokensToClaim: new import_utils.AddressMap()
80
87
  };
81
88
  }
89
+ /**
90
+ * Tries to sell just enought of most valuable token to cover debt
91
+ * @param ca
92
+ * @param keepAssets
93
+ * @returns
94
+ */
95
+ getLeftoversAfterBuyingDebt(ca, keepAssets) {
96
+ const { priceOracle } = this.sdk.marketRegister.findByCreditManager(
97
+ ca.creditManager
98
+ );
99
+ const expectedBalances = new import_utils.AddressMap();
100
+ const leftoverBalances = new import_utils.AddressMap();
101
+ const usdBalances = [];
102
+ for (const { token, balance, mask } of ca.tokens) {
103
+ const isEnabled = (mask & ca.enabledTokensMask) !== 0n;
104
+ expectedBalances.upsert(token, { token, balance });
105
+ leftoverBalances.upsert(token, {
106
+ token,
107
+ balance: (0, import_helpers.limitLeftover)(balance, token) ?? balance
108
+ });
109
+ if (isEnabled && !keepAssets.has(token)) {
110
+ usdBalances.push({
111
+ token,
112
+ balance: this.safeConvertToUSD(priceOracle, token, balance)
113
+ });
114
+ }
115
+ }
116
+ usdBalances.sort((a, b) => {
117
+ if (a.balance > b.balance) return -1;
118
+ if (a.balance < b.balance) return 1;
119
+ return 0;
120
+ });
121
+ if (usdBalances.length === 0) {
122
+ return void 0;
123
+ }
124
+ const highestToken = usdBalances[0];
125
+ const lt = this.sdk.marketRegister.findCreditManager(ca.creditManager).creditManager.liquidationThresholds.mustGet(highestToken.token);
126
+ const requiredDebtUSD = ca.totalDebtUSD * import_math.PERCENTAGE_FACTOR / BigInt(lt);
127
+ if (highestToken.balance < requiredDebtUSD) {
128
+ return void 0;
129
+ }
130
+ const tokenAmount = this.safeConvertFromUSD(
131
+ priceOracle,
132
+ highestToken.token,
133
+ requiredDebtUSD
134
+ );
135
+ if (tokenAmount === 0n) {
136
+ return void 0;
137
+ }
138
+ let leftoverBalance = leftoverBalances.get(highestToken.token)?.balance ?? 0n;
139
+ leftoverBalance -= tokenAmount;
140
+ if (leftoverBalance < 0n) {
141
+ return void 0;
142
+ }
143
+ leftoverBalances.upsert(highestToken.token, {
144
+ token: highestToken.token,
145
+ balance: leftoverBalance
146
+ });
147
+ const tokenAmountStr = this.sdk.tokensMeta.formatBN(
148
+ highestToken.token,
149
+ tokenAmount,
150
+ { symbol: true }
151
+ );
152
+ const totalDebtUSDStr = (0, import_utils.formatBN)(ca.totalDebtUSD, 8);
153
+ this.logger?.debug(
154
+ `will sell ${tokenAmountStr} (LT=${lt}) to cover debt of ${totalDebtUSDStr} USD`
155
+ );
156
+ return {
157
+ expectedBalances,
158
+ leftoverBalances,
159
+ tokensToClaim: new import_utils.AddressMap()
160
+ };
161
+ }
162
+ safeConvertToUSD(priceOracle, token, balance) {
163
+ try {
164
+ return priceOracle.convertToUSD(token, balance);
165
+ } catch {
166
+ try {
167
+ return priceOracle.convertToUSD(token, balance, true);
168
+ } catch {
169
+ return 0n;
170
+ }
171
+ }
172
+ }
173
+ safeConvertFromUSD(priceOracle, token, balance) {
174
+ try {
175
+ return priceOracle.convertFromUSD(token, balance);
176
+ } catch {
177
+ try {
178
+ return priceOracle.convertFromUSD(token, balance, true);
179
+ } catch {
180
+ return 0n;
181
+ }
182
+ }
183
+ }
82
184
  }
83
185
  // Annotate the CommonJS export names for ESM import in node:
84
186
  0 && (module.exports = {
@@ -194,22 +194,22 @@ class RouterV300Contract extends import_AbstractRouterContract.AbstractRouterCon
194
194
  creditAccount: ca,
195
195
  creditManager: cm,
196
196
  slippage,
197
- balances
197
+ balances,
198
+ debtOnly
198
199
  }) {
199
200
  const {
200
201
  pathOptions,
201
202
  expected,
202
203
  leftover: leftoverUnsafe,
203
204
  connectors
204
- } = this.getFindClosePathInput(
205
- ca,
206
- cm,
207
- balances ? {
205
+ } = this.getFindClosePathInput(ca, cm, {
206
+ balances: balances ? {
208
207
  expectedBalances: (0, import_helpers.assetsMap)(balances.expectedBalances),
209
208
  leftoverBalances: (0, import_helpers.assetsMap)(balances.leftoverBalances),
210
209
  tokensToClaim: (0, import_helpers.assetsMap)(balances.tokensToClaim || [])
211
- } : void 0
212
- );
210
+ } : void 0,
211
+ debtOnly
212
+ });
213
213
  const leftover = leftoverUnsafe.map((a) => ({
214
214
  ...a,
215
215
  balance: (0, import_helpers.limitLeftover)(a.balance, a.token) ?? 0n
@@ -269,12 +269,11 @@ class RouterV300Contract extends import_AbstractRouterContract.AbstractRouterCon
269
269
  /**
270
270
  * Implements {@link IRouterContract.getFindClosePathInput}
271
271
  */
272
- getFindClosePathInput(ca, cm, balances, keepAssets) {
272
+ getFindClosePathInput(ca, cm, options) {
273
273
  const { expectedBalances, leftoverBalances } = this.getExpectedAndLeftover(
274
274
  ca,
275
275
  cm,
276
- balances,
277
- keepAssets
276
+ options
278
277
  );
279
278
  const leftover = leftoverBalances.values().map((a) => ({
280
279
  ...a,
@@ -182,18 +182,18 @@ class RouterV310Contract extends import_AbstractRouterContract.AbstractRouterCon
182
182
  creditManager: cm,
183
183
  slippage,
184
184
  balances,
185
- keepAssets
185
+ keepAssets,
186
+ debtOnly
186
187
  } = props;
187
- const { expectedBalances, leftoverBalances, tokensToClaim } = this.getExpectedAndLeftover(
188
- ca,
189
- cm,
190
- balances ? {
188
+ const { expectedBalances, leftoverBalances, tokensToClaim } = this.getExpectedAndLeftover(ca, cm, {
189
+ balances: balances ? {
191
190
  expectedBalances: (0, import_helpers.assetsMap)(balances.expectedBalances),
192
191
  leftoverBalances: (0, import_helpers.assetsMap)(balances.leftoverBalances),
193
192
  tokensToClaim: (0, import_helpers.assetsMap)(balances.tokensToClaim || [])
194
193
  } : void 0,
195
- keepAssets
196
- );
194
+ keepAssets: balances ? void 0 : keepAssets,
195
+ debtOnly
196
+ });
197
197
  const getNumSplits = this.#numSplitsGetter(cm, expectedBalances.values());
198
198
  const tData = [];
199
199
  for (const token of cm.collateralTokens) {
@@ -299,15 +299,15 @@ class RouterV310Contract extends import_AbstractRouterContract.AbstractRouterCon
299
299
  * @returns
300
300
  */
301
301
  #convertToUSDForSort(oracle, token, amount) {
302
- const scale = 10n ** BigInt(this.tokensMeta.get(token)?.decimals ?? 0);
302
+ const scale = 10n ** BigInt(this.sdk.tokensMeta.get(token)?.decimals ?? 0);
303
303
  const price = oracle.mainPrices.get(token)?.price || oracle.reservePrices.get(token)?.price || scale;
304
304
  return amount * price / scale;
305
305
  }
306
306
  #debugTokenData(tData) {
307
307
  return tData.map((t) => ({
308
308
  token: this.labelAddress(t.token),
309
- balance: `${this.tokensMeta.formatBN(t.token, t.balance)} (${t.balance})`,
310
- leftoverBalance: this.tokensMeta.formatBN(t.token, t.leftoverBalance) + ` (${t.leftoverBalance})`,
309
+ balance: `${this.sdk.tokensMeta.formatBN(t.token, t.balance)} (${t.balance})`,
310
+ leftoverBalance: this.sdk.tokensMeta.formatBN(t.token, t.leftoverBalance) + ` (${t.leftoverBalance})`,
311
311
  numSplits: t.numSplits,
312
312
  claimRewards: t.claimRewards
313
313
  }));
@@ -25,10 +25,6 @@ var import_constants = require("../constants/index.js");
25
25
  var import_RouterV300Contract = require("./RouterV300Contract.js");
26
26
  var import_RouterV310Contract = require("./RouterV310Contract.js");
27
27
  function createRouter(sdk, address, version) {
28
- const contract = sdk.getContract(address);
29
- if (contract) {
30
- return contract;
31
- }
32
28
  if ((0, import_constants.isV300)(version)) {
33
29
  return new import_RouterV300Contract.RouterV300Contract(sdk, address, version);
34
30
  }
@@ -17,7 +17,6 @@ var utils_exports = {};
17
17
  module.exports = __toCommonJS(utils_exports);
18
18
  __reExport(utils_exports, require("./AddressMap.js"), module.exports);
19
19
  __reExport(utils_exports, require("./AddressSet.js"), module.exports);
20
- __reExport(utils_exports, require("./abi-decode.js"), module.exports);
21
20
  __reExport(utils_exports, require("./bytes32ToString.js"), module.exports);
22
21
  __reExport(utils_exports, require("./childLogger.js"), module.exports);
23
22
  __reExport(utils_exports, require("./createRawTx.js"), module.exports);
@@ -36,7 +35,6 @@ __reExport(utils_exports, require("./zod.js"), module.exports);
36
35
  0 && (module.exports = {
37
36
  ...require("./AddressMap.js"),
38
37
  ...require("./AddressSet.js"),
39
- ...require("./abi-decode.js"),
40
38
  ...require("./bytes32ToString.js"),
41
39
  ...require("./childLogger.js"),
42
40
  ...require("./createRawTx.js"),
@@ -5,10 +5,10 @@ import {
5
5
  stringToHex
6
6
  } from "viem";
7
7
  import { getCode, sendTransaction } from "viem/actions";
8
- import { Construct } from "../sdk/index.js";
8
+ import { SDKConstruct } from "../sdk/index.js";
9
9
  const PUBLIC_CREATE2_FACTORY = "0x4e59b44847b379578588920ca78fbf26c0b4956c";
10
10
  const DEFAULT_CREATE2_SALT = "GEARBOX";
11
- class Create2Deployer extends Construct {
11
+ class Create2Deployer extends SDKConstruct {
12
12
  #walletClient;
13
13
  #logger;
14
14
  constructor(sdk, walletClient) {
@@ -1,14 +1,18 @@
1
1
  import { parseEther } from "viem";
2
2
  import { ierc20Abi } from "../../abi/iERC20.js";
3
- import { SDKConstruct } from "../../sdk/index.js";
3
+ import {
4
+ SDKConstruct
5
+ } from "../../sdk/index.js";
4
6
  import { iOwnableAbi } from "../abi.js";
5
7
  class AbstractMinter extends SDKConstruct {
6
8
  anvil;
9
+ logger;
7
10
  name;
8
- constructor(sdk, anvil) {
11
+ constructor(sdk, anvil, name = "Minter") {
9
12
  super(sdk);
10
13
  this.anvil = anvil;
11
- this.name = this.constructor.name;
14
+ this.name = name;
15
+ this.logger = sdk.logger?.child?.({ name }) ?? sdk.logger;
12
16
  }
13
17
  async tryMint(token, dest, amount) {
14
18
  const amnt = this.fmt(token, amount);
@@ -1,5 +1,8 @@
1
1
  import AbstractMinter from "./AbstractMinter.js";
2
2
  class DealMinter extends AbstractMinter {
3
+ constructor(sdk, anvil) {
4
+ super(sdk, anvil, "DealMinter");
5
+ }
3
6
  async mint(token, dest, amount) {
4
7
  const { deal } = await import("viem-deal").catch(() => ({ deal: null }));
5
8
  if (!deal) {
@@ -1,6 +1,9 @@
1
1
  import { parseAbi } from "viem";
2
2
  import AbstractMinter from "./AbstractMinter.js";
3
3
  class DirectMinter extends AbstractMinter {
4
+ constructor(sdk, anvil) {
5
+ super(sdk, anvil, "DirectMinter");
6
+ }
4
7
  async mint(token, dest, amount) {
5
8
  const owner = await this.getOwner(token);
6
9
  const stopImpersonating = await this.impersonateWithBalance(owner);
@@ -2,7 +2,7 @@ import AbstractMinter from "./AbstractMinter.js";
2
2
  class FallbackMinter extends AbstractMinter {
3
3
  #minters;
4
4
  constructor(sdk, anvil, minters) {
5
- super(sdk, anvil);
5
+ super(sdk, anvil, "FallbackMinter");
6
6
  this.#minters = minters;
7
7
  }
8
8
  async mint(token, dest, amount) {
@@ -2,6 +2,9 @@ import { parseAbi } from "viem";
2
2
  import { ierc20Abi } from "../../abi/iERC20.js";
3
3
  import AbstractMinter from "./AbstractMinter.js";
4
4
  class TransferMinter extends AbstractMinter {
5
+ constructor(sdk, anvil) {
6
+ super(sdk, anvil, "TransferMinter");
7
+ }
5
8
  async mint(token, dest, amount) {
6
9
  const owner = await this.getOwner(token);
7
10
  const stopImpersonating = await this.impersonateWithBalance(owner);
@@ -1,10 +1,10 @@
1
- import {
2
- stringToHex
3
- } from "viem";
4
- import { AddressProviderV310Contract } from "../../sdk/index.js";
5
- class AddressProviderContract extends AddressProviderV310Contract {
6
- constructor(addr, client) {
7
- super({ client }, addr);
1
+ import { stringToHex } from "viem";
2
+ import { iAddressProviderV310Abi } from "../../abi/310/generated.js";
3
+ import { BaseContract } from "./base-contract.js";
4
+ const abi = iAddressProviderV310Abi;
5
+ class AddressProviderContract extends BaseContract {
6
+ constructor(address, client) {
7
+ super(abi, address, client, "AddressProvider");
8
8
  }
9
9
  async getAddressOrRevert(key, version = 0n) {
10
10
  return await this.contract.read.getAddressOrRevert([