@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,9 +1,8 @@
1
1
  import type { Abi, Address, UnionOmit } from "viem";
2
- import type { GearboxSDK } from "../../GearboxSDK.js";
2
+ import type { ConstructOptions } from "../../base/Construct.js";
3
3
  import type { LPPriceFeedStateHuman } from "../../types/state-human.js";
4
4
  import { AbstractPriceFeedContract, type PriceFeedConstructorArgs } from "./AbstractPriceFeed.js";
5
- import type { ILPPriceFeedContract } from "./types.js";
6
- export declare abstract class AbstractLPPriceFeedContract<const abi extends Abi | readonly unknown[]> extends AbstractPriceFeedContract<abi> implements ILPPriceFeedContract {
5
+ export declare abstract class AbstractLPPriceFeedContract<const abi extends Abi | readonly unknown[]> extends AbstractPriceFeedContract<abi> {
7
6
  readonly lpContract: Address;
8
7
  readonly lpToken: Address;
9
8
  readonly lowerBound: bigint;
@@ -11,11 +10,7 @@ export declare abstract class AbstractLPPriceFeedContract<const abi extends Abi
11
10
  readonly exchangeRate?: bigint;
12
11
  readonly aggregatePrice?: bigint;
13
12
  readonly scale?: bigint;
14
- constructor(sdk: GearboxSDK, args: PriceFeedConstructorArgs<abi>);
15
- abstract getValue(): Promise<bigint>;
16
- getLowerBound(): Promise<bigint>;
17
- currentLowerBound(): Promise<bigint>;
18
- static toLowerBound(value: bigint): bigint;
13
+ constructor(options: ConstructOptions, args: PriceFeedConstructorArgs<abi>);
19
14
  stateHuman(raw?: boolean): UnionOmit<LPPriceFeedStateHuman, "stalenessPeriod">;
20
15
  }
21
16
  export declare function isLPPriceFeed(priceFeed: unknown): priceFeed is AbstractLPPriceFeedContract<any>;
@@ -1,7 +1,6 @@
1
1
  import type { Abi, RequiredBy, UnionOmit } from "viem";
2
- import type { PriceFeedAnswer, PriceFeedTreeNode } from "../../base/index.js";
2
+ import type { ConstructOptions, PriceFeedAnswer, PriceFeedTreeNode } from "../../base/index.js";
3
3
  import { BaseContract } from "../../base/index.js";
4
- import type { GearboxSDK } from "../../GearboxSDK.js";
5
4
  import type { PriceFeedStateHuman } from "../../types/index.js";
6
5
  import { PriceFeedRef } from "./PriceFeedRef.js";
7
6
  import type { IPriceFeedContract, IUpdatablePriceFeedContract, PriceFeedContractType } from "./types.js";
@@ -18,7 +17,7 @@ export declare abstract class AbstractPriceFeedContract<const abi extends Abi |
18
17
  #private;
19
18
  hasLowerBoundCap: boolean;
20
19
  readonly description?: string;
21
- constructor(sdk: GearboxSDK, args: PriceFeedConstructorArgs<abi>);
20
+ constructor(options: ConstructOptions, args: PriceFeedConstructorArgs<abi>);
22
21
  get loaded(): boolean;
23
22
  get decimals(): number;
24
23
  get updatable(): boolean;
@@ -1,10 +1,9 @@
1
1
  import { bptStablePriceFeedAbi } from "../../abi/index.js";
2
- import type { GearboxSDK } from "../../GearboxSDK.js";
2
+ import type { ConstructOptions } from "../../base/Construct.js";
3
3
  import { AbstractLPPriceFeedContract } from "./AbstractLPPriceFeed.js";
4
4
  import type { PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
5
5
  type abi = typeof bptStablePriceFeedAbi;
6
6
  export declare class BalancerStablePriceFeedContract extends AbstractLPPriceFeedContract<abi> {
7
- constructor(sdk: GearboxSDK, args: PartialPriceFeedTreeNode);
8
- getValue(): Promise<bigint>;
7
+ constructor(options: ConstructOptions, args: PartialPriceFeedTreeNode);
9
8
  }
10
9
  export {};
@@ -1,6 +1,6 @@
1
1
  import type { Address, Hex, UnionOmit } from "viem";
2
2
  import { bptWeightedPriceFeedAbi } from "../../abi/index.js";
3
- import type { GearboxSDK } from "../../GearboxSDK.js";
3
+ import type { ConstructOptions } from "../../base/Construct.js";
4
4
  import type { BalancerWeightedPriceFeedStateHuman } from "../../types/state-human.js";
5
5
  import { AbstractLPPriceFeedContract } from "./AbstractLPPriceFeed.js";
6
6
  import type { PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
@@ -18,8 +18,7 @@ export declare class BalancerWeightedPriceFeedContract extends AbstractLPPriceFe
18
18
  bigint,
19
19
  bigint
20
20
  ];
21
- constructor(sdk: GearboxSDK, args: PartialPriceFeedTreeNode);
22
- getValue(): Promise<bigint>;
21
+ constructor(options: ConstructOptions, args: PartialPriceFeedTreeNode);
23
22
  stateHuman(raw?: boolean): UnionOmit<BalancerWeightedPriceFeedStateHuman, "stalenessPeriod">;
24
23
  }
25
24
  export {};
@@ -1,12 +1,12 @@
1
1
  import { boundedPriceFeedAbi } from "../../abi/index.js";
2
- import type { GearboxSDK } from "../../GearboxSDK.js";
2
+ import type { ConstructOptions } from "../../base/Construct.js";
3
3
  import type { BoundedOracleStateHuman } from "../../types/index.js";
4
4
  import type { PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
5
5
  import { AbstractPriceFeedContract } from "./AbstractPriceFeed.js";
6
6
  type abi = typeof boundedPriceFeedAbi;
7
7
  export declare class BoundedPriceFeedContract extends AbstractPriceFeedContract<abi> {
8
8
  readonly upperBound: bigint;
9
- constructor(sdk: GearboxSDK, args: PartialPriceFeedTreeNode);
9
+ constructor(options: ConstructOptions, args: PartialPriceFeedTreeNode);
10
10
  stateHuman(raw?: boolean): Omit<BoundedOracleStateHuman, "stalenessPeriod">;
11
11
  }
12
12
  export {};
@@ -1,11 +1,11 @@
1
1
  import { compositePriceFeedAbi } from "../../abi/index.js";
2
- import type { GearboxSDK } from "../../GearboxSDK.js";
2
+ import type { ConstructOptions } from "../../base/Construct.js";
3
3
  import type { PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
4
4
  import { AbstractPriceFeedContract } from "./AbstractPriceFeed.js";
5
5
  import type { PriceFeedRef } from "./PriceFeedRef.js";
6
6
  type abi = typeof compositePriceFeedAbi;
7
7
  export declare class CompositePriceFeedContract extends AbstractPriceFeedContract<abi> {
8
- constructor(sdk: GearboxSDK, args: PartialPriceFeedTreeNode);
8
+ constructor(options: ConstructOptions, args: PartialPriceFeedTreeNode);
9
9
  get targetToBasePriceFeed(): PriceFeedRef;
10
10
  get baseToUsdPriceFeed(): PriceFeedRef;
11
11
  }
@@ -1,12 +1,12 @@
1
1
  import { constantPriceFeedAbi } from "../../abi/oracles.js";
2
- import type { GearboxSDK } from "../../GearboxSDK.js";
2
+ import type { ConstructOptions } from "../../base/Construct.js";
3
3
  import type { ConstantOracleStateHuman } from "../../types/index.js";
4
4
  import type { PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
5
5
  import { AbstractPriceFeedContract } from "./AbstractPriceFeed.js";
6
6
  type abi = typeof constantPriceFeedAbi;
7
7
  export declare class ConstantPriceFeedContract extends AbstractPriceFeedContract<abi> {
8
8
  readonly price: bigint;
9
- constructor(sdk: GearboxSDK, args: PartialPriceFeedTreeNode);
9
+ constructor(options: ConstructOptions, args: PartialPriceFeedTreeNode);
10
10
  stateHuman(raw?: boolean): Omit<ConstantOracleStateHuman, "stalenessPeriod">;
11
11
  }
12
12
  export {};
@@ -1,10 +1,9 @@
1
1
  import { curveCryptoLpPriceFeedAbi } from "../../abi/index.js";
2
- import type { GearboxSDK } from "../../GearboxSDK.js";
2
+ import type { ConstructOptions } from "../../base/Construct.js";
3
3
  import { AbstractLPPriceFeedContract } from "./AbstractLPPriceFeed.js";
4
4
  import type { PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
5
5
  type abi = typeof curveCryptoLpPriceFeedAbi;
6
6
  export declare class CurveCryptoPriceFeedContract extends AbstractLPPriceFeedContract<abi> {
7
- constructor(sdk: GearboxSDK, args: PartialPriceFeedTreeNode);
8
- getValue(): Promise<bigint>;
7
+ constructor(options: ConstructOptions, args: PartialPriceFeedTreeNode);
9
8
  }
10
9
  export {};
@@ -1,10 +1,9 @@
1
1
  import { curveStableLpPriceFeedAbi } from "../../abi/index.js";
2
- import type { GearboxSDK } from "../../GearboxSDK.js";
2
+ import type { ConstructOptions } from "../../base/Construct.js";
3
3
  import { AbstractLPPriceFeedContract } from "./AbstractLPPriceFeed.js";
4
4
  import type { PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
5
5
  type abi = typeof curveStableLpPriceFeedAbi;
6
6
  export declare class CurveStablePriceFeedContract extends AbstractLPPriceFeedContract<abi> {
7
- constructor(sdk: GearboxSDK, args: PartialPriceFeedTreeNode);
8
- getValue(): Promise<bigint>;
7
+ constructor(options: ConstructOptions, args: PartialPriceFeedTreeNode);
9
8
  }
10
9
  export {};
@@ -1,10 +1,9 @@
1
1
  import { curveUsdPriceFeedAbi } from "../../abi/index.js";
2
- import type { GearboxSDK } from "../../GearboxSDK.js";
2
+ import type { ConstructOptions } from "../../base/Construct.js";
3
3
  import { AbstractLPPriceFeedContract } from "./AbstractLPPriceFeed.js";
4
4
  import type { PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
5
5
  type abi = typeof curveUsdPriceFeedAbi;
6
6
  export declare class CurveUSDPriceFeedContract extends AbstractLPPriceFeedContract<abi> {
7
- constructor(sdk: GearboxSDK, args: PartialPriceFeedTreeNode);
8
- getValue(): Promise<bigint>;
7
+ constructor(options: ConstructOptions, args: PartialPriceFeedTreeNode);
9
8
  }
10
9
  export {};
@@ -1,10 +1,9 @@
1
1
  import { erc4626PriceFeedAbi } from "../../abi/index.js";
2
- import type { GearboxSDK } from "../../GearboxSDK.js";
2
+ import type { ConstructOptions } from "../../base/Construct.js";
3
3
  import { AbstractLPPriceFeedContract } from "./AbstractLPPriceFeed.js";
4
4
  import type { PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
5
5
  type abi = typeof erc4626PriceFeedAbi;
6
6
  export declare class Erc4626PriceFeedContract extends AbstractLPPriceFeedContract<abi> {
7
- constructor(sdk: GearboxSDK, args: PartialPriceFeedTreeNode);
8
- getValue(): Promise<bigint>;
7
+ constructor(options: ConstructOptions, args: PartialPriceFeedTreeNode);
9
8
  }
10
9
  export {};
@@ -1,9 +1,9 @@
1
1
  import { chainlinkReadableAggregatorAbi } from "../../abi/index.js";
2
- import type { GearboxSDK } from "../../GearboxSDK.js";
2
+ import type { ConstructOptions } from "../../base/Construct.js";
3
3
  import type { PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
4
4
  import { AbstractPriceFeedContract } from "./AbstractPriceFeed.js";
5
5
  type abi = typeof chainlinkReadableAggregatorAbi;
6
6
  export declare class ExternalPriceFeedContract extends AbstractPriceFeedContract<abi> {
7
- constructor(sdk: GearboxSDK, args: PartialPriceFeedTreeNode);
7
+ constructor(options: ConstructOptions, args: PartialPriceFeedTreeNode);
8
8
  }
9
9
  export {};
@@ -1,10 +1,9 @@
1
1
  import { mellowLrtPriceFeedAbi } from "../../abi/index.js";
2
- import type { GearboxSDK } from "../../GearboxSDK.js";
2
+ import type { ConstructOptions } from "../../base/Construct.js";
3
3
  import { AbstractLPPriceFeedContract } from "./AbstractLPPriceFeed.js";
4
4
  import type { PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
5
5
  type abi = typeof mellowLrtPriceFeedAbi;
6
6
  export declare class MellowLRTPriceFeedContract extends AbstractLPPriceFeedContract<abi> {
7
- constructor(sdk: GearboxSDK, args: PartialPriceFeedTreeNode);
8
- getValue(): Promise<bigint>;
7
+ constructor(options: ConstructOptions, args: PartialPriceFeedTreeNode);
9
8
  }
10
9
  export {};
@@ -1,5 +1,5 @@
1
1
  import type { Address } from "viem";
2
- import type { GearboxSDK } from "../../GearboxSDK.js";
2
+ import type { ConstructOptions } from "../../base/Construct.js";
3
3
  import type { PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
4
4
  import { AbstractPriceFeedContract } from "./AbstractPriceFeed.js";
5
5
  declare const abi: readonly [{
@@ -211,6 +211,6 @@ export declare class PendleTWAPPTPriceFeed extends AbstractPriceFeedContract<abi
211
211
  readonly expiry: bigint;
212
212
  readonly twapWindow: number;
213
213
  readonly priceToSy: boolean;
214
- constructor(sdk: GearboxSDK, args: PartialPriceFeedTreeNode);
214
+ constructor(options: ConstructOptions, args: PartialPriceFeedTreeNode);
215
215
  }
216
216
  export {};
@@ -1,16 +1,15 @@
1
1
  import type { Address } from "viem";
2
- import { SDKConstruct } from "../../base/index.js";
3
- import type { GearboxSDK } from "../../GearboxSDK.js";
2
+ import { Construct, type ConstructOptions } from "../../base/index.js";
4
3
  import type { PriceFeedStateHuman } from "../../types/index.js";
5
4
  import type { IPriceFeedContract } from "./types.js";
6
5
  /**
7
6
  * PriceFeedRef is a connector between price feed and oracle, e.g. oracle's entry for price feed + staleness period
8
7
  */
9
- export declare class PriceFeedRef extends SDKConstruct {
8
+ export declare class PriceFeedRef extends Construct {
10
9
  #private;
11
10
  readonly address: Address;
12
11
  readonly stalenessPeriod: number;
13
- constructor(sdk: GearboxSDK, address: Address, stalenessPeriod: number);
12
+ constructor(options: ConstructOptions, address: Address, stalenessPeriod: number);
14
13
  get priceFeed(): IPriceFeedContract;
15
14
  stateHuman(raw?: boolean): PriceFeedStateHuman;
16
15
  }
@@ -2,7 +2,7 @@ import { type Address, type BlockTag } from "viem";
2
2
  import type { PriceFeedTreeNode } from "../../base/index.js";
3
3
  import { SDKConstruct } from "../../base/index.js";
4
4
  import type { GearboxSDK } from "../../GearboxSDK.js";
5
- import type { ILogger, RawTx } from "../../types/index.js";
5
+ import type { RawTx } from "../../types/index.js";
6
6
  import type { IHooks } from "../../utils/internal/index.js";
7
7
  import { type PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
8
8
  import type { IPriceFeedContract, PriceUpdateV310, UpdatePriceFeedsResult } from "./types.js";
@@ -28,7 +28,6 @@ export interface LatestUpdate {
28
28
  **/
29
29
  export declare class PriceFeedRegister extends SDKConstruct implements IHooks<PriceFeedRegisterHooks> {
30
30
  #private;
31
- readonly logger?: ILogger;
32
31
  readonly updaters: IPriceUpdater[];
33
32
  constructor(sdk: GearboxSDK, opts?: PriceFeedRegisterOptions);
34
33
  addHook: <K extends "updatesGenerated">(hookName: K, fn: (...args: PriceFeedRegisterHooks[K]) => void | Promise<void>) => void;
@@ -1,5 +1,5 @@
1
1
  import type { Address, Hex } from "viem";
2
- import type { GearboxSDK } from "../../GearboxSDK.js";
2
+ import type { ConstructOptions } from "../../base/Construct.js";
3
3
  import type { RawTx } from "../../types/index.js";
4
4
  import type { PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
5
5
  import { AbstractPriceFeedContract } from "./AbstractPriceFeed.js";
@@ -222,7 +222,7 @@ export declare class PythPriceFeed extends AbstractPriceFeedContract<abi> implem
222
222
  readonly priceFeedId: Hex;
223
223
  readonly pyth: Address;
224
224
  readonly maxConfToPriceRatio?: bigint;
225
- constructor(sdk: GearboxSDK, args: PartialPriceFeedTreeNode);
225
+ constructor(options: ConstructOptions, args: PartialPriceFeedTreeNode);
226
226
  createPriceUpdateTx(data: `0x${string}`): RawTx;
227
227
  }
228
228
  export {};
@@ -1,6 +1,6 @@
1
1
  import type { Address, Hex } from "viem";
2
2
  import { redstonePriceFeedAbi } from "../../abi/index.js";
3
- import type { GearboxSDK } from "../../GearboxSDK.js";
3
+ import type { ConstructOptions } from "../../base/Construct.js";
4
4
  import type { RawTx, RedstonePriceFeedStateHuman } from "../../types/index.js";
5
5
  import type { PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
6
6
  import { AbstractPriceFeedContract } from "./AbstractPriceFeed.js";
@@ -14,7 +14,7 @@ export declare class RedstonePriceFeedContract extends AbstractPriceFeedContract
14
14
  readonly signersThreshold: number;
15
15
  readonly lastPrice: bigint;
16
16
  readonly lastPayloadTimestamp: number;
17
- constructor(sdk: GearboxSDK, args: PartialPriceFeedTreeNode);
17
+ constructor(options: ConstructOptions, args: PartialPriceFeedTreeNode);
18
18
  stateHuman(raw?: boolean): Omit<RedstonePriceFeedStateHuman, "stalenessPeriod">;
19
19
  createPriceUpdateTx(data: `0x${string}`): RawTx;
20
20
  }
@@ -1,10 +1,9 @@
1
1
  import { wstEthPriceFeedAbi } from "../../abi/index.js";
2
- import type { GearboxSDK } from "../../GearboxSDK.js";
2
+ import type { ConstructOptions } from "../../base/Construct.js";
3
3
  import { AbstractLPPriceFeedContract } from "./AbstractLPPriceFeed.js";
4
4
  import type { PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
5
5
  type abi = typeof wstEthPriceFeedAbi;
6
6
  export declare class WstETHPriceFeedContract extends AbstractLPPriceFeedContract<abi> {
7
- constructor(sdk: GearboxSDK, args: PartialPriceFeedTreeNode);
8
- getValue(): Promise<bigint>;
7
+ constructor(options: ConstructOptions, args: PartialPriceFeedTreeNode);
9
8
  }
10
9
  export {};
@@ -1,10 +1,9 @@
1
1
  import { yearnPriceFeedAbi } from "../../abi/index.js";
2
- import type { GearboxSDK } from "../../GearboxSDK.js";
2
+ import type { ConstructOptions } from "../../base/Construct.js";
3
3
  import { AbstractLPPriceFeedContract } from "./AbstractLPPriceFeed.js";
4
4
  import type { PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
5
5
  type abi = typeof yearnPriceFeedAbi;
6
6
  export declare class YearnPriceFeedContract extends AbstractLPPriceFeedContract<abi> {
7
- constructor(sdk: GearboxSDK, args: PartialPriceFeedTreeNode);
8
- getValue(): Promise<bigint>;
7
+ constructor(options: ConstructOptions, args: PartialPriceFeedTreeNode);
9
8
  }
10
9
  export {};
@@ -1,9 +1,9 @@
1
1
  import { zeroPriceFeedAbi } from "../../abi/index.js";
2
- import type { GearboxSDK } from "../../GearboxSDK.js";
2
+ import type { ConstructOptions } from "../../base/Construct.js";
3
3
  import type { PartialPriceFeedTreeNode } from "./AbstractPriceFeed.js";
4
4
  import { AbstractPriceFeedContract } from "./AbstractPriceFeed.js";
5
5
  type abi = typeof zeroPriceFeedAbi;
6
6
  export declare class ZeroPriceFeedContract extends AbstractPriceFeedContract<abi> {
7
- constructor(sdk: GearboxSDK, args: PartialPriceFeedTreeNode);
7
+ constructor(options: ConstructOptions, args: PartialPriceFeedTreeNode);
8
8
  }
9
9
  export {};
@@ -35,11 +35,6 @@ export interface IPriceFeedContract extends IBaseContract {
35
35
  export interface IUpdatablePriceFeedContract extends IPriceFeedContract {
36
36
  createPriceUpdateTx: (data: `0x${string}`) => RawTx;
37
37
  }
38
- export interface ILPPriceFeedContract extends IPriceFeedContract {
39
- getValue: () => Promise<bigint>;
40
- getLowerBound: () => Promise<bigint>;
41
- currentLowerBound: () => Promise<bigint>;
42
- }
43
38
  export interface UpdatePriceFeedsResult {
44
39
  txs: IPriceUpdateTx[];
45
40
  timestamp: number;
@@ -11,7 +11,14 @@ export interface PriceUpdatesCacheOptions {
11
11
  }
12
12
  export declare class PriceUpdatesCache {
13
13
  #private;
14
- constructor(opts: PriceUpdatesCacheOptions);
14
+ /**
15
+ * Price update caches can be shared across networks
16
+ * @param id - unique key to identify the cache
17
+ * @param opts
18
+ * @returns
19
+ */
20
+ static get(id: string, opts: PriceUpdatesCacheOptions): PriceUpdatesCache;
21
+ private constructor();
15
22
  get(...path: Array<number | string>): Omit<TimestampedCalldata, "cached"> | undefined;
16
23
  set(value: Omit<TimestampedCalldata, "cached">, ...path: Array<number | string>): void;
17
24
  }
@@ -1,5 +1,6 @@
1
1
  import type { Abi, Address } from "viem";
2
- import { BaseContract } from "../base/index.js";
2
+ import { BaseContract, type BaseContractArgs } from "../base/index.js";
3
+ import type { GearboxSDK } from "../GearboxSDK.js";
3
4
  import type { IPriceOracleContract } from "../market/index.js";
4
5
  import { AddressMap, AddressSet } from "../utils/index.js";
5
6
  import type { IHooks } from "../utils/internal/index.js";
@@ -14,6 +15,8 @@ export declare abstract class AbstractRouterContract<abi extends Abi | readonly
14
15
  protected readonly hooks: Hooks<RouterHooks>;
15
16
  readonly addHook: <K extends "foundPathOptions">(hookName: K, fn: (...args: RouterHooks[K]) => void | Promise<void>) => void;
16
17
  readonly removeHook: <K extends "foundPathOptions">(hookName: K, fn: (...args: RouterHooks[K]) => void | Promise<void>) => void;
18
+ readonly sdk: GearboxSDK;
19
+ constructor(sdk: GearboxSDK, args: BaseContractArgs<abi>);
17
20
  protected getExpectedAndLeftover(ca: RouterCASlice, cm: RouterCMSlice, options?: ExpectedAndLeftoverOptions): Leftovers;
18
21
  protected getDefaultExpectedAndLeftover(ca: RouterCASlice, keepAssets?: Address[], debtOnly?: boolean): Leftovers;
19
22
  /**
@@ -1,6 +1,5 @@
1
1
  import type { Address } from "viem";
2
- import type { IBaseContract } from "../base/BaseContract.js";
3
- import type { CreditAccountData } from "../base/types.js";
2
+ import type { CreditAccountData, IBaseContract } from "../base/index.js";
4
3
  import type { MultiCall } from "../types/index.js";
5
4
  import type { Leftovers } from "./AbstractRouterContract.js";
6
5
  export type SwapOperation = "EXACT_INPUT" | "EXACT_INPUT_ALL" | "EXACT_OUTPUT";
@@ -123,8 +123,8 @@ export declare class CreditAccountData_Legacy {
123
123
  constructor(payload: CreditAccountDataPayload);
124
124
  static sortBalances(balances: Record<Address, bigint>, prices: Record<Address, bigint>, tokens: Record<Address, TokenData>): Array<[Address, bigint]>;
125
125
  static sortAssets<T extends Asset>(balances: Array<T>, prices: Record<Address, bigint>, tokens: Record<Address, TokenData>): T[];
126
- static assetComparator<T extends Asset>(t1: T, t2: T, prices1: Record<Address, bigint> | undefined, prices2: Record<Address, bigint> | undefined, tokens1: Record<Address, TokenData> | undefined, tokens2: Record<Address, TokenData> | undefined): 1 | -1 | 0;
127
- static tokensAbcComparator(t1?: TokenData, t2?: TokenData): 1 | -1 | 0;
126
+ static assetComparator<T extends Asset>(t1: T, t2: T, prices1: Record<Address, bigint> | undefined, prices2: Record<Address, bigint> | undefined, tokens1: Record<Address, TokenData> | undefined, tokens2: Record<Address, TokenData> | undefined): 1 | 0 | -1;
127
+ static tokensAbcComparator(t1?: TokenData, t2?: TokenData): 1 | 0 | -1;
128
128
  static amountAbcComparator(t1: bigint, t2: bigint): 1 | -1;
129
129
  isForbidden(token: Address): boolean;
130
130
  isQuoted(token: Address): boolean;
@@ -0,0 +1,10 @@
1
+ import { type Abi, type DecodeFunctionDataReturnType } from "viem";
2
+ /**
3
+ * Converts decoded function args (as decoded by viem, i.e. as array) to named map of args
4
+ * Can return undefined if function is not found in ABI
5
+ * @param abi
6
+ * @param functionName
7
+ * @param args
8
+ * @returns
9
+ */
10
+ export declare function functionArgsToMap<T extends Abi | readonly unknown[]>(abi: T, functionName: string, args: DecodeFunctionDataReturnType<T>["args"]): Record<string, string>;
@@ -1,5 +1,6 @@
1
1
  export * from "./AddressMap.js";
2
2
  export * from "./AddressSet.js";
3
+ export * from "./abi-decode.js";
3
4
  export * from "./bytes32ToString.js";
4
5
  export * from "./childLogger.js";
5
6
  export * from "./createRawTx.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "11.11.3",
3
+ "version": "12.0.0-next.1",
4
4
  "description": "Gearbox SDK",
5
5
  "license": "MIT",
6
6
  "main": "./dist/cjs/sdk/index.js",
@@ -1,173 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var base_contract_exports = {};
20
- __export(base_contract_exports, {
21
- BaseContract: () => BaseContract
22
- });
23
- module.exports = __toCommonJS(base_contract_exports);
24
- var import_viem = require("viem");
25
- var import_utils = require("../../sdk/utils/index.js");
26
- var import_abi_decoder = require("../utils/abi-decoder.js");
27
- class BaseContract {
28
- abi;
29
- address;
30
- name;
31
- static register = {};
32
- contract;
33
- client;
34
- constructor(abi, address, client, name) {
35
- this.abi = abi;
36
- this.client = client;
37
- this.address = address.toLowerCase();
38
- this.name = name;
39
- this.contract = (0, import_viem.getContract)({
40
- address,
41
- abi,
42
- client
43
- });
44
- BaseContract.register[this.address] = this;
45
- }
46
- static parseCall(call) {
47
- const parsedCall = BaseContract.parse(call.target, call.callData);
48
- return {
49
- ...parsedCall,
50
- chainId: call.chainId
51
- };
52
- }
53
- static parse(address, calldata) {
54
- const contract = BaseContract.register[address.toLowerCase()];
55
- if (contract) {
56
- return contract.parseFunctionData(calldata);
57
- } else {
58
- return {
59
- chainId: 0,
60
- target: address,
61
- label: "Unknown contract",
62
- functionName: `Unknown function: ${calldata}`,
63
- args: {}
64
- };
65
- }
66
- }
67
- parseFunctionData(calldata) {
68
- const decodedWithNames = (0, import_abi_decoder.decodeFunctionWithNamedArgs)(this.abi, calldata);
69
- if (!decodedWithNames) {
70
- return {
71
- chainId: 0,
72
- target: this.address,
73
- label: this.name,
74
- functionName: `Unknown function: ${calldata}`,
75
- args: {}
76
- };
77
- }
78
- const specParsed = this.parseFunctionParams(
79
- decodedWithNames.originalDecoded
80
- );
81
- if (specParsed) {
82
- return specParsed;
83
- }
84
- return this.wrapParseCall(
85
- decodedWithNames.originalDecoded,
86
- decodedWithNames.args
87
- );
88
- }
89
- wrapParseCall(params, parsedParams) {
90
- return {
91
- chainId: 0,
92
- target: this.address,
93
- label: this.name,
94
- functionName: params.functionName,
95
- args: parsedParams
96
- };
97
- }
98
- parseFunctionParams(_params) {
99
- return void 0;
100
- }
101
- createRawTx(parameters) {
102
- const { description: argsDescription } = parameters;
103
- const tx = (0, import_utils.createRawTx)(
104
- this.address,
105
- {
106
- abi: this.abi,
107
- ...parameters
108
- },
109
- argsDescription
110
- );
111
- tx.description = parameters.description || argsDescription || this.stringifyParsedCall(this.parseFunctionData(tx.callData));
112
- return tx;
113
- }
114
- stringifyParsedCall(parsedCall) {
115
- const argsStr = Object.entries(parsedCall.args).map(([key, value]) => `${key}: ${value}`).join(", ");
116
- return `${parsedCall.label}.${parsedCall.functionName}(${argsStr})`;
117
- }
118
- async getEvents(eventName, fromBlock, toBlock, args, chunkSize) {
119
- if (chunkSize) {
120
- const chunkSizeBigint = BigInt(chunkSize);
121
- const getEventPromises = [];
122
- for (let i = fromBlock; i < toBlock; i += chunkSizeBigint) {
123
- getEventPromises.push(
124
- this.client.getContractEvents({
125
- address: this.address,
126
- fromBlock: i,
127
- toBlock: i + chunkSizeBigint,
128
- abi: this.abi,
129
- eventName,
130
- args
131
- })
132
- );
133
- }
134
- const events = (await Promise.all(getEventPromises)).flat();
135
- return events;
136
- }
137
- try {
138
- const events = await this.client.getContractEvents({
139
- address: this.address,
140
- fromBlock,
141
- toBlock,
142
- abi: this.abi,
143
- eventName,
144
- args
145
- });
146
- return events;
147
- } catch (e) {
148
- const blockRangeErrors = [
149
- "query exceeds max block",
150
- "range is too large",
151
- "eth_getLogs is limited to",
152
- "Unable to perform request",
153
- "Block range limit exceeded"
154
- ];
155
- if (e instanceof Error && blockRangeErrors.some((errorText) => e.message.includes(errorText))) {
156
- const middle = (fromBlock + toBlock) / 2n;
157
- const [firstHalfEvents, secondHalfEvents] = await Promise.all([
158
- this.getEvents(eventName, fromBlock, middle, args),
159
- this.getEvents(eventName, middle + 1n, toBlock, args)
160
- ]);
161
- return [...firstHalfEvents, ...secondHalfEvents];
162
- }
163
- throw e;
164
- }
165
- }
166
- getContract() {
167
- return this.contract;
168
- }
169
- }
170
- // Annotate the CommonJS export names for ESM import in node:
171
- 0 && (module.exports = {
172
- BaseContract
173
- });