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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (457) hide show
  1. package/dist/cjs/dev/create2.js +1 -1
  2. package/dist/cjs/dev/mint/AbstractMinter.js +2 -4
  3. package/dist/cjs/dev/mint/DealMinter.js +0 -3
  4. package/dist/cjs/dev/mint/DirectMinter.js +0 -3
  5. package/dist/cjs/dev/mint/FallbackMinter.js +1 -1
  6. package/dist/cjs/dev/mint/TransferMinter.js +0 -3
  7. package/dist/cjs/permissionless/bindings/address-provider.js +4 -6
  8. package/dist/cjs/permissionless/bindings/bytecode-repository.js +23 -25
  9. package/dist/cjs/permissionless/bindings/compressors/token-compressor.js +4 -4
  10. package/dist/cjs/permissionless/bindings/compressors/withdrawal-compressor.js +11 -17
  11. package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +23 -22
  12. package/dist/cjs/permissionless/bindings/factory/abstract-factory.js +7 -4
  13. package/dist/cjs/permissionless/bindings/governance/batches-chain.js +4 -4
  14. package/dist/cjs/permissionless/bindings/governance/governor.js +30 -49
  15. package/dist/cjs/permissionless/bindings/governance/timelock.js +4 -4
  16. package/dist/cjs/permissionless/bindings/index.js +0 -2
  17. package/dist/cjs/permissionless/bindings/instance-manager.js +58 -77
  18. package/dist/cjs/permissionless/bindings/market-configurator-factory.js +4 -4
  19. package/dist/cjs/permissionless/bindings/market-configurator.js +71 -143
  20. package/dist/cjs/permissionless/bindings/price-feed-store.js +8 -17
  21. package/dist/cjs/permissionless/bindings/router/routing-manager.js +9 -15
  22. package/dist/cjs/permissionless/bindings/treasury-splitter.js +14 -23
  23. package/dist/cjs/permissionless/core/raw-tx.js +2 -2
  24. package/dist/cjs/permissionless/utils/format.js +2 -2
  25. package/dist/cjs/permissionless/utils/governance/timelock-txs.js +2 -2
  26. package/dist/cjs/permissionless/utils/index.js +0 -2
  27. package/dist/cjs/permissionless/utils/price-update/get-price-feeds.js +1 -2
  28. package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +1 -2
  29. package/dist/cjs/permissionless/utils/price-update/get-prices.js +1 -2
  30. package/dist/cjs/permissionless/utils/price-update/get-updatable-feeds.js +2 -3
  31. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  32. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  33. package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  34. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  35. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  36. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  37. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  38. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  39. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  40. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  41. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  42. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  43. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  44. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  45. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  46. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  47. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  48. package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  49. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  50. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  51. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  52. package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  53. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  54. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  55. package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  56. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  57. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  58. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  59. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  60. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  61. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  62. package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  63. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  64. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  65. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  66. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  67. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  68. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  69. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  70. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  71. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  72. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  73. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  74. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  75. package/dist/cjs/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  76. package/dist/cjs/plugins/bots/BotsPlugin.js +26 -111
  77. package/dist/cjs/plugins/bots/PartialLiquidationBotV310Contract.js +38 -6
  78. package/dist/cjs/plugins/bots/deserializePartialLiquidationBotParams.js +49 -0
  79. package/dist/cjs/plugins/bots/index.js +0 -2
  80. package/dist/cjs/plugins/bots/types.js +3 -8
  81. package/dist/cjs/plugins/zappers/ZappersPlugin.js +1 -1
  82. package/dist/cjs/sdk/GearboxSDK.js +8 -110
  83. package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +1 -4
  84. package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +6 -8
  85. package/dist/cjs/sdk/base/BaseContract.js +195 -80
  86. package/dist/cjs/sdk/base/ChainContractsRegister.js +135 -0
  87. package/dist/cjs/sdk/base/Construct.js +87 -0
  88. package/dist/cjs/sdk/base/SDKConstruct.js +3 -29
  89. package/dist/cjs/sdk/base/TokensMeta.js +4 -4
  90. package/dist/cjs/sdk/base/index.js +4 -2
  91. package/dist/cjs/sdk/core/BotListV3Contract.js +2 -2
  92. package/dist/cjs/sdk/core/GearStakingV3Contract.js +2 -2
  93. package/dist/cjs/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  94. package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +11 -6
  95. package/dist/cjs/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  96. package/dist/cjs/sdk/market/MarketConfiguratorContract.js +5 -5
  97. package/dist/cjs/sdk/market/MarketRegister.js +7 -9
  98. package/dist/cjs/sdk/market/MarketSuite.js +2 -2
  99. package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +4 -3
  100. package/dist/cjs/sdk/market/credit/CreditConfiguratorV310Contract.js +4 -3
  101. package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  102. package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  103. package/dist/cjs/sdk/market/credit/CreditManagerV300Contract.js +5 -2
  104. package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +5 -2
  105. package/dist/cjs/sdk/market/credit/CreditSuite.js +2 -3
  106. package/dist/cjs/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +3 -1
  107. package/dist/cjs/sdk/market/loss-policy/LossPolicyContract.js +2 -2
  108. package/dist/cjs/sdk/market/loss-policy/createLossPolicy.js +1 -1
  109. package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +8 -26
  110. package/dist/cjs/sdk/market/oracle/createPriceOracle.js +1 -1
  111. package/dist/cjs/sdk/market/pool/GaugeContract.js +2 -2
  112. package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  113. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  114. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  115. package/dist/cjs/sdk/market/pool/PoolSuite.js +1 -1
  116. package/dist/cjs/sdk/market/pool/PoolV300Contract.js +5 -5
  117. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +5 -5
  118. package/dist/cjs/sdk/market/pool/TumblerContract.js +2 -2
  119. package/dist/cjs/sdk/market/pool/createInterestRateModel.js +11 -15
  120. package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +2 -22
  121. package/dist/cjs/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  122. package/dist/cjs/sdk/market/pricefeeds/BalancerStablePriceFeed.js +2 -9
  123. package/dist/cjs/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +2 -9
  124. package/dist/cjs/sdk/market/pricefeeds/BoundedPriceFeed.js +6 -2
  125. package/dist/cjs/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  126. package/dist/cjs/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  127. package/dist/cjs/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +2 -9
  128. package/dist/cjs/sdk/market/pricefeeds/CurveStablePriceFeed.js +2 -9
  129. package/dist/cjs/sdk/market/pricefeeds/CurveUSDPriceFeed.js +2 -9
  130. package/dist/cjs/sdk/market/pricefeeds/Erc4626PriceFeed.js +2 -18
  131. package/dist/cjs/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  132. package/dist/cjs/sdk/market/pricefeeds/MellowLRTPriceFeed.js +2 -10
  133. package/dist/cjs/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  134. package/dist/cjs/sdk/market/pricefeeds/PriceFeedRef.js +6 -4
  135. package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +2 -3
  136. package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  137. package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  138. package/dist/cjs/sdk/market/pricefeeds/WstETHPriceFeed.js +2 -9
  139. package/dist/cjs/sdk/market/pricefeeds/YearnPriceFeed.js +2 -9
  140. package/dist/cjs/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  141. package/dist/cjs/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +17 -0
  142. package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +7 -9
  143. package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +10 -12
  144. package/dist/cjs/sdk/router/AbstractRouterContract.js +5 -0
  145. package/dist/cjs/sdk/router/RouterV310Contract.js +3 -3
  146. package/dist/cjs/sdk/router/createRouter.js +4 -0
  147. package/dist/cjs/sdk/utils/abi-decode.js +58 -0
  148. package/dist/cjs/sdk/utils/index.js +2 -0
  149. package/dist/esm/dev/create2.js +2 -2
  150. package/dist/esm/dev/mint/AbstractMinter.js +3 -7
  151. package/dist/esm/dev/mint/DealMinter.js +0 -3
  152. package/dist/esm/dev/mint/DirectMinter.js +0 -3
  153. package/dist/esm/dev/mint/FallbackMinter.js +1 -1
  154. package/dist/esm/dev/mint/TransferMinter.js +0 -3
  155. package/dist/esm/permissionless/bindings/address-provider.js +7 -7
  156. package/dist/esm/permissionless/bindings/bytecode-repository.js +22 -24
  157. package/dist/esm/permissionless/bindings/compressors/token-compressor.js +3 -3
  158. package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +10 -16
  159. package/dist/esm/permissionless/bindings/cross-chain-multisig.js +20 -16
  160. package/dist/esm/permissionless/bindings/factory/abstract-factory.js +9 -4
  161. package/dist/esm/permissionless/bindings/governance/batches-chain.js +3 -3
  162. package/dist/esm/permissionless/bindings/governance/governor.js +28 -47
  163. package/dist/esm/permissionless/bindings/governance/timelock.js +3 -3
  164. package/dist/esm/permissionless/bindings/index.js +0 -1
  165. package/dist/esm/permissionless/bindings/instance-manager.js +53 -69
  166. package/dist/esm/permissionless/bindings/market-configurator-factory.js +3 -3
  167. package/dist/esm/permissionless/bindings/market-configurator.js +65 -137
  168. package/dist/esm/permissionless/bindings/price-feed-store.js +8 -14
  169. package/dist/esm/permissionless/bindings/router/routing-manager.js +8 -14
  170. package/dist/esm/permissionless/bindings/treasury-splitter.js +15 -22
  171. package/dist/esm/permissionless/core/raw-tx.js +1 -1
  172. package/dist/esm/permissionless/utils/format.js +1 -1
  173. package/dist/esm/permissionless/utils/governance/timelock-txs.js +1 -1
  174. package/dist/esm/permissionless/utils/index.js +0 -1
  175. package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +4 -2
  176. package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +1 -1
  177. package/dist/esm/permissionless/utils/price-update/get-prices.js +1 -2
  178. package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +1 -1
  179. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  180. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  181. package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  182. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  183. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  184. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  185. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  186. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  187. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  188. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  189. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  190. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  191. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  192. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  193. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  194. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  195. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  196. package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  197. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  198. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  199. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  200. package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  201. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  202. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  203. package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  204. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  205. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  206. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  207. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  208. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  209. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  210. package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  211. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  212. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  213. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  214. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  215. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  216. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  217. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  218. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  219. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  220. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  221. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  222. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  223. package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  224. package/dist/esm/plugins/bots/BotsPlugin.js +28 -121
  225. package/dist/esm/plugins/bots/PartialLiquidationBotV310Contract.js +41 -6
  226. package/dist/esm/plugins/bots/deserializePartialLiquidationBotParams.js +29 -0
  227. package/dist/esm/plugins/bots/index.js +0 -1
  228. package/dist/esm/plugins/bots/types.js +2 -7
  229. package/dist/esm/plugins/zappers/ZappersPlugin.js +1 -1
  230. package/dist/esm/sdk/GearboxSDK.js +10 -112
  231. package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +1 -4
  232. package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +7 -9
  233. package/dist/esm/sdk/base/BaseContract.js +202 -81
  234. package/dist/esm/sdk/base/ChainContractsRegister.js +111 -0
  235. package/dist/esm/sdk/base/Construct.js +63 -0
  236. package/dist/esm/sdk/base/SDKConstruct.js +3 -29
  237. package/dist/esm/sdk/base/TokensMeta.js +4 -4
  238. package/dist/esm/sdk/base/index.js +2 -1
  239. package/dist/esm/sdk/core/BotListV3Contract.js +2 -2
  240. package/dist/esm/sdk/core/GearStakingV3Contract.js +2 -2
  241. package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  242. package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +11 -6
  243. package/dist/esm/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  244. package/dist/esm/sdk/market/MarketConfiguratorContract.js +5 -5
  245. package/dist/esm/sdk/market/MarketRegister.js +8 -10
  246. package/dist/esm/sdk/market/MarketSuite.js +2 -2
  247. package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +4 -3
  248. package/dist/esm/sdk/market/credit/CreditConfiguratorV310Contract.js +4 -3
  249. package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  250. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  251. package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +5 -2
  252. package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +5 -2
  253. package/dist/esm/sdk/market/credit/CreditSuite.js +2 -3
  254. package/dist/esm/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +3 -1
  255. package/dist/esm/sdk/market/loss-policy/LossPolicyContract.js +5 -3
  256. package/dist/esm/sdk/market/loss-policy/createLossPolicy.js +1 -1
  257. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +8 -26
  258. package/dist/esm/sdk/market/oracle/createPriceOracle.js +1 -1
  259. package/dist/esm/sdk/market/pool/GaugeContract.js +2 -2
  260. package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  261. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  262. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  263. package/dist/esm/sdk/market/pool/PoolSuite.js +1 -1
  264. package/dist/esm/sdk/market/pool/PoolV300Contract.js +5 -5
  265. package/dist/esm/sdk/market/pool/PoolV310Contract.js +5 -5
  266. package/dist/esm/sdk/market/pool/TumblerContract.js +2 -2
  267. package/dist/esm/sdk/market/pool/createInterestRateModel.js +11 -15
  268. package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +2 -22
  269. package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  270. package/dist/esm/sdk/market/pricefeeds/BalancerStablePriceFeed.js +3 -13
  271. package/dist/esm/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +3 -13
  272. package/dist/esm/sdk/market/pricefeeds/BoundedPriceFeed.js +6 -2
  273. package/dist/esm/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  274. package/dist/esm/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  275. package/dist/esm/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +3 -10
  276. package/dist/esm/sdk/market/pricefeeds/CurveStablePriceFeed.js +3 -10
  277. package/dist/esm/sdk/market/pricefeeds/CurveUSDPriceFeed.js +3 -10
  278. package/dist/esm/sdk/market/pricefeeds/Erc4626PriceFeed.js +2 -18
  279. package/dist/esm/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  280. package/dist/esm/sdk/market/pricefeeds/MellowLRTPriceFeed.js +3 -11
  281. package/dist/esm/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  282. package/dist/esm/sdk/market/pricefeeds/PriceFeedRef.js +7 -5
  283. package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +3 -9
  284. package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  285. package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  286. package/dist/esm/sdk/market/pricefeeds/WstETHPriceFeed.js +3 -10
  287. package/dist/esm/sdk/market/pricefeeds/YearnPriceFeed.js +3 -10
  288. package/dist/esm/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  289. package/dist/esm/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +17 -0
  290. package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +8 -10
  291. package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +11 -13
  292. package/dist/esm/sdk/router/AbstractRouterContract.js +5 -0
  293. package/dist/esm/sdk/router/RouterV310Contract.js +3 -3
  294. package/dist/esm/sdk/router/createRouter.js +4 -0
  295. package/dist/esm/sdk/utils/abi-decode.js +37 -0
  296. package/dist/esm/sdk/utils/index.js +1 -0
  297. package/dist/types/dev/create2.d.ts +2 -2
  298. package/dist/types/dev/mint/AbstractMinter.d.ts +3 -4
  299. package/dist/types/dev/mint/DealMinter.d.ts +0 -3
  300. package/dist/types/dev/mint/DirectMinter.d.ts +0 -3
  301. package/dist/types/dev/mint/TransferMinter.d.ts +0 -3
  302. package/dist/types/permissionless/bindings/address-provider.d.ts +4 -255
  303. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +5 -6
  304. package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +3 -3
  305. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +4 -5
  306. package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +7 -7
  307. package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +1 -1
  308. package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +3 -4
  309. package/dist/types/permissionless/bindings/governance/governor.d.ts +6 -7
  310. package/dist/types/permissionless/bindings/governance/timelock.d.ts +3 -3
  311. package/dist/types/permissionless/bindings/governance/types.d.ts +1 -1
  312. package/dist/types/permissionless/bindings/index.d.ts +0 -1
  313. package/dist/types/permissionless/bindings/instance-manager.d.ts +6 -7
  314. package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +4 -4
  315. package/dist/types/permissionless/bindings/market-configurator.d.ts +6 -6
  316. package/dist/types/permissionless/bindings/price-feed-store.d.ts +6 -7
  317. package/dist/types/permissionless/bindings/router/routing-manager.d.ts +4 -5
  318. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +5 -6
  319. package/dist/types/permissionless/core/proposal.d.ts +1 -7
  320. package/dist/types/permissionless/utils/create2.d.ts +1 -1
  321. package/dist/types/permissionless/utils/governance/batch.d.ts +1 -1
  322. package/dist/types/permissionless/utils/index.d.ts +0 -1
  323. package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +3 -3
  324. package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +2 -2
  325. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +2 -2
  326. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  327. package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +2 -2
  328. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +2 -2
  329. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +2 -2
  330. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +2 -2
  331. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +2 -2
  332. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +2 -2
  333. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +2 -2
  334. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +2 -2
  335. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +2 -2
  336. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
  337. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
  338. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +2 -2
  339. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +2 -2
  340. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +2 -2
  341. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +2 -2
  342. package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +2 -2
  343. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +2 -2
  344. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +2 -2
  345. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +2 -2
  346. package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +2 -2
  347. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +2 -2
  348. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +2 -2
  349. package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +2 -2
  350. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +2 -2
  351. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +2 -2
  352. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +2 -2
  353. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +2 -2
  354. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +2 -2
  355. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +2 -2
  356. package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +2 -2
  357. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +2 -2
  358. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +2 -2
  359. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +2 -2
  360. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +2 -2
  361. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +2 -2
  362. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +2 -2
  363. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -3
  364. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -3
  365. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +2 -2
  366. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +2 -2
  367. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +2 -2
  368. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +2 -2
  369. package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +2 -2
  370. package/dist/types/plugins/bots/BotsPlugin.d.ts +3 -13
  371. package/dist/types/plugins/bots/PartialLiquidationBotV310Contract.d.ts +19 -6
  372. package/dist/types/plugins/bots/deserializePartialLiquidationBotParams.d.ts +3 -0
  373. package/dist/types/plugins/bots/index.d.ts +0 -1
  374. package/dist/types/plugins/bots/types.d.ts +8 -21
  375. package/dist/types/sdk/GearboxSDK.d.ts +5 -76
  376. package/dist/types/sdk/accountMigration/types.d.ts +1 -2
  377. package/dist/types/sdk/accounts/types.d.ts +4 -3
  378. package/dist/types/sdk/base/BaseContract.d.ts +72 -28
  379. package/dist/types/sdk/base/ChainContractsRegister.d.ts +57 -0
  380. package/dist/types/sdk/base/Construct.d.ts +38 -0
  381. package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
  382. package/dist/types/sdk/base/SDKConstruct.d.ts +2 -16
  383. package/dist/types/sdk/base/TokensMeta.d.ts +2 -3
  384. package/dist/types/sdk/base/index.d.ts +2 -1
  385. package/dist/types/sdk/base/types.d.ts +50 -0
  386. package/dist/types/sdk/core/BotListV3Contract.d.ts +1 -1
  387. package/dist/types/sdk/core/GearStakingV3Contract.d.ts +1 -1
  388. package/dist/types/sdk/core/address-provider/AbstractAddressProviderContract.d.ts +3 -4
  389. package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +3 -3
  390. package/dist/types/sdk/core/address-provider/AddressProviderV310Contract.d.ts +3 -3
  391. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +2 -2
  392. package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +3 -3
  393. package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +3 -3
  394. package/dist/types/sdk/market/credit/CreditFacadeV300Contract.d.ts +3 -4
  395. package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +3 -4
  396. package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +1 -1
  397. package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +1 -1
  398. package/dist/types/sdk/market/credit/CreditSuite.d.ts +1 -1
  399. package/dist/types/sdk/market/credit/types.d.ts +1 -2
  400. package/dist/types/sdk/market/loss-policy/AliasLossPolicyV310Contract.d.ts +1 -0
  401. package/dist/types/sdk/market/loss-policy/LossPolicyContract.d.ts +2 -3
  402. package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +3 -12
  403. package/dist/types/sdk/market/oracle/types.d.ts +0 -10
  404. package/dist/types/sdk/market/pool/GaugeContract.d.ts +2 -3
  405. package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +2 -3
  406. package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +2 -3
  407. package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +2 -3
  408. package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +4 -5
  409. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +4 -5
  410. package/dist/types/sdk/market/pool/TumblerContract.d.ts +2 -3
  411. package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +3 -8
  412. package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +2 -3
  413. package/dist/types/sdk/market/pricefeeds/BalancerStablePriceFeed.d.ts +2 -3
  414. package/dist/types/sdk/market/pricefeeds/BalancerWeightedPriceFeed.d.ts +2 -3
  415. package/dist/types/sdk/market/pricefeeds/BoundedPriceFeed.d.ts +2 -2
  416. package/dist/types/sdk/market/pricefeeds/CompositePriceFeed.d.ts +2 -2
  417. package/dist/types/sdk/market/pricefeeds/ConstantPriceFeed.d.ts +2 -2
  418. package/dist/types/sdk/market/pricefeeds/CurveCryptoPriceFeed.d.ts +2 -3
  419. package/dist/types/sdk/market/pricefeeds/CurveStablePriceFeed.d.ts +2 -3
  420. package/dist/types/sdk/market/pricefeeds/CurveUSDPriceFeed.d.ts +2 -3
  421. package/dist/types/sdk/market/pricefeeds/Erc4626PriceFeed.d.ts +2 -3
  422. package/dist/types/sdk/market/pricefeeds/ExternalPriceFeed.d.ts +2 -2
  423. package/dist/types/sdk/market/pricefeeds/MellowLRTPriceFeed.d.ts +2 -3
  424. package/dist/types/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.d.ts +2 -2
  425. package/dist/types/sdk/market/pricefeeds/PriceFeedRef.d.ts +3 -4
  426. package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +1 -2
  427. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +2 -2
  428. package/dist/types/sdk/market/pricefeeds/RedstonePriceFeed.d.ts +2 -2
  429. package/dist/types/sdk/market/pricefeeds/WstETHPriceFeed.d.ts +2 -3
  430. package/dist/types/sdk/market/pricefeeds/YearnPriceFeed.d.ts +2 -3
  431. package/dist/types/sdk/market/pricefeeds/ZeroPriceFeed.d.ts +2 -2
  432. package/dist/types/sdk/market/pricefeeds/types.d.ts +0 -5
  433. package/dist/types/sdk/market/pricefeeds/updates/PriceUpdatesCache.d.ts +8 -1
  434. package/dist/types/sdk/router/AbstractRouterContract.d.ts +4 -1
  435. package/dist/types/sdk/router/types.d.ts +1 -2
  436. package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +2 -2
  437. package/dist/types/sdk/utils/abi-decode.d.ts +10 -0
  438. package/dist/types/sdk/utils/index.d.ts +1 -0
  439. package/package.json +1 -1
  440. package/dist/cjs/permissionless/bindings/base-contract.js +0 -173
  441. package/dist/cjs/permissionless/utils/abi-decoder.js +0 -72
  442. package/dist/cjs/plugins/bots/PartialLiquidationBotBaseContract.js +0 -75
  443. package/dist/cjs/plugins/bots/PartialLiquidationBotV300Contract.js +0 -65
  444. package/dist/cjs/sdk/base/AddressLabeller.js +0 -49
  445. package/dist/cjs/sdk/base/IAddressLabeller.js +0 -16
  446. package/dist/esm/permissionless/bindings/base-contract.js +0 -151
  447. package/dist/esm/permissionless/utils/abi-decoder.js +0 -50
  448. package/dist/esm/plugins/bots/PartialLiquidationBotBaseContract.js +0 -53
  449. package/dist/esm/plugins/bots/PartialLiquidationBotV300Contract.js +0 -41
  450. package/dist/esm/sdk/base/AddressLabeller.js +0 -25
  451. package/dist/esm/sdk/base/IAddressLabeller.js +0 -0
  452. package/dist/types/permissionless/bindings/base-contract.d.ts +0 -23
  453. package/dist/types/permissionless/utils/abi-decoder.d.ts +0 -13
  454. package/dist/types/plugins/bots/PartialLiquidationBotBaseContract.d.ts +0 -25
  455. package/dist/types/plugins/bots/PartialLiquidationBotV300Contract.d.ts +0 -227
  456. package/dist/types/sdk/base/AddressLabeller.d.ts +0 -11
  457. package/dist/types/sdk/base/IAddressLabeller.d.ts +0 -9
