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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. package/dist/cjs/dev/create2.js +1 -1
  2. package/dist/cjs/dev/mint/AbstractMinter.js +4 -2
  3. package/dist/cjs/dev/mint/DealMinter.js +3 -0
  4. package/dist/cjs/dev/mint/DirectMinter.js +3 -0
  5. package/dist/cjs/dev/mint/FallbackMinter.js +1 -1
  6. package/dist/cjs/dev/mint/TransferMinter.js +3 -0
  7. package/dist/cjs/permissionless/bindings/address-provider.js +6 -4
  8. package/dist/cjs/permissionless/bindings/base-contract.js +173 -0
  9. package/dist/cjs/permissionless/bindings/bytecode-repository.js +25 -23
  10. package/dist/cjs/permissionless/bindings/compressors/token-compressor.js +4 -4
  11. package/dist/cjs/permissionless/bindings/compressors/withdrawal-compressor.js +17 -11
  12. package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +22 -23
  13. package/dist/cjs/permissionless/bindings/factory/abstract-factory.js +4 -7
  14. package/dist/cjs/permissionless/bindings/governance/batches-chain.js +4 -4
  15. package/dist/cjs/permissionless/bindings/governance/governor.js +49 -30
  16. package/dist/cjs/permissionless/bindings/governance/timelock.js +4 -4
  17. package/dist/cjs/permissionless/bindings/index.js +2 -0
  18. package/dist/cjs/permissionless/bindings/instance-manager.js +77 -58
  19. package/dist/cjs/permissionless/bindings/market-configurator-factory.js +4 -4
  20. package/dist/cjs/permissionless/bindings/market-configurator.js +143 -71
  21. package/dist/cjs/permissionless/bindings/price-feed-store.js +17 -8
  22. package/dist/cjs/permissionless/bindings/router/routing-manager.js +15 -9
  23. package/dist/cjs/permissionless/bindings/treasury-splitter.js +23 -14
  24. package/dist/cjs/permissionless/core/raw-tx.js +2 -2
  25. package/dist/cjs/permissionless/utils/abi-decoder.js +72 -0
  26. package/dist/cjs/permissionless/utils/format.js +2 -2
  27. package/dist/cjs/permissionless/utils/governance/timelock-txs.js +2 -2
  28. package/dist/cjs/permissionless/utils/index.js +2 -0
  29. package/dist/cjs/permissionless/utils/price-update/get-price-feeds.js +2 -1
  30. package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +2 -1
  31. package/dist/cjs/permissionless/utils/price-update/get-prices.js +2 -1
  32. package/dist/cjs/permissionless/utils/price-update/get-updatable-feeds.js +3 -2
  33. package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +2 -1
  34. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  35. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  36. package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  37. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  38. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  39. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  40. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  41. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  42. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  43. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  44. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  45. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  46. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  47. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  48. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  49. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  50. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  51. package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  52. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  53. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  54. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  55. package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  56. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  57. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  58. package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  59. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  60. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  61. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  62. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  63. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  64. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  65. package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  66. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  67. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  68. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  69. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  70. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  71. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  72. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  73. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  74. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  75. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  76. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  77. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  78. package/dist/cjs/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  79. package/dist/cjs/plugins/bots/BotsPlugin.js +8 -21
  80. package/dist/cjs/plugins/bots/PartialLiquidationBotBaseContract.js +22 -17
  81. package/dist/cjs/plugins/bots/PartialLiquidationBotV300Contract.js +20 -4
  82. package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +78 -3
  83. package/dist/cjs/plugins/zappers/ZappersPlugin.js +1 -1
  84. package/dist/cjs/sdk/GearboxSDK.js +110 -8
  85. package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +4 -1
  86. package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +12 -8
  87. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +10 -8
  88. package/dist/cjs/sdk/base/AddressLabeller.js +49 -0
  89. package/dist/cjs/sdk/base/BaseContract.js +80 -195
  90. package/dist/cjs/sdk/base/IAddressLabeller.js +16 -0
  91. package/dist/cjs/sdk/base/SDKConstruct.js +29 -3
  92. package/dist/cjs/sdk/base/TokensMeta.js +4 -4
  93. package/dist/cjs/sdk/base/index.js +2 -4
  94. package/dist/cjs/sdk/core/BotListV3Contract.js +2 -2
  95. package/dist/cjs/sdk/core/GearStakingV3Contract.js +2 -2
  96. package/dist/cjs/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  97. package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +6 -11
  98. package/dist/cjs/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  99. package/dist/cjs/sdk/market/MarketConfiguratorContract.js +5 -5
  100. package/dist/cjs/sdk/market/MarketRegister.js +9 -7
  101. package/dist/cjs/sdk/market/MarketSuite.js +2 -2
  102. package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +3 -4
  103. package/dist/cjs/sdk/market/credit/CreditConfiguratorV310Contract.js +3 -4
  104. package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  105. package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  106. package/dist/cjs/sdk/market/credit/CreditManagerV300Contract.js +2 -5
  107. package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +2 -5
  108. package/dist/cjs/sdk/market/credit/CreditSuite.js +3 -2
  109. package/dist/cjs/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +1 -3
  110. package/dist/cjs/sdk/market/loss-policy/LossPolicyContract.js +2 -2
  111. package/dist/cjs/sdk/market/loss-policy/createLossPolicy.js +1 -1
  112. package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +26 -8
  113. package/dist/cjs/sdk/market/oracle/createPriceOracle.js +1 -1
  114. package/dist/cjs/sdk/market/pool/GaugeContract.js +2 -2
  115. package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  116. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  117. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  118. package/dist/cjs/sdk/market/pool/PoolSuite.js +1 -1
  119. package/dist/cjs/sdk/market/pool/PoolV300Contract.js +5 -5
  120. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +5 -5
  121. package/dist/cjs/sdk/market/pool/TumblerContract.js +2 -2
  122. package/dist/cjs/sdk/market/pool/createInterestRateModel.js +15 -11
  123. package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +22 -2
  124. package/dist/cjs/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  125. package/dist/cjs/sdk/market/pricefeeds/BalancerStablePriceFeed.js +9 -2
  126. package/dist/cjs/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +9 -2
  127. package/dist/cjs/sdk/market/pricefeeds/BoundedPriceFeed.js +2 -6
  128. package/dist/cjs/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  129. package/dist/cjs/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  130. package/dist/cjs/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +9 -2
  131. package/dist/cjs/sdk/market/pricefeeds/CurveStablePriceFeed.js +9 -2
  132. package/dist/cjs/sdk/market/pricefeeds/CurveUSDPriceFeed.js +9 -2
  133. package/dist/cjs/sdk/market/pricefeeds/Erc4626PriceFeed.js +18 -2
  134. package/dist/cjs/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  135. package/dist/cjs/sdk/market/pricefeeds/MellowLRTPriceFeed.js +10 -2
  136. package/dist/cjs/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  137. package/dist/cjs/sdk/market/pricefeeds/PriceFeedRef.js +4 -6
  138. package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +2 -0
  139. package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  140. package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  141. package/dist/cjs/sdk/market/pricefeeds/WstETHPriceFeed.js +9 -2
  142. package/dist/cjs/sdk/market/pricefeeds/YearnPriceFeed.js +9 -2
  143. package/dist/cjs/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  144. package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +8 -6
  145. package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +11 -9
  146. package/dist/cjs/sdk/router/AbstractRouterContract.js +114 -12
  147. package/dist/cjs/sdk/router/RouterV300Contract.js +9 -10
  148. package/dist/cjs/sdk/router/RouterV310Contract.js +10 -10
  149. package/dist/cjs/sdk/router/createRouter.js +0 -4
  150. package/dist/cjs/sdk/utils/index.js +0 -2
  151. package/dist/esm/dev/create2.js +2 -2
  152. package/dist/esm/dev/mint/AbstractMinter.js +7 -3
  153. package/dist/esm/dev/mint/DealMinter.js +3 -0
  154. package/dist/esm/dev/mint/DirectMinter.js +3 -0
  155. package/dist/esm/dev/mint/FallbackMinter.js +1 -1
  156. package/dist/esm/dev/mint/TransferMinter.js +3 -0
  157. package/dist/esm/permissionless/bindings/address-provider.js +7 -7
  158. package/dist/esm/permissionless/bindings/base-contract.js +151 -0
  159. package/dist/esm/permissionless/bindings/bytecode-repository.js +24 -22
  160. package/dist/esm/permissionless/bindings/compressors/token-compressor.js +3 -3
  161. package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +16 -10
  162. package/dist/esm/permissionless/bindings/cross-chain-multisig.js +16 -20
  163. package/dist/esm/permissionless/bindings/factory/abstract-factory.js +4 -9
  164. package/dist/esm/permissionless/bindings/governance/batches-chain.js +3 -3
  165. package/dist/esm/permissionless/bindings/governance/governor.js +47 -28
  166. package/dist/esm/permissionless/bindings/governance/timelock.js +3 -3
  167. package/dist/esm/permissionless/bindings/index.js +1 -0
  168. package/dist/esm/permissionless/bindings/instance-manager.js +69 -53
  169. package/dist/esm/permissionless/bindings/market-configurator-factory.js +3 -3
  170. package/dist/esm/permissionless/bindings/market-configurator.js +137 -65
  171. package/dist/esm/permissionless/bindings/price-feed-store.js +14 -8
  172. package/dist/esm/permissionless/bindings/router/routing-manager.js +14 -8
  173. package/dist/esm/permissionless/bindings/treasury-splitter.js +22 -15
  174. package/dist/esm/permissionless/core/raw-tx.js +1 -1
  175. package/dist/esm/permissionless/utils/abi-decoder.js +50 -0
  176. package/dist/esm/permissionless/utils/format.js +1 -1
  177. package/dist/esm/permissionless/utils/governance/timelock-txs.js +1 -1
  178. package/dist/esm/permissionless/utils/index.js +1 -0
  179. package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +2 -4
  180. package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +1 -1
  181. package/dist/esm/permissionless/utils/price-update/get-prices.js +2 -1
  182. package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +1 -1
  183. package/dist/esm/plugins/adapters/abi/conctructorAbi.js +2 -1
  184. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  185. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  186. package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  187. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  188. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  189. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  190. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  191. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  192. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  193. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  194. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  195. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  196. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  197. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  198. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  199. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  200. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  201. package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  202. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  203. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  204. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  205. package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  206. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  207. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  208. package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  209. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  210. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  211. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  212. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  213. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  214. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  215. package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  216. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  217. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  218. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  219. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  220. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  221. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  222. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  223. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  224. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  225. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  226. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  227. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  228. package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  229. package/dist/esm/plugins/bots/BotsPlugin.js +8 -11
  230. package/dist/esm/plugins/bots/PartialLiquidationBotBaseContract.js +22 -7
  231. package/dist/esm/plugins/bots/PartialLiquidationBotV300Contract.js +20 -4
  232. package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +78 -3
  233. package/dist/esm/plugins/zappers/ZappersPlugin.js +1 -1
  234. package/dist/esm/sdk/GearboxSDK.js +112 -10
  235. package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +4 -1
  236. package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +13 -9
  237. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +10 -8
  238. package/dist/esm/sdk/base/AddressLabeller.js +25 -0
  239. package/dist/esm/sdk/base/BaseContract.js +81 -202
  240. package/dist/esm/sdk/base/IAddressLabeller.js +0 -0
  241. package/dist/esm/sdk/base/SDKConstruct.js +29 -3
  242. package/dist/esm/sdk/base/TokensMeta.js +4 -4
  243. package/dist/esm/sdk/base/index.js +1 -2
  244. package/dist/esm/sdk/core/BotListV3Contract.js +2 -2
  245. package/dist/esm/sdk/core/GearStakingV3Contract.js +2 -2
  246. package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  247. package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +6 -11
  248. package/dist/esm/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  249. package/dist/esm/sdk/market/MarketConfiguratorContract.js +5 -5
  250. package/dist/esm/sdk/market/MarketRegister.js +10 -8
  251. package/dist/esm/sdk/market/MarketSuite.js +2 -2
  252. package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +3 -4
  253. package/dist/esm/sdk/market/credit/CreditConfiguratorV310Contract.js +3 -4
  254. package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  255. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  256. package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +2 -5
  257. package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +2 -5
  258. package/dist/esm/sdk/market/credit/CreditSuite.js +3 -2
  259. package/dist/esm/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +1 -3
  260. package/dist/esm/sdk/market/loss-policy/LossPolicyContract.js +3 -5
  261. package/dist/esm/sdk/market/loss-policy/createLossPolicy.js +1 -1
  262. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +26 -8
  263. package/dist/esm/sdk/market/oracle/createPriceOracle.js +1 -1
  264. package/dist/esm/sdk/market/pool/GaugeContract.js +2 -2
  265. package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  266. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  267. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  268. package/dist/esm/sdk/market/pool/PoolSuite.js +1 -1
  269. package/dist/esm/sdk/market/pool/PoolV300Contract.js +5 -5
  270. package/dist/esm/sdk/market/pool/PoolV310Contract.js +5 -5
  271. package/dist/esm/sdk/market/pool/TumblerContract.js +2 -2
  272. package/dist/esm/sdk/market/pool/createInterestRateModel.js +15 -11
  273. package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +22 -2
  274. package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  275. package/dist/esm/sdk/market/pricefeeds/BalancerStablePriceFeed.js +13 -3
  276. package/dist/esm/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +13 -3
  277. package/dist/esm/sdk/market/pricefeeds/BoundedPriceFeed.js +2 -6
  278. package/dist/esm/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  279. package/dist/esm/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  280. package/dist/esm/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +10 -3
  281. package/dist/esm/sdk/market/pricefeeds/CurveStablePriceFeed.js +10 -3
  282. package/dist/esm/sdk/market/pricefeeds/CurveUSDPriceFeed.js +10 -3
  283. package/dist/esm/sdk/market/pricefeeds/Erc4626PriceFeed.js +18 -2
  284. package/dist/esm/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  285. package/dist/esm/sdk/market/pricefeeds/MellowLRTPriceFeed.js +11 -3
  286. package/dist/esm/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  287. package/dist/esm/sdk/market/pricefeeds/PriceFeedRef.js +5 -7
  288. package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +8 -1
  289. package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  290. package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  291. package/dist/esm/sdk/market/pricefeeds/WstETHPriceFeed.js +10 -3
  292. package/dist/esm/sdk/market/pricefeeds/YearnPriceFeed.js +10 -3
  293. package/dist/esm/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  294. package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +9 -7
  295. package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +12 -10
  296. package/dist/esm/sdk/router/AbstractRouterContract.js +115 -13
  297. package/dist/esm/sdk/router/RouterV300Contract.js +9 -10
  298. package/dist/esm/sdk/router/RouterV310Contract.js +10 -10
  299. package/dist/esm/sdk/router/createRouter.js +0 -4
  300. package/dist/esm/sdk/utils/index.js +0 -1
  301. package/dist/types/dev/create2.d.ts +2 -2
  302. package/dist/types/dev/mint/AbstractMinter.d.ts +4 -3
  303. package/dist/types/dev/mint/DealMinter.d.ts +3 -0
  304. package/dist/types/dev/mint/DirectMinter.d.ts +3 -0
  305. package/dist/types/dev/mint/TransferMinter.d.ts +3 -0
  306. package/dist/types/permissionless/bindings/address-provider.d.ts +255 -4
  307. package/dist/types/permissionless/bindings/base-contract.d.ts +23 -0
  308. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +6 -5
  309. package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +3 -3
  310. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +5 -4
  311. package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +7 -7
  312. package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +1 -1
  313. package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +4 -3
  314. package/dist/types/permissionless/bindings/governance/governor.d.ts +7 -6
  315. package/dist/types/permissionless/bindings/governance/timelock.d.ts +3 -3
  316. package/dist/types/permissionless/bindings/governance/types.d.ts +1 -1
  317. package/dist/types/permissionless/bindings/index.d.ts +1 -0
  318. package/dist/types/permissionless/bindings/instance-manager.d.ts +7 -6
  319. package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +4 -4
  320. package/dist/types/permissionless/bindings/market-configurator.d.ts +6 -6
  321. package/dist/types/permissionless/bindings/price-feed-store.d.ts +7 -6
  322. package/dist/types/permissionless/bindings/router/routing-manager.d.ts +5 -4
  323. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +6 -5
  324. package/dist/types/permissionless/core/proposal.d.ts +7 -1
  325. package/dist/types/permissionless/utils/abi-decoder.d.ts +13 -0
  326. package/dist/types/permissionless/utils/create2.d.ts +1 -1
  327. package/dist/types/permissionless/utils/governance/batch.d.ts +1 -1
  328. package/dist/types/permissionless/utils/index.d.ts +1 -0
  329. package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +3 -3
  330. package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +2 -2
  331. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +2 -2
  332. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  333. package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +2 -2
  334. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +2 -2
  335. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +2 -2
  336. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +2 -2
  337. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +2 -2
  338. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +2 -2
  339. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +2 -2
  340. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +2 -2
  341. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +2 -2
  342. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
  343. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
  344. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +2 -2
  345. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +2 -2
  346. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +2 -2
  347. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +2 -2
  348. package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +2 -2
  349. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +2 -2
  350. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +2 -2
  351. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +2 -2
  352. package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +2 -2
  353. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +2 -2
  354. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +2 -2
  355. package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +2 -2
  356. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +2 -2
  357. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +2 -2
  358. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +2 -2
  359. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +2 -2
  360. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +2 -2
  361. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +2 -2
  362. package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +2 -2
  363. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +2 -2
  364. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +2 -2
  365. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +2 -2
  366. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +2 -2
  367. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +2 -2
  368. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +2 -2
  369. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -3
  370. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -3
  371. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +2 -2
  372. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +2 -2
  373. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +2 -2
  374. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +2 -2
  375. package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +2 -2
  376. package/dist/types/plugins/bots/PartialLiquidationBotV300Contract.d.ts +8 -2
  377. package/dist/types/plugins/delayed-withdrawal/types.d.ts +1 -0
  378. package/dist/types/sdk/GearboxSDK.d.ts +76 -5
  379. package/dist/types/sdk/accountMigration/types.d.ts +2 -1
  380. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +2 -2
  381. package/dist/types/sdk/accounts/types.d.ts +23 -7
  382. package/dist/types/sdk/base/AddressLabeller.d.ts +11 -0
  383. package/dist/types/sdk/base/BaseContract.d.ts +28 -72
  384. package/dist/types/sdk/base/IAddressLabeller.d.ts +9 -0
  385. package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
  386. package/dist/types/sdk/base/SDKConstruct.d.ts +16 -2
  387. package/dist/types/sdk/base/TokensMeta.d.ts +3 -2
  388. package/dist/types/sdk/base/index.d.ts +1 -2
  389. package/dist/types/sdk/base/types.d.ts +0 -50
  390. package/dist/types/sdk/core/BotListV3Contract.d.ts +1 -1
  391. package/dist/types/sdk/core/GearStakingV3Contract.d.ts +1 -1
  392. package/dist/types/sdk/core/address-provider/AbstractAddressProviderContract.d.ts +4 -3
  393. package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +3 -3
  394. package/dist/types/sdk/core/address-provider/AddressProviderV310Contract.d.ts +3 -3
  395. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +2 -2
  396. package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +3 -3
  397. package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +3 -3
  398. package/dist/types/sdk/market/credit/CreditFacadeV300Contract.d.ts +4 -3
  399. package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +4 -3
  400. package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +1 -1
  401. package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +1 -1
  402. package/dist/types/sdk/market/credit/CreditSuite.d.ts +1 -1
  403. package/dist/types/sdk/market/credit/types.d.ts +2 -1
  404. package/dist/types/sdk/market/loss-policy/AliasLossPolicyV310Contract.d.ts +0 -1
  405. package/dist/types/sdk/market/loss-policy/LossPolicyContract.d.ts +3 -2
  406. package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +12 -3
  407. package/dist/types/sdk/market/oracle/types.d.ts +10 -0
  408. package/dist/types/sdk/market/pool/GaugeContract.d.ts +3 -2
  409. package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +3 -2
  410. package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +3 -2
  411. package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +3 -2
  412. package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +5 -4
  413. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +5 -4
  414. package/dist/types/sdk/market/pool/TumblerContract.d.ts +3 -2
  415. package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +8 -3
  416. package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +3 -2
  417. package/dist/types/sdk/market/pricefeeds/BalancerStablePriceFeed.d.ts +3 -2
  418. package/dist/types/sdk/market/pricefeeds/BalancerWeightedPriceFeed.d.ts +3 -2
  419. package/dist/types/sdk/market/pricefeeds/BoundedPriceFeed.d.ts +2 -2
  420. package/dist/types/sdk/market/pricefeeds/CompositePriceFeed.d.ts +2 -2
  421. package/dist/types/sdk/market/pricefeeds/ConstantPriceFeed.d.ts +2 -2
  422. package/dist/types/sdk/market/pricefeeds/CurveCryptoPriceFeed.d.ts +3 -2
  423. package/dist/types/sdk/market/pricefeeds/CurveStablePriceFeed.d.ts +3 -2
  424. package/dist/types/sdk/market/pricefeeds/CurveUSDPriceFeed.d.ts +3 -2
  425. package/dist/types/sdk/market/pricefeeds/Erc4626PriceFeed.d.ts +3 -2
  426. package/dist/types/sdk/market/pricefeeds/ExternalPriceFeed.d.ts +2 -2
  427. package/dist/types/sdk/market/pricefeeds/MellowLRTPriceFeed.d.ts +3 -2
  428. package/dist/types/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.d.ts +2 -2
  429. package/dist/types/sdk/market/pricefeeds/PriceFeedRef.d.ts +4 -3
  430. package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +2 -1
  431. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +2 -2
  432. package/dist/types/sdk/market/pricefeeds/RedstonePriceFeed.d.ts +2 -2
  433. package/dist/types/sdk/market/pricefeeds/WstETHPriceFeed.d.ts +3 -2
  434. package/dist/types/sdk/market/pricefeeds/YearnPriceFeed.d.ts +3 -2
  435. package/dist/types/sdk/market/pricefeeds/ZeroPriceFeed.d.ts +2 -2
  436. package/dist/types/sdk/market/pricefeeds/types.d.ts +5 -0
  437. package/dist/types/sdk/router/AbstractRouterContract.d.ts +15 -8
  438. package/dist/types/sdk/router/RouterV300Contract.d.ts +3 -4
  439. package/dist/types/sdk/router/RouterV310Contract.d.ts +2 -3
  440. package/dist/types/sdk/router/types.d.ts +14 -5
  441. package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +2 -2
  442. package/dist/types/sdk/utils/index.d.ts +0 -1
  443. package/package.json +1 -1
  444. package/dist/cjs/plugins/bots/deserializePartialLiquidationBotParams.js +0 -49
  445. package/dist/cjs/sdk/base/ChainContractsRegister.js +0 -135
  446. package/dist/cjs/sdk/base/Construct.js +0 -87
  447. package/dist/cjs/sdk/utils/abi-decode.js +0 -58
  448. package/dist/esm/plugins/bots/deserializePartialLiquidationBotParams.js +0 -29
  449. package/dist/esm/sdk/base/ChainContractsRegister.js +0 -111
  450. package/dist/esm/sdk/base/Construct.js +0 -63
  451. package/dist/esm/sdk/utils/abi-decode.js +0 -37
  452. package/dist/types/plugins/bots/deserializePartialLiquidationBotParams.d.ts +0 -3
  453. package/dist/types/sdk/base/ChainContractsRegister.d.ts +0 -57
  454. package/dist/types/sdk/base/Construct.d.ts +0 -38
  455. package/dist/types/sdk/utils/abi-decode.d.ts +0 -10