@@ -1,5 +1,5 @@
1
1
  import { type Address } from "viem";
2
- import type { GearboxSDK } from "../../../sdk/index.js";
2
+ import type { ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  import type { TraderJoePoolVersion } from "./types.js";
@@ -344,6 +344,6 @@ export declare class TraderJoeRouterAdapterContract extends AbstractAdapterContr
344
344
  binStep: number;
345
345
  poolVersion: TraderJoePoolVersion;
346
346
  }[];
347
- constructor(sdk: GearboxSDK, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
347
+ constructor(options: ConstructOptions, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
348
348
  }
349
349
  export {};
@@ -1,5 +1,5 @@
1
1
  import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
- import type { GearboxSDK } from "../../../sdk/index.js";
2
+ import type { ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -210,7 +210,7 @@ export declare class UniswapV2AdapterContract extends AbstractAdapterContract<ab
210
210
  token0: Address;
211
211
  token1: Address;
212
212
  }[];
213
- constructor(sdk: GearboxSDK, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
214
- protected parseFunctionParams(params: DecodeFunctionDataReturnType<abi>): string[] | undefined;
213
+ constructor(options: ConstructOptions, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
214
+ protected stringifyFunctionParams(params: DecodeFunctionDataReturnType<abi>): string[];
215
215
  }
216
216
  export {};
@@ -1,5 +1,5 @@
1
1
  import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
- import type { GearboxSDK } from "../../../sdk/index.js";
2
+ import type { ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -376,8 +376,8 @@ export declare class UniswapV3AdapterContract extends AbstractAdapterContract<ab
376
376
  token1: Address;
377
377
  fee: number;
378
378
  }[];
379
- constructor(sdk: GearboxSDK, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
380
- protected parseFunctionParams(params: DecodeFunctionDataReturnType<abi>): string[] | undefined;
379
+ constructor(options: ConstructOptions, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
380
+ protected stringifyFunctionParams(params: DecodeFunctionDataReturnType<abi>): string[];
381
381
  private trackInputPath;
382
382
  private trackOutputPath;
383
383
  }
@@ -1,5 +1,5 @@
1
1
  import { type Address } from "viem";
2
- import type { GearboxSDK } from "../../../sdk/index.js";
2
+ import type { ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -315,6 +315,6 @@ export declare class UniswapV4AdapterContract extends AbstractAdapterContract<ab
315
315
  tickSpacing: number;
316
316
  hooks: Address;
317
317
  }[];
318
- constructor(sdk: GearboxSDK, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
318
+ constructor(options: ConstructOptions, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
319
319
  }
320
320
  export {};
@@ -1,5 +1,5 @@
1
1
  import { type Address } from "viem";
2
- import type { GearboxSDK } from "../../../sdk/index.js";
2
+ import type { ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -278,6 +278,6 @@ export declare class UpshiftVaultAdapterContract extends AbstractAdapterContract
278
278
  readonly vault: Address;
279
279
  readonly asset: Address;
280
280
  readonly stakedPhantomToken: Address;
281
- constructor(sdk: GearboxSDK, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
281
+ constructor(options: ConstructOptions, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
282
282
  }
283
283
  export {};
@@ -1,5 +1,5 @@
1
1
  import { type Address } from "viem";
2
- import type { GearboxSDK } from "../../../sdk/index.js";
2
+ import type { ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -242,6 +242,6 @@ export declare class VelodromeV2RouterAdapterContract extends AbstractAdapterCon
242
242
  stable: boolean;
243
243
  factory: Address;
244
244
  }[];
245
- constructor(sdk: GearboxSDK, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
245
+ constructor(options: ConstructOptions, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
246
246
  }
247
247
  export {};
@@ -1,5 +1,5 @@
1
1
  import { type Address } from "viem";
2
- import type { GearboxSDK } from "../../../sdk/index.js";
2
+ import type { ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -122,6 +122,6 @@ declare const abi: readonly [{
122
122
  type abi = typeof abi;
123
123
  export declare class WstETHV1AdapterContract extends AbstractAdapterContract<abi> {
124
124
  readonly stETH: Address;
125
- constructor(sdk: GearboxSDK, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
125
+ constructor(options: ConstructOptions, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
126
126
  }
127
127
  export {};
@@ -1,5 +1,5 @@
1
1
  import { type Address } from "viem";
2
- import type { GearboxSDK } from "../../../sdk/index.js";
2
+ import type { ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -180,6 +180,6 @@ declare const abi: readonly [{
180
180
  type abi = typeof abi;
181
181
  export declare class YearnV2RouterAdapterContract extends AbstractAdapterContract<abi> {
182
182
  readonly token: Address;
183
- constructor(sdk: GearboxSDK, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
183
+ constructor(options: ConstructOptions, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
184
184
  }
185
185
  export {};
@@ -1,23 +1,13 @@
1
- import { type Address } from "viem";
2
1
  import type { IGearboxSDKPlugin } from "../../sdk/index.js";
3
- import { AddressMap, BasePlugin } from "../../sdk/index.js";
4
- import { PartialLiquidationBotV300Contract } from "./PartialLiquidationBotV300Contract.js";
2
+ import { BasePlugin } from "../../sdk/index.js";
5
3
  import { PartialLiquidationBotV310Contract } from "./PartialLiquidationBotV310Contract.js";
6
- import { type BotParameters, type BotState, type BotsPluginState, type BotsPluginStateHuman, type MigrationBotState } from "./types.js";
7
- export declare class UnsupportedBotVersionError extends Error {
8
- readonly state: BotState;
9
- constructor(state: BotState);
10
- }
11
- export type PartialLiquidationBotContract = PartialLiquidationBotV300Contract | PartialLiquidationBotV310Contract;
4
+ import { type BotsPluginState, type BotsPluginStateHuman, type MigrationBotState } from "./types.js";
12
5
  export declare class BotsPlugin extends BasePlugin<BotsPluginState> implements IGearboxSDKPlugin<BotsPluginState> {
13
6
  #private;
14
7
  get loaded(): boolean;
8
+ get bots(): PartialLiquidationBotV310Contract[];
15
9
  load(force?: boolean): Promise<BotsPluginState>;
16
- findDeployedPartialLiquidationBots(): Promise<AddressMap<BotParameters>>;
17
10
  stateHuman(raw?: boolean): BotsPluginStateHuman;
18
- get botsByMarket(): AddressMap<PartialLiquidationBotContract[]>;
19
- botsByMarketConfigurator(mc: Address): PartialLiquidationBotContract[];
20
- get allBots(): PartialLiquidationBotContract[];
21
11
  get state(): BotsPluginState;
22
12
  hydrate(state: BotsPluginState): void;
23
13
  static getMigrationBotData(chainId: number): MigrationBotState | undefined;
@@ -1,7 +1,6 @@
1
- import type { Address } from "abitype";
2
- import type { GearboxSDK } from "../../sdk/index.js";
3
- import { PartialLiquidationBotBaseContract } from "./PartialLiquidationBotBaseContract.js";
4
- import type { BotState } from "./types.js";
1
+ import { type Address, type Hex } from "viem";
2
+ import { BaseContract, type GearboxSDK } from "../../sdk/index.js";
3
+ import { type BotStateV310Human } from "./types.js";
5
4
  declare const abi: readonly [{
6
5
  readonly type: "function";
7
6
  readonly name: "contractType";
@@ -193,7 +192,21 @@ declare const abi: readonly [{
193
192
  readonly inputs: readonly [];
194
193
  }];
195
194
  type abi = typeof abi;
196
- export declare class PartialLiquidationBotV310Contract extends PartialLiquidationBotBaseContract<abi> {
197
- constructor(sdk: GearboxSDK, args: BotState, marketConfigurator: Address);
195
+ export interface PartialLiquidationBotV310Params {
196
+ addr: Address;
197
+ version: bigint;
198
+ contractType: string;
199
+ serializedParams: Hex;
200
+ }
201
+ export declare class PartialLiquidationBotV310Contract extends BaseContract<abi> {
202
+ #private;
203
+ readonly treasury: Address;
204
+ readonly minHealthFactor: number;
205
+ readonly maxHealthFactor: number;
206
+ readonly premiumScaleFactor: number;
207
+ readonly feeScaleFactor: number;
208
+ constructor(sdk: GearboxSDK, args: PartialLiquidationBotV310Params);
209
+ stateHuman(raw?: boolean): BotStateV310Human;
210
+ get state(): PartialLiquidationBotV310Params;
198
211
  }
199
212
  export {};
@@ -0,0 +1,3 @@
1
+ import type { BaseParams } from "../../sdk/index.js";
2
+ import type { BotParameters } from "./types.js";
3
+ export default function deserializePartialLiquidationBotParams(params: Pick<BaseParams, "serializedParams">): BotParameters;
@@ -1,6 +1,5 @@
1
1
  export * from "./abi/index.js";
2
2
  export * from "./BotsPlugin.js";
3
3
  export * from "./config.js";
4
- export * from "./PartialLiquidationBotV300Contract.js";
5
4
  export * from "./PartialLiquidationBotV310Contract.js";
6
5
  export * from "./types.js";
@@ -1,8 +1,6 @@
1
- import type { AbiParametersToPrimitiveTypes, ExtractAbiFunction } from "abitype";
2
1
  import type { Address } from "viem";
3
- import type { peripheryCompressorAbi } from "../../abi/compressors/peripheryCompressor.js";
4
- import type { BaseContractStateHuman, Unarray } from "../../sdk/index.js";
5
- export type BotState = Unarray<AbiParametersToPrimitiveTypes<ExtractAbiFunction<typeof peripheryCompressorAbi, "getBots">["outputs"]>>;
2
+ import type { BaseContractStateHuman } from "../../sdk/index.js";
3
+ import type { PartialLiquidationBotV310Params } from "./PartialLiquidationBotV310Contract.js";
6
4
  export interface BotParameters {
7
5
  treasury: Address;
8
6
  minHealthFactor: number;
@@ -10,6 +8,7 @@ export interface BotParameters {
10
8
  premiumScaleFactor: number;
11
9
  feeScaleFactor: number;
12
10
  }
11
+ export declare const BOT_PARTIAL_LIQUIDATION = "BOT::PARTIAL_LIQUIDATION";
13
12
  export declare const BOT_PARAMS_ABI: readonly [{
14
13
  readonly type: "address";
15
14
  readonly name: "treasury";
@@ -26,32 +25,20 @@ export declare const BOT_PARAMS_ABI: readonly [{
26
25
  readonly type: "uint16";
27
26
  readonly name: "feeScaleFactor";
28
27
  }];
29
- export declare const LIQUIDATION_BOT_TYPES: readonly ["PARTIAL_LIQUIDATION_BOT", "DELEVERAGE_BOT_PEGGED", "DELEVERAGE_BOT_LV", "DELEVERAGE_BOT_HV"];
30
- export type LiquidationBotType = (typeof LIQUIDATION_BOT_TYPES)[number];
31
- export interface BotStateBaseHuman extends BaseContractStateHuman {
28
+ export interface BotStateV310Human extends BaseContractStateHuman {
32
29
  treasury: Address;
33
30
  minHealthFactor: string;
34
31
  maxHealthFactor: string;
35
32
  premiumScaleFactor: string;
36
33
  feeScaleFactor: string;
37
- requiredPermissions: string;
38
34
  }
39
- export interface BotStateV300Human extends BotStateBaseHuman {
40
- botType: LiquidationBotType;
41
- }
42
- export type BotStateV310Human = BotStateBaseHuman;
43
- export type BotStateHuman = BotStateV300Human | BotStateV310Human;
35
+ export type BotStateHuman = BotStateV310Human;
36
+ export type BotState = PartialLiquidationBotV310Params;
44
37
  export interface BotsPluginStateHuman {
45
- /**
46
- * Mapping market configurator to bot states
47
- */
48
- bots: Record<string, BotStateHuman[]>;
38
+ bots: BotStateHuman[];
49
39
  }
50
40
  export interface BotsPluginState {
51
- /**
52
- * Mapping market configurator address to bot states
53
- */
54
- bots: Record<Address, BotState[]>;
41
+ bots: BotState[];
55
42
  }
56
43
  export type BotBaseType = "LIQUIDATION_PROTECTION" | "MIGRATION";
57
44
  export declare const MIGRATION_BOT_TYPES: readonly ["MIGRATION_BOT"];
@@ -1,8 +1,8 @@
1
- import type { Address, Hex } from "viem";
1
+ import type { Address } from "viem";
2
2
  import { type PublicClient, type Transport } from "viem";
3
3
  import type { HttpRpcClientOptions } from "viem/utils";
4
- import type { BaseContract, BaseState, IBaseContract } from "./base/index.js";
5
- import { AddressLabeller, TokensMeta } from "./base/index.js";
4
+ import type { BaseState, IBaseContract } from "./base/index.js";
5
+ import { ChainContractsRegister } from "./base/index.js";
6
6
  import type { GearboxChain, NetworkType } from "./chain/chains.js";
7
7
  import type { VersionRange } from "./constants/index.js";
8
8
  import type { IAddressProviderContract } from "./core/index.js";
@@ -12,8 +12,7 @@ import { PriceFeedRegister } from "./market/pricefeeds/index.js";
12
12
  import type { SDKOptions } from "./options.js";
13
13
  import { type PluginsMap } from "./plugins/index.js";
14
14
  import { type IRouterContract } from "./router/index.js";
15
- import type { GearboxState, GearboxStateHuman, ILogger, MultiCall } from "./types/index.js";
16
- import { AddressMap } from "./utils/index.js";
15
+ import type { GearboxState, GearboxStateHuman } from "./types/index.js";
17
16
  /**
18
17
  * State version, checked duryng hydration
19
18
  */
@@ -64,29 +63,14 @@ export type SDKHooks = {
64
63
  syncState: [SyncStateOptions];
65
64
  rehydrate: [SyncStateOptions];
66
65
  };
67
- export declare class GearboxSDK<const Plugins extends PluginsMap = {}> {
66
+ export declare class GearboxSDK<const Plugins extends PluginsMap = {}> extends ChainContractsRegister {
68
67
  #private;
69
68
  readonly plugins: Plugins;
70
- readonly logger?: ILogger;
71
69
  readonly gasLimit: bigint | undefined;
72
- readonly addressLabels: AddressLabeller;
73
- /**
74
- * Interest rate models can be reused across chain (and SDK operates on chain level)
75
- * TODO: use whatever interface is necessary for InterestRateModels
76
- */
77
- readonly interestRateModels: AddressMap<BaseContract<readonly unknown[]>>;
78
70
  /**
79
71
  * Will throw an error if contract type is not supported, otherwise will try to use generic contract first, if possible
80
72
  */
81
73
  readonly strictContractTypes: boolean;
82
- /**
83
- * All contracts known to sdk
84
- */
85
- readonly contracts: AddressMap<BaseContract<any>>;
86
- /**
87
- * Token metadata such as symbol and decimals
88
- */
89
- readonly tokensMeta: TokensMeta;
90
74
  addHook: <K extends keyof SDKHooks>(hookName: K, fn: (...args: SDKHooks[K]) => void | Promise<void>) => void;
91
75
  removeHook: <K extends keyof SDKHooks>(hookName: K, fn: (...args: SDKHooks[K]) => void | Promise<void>) => void;
92
76
  static attach<const Plugins extends PluginsMap>(options: SDKOptions<Plugins> & ClientOptions & Partial<NetworkOptions>): Promise<GearboxSDK<Plugins>>;
@@ -101,56 +85,7 @@ export declare class GearboxSDK<const Plugins extends PluginsMap = {}> {
101
85
  * Rehydrate existing SDK from new state without re-creating instance
102
86
  */
103
87
  rehydrate(state: GearboxState<Plugins>): Promise<void>;
104
- get client(): PublicClient<Transport, GearboxChain>;
105
- /**
106
- * Replaces client inflight
107
- * You're responsible for all inconsistencies between new and old client
108
- * @param options
109
- */
110
- replaceClient(options: ClientOptions, network?: NetworkOptions): void;
111
88
  get networkType(): NetworkType;
112
- get chain(): GearboxChain;
113
- get chainId(): number;
114
- /**
115
- * Converts contract call into some human-friendly string
116
- * This method is safe and should not throw
117
- * @param address
118
- * @param calldata
119
- * @returns
120
- */
121
- parseFunctionData(address: Address, calldata: Hex): string;
122
- /**
123
- * Converts multicalls into some human-friendly strings
124
- * This method is safe and should not throw
125
- * @param address
126
- * @param calldata
127
- * @returns
128
- */
129
- parseMultiCall(calls: MultiCall[]): string[];
130
- /**
131
- * Return args, function, type and address name from contract call
132
- * @param address
133
- * @param calldata
134
- * @returns
135
- */
136
- parseFunctionDataToObject(address: Address, calldata: Hex): {
137
- address: `0x${string}`;
138
- type: string;
139
- args: any[];
140
- functionName: any;
141
- } | null;
142
- /**
143
- * Converts multicalls into call info
144
- * @param address
145
- * @param calldata
146
- * @returns
147
- */
148
- parseMultiCallToObject(calls: MultiCall[]): ({
149
- address: `0x${string}`;
150
- type: string;
151
- args: any[];
152
- functionName: any;
153
- } | null)[];
154
89
  stateHuman(raw?: boolean): GearboxStateHuman;
155
90
  get state(): GearboxState<Plugins>;
156
91
  /**
@@ -180,10 +115,4 @@ export declare class GearboxSDK<const Plugins extends PluginsMap = {}> {
180
115
  } | {
181
116
  creditFacade: Address | BaseState | IBaseContract;
182
117
  } | VersionRange): IRouterContract;
183
- /**
184
- * Helper to get human-friendly label for address
185
- * @param address
186
- * @returns
187
- */
188
- labelAddress(address: Address): string;
189
118
  }
@@ -1,6 +1,5 @@
1
1
  import type { Address, GetContractReturnType, PublicClient, WalletClient } from "viem";
2
2
  import type { accountMigratorPreviewerV310Abi } from "../../abi/migration.js";
3
- import type { SDKConstruct } from "../base/SDKConstruct.js";
4
3
  import type { Asset, RouterCASlice } from "../router/index.js";
5
4
  export interface MigrateCreditAccountProps {
6
5
  /**
@@ -47,7 +46,7 @@ export interface PreviewCreditAccountMigrationProps {
47
46
  expectedTargetQuota: Array<Asset>;
48
47
  }
49
48
  export type PreviewMigrationResult = Awaited<ReturnType<GetContractReturnType<typeof accountMigratorPreviewerV310Abi, PublicClient>["simulate"]["previewMigration"]>>["result"];
50
- export interface IMigrateCreditAccountsService extends SDKConstruct {
49
+ export interface IMigrateCreditAccountsService {
51
50
  /**
52
51
  * Preview delayed withdrawal for a given credit account
53
52
  * @param props - {@link PreviewCreditAccountMigrationProps}
@@ -1,8 +1,8 @@
1
1
  import type { Address, ContractFunctionArgs, GetContractReturnType, Hex, PublicClient } from "viem";
2
2
  import type { creditAccountCompressorAbi } from "../../abi/compressors/creditAccountCompressor.js";
3
3
  import type { iWithdrawalCompressorV310Abi } from "../../abi/IWithdrawalCompressorV310.js";
4
- import type { ConnectedBotData, CreditAccountData } from "../base/index.js";
5
- import type { SDKConstruct } from "../base/SDKConstruct.js";
4
+ import type { ConnectedBotData, Construct, CreditAccountData } from "../base/index.js";
5
+ import type { GearboxSDK } from "../GearboxSDK.js";
6
6
  import type { CreditSuite, OnDemandPriceUpdates, PriceUpdateV300, PriceUpdateV310, UpdatePriceFeedsResult } from "../market/index.js";
7
7
  import type { Asset, CreditAccountTokensSlice, RouterCASlice, RouterCloseResult } from "../router/index.js";
8
8
  import type { MultiCall, RawTx } from "../types/index.js";
@@ -407,7 +407,8 @@ export type GetConnectedMigrationBotsResult = {
407
407
  })[];
408
408
  botAddress: Address;
409
409
  } | undefined;
410
- export interface ICreditAccountsService extends SDKConstruct {
410
+ export interface ICreditAccountsService extends Construct {
411
+ sdk: GearboxSDK;
411
412
  /**
412
413
  * Returns single credit account data, or undefined if it's not found
413
414
  * Performs all necessary price feed updates under the hood
@@ -1,58 +1,102 @@
1
- import type { Abi, Address, Client, ContractEventName, ContractFunctionName, DecodeFunctionDataReturnType, EncodeFunctionDataParameters, GetContractReturnType, Hex, Log } from "viem";
2
- import type { GearboxSDK } from "../GearboxSDK.js";
3
- import type { BaseContractStateHuman, ILogger, RawTx } from "../types/index.js";
4
- import { SDKConstruct } from "./SDKConstruct.js";
5
- export interface BaseContractOptions<abi extends Abi | readonly unknown[]> {
1
+ import type { Abi, Address, Chain, ContractEventName, ContractFunctionName, DecodeFunctionDataReturnType, EncodeFunctionDataParameters, GetContractReturnType, Hex, Log, PublicClient, Transport } from "viem";
2
+ import { BaseError, type ContractEventArgs, type GetContractEventsReturnType } from "viem";
3
+ import type { BaseContractStateHuman, RawTx } from "../types/index.js";
4
+ import { Construct, type ConstructOptions } from "./Construct.js";
5
+ import type { IBaseContract, ParsedCall, ParsedCallArgs } from "./types.js";
6
+ export interface BaseContractArgs<abi extends Abi | readonly unknown[]> {
6
7
  abi: abi;
7
8
  addr: Address;
8
9
  name?: string;
9
10
  version?: number | bigint;
10
11
  contractType?: string;
11
12
  }
12
- export interface IBaseContract {
13
+ export interface ContractParseErrorOptions {
13
14
  address: Address;
14
- contractType: string;
15
- version: number;
16
- name: string;
17
- dirty: boolean;
15
+ callData: Hex;
16
+ contractName?: string;
18
17
  }
19
- export declare abstract class BaseContract<abi extends Abi | readonly unknown[]> extends SDKConstruct implements IBaseContract {
20
- #private;
21
- readonly contract: GetContractReturnType<abi, {
22
- public: Client;
23
- }, Address>;
18
+ export declare class ContractParseError extends BaseError {
19
+ readonly address: Address;
20
+ readonly callData: Hex;
21
+ readonly selector: Hex;
22
+ constructor(cause: Error, options: ContractParseErrorOptions);
23
+ }
24
+ export declare class BaseContract<abi extends Abi | readonly unknown[]> extends Construct implements IBaseContract {
25
+ readonly contract: GetContractReturnType<abi, PublicClient<Transport, Chain>, Address>;
24
26
  readonly abi: abi;
25
- readonly logger?: ILogger;
26
27
  readonly contractType: string;
27
- version: number;
28
- constructor(sdk: GearboxSDK, args: BaseContractOptions<abi>);
29
- get address(): Address;
30
- set address(address: Address);
31
- get name(): string;
32
- set name(name: string);
28
+ readonly version: number;
29
+ readonly address: Address;
30
+ readonly name: string;
31
+ constructor({ client, logger }: ConstructOptions, args: BaseContractArgs<abi>);
33
32
  stateHuman(_?: boolean): BaseContractStateHuman;
34
33
  /**
35
34
  * Updates (or not) contract's internal state from event
36
35
  * @param _log
37
36
  */
38
37
  processLog(_log: Log<bigint, number, false, undefined, undefined, abi, ContractEventName<abi>>): void;
38
+ /**
39
+ * Return parsed args and function name from calldata belonging to this contract
40
+ * Target of the call is always this contract, but args can be parsed into calls to other contracts (de-facto recursive ParsedCall)
41
+ * @param calldata
42
+ * @returns
43
+ */
44
+ parseFunctionData(calldata: Hex): ParsedCall;
45
+ /**
46
+ * Same as {@link parseFunctionData}, but throws {@link ContractParseError} if error occurs
47
+ * @param callData
48
+ * @returns
49
+ */
50
+ mustParseFunctionData(callData: Hex): ParsedCall;
51
+ /**
52
+ * Parses viem-decoded contract function arguments to a map of named arguments
53
+ * This default implementation uses abi-based parsing, you can override it,
54
+ * but use this super implementation as fallback
55
+ * @param params
56
+ * @returns
57
+ */
58
+ protected parseFunctionParams(params: DecodeFunctionDataReturnType<abi>): ParsedCallArgs;
39
59
  /**
40
60
  * Converts contract calldata to some human-friendly string
41
61
  * This is safe function which should not throw
42
62
  * @param calldata
43
63
  * @returns
44
64
  */
45
- parseFunctionData(calldata: Hex): string;
46
- mustParseFunctionData(calldata: Hex): string;
65
+ stringifyFunctionData(calldata: Hex): string;
47
66
  /**
48
- * Return args and function name from calldata
67
+ * Same as {@link stingifyFunctionData}, but throws if error occurs
49
68
  * @param calldata
50
69
  * @returns
51
70
  */
52
- parseFunctionDataToObject(calldata: Hex): DecodeFunctionDataReturnType<abi, ContractFunctionName<abi, import("viem").AbiStateMutability>>;
53
- protected parseFunctionParams(_params: DecodeFunctionDataReturnType<abi>): Array<string> | undefined;
54
- getVersion(): Promise<number>;
71
+ mustStringifyFunctionData(calldata: Hex): string;
72
+ /**
73
+ * Pretty-prints values of function arguments (do not include parameter names)
74
+ * Can be overriden in classes, but use this super implementation as fallback
75
+ *
76
+ * @param decoded - Function arguments decoded by viem
77
+ * @returns
78
+ */
79
+ protected stringifyFunctionParams(decoded: DecodeFunctionDataReturnType<abi>): string[];
80
+ protected wrapParseCall(functionName: string, args: Record<string, string>): ParsedCall;
81
+ /**
82
+ * Creates a raw transaction for a function in this contract
83
+ * @param parameters
84
+ * @returns
85
+ */
55
86
  createRawTx<functionName extends ContractFunctionName<abi> | undefined = undefined>(parameters: Omit<EncodeFunctionDataParameters<abi, functionName>, "abi"> & {
56
87
  description?: string;
57
88
  }): RawTx;
89
+ /**
90
+ * Get events in safe manner, by bisecting block range if needed
91
+ *
92
+ * @deprecated TODO: this should be moved to viem transport
93
+ *
94
+ * @param eventName
95
+ * @param fromBlock
96
+ * @param toBlock
97
+ * @param args
98
+ * @param chunkSize
99
+ * @returns
100
+ */
101
+ 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>>;
58
102
  }
@@ -0,0 +1,57 @@
1
+ import type { Abi, Address, Chain, Hex, PublicClient, Transport } from "viem";
2
+ import type { MultiCall } from "../types/index.js";
3
+ import type { ILogger } from "../types/logger.js";
4
+ import type { BaseContract } from "./BaseContract.js";
5
+ import { TokensMeta } from "./TokensMeta.js";
6
+ import type { ParsedCall } from "./types.js";
7
+ export type ContractOrInterface<T> = T extends Abi | readonly unknown[] ? BaseContract<T> : T;
8
+ export declare class ChainContractsRegister {
9
+ #private;
10
+ static for(client: PublicClient<Transport, Chain>, logger?: ILogger): ChainContractsRegister;
11
+ private readonly contracts;
12
+ private readonly labels;
13
+ readonly client: PublicClient<Transport, Chain>;
14
+ /**
15
+ * Token metadata such as symbol and decimals
16
+ */
17
+ readonly tokensMeta: TokensMeta;
18
+ readonly logger?: ILogger;
19
+ constructor(client: PublicClient<Transport, Chain>, logger?: ILogger);
20
+ getContract<T = unknown[]>(address: Address): ContractOrInterface<T> | undefined;
21
+ mustGetContract<T = unknown[]>(address: Address): ContractOrInterface<T>;
22
+ setContract(address: Address, contract: BaseContract<any>): void;
23
+ setAddressLabel(address: Address, label: string | ((oldLabel?: string) => string)): void;
24
+ labelAddress(address: Address): string;
25
+ get chain(): Chain;
26
+ get chainId(): number;
27
+ /**
28
+ * Converts contract call into some human-friendly string
29
+ * This method is safe and should not throw
30
+ * @param address
31
+ * @param calldata
32
+ * @returns
33
+ */
34
+ stringifyFunctionData(address: Address, calldata: Hex): string;
35
+ /**
36
+ * Converts multicalls into some human-friendly strings
37
+ * This method is safe and should not throw
38
+ * @param address
39
+ * @param calldata
40
+ * @returns
41
+ */
42
+ stringifyMultiCall(calls: MultiCall[]): string[];
43
+ /**
44
+ * Return args, function, type and address name from contract call
45
+ * @param address
46
+ * @param calldata
47
+ * @returns
48
+ */
49
+ parseFunctionData(address: Address, calldata: Hex): ParsedCall;
50
+ /**
51
+ * Converts multicalls into call info
52
+ * @param address
53
+ * @param calldata
54
+ * @returns
55
+ */
56
+ parseMultiCall(calls: MultiCall[]): ParsedCall[];
57
+ }
@@ -0,0 +1,38 @@
1
+ import type { Address, Chain, PublicClient, Transport } from "viem";
2
+ import type { NetworkType } from "../chain/index.js";
3
+ import type { ILogger } from "../types/index.js";
4
+ import { ChainContractsRegister } from "./ChainContractsRegister.js";
5
+ import type { TokensMeta } from "./TokensMeta.js";
6
+ export interface ConstructOptions {
7
+ client: PublicClient<Transport, Chain>;
8
+ logger?: ILogger;
9
+ }
10
+ export declare class Construct {
11
+ #private;
12
+ readonly logger?: ILogger;
13
+ readonly client: PublicClient<Transport, Chain>;
14
+ readonly register: ChainContractsRegister;
15
+ constructor({ client, logger }: ConstructOptions);
16
+ get chain(): Chain;
17
+ get chainId(): number;
18
+ get networkType(): NetworkType;
19
+ /**
20
+ * Indicates that contract state diverged from onchain state and needs to be updated
21
+ */
22
+ get dirty(): boolean;
23
+ protected set dirty(value: boolean);
24
+ /**
25
+ * Syntax sugar for rgister.tokensMeta
26
+ */
27
+ protected get tokensMeta(): TokensMeta;
28
+ /**
29
+ * Syntax suggar for getting contract labels
30
+ * @param address
31
+ * @returns
32
+ */
33
+ protected labelAddress(address: Address): string;
34
+ /**
35
+ * Returns list of addresses that should be watched for events to sync state
36
+ */
37
+ get watchAddresses(): Set<Address>;
38
+ }