@@ -1,18 +1,18 @@
1
1
  import { BaseContract } from "../base/index.js";
2
- import { AddressMap, isDust } from "../utils/index.js";
2
+ import { PERCENTAGE_FACTOR } from "../constants/math.js";
3
+ import { AddressMap, AddressSet, formatBN, isDust } from "../utils/index.js";
3
4
  import { Hooks } from "../utils/internal/index.js";
4
5
  import { limitLeftover } from "./helpers.js";
5
6
  class AbstractRouterContract extends BaseContract {
6
7
  hooks = new Hooks();
7
8
  addHook = this.hooks.addHook.bind(this.hooks);
8
9
  removeHook = this.hooks.removeHook.bind(this.hooks);
9
- sdk;
10
- constructor(sdk, args) {
11
- super(sdk, args);
12
- this.sdk = sdk;
13
- }
14
- getExpectedAndLeftover(ca, cm, balances, keepAssets) {
15
- const b = balances || this.getDefaultExpectedAndLeftover(ca, keepAssets);
10
+ getExpectedAndLeftover(ca, cm, options = {}) {
11
+ const b = options.balances ? options.balances : this.getDefaultExpectedAndLeftover(
12
+ ca,
13
+ options.keepAssets,
14
+ options.debtOnly
15
+ );
16
16
  const { leftoverBalances, expectedBalances, tokensToClaim } = b;
17
17
  const expected = new AddressMap();
18
18
  const leftover = new AddressMap();
@@ -30,15 +30,22 @@ class AbstractRouterContract extends BaseContract {
30
30
  tokensToClaim
31
31
  };
32
32
  }
33
- getDefaultExpectedAndLeftover(ca, keepAssets) {
33
+ getDefaultExpectedAndLeftover(ca, keepAssets, debtOnly) {
34
34
  const expectedBalances = new AddressMap();
35
35
  const leftoverBalances = new AddressMap();
36
- const keepAssetsSet = new Set(keepAssets?.map((a) => a.toLowerCase()));
37
- for (const { token: t, balance, mask } of ca.tokens) {
38
- const token = t;
36
+ const keepAssetsSet = new AddressSet(keepAssets);
37
+ if (debtOnly) {
38
+ const result = this.getLeftoversAfterBuyingDebt(ca, keepAssetsSet);
39
+ if (result) {
40
+ return result;
41
+ } else {
42
+ this.logger?.warn("no token found to cover debt");
43
+ }
44
+ }
45
+ for (const { token, balance, mask } of ca.tokens) {
39
46
  const isEnabled = (mask & ca.enabledTokensMask) !== 0n;
40
47
  expectedBalances.upsert(token, { token, balance });
41
- if (keepAssetsSet.has(token.toLowerCase()) || !isEnabled || isDust({
48
+ if (keepAssetsSet.has(token) || !isEnabled || isDust({
42
49
  sdk: this.sdk,
43
50
  token,
44
51
  balance,
@@ -56,6 +63,101 @@ class AbstractRouterContract extends BaseContract {
56
63
  tokensToClaim: new AddressMap()
57
64
  };
58
65
  }
66
+ /**
67
+ * Tries to sell just enought of most valuable token to cover debt
68
+ * @param ca
69
+ * @param keepAssets
70
+ * @returns
71
+ */
72
+ getLeftoversAfterBuyingDebt(ca, keepAssets) {
73
+ const { priceOracle } = this.sdk.marketRegister.findByCreditManager(
74
+ ca.creditManager
75
+ );
76
+ const expectedBalances = new AddressMap();
77
+ const leftoverBalances = new AddressMap();
78
+ const usdBalances = [];
79
+ for (const { token, balance, mask } of ca.tokens) {
80
+ const isEnabled = (mask & ca.enabledTokensMask) !== 0n;
81
+ expectedBalances.upsert(token, { token, balance });
82
+ leftoverBalances.upsert(token, {
83
+ token,
84
+ balance: limitLeftover(balance, token) ?? balance
85
+ });
86
+ if (isEnabled && !keepAssets.has(token)) {
87
+ usdBalances.push({
88
+ token,
89
+ balance: this.safeConvertToUSD(priceOracle, token, balance)
90
+ });
91
+ }
92
+ }
93
+ usdBalances.sort((a, b) => {
94
+ if (a.balance > b.balance) return -1;
95
+ if (a.balance < b.balance) return 1;
96
+ return 0;
97
+ });
98
+ if (usdBalances.length === 0) {
99
+ return void 0;
100
+ }
101
+ const highestToken = usdBalances[0];
102
+ const lt = this.sdk.marketRegister.findCreditManager(ca.creditManager).creditManager.liquidationThresholds.mustGet(highestToken.token);
103
+ const requiredDebtUSD = ca.totalDebtUSD * PERCENTAGE_FACTOR / BigInt(lt);
104
+ if (highestToken.balance < requiredDebtUSD) {
105
+ return void 0;
106
+ }
107
+ const tokenAmount = this.safeConvertFromUSD(
108
+ priceOracle,
109
+ highestToken.token,
110
+ requiredDebtUSD
111
+ );
112
+ if (tokenAmount === 0n) {
113
+ return void 0;
114
+ }
115
+ let leftoverBalance = leftoverBalances.get(highestToken.token)?.balance ?? 0n;
116
+ leftoverBalance -= tokenAmount;
117
+ if (leftoverBalance < 0n) {
118
+ return void 0;
119
+ }
120
+ leftoverBalances.upsert(highestToken.token, {
121
+ token: highestToken.token,
122
+ balance: leftoverBalance
123
+ });
124
+ const tokenAmountStr = this.sdk.tokensMeta.formatBN(
125
+ highestToken.token,
126
+ tokenAmount,
127
+ { symbol: true }
128
+ );
129
+ const totalDebtUSDStr = formatBN(ca.totalDebtUSD, 8);
130
+ this.logger?.debug(
131
+ `will sell ${tokenAmountStr} (LT=${lt}) to cover debt of ${totalDebtUSDStr} USD`
132
+ );
133
+ return {
134
+ expectedBalances,
135
+ leftoverBalances,
136
+ tokensToClaim: new AddressMap()
137
+ };
138
+ }
139
+ safeConvertToUSD(priceOracle, token, balance) {
140
+ try {
141
+ return priceOracle.convertToUSD(token, balance);
142
+ } catch {
143
+ try {
144
+ return priceOracle.convertToUSD(token, balance, true);
145
+ } catch {
146
+ return 0n;
147
+ }
148
+ }
149
+ }
150
+ safeConvertFromUSD(priceOracle, token, balance) {
151
+ try {
152
+ return priceOracle.convertFromUSD(token, balance);
153
+ } catch {
154
+ try {
155
+ return priceOracle.convertFromUSD(token, balance, true);
156
+ } catch {
157
+ return 0n;
158
+ }
159
+ }
160
+ }
59
161
  }
60
162
  export {
61
163
  AbstractRouterContract
@@ -179,22 +179,22 @@ class RouterV300Contract extends AbstractRouterContract {
179
179
  creditAccount: ca,
180
180
  creditManager: cm,
181
181
  slippage,
182
- balances
182
+ balances,
183
+ debtOnly
183
184
  }) {
184
185
  const {
185
186
  pathOptions,
186
187
  expected,
187
188
  leftover: leftoverUnsafe,
188
189
  connectors
189
- } = this.getFindClosePathInput(
190
- ca,
191
- cm,
192
- balances ? {
190
+ } = this.getFindClosePathInput(ca, cm, {
191
+ balances: balances ? {
193
192
  expectedBalances: assetsMap(balances.expectedBalances),
194
193
  leftoverBalances: assetsMap(balances.leftoverBalances),
195
194
  tokensToClaim: assetsMap(balances.tokensToClaim || [])
196
- } : void 0
197
- );
195
+ } : void 0,
196
+ debtOnly
197
+ });
198
198
  const leftover = leftoverUnsafe.map((a) => ({
199
199
  ...a,
200
200
  balance: limitLeftover(a.balance, a.token) ?? 0n
@@ -254,12 +254,11 @@ class RouterV300Contract extends AbstractRouterContract {
254
254
  /**
255
255
  * Implements {@link IRouterContract.getFindClosePathInput}
256
256
  */
257
- getFindClosePathInput(ca, cm, balances, keepAssets) {
257
+ getFindClosePathInput(ca, cm, options) {
258
258
  const { expectedBalances, leftoverBalances } = this.getExpectedAndLeftover(
259
259
  ca,
260
260
  cm,
261
- balances,
262
- keepAssets
261
+ options
263
262
  );
264
263
  const leftover = leftoverBalances.values().map((a) => ({
265
264
  ...a,
@@ -159,18 +159,18 @@ class RouterV310Contract extends AbstractRouterContract {
159
159
  creditManager: cm,
160
160
  slippage,
161
161
  balances,
162
- keepAssets
162
+ keepAssets,
163
+ debtOnly
163
164
  } = props;
164
- const { expectedBalances, leftoverBalances, tokensToClaim } = this.getExpectedAndLeftover(
165
- ca,
166
- cm,
167
- balances ? {
165
+ const { expectedBalances, leftoverBalances, tokensToClaim } = this.getExpectedAndLeftover(ca, cm, {
166
+ balances: balances ? {
168
167
  expectedBalances: assetsMap(balances.expectedBalances),
169
168
  leftoverBalances: assetsMap(balances.leftoverBalances),
170
169
  tokensToClaim: assetsMap(balances.tokensToClaim || [])
171
170
  } : void 0,
172
- keepAssets
173
- );
171
+ keepAssets: balances ? void 0 : keepAssets,
172
+ debtOnly
173
+ });
174
174
  const getNumSplits = this.#numSplitsGetter(cm, expectedBalances.values());
175
175
  const tData = [];
176
176
  for (const token of cm.collateralTokens) {
@@ -276,15 +276,15 @@ class RouterV310Contract extends AbstractRouterContract {
276
276
  * @returns
277
277
  */
278
278
  #convertToUSDForSort(oracle, token, amount) {
279
- const scale = 10n ** BigInt(this.tokensMeta.get(token)?.decimals ?? 0);
279
+ const scale = 10n ** BigInt(this.sdk.tokensMeta.get(token)?.decimals ?? 0);
280
280
  const price = oracle.mainPrices.get(token)?.price || oracle.reservePrices.get(token)?.price || scale;
281
281
  return amount * price / scale;
282
282
  }
283
283
  #debugTokenData(tData) {
284
284
  return tData.map((t) => ({
285
285
  token: this.labelAddress(t.token),
286
- balance: `${this.tokensMeta.formatBN(t.token, t.balance)} (${t.balance})`,
287
- leftoverBalance: this.tokensMeta.formatBN(t.token, t.leftoverBalance) + ` (${t.leftoverBalance})`,
286
+ balance: `${this.sdk.tokensMeta.formatBN(t.token, t.balance)} (${t.balance})`,
287
+ leftoverBalance: this.sdk.tokensMeta.formatBN(t.token, t.leftoverBalance) + ` (${t.leftoverBalance})`,
288
288
  numSplits: t.numSplits,
289
289
  claimRewards: t.claimRewards
290
290
  }));
@@ -2,10 +2,6 @@ import { isV300, isV310 } from "../constants/index.js";
2
2
  import { RouterV300Contract } from "./RouterV300Contract.js";
3
3
  import { RouterV310Contract } from "./RouterV310Contract.js";
4
4
  function createRouter(sdk, address, version) {
5
- const contract = sdk.getContract(address);
6
- if (contract) {
7
- return contract;
8
- }
9
5
  if (isV300(version)) {
10
6
  return new RouterV300Contract(sdk, address, version);
11
7
  }
@@ -1,6 +1,5 @@
1
1
  export * from "./AddressMap.js";
2
2
  export * from "./AddressSet.js";
3
- export * from "./abi-decode.js";
4
3
  export * from "./bytes32ToString.js";
5
4
  export * from "./childLogger.js";
6
5
  export * from "./createRawTx.js";
@@ -1,7 +1,7 @@
1
1
  import type { Abi } from "abitype";
2
2
  import type { Account, Address, Chain, Client, ContractConstructorArgs, GetChainParameter, Hash, Hex, SendTransactionParameters, SendTransactionReturnType, Transport, UnionEvaluate, UnionOmit, WalletClient } from "viem";
3
3
  import type { GearboxSDK } from "../sdk/index.js";
4
- import { Construct } from "../sdk/index.js";
4
+ import { SDKConstruct } from "../sdk/index.js";
5
5
  export declare const PUBLIC_CREATE2_FACTORY: Address;
6
6
  export declare const DEFAULT_CREATE2_SALT = "GEARBOX";
7
7
  export type Create2Parameters<abi extends Abi | readonly unknown[] = Abi, chain extends Chain = Chain, account extends Account = Account, chainOverride extends Chain | undefined = Chain | undefined, allArgs = ContractConstructorArgs<abi>> = UnionOmit<SendTransactionParameters<chain, account, chainOverride>, "accessList" | "chain" | "to" | "data"> & GetChainParameter<chain, chainOverride> & UnionEvaluate<readonly [] extends allArgs ? {
@@ -24,7 +24,7 @@ export interface EnsureExistsUsingPublicCreate2ReturnType {
24
24
  address: Address;
25
25
  hash?: Hash;
26
26
  }
27
- export declare class Create2Deployer<transport extends Transport = Transport, chain extends Chain = Chain, account extends Account = Account> extends Construct {
27
+ export declare class Create2Deployer<transport extends Transport = Transport, chain extends Chain = Chain, account extends Account = Account> extends SDKConstruct {
28
28
  #private;
29
29
  constructor(sdk: GearboxSDK, walletClient: WalletClient<transport, chain, account>);
30
30
  ensureExists<abi extends Abi | readonly unknown[], chainOverride extends Chain | undefined = Chain | undefined>(parameters: Create2Parameters<abi, chain, account, chainOverride>): Promise<EnsureExistsUsingPublicCreate2ReturnType>;
@@ -1,11 +1,12 @@
1
1
  import { type Address } from "viem";
2
- import { type GearboxSDK, SDKConstruct } from "../../sdk/index.js";
2
+ import { type GearboxSDK, type ILogger, SDKConstruct } from "../../sdk/index.js";
3
3
  import type { AnvilClient } from "../createAnvilClient.js";
4
4
  import type { IMinter } from "./types.js";
5
5
  export default abstract class AbstractMinter extends SDKConstruct implements IMinter {
6
6
  protected readonly anvil: AnvilClient;
7
- name: string;
8
- constructor(sdk: GearboxSDK, anvil: AnvilClient);
7
+ protected readonly logger?: ILogger;
8
+ readonly name: string;
9
+ constructor(sdk: GearboxSDK, anvil: AnvilClient, name?: string);
9
10
  tryMint(token: Address, dest: Address, amount: bigint): Promise<bigint>;
10
11
  abstract mint(token: Address, dest: Address, amount: bigint): Promise<void>;
11
12
  protected getOwner(address: Address): Promise<Address>;
@@ -1,6 +1,9 @@
1
1
  import type { Address } from "viem";
2
+ import type { GearboxSDK } from "../../sdk/index.js";
3
+ import type { AnvilClient } from "../createAnvilClient.js";
2
4
  import AbstractMinter from "./AbstractMinter.js";
3
5
  import type { IMinter } from "./types.js";
4
6
  export declare class DealMinter extends AbstractMinter implements IMinter {
7
+ constructor(sdk: GearboxSDK, anvil: AnvilClient);
5
8
  mint(token: Address, dest: Address, amount: bigint): Promise<void>;
6
9
  }
@@ -1,6 +1,9 @@
1
1
  import { type Address } from "viem";
2
+ import type { GearboxSDK } from "../../sdk/index.js";
3
+ import type { AnvilClient } from "../createAnvilClient.js";
2
4
  import AbstractMinter from "./AbstractMinter.js";
3
5
  import type { IMinter } from "./types.js";
4
6
  export declare class DirectMinter extends AbstractMinter implements IMinter {
7
+ constructor(sdk: GearboxSDK, anvil: AnvilClient);
5
8
  mint(token: Address, dest: Address, amount: bigint): Promise<void>;
6
9
  }
@@ -1,6 +1,9 @@
1
1
  import { type Address } from "viem";
2
+ import type { GearboxSDK } from "../../sdk/index.js";
3
+ import type { AnvilClient } from "../createAnvilClient.js";
2
4
  import AbstractMinter from "./AbstractMinter.js";
3
5
  import type { IMinter } from "./types.js";
4
6
  export declare class TransferMinter extends AbstractMinter implements IMinter {
7
+ constructor(sdk: GearboxSDK, anvil: AnvilClient);
5
8
  mint(token: Address, dest: Address, amount: bigint): Promise<void>;
6
9
  }
@@ -1,8 +1,259 @@
1
- import { type Address, type Chain, type PublicClient, type Transport } from "viem";
2
- import { AddressProviderV310Contract } from "../../sdk/index.js";
3
- export declare class AddressProviderContract extends AddressProviderV310Contract {
4
- constructor(addr: Address, client: PublicClient<Transport, Chain>);
1
+ import { type Address, type PublicClient } from "viem";
2
+ import { BaseContract } from "./base-contract.js";
3
+ declare const abi: readonly [{
4
+ readonly type: "function";
5
+ readonly inputs: readonly [];
6
+ readonly name: "contractType";
7
+ readonly outputs: readonly [{
8
+ readonly name: "";
9
+ readonly internalType: "bytes32";
10
+ readonly type: "bytes32";
11
+ }];
12
+ readonly stateMutability: "view";
13
+ }, {
14
+ readonly type: "function";
15
+ readonly inputs: readonly [{
16
+ readonly name: "key";
17
+ readonly internalType: "bytes32";
18
+ readonly type: "bytes32";
19
+ }, {
20
+ readonly name: "ver";
21
+ readonly internalType: "uint256";
22
+ readonly type: "uint256";
23
+ }];
24
+ readonly name: "getAddress";
25
+ readonly outputs: readonly [{
26
+ readonly name: "";
27
+ readonly internalType: "address";
28
+ readonly type: "address";
29
+ }];
30
+ readonly stateMutability: "view";
31
+ }, {
32
+ readonly type: "function";
33
+ readonly inputs: readonly [{
34
+ readonly name: "key";
35
+ readonly internalType: "bytes32";
36
+ readonly type: "bytes32";
37
+ }, {
38
+ readonly name: "ver";
39
+ readonly internalType: "uint256";
40
+ readonly type: "uint256";
41
+ }];
42
+ readonly name: "getAddressOrRevert";
43
+ readonly outputs: readonly [{
44
+ readonly name: "";
45
+ readonly internalType: "address";
46
+ readonly type: "address";
47
+ }];
48
+ readonly stateMutability: "view";
49
+ }, {
50
+ readonly type: "function";
51
+ readonly inputs: readonly [];
52
+ readonly name: "getAllEntries";
53
+ readonly outputs: readonly [{
54
+ readonly name: "";
55
+ readonly internalType: "struct AddressProviderEntry[]";
56
+ readonly type: "tuple[]";
57
+ readonly components: readonly [{
58
+ readonly name: "key";
59
+ readonly internalType: "bytes32";
60
+ readonly type: "bytes32";
61
+ }, {
62
+ readonly name: "ver";
63
+ readonly internalType: "uint256";
64
+ readonly type: "uint256";
65
+ }, {
66
+ readonly name: "value";
67
+ readonly internalType: "address";
68
+ readonly type: "address";
69
+ }];
70
+ }];
71
+ readonly stateMutability: "view";
72
+ }, {
73
+ readonly type: "function";
74
+ readonly inputs: readonly [];
75
+ readonly name: "getKeys";
76
+ readonly outputs: readonly [{
77
+ readonly name: "";
78
+ readonly internalType: "bytes32[]";
79
+ readonly type: "bytes32[]";
80
+ }];
81
+ readonly stateMutability: "view";
82
+ }, {
83
+ readonly type: "function";
84
+ readonly inputs: readonly [{
85
+ readonly name: "key";
86
+ readonly internalType: "bytes32";
87
+ readonly type: "bytes32";
88
+ }, {
89
+ readonly name: "majorVersion";
90
+ readonly internalType: "uint256";
91
+ readonly type: "uint256";
92
+ }];
93
+ readonly name: "getLatestMinorVersion";
94
+ readonly outputs: readonly [{
95
+ readonly name: "";
96
+ readonly internalType: "uint256";
97
+ readonly type: "uint256";
98
+ }];
99
+ readonly stateMutability: "view";
100
+ }, {
101
+ readonly type: "function";
102
+ readonly inputs: readonly [{
103
+ readonly name: "key";
104
+ readonly internalType: "bytes32";
105
+ readonly type: "bytes32";
106
+ }, {
107
+ readonly name: "minorVersion";
108
+ readonly internalType: "uint256";
109
+ readonly type: "uint256";
110
+ }];
111
+ readonly name: "getLatestPatchVersion";
112
+ readonly outputs: readonly [{
113
+ readonly name: "";
114
+ readonly internalType: "uint256";
115
+ readonly type: "uint256";
116
+ }];
117
+ readonly stateMutability: "view";
118
+ }, {
119
+ readonly type: "function";
120
+ readonly inputs: readonly [{
121
+ readonly name: "key";
122
+ readonly internalType: "bytes32";
123
+ readonly type: "bytes32";
124
+ }];
125
+ readonly name: "getLatestVersion";
126
+ readonly outputs: readonly [{
127
+ readonly name: "";
128
+ readonly internalType: "uint256";
129
+ readonly type: "uint256";
130
+ }];
131
+ readonly stateMutability: "view";
132
+ }, {
133
+ readonly type: "function";
134
+ readonly inputs: readonly [{
135
+ readonly name: "key";
136
+ readonly internalType: "bytes32";
137
+ readonly type: "bytes32";
138
+ }];
139
+ readonly name: "getVersions";
140
+ readonly outputs: readonly [{
141
+ readonly name: "";
142
+ readonly internalType: "uint256[]";
143
+ readonly type: "uint256[]";
144
+ }];
145
+ readonly stateMutability: "view";
146
+ }, {
147
+ readonly type: "function";
148
+ readonly inputs: readonly [];
149
+ readonly name: "owner";
150
+ readonly outputs: readonly [{
151
+ readonly name: "";
152
+ readonly internalType: "address";
153
+ readonly type: "address";
154
+ }];
155
+ readonly stateMutability: "view";
156
+ }, {
157
+ readonly type: "function";
158
+ readonly inputs: readonly [{
159
+ readonly name: "key";
160
+ readonly internalType: "bytes32";
161
+ readonly type: "bytes32";
162
+ }, {
163
+ readonly name: "value";
164
+ readonly internalType: "address";
165
+ readonly type: "address";
166
+ }, {
167
+ readonly name: "saveVersion";
168
+ readonly internalType: "bool";
169
+ readonly type: "bool";
170
+ }];
171
+ readonly name: "setAddress";
172
+ readonly outputs: readonly [];
173
+ readonly stateMutability: "nonpayable";
174
+ }, {
175
+ readonly type: "function";
176
+ readonly inputs: readonly [];
177
+ readonly name: "version";
178
+ readonly outputs: readonly [{
179
+ readonly name: "";
180
+ readonly internalType: "uint256";
181
+ readonly type: "uint256";
182
+ }];
183
+ readonly stateMutability: "view";
184
+ }, {
185
+ readonly type: "event";
186
+ readonly anonymous: false;
187
+ readonly inputs: readonly [{
188
+ readonly name: "key";
189
+ readonly internalType: "bytes32";
190
+ readonly type: "bytes32";
191
+ readonly indexed: true;
192
+ }, {
193
+ readonly name: "ver";
194
+ readonly internalType: "uint256";
195
+ readonly type: "uint256";
196
+ readonly indexed: true;
197
+ }, {
198
+ readonly name: "value";
199
+ readonly internalType: "address";
200
+ readonly type: "address";
201
+ readonly indexed: true;
202
+ }];
203
+ readonly name: "SetAddress";
204
+ }, {
205
+ readonly type: "error";
206
+ readonly inputs: readonly [{
207
+ readonly name: "key";
208
+ readonly internalType: "bytes32";
209
+ readonly type: "bytes32";
210
+ }, {
211
+ readonly name: "ver";
212
+ readonly internalType: "uint256";
213
+ readonly type: "uint256";
214
+ }];
215
+ readonly name: "AddressNotFoundException";
216
+ }, {
217
+ readonly type: "error";
218
+ readonly inputs: readonly [{
219
+ readonly name: "caller";
220
+ readonly internalType: "address";
221
+ readonly type: "address";
222
+ }];
223
+ readonly name: "CallerIsNotOwnerException";
224
+ }, {
225
+ readonly type: "error";
226
+ readonly inputs: readonly [{
227
+ readonly name: "key";
228
+ readonly internalType: "bytes32";
229
+ readonly type: "bytes32";
230
+ }, {
231
+ readonly name: "ver";
232
+ readonly internalType: "uint256";
233
+ readonly type: "uint256";
234
+ }];
235
+ readonly name: "InvalidVersionException";
236
+ }, {
237
+ readonly type: "error";
238
+ readonly inputs: readonly [{
239
+ readonly name: "key";
240
+ readonly internalType: "bytes32";
241
+ readonly type: "bytes32";
242
+ }];
243
+ readonly name: "VersionNotFoundException";
244
+ }, {
245
+ readonly type: "error";
246
+ readonly inputs: readonly [{
247
+ readonly name: "key";
248
+ readonly internalType: "bytes32";
249
+ readonly type: "bytes32";
250
+ }];
251
+ readonly name: "ZeroAddressException";
252
+ }];
253
+ export declare class AddressProviderContract extends BaseContract<typeof abi> {
254
+ constructor(address: Address, client: PublicClient);
5
255
  getAddressOrRevert(key: string, version?: bigint): Promise<Address>;
6
256
  getLatestVersionAddress(key: string): Promise<Address>;
7
257
  getLatestVersion(key: string): Promise<bigint>;
8
258
  }
259
+ export {};
@@ -0,0 +1,23 @@
1
+ import { type Abi, type Address, type Client, type ContractEventArgs, type ContractEventName, type ContractFunctionName, type DecodeFunctionDataReturnType, type EncodeFunctionDataParameters, type GetContractEventsReturnType, type GetContractReturnType, type Hex, type PublicClient } from "viem";
2
+ import type { RawTx } from "../../sdk/types/index.js";
3
+ import type { CrossChainCall, ParsedCall } from "../core/proposal.js";
4
+ export declare class BaseContract<const abi extends Abi | readonly unknown[]> {
5
+ readonly abi: abi;
6
+ readonly address: Address;
7
+ readonly name: string;
8
+ protected static register: Record<Address, BaseContract<any>>;
9
+ protected contract: GetContractReturnType<abi, Client, Address>;
10
+ readonly client: PublicClient;
11
+ constructor(abi: abi, address: Address, client: PublicClient, name: string);
12
+ static parseCall(call: CrossChainCall): ParsedCall;
13
+ static parse(address: Address, calldata: Hex): ParsedCall;
14
+ parseFunctionData(calldata: Hex): ParsedCall;
15
+ protected wrapParseCall(params: DecodeFunctionDataReturnType<abi>, parsedParams: Record<string, string>): ParsedCall;
16
+ parseFunctionParams(_params: DecodeFunctionDataReturnType<abi>): ParsedCall | undefined;
17
+ createRawTx<functionName extends ContractFunctionName<abi> | undefined = undefined>(parameters: Omit<EncodeFunctionDataParameters<abi, functionName>, "abi"> & {
18
+ description?: string;
19
+ }): RawTx;
20
+ protected stringifyParsedCall(parsedCall: ParsedCall): string;
21
+ getEvents<EventName extends ContractEventName<abi>>(eventName: EventName, fromBlock: bigint, toBlock: bigint, args?: ContractEventArgs<abi, EventName extends ContractEventName<abi> ? EventName : ContractEventName<abi>> | undefined, chunkSize?: number): Promise<GetContractEventsReturnType<abi, EventName, undefined, bigint, bigint>>;
22
+ getContract(): GetContractReturnType<abi, Client, Address>;
23
+ }
@@ -1,8 +1,9 @@
1
- import { type Address, type Chain, type DecodeFunctionDataReturnType, type Hex, type Log, type PublicClient, type Transport, type WalletClient } from "viem";
2
- import type { RawTx } from "../../sdk/index.js";
3
- import { BaseContract, type ParsedCallArgs } from "../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType, type Hex, type Log, type PublicClient, type WalletClient } from "viem";
2
+ import type { RawTx } from "../../sdk/types/index.js";
4
3
  import type { Auditor } from "../core/auditor.js";
5
4
  import type { AuditEvent, Bytecode, DeploymentExtended } from "../core/bytecode.js";
5
+ import type { ParsedCall } from "../core/proposal.js";
6
+ import { BaseContract } from "./base-contract.js";
6
7
  declare const abi: readonly [{
7
8
  readonly type: "function";
8
9
  readonly inputs: readonly [];
@@ -1150,7 +1151,7 @@ interface ComputeAddressArgs {
1150
1151
  owner: Address;
1151
1152
  }
1152
1153
  export declare class BytecodeRepositoryContract extends BaseContract<typeof abi> {
1153
- constructor(addr: Address, client: PublicClient<Transport, Chain>);
1154
+ constructor(address: Address, client: PublicClient);
1154
1155
  getBytecodeByHash(hash: `0x${string}`): Promise<{
1155
1156
  contractType: `0x${string}`;
1156
1157
  version: bigint;
@@ -1190,7 +1191,7 @@ export declare class BytecodeRepositoryContract extends BaseContract<typeof abi>
1190
1191
  blockNumber: number;
1191
1192
  }>>;
1192
1193
  getUploadUpdates(fromBlock: bigint, toBlock: bigint): Promise<Omit<Bytecode, "uploadedAt">[]>;
1193
- protected parseFunctionParams(params: DecodeFunctionDataReturnType<typeof abi>): ParsedCallArgs;
1194
+ parseFunctionParams(params: DecodeFunctionDataReturnType<typeof abi>): ParsedCall | undefined;
1194
1195
  signBytecodeHash(bytecodeHash: Hex, auditor: Address, reportUrl: string, signature: Hex, sponsor: WalletClient): Promise<`0x${string}`>;
1195
1196
  signBytecodeHashTx(bytecodeHash: Hex, auditor: Address, reportUrl: string, signature: Hex): RawTx;
1196
1197
  recoverAuditorSignature(bytecodeHash: Hex, auditor: Address, reportUrl: string, signature: Hex): Promise<Address>;
@@ -1,5 +1,5 @@
1
- import { type Address, type Chain, type PublicClient, type Transport } from "viem";
2
- import { BaseContract } from "../../../sdk/index.js";
1
+ import { type Address, type PublicClient } from "viem";
2
+ import { BaseContract } from "../base-contract.js";
3
3
  declare const abi: readonly [{
4
4
  readonly type: "constructor";
5
5
  readonly inputs: readonly [{
@@ -102,7 +102,7 @@ declare const abi: readonly [{
102
102
  readonly stateMutability: "view";
103
103
  }];
104
104
  export declare class TokenCompressorContract extends BaseContract<typeof abi> {
105
- constructor(addr: Address, client: PublicClient<Transport, Chain>);
105
+ constructor(address: Address, client: PublicClient);
106
106
  getTokenInfo(token: Address): Promise<{
107
107
  name: string;
108
108
  symbol: string;