@gearbox-protocol/sdk 11.12.0 → 12.0.0-next.2

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 (439) 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 +15 -27
  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/deserializePartialLiquidationBotParams.js +49 -0
  77. package/dist/cjs/plugins/zappers/ZappersPlugin.js +1 -1
  78. package/dist/cjs/sdk/GearboxSDK.js +8 -110
  79. package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +1 -4
  80. package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +6 -8
  81. package/dist/cjs/sdk/base/BaseContract.js +195 -80
  82. package/dist/cjs/sdk/base/ChainContractsRegister.js +135 -0
  83. package/dist/cjs/sdk/base/Construct.js +87 -0
  84. package/dist/cjs/sdk/base/SDKConstruct.js +3 -29
  85. package/dist/cjs/sdk/base/TokensMeta.js +4 -4
  86. package/dist/cjs/sdk/base/index.js +4 -2
  87. package/dist/cjs/sdk/core/BotListV3Contract.js +2 -2
  88. package/dist/cjs/sdk/core/GearStakingV3Contract.js +2 -2
  89. package/dist/cjs/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  90. package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +11 -6
  91. package/dist/cjs/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  92. package/dist/cjs/sdk/market/MarketConfiguratorContract.js +5 -5
  93. package/dist/cjs/sdk/market/MarketRegister.js +7 -9
  94. package/dist/cjs/sdk/market/MarketSuite.js +2 -2
  95. package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +4 -3
  96. package/dist/cjs/sdk/market/credit/CreditConfiguratorV310Contract.js +4 -3
  97. package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  98. package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  99. package/dist/cjs/sdk/market/credit/CreditManagerV300Contract.js +5 -2
  100. package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +5 -2
  101. package/dist/cjs/sdk/market/credit/CreditSuite.js +2 -3
  102. package/dist/cjs/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +3 -1
  103. package/dist/cjs/sdk/market/loss-policy/LossPolicyContract.js +2 -2
  104. package/dist/cjs/sdk/market/loss-policy/createLossPolicy.js +1 -1
  105. package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +8 -26
  106. package/dist/cjs/sdk/market/oracle/createPriceOracle.js +1 -1
  107. package/dist/cjs/sdk/market/pool/GaugeContract.js +2 -2
  108. package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  109. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  110. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  111. package/dist/cjs/sdk/market/pool/PoolSuite.js +1 -1
  112. package/dist/cjs/sdk/market/pool/PoolV300Contract.js +5 -5
  113. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +5 -5
  114. package/dist/cjs/sdk/market/pool/TumblerContract.js +2 -2
  115. package/dist/cjs/sdk/market/pool/createInterestRateModel.js +11 -15
  116. package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +2 -22
  117. package/dist/cjs/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  118. package/dist/cjs/sdk/market/pricefeeds/BalancerStablePriceFeed.js +2 -9
  119. package/dist/cjs/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +2 -9
  120. package/dist/cjs/sdk/market/pricefeeds/BoundedPriceFeed.js +6 -2
  121. package/dist/cjs/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  122. package/dist/cjs/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  123. package/dist/cjs/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +2 -9
  124. package/dist/cjs/sdk/market/pricefeeds/CurveStablePriceFeed.js +2 -9
  125. package/dist/cjs/sdk/market/pricefeeds/CurveUSDPriceFeed.js +2 -9
  126. package/dist/cjs/sdk/market/pricefeeds/Erc4626PriceFeed.js +2 -18
  127. package/dist/cjs/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  128. package/dist/cjs/sdk/market/pricefeeds/MellowLRTPriceFeed.js +2 -10
  129. package/dist/cjs/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  130. package/dist/cjs/sdk/market/pricefeeds/PriceFeedRef.js +6 -4
  131. package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +2 -3
  132. package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  133. package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  134. package/dist/cjs/sdk/market/pricefeeds/WstETHPriceFeed.js +2 -9
  135. package/dist/cjs/sdk/market/pricefeeds/YearnPriceFeed.js +2 -9
  136. package/dist/cjs/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  137. package/dist/cjs/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +17 -0
  138. package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +7 -9
  139. package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +10 -12
  140. package/dist/cjs/sdk/router/AbstractRouterContract.js +5 -0
  141. package/dist/cjs/sdk/router/RouterV310Contract.js +3 -3
  142. package/dist/cjs/sdk/router/createRouter.js +4 -0
  143. package/dist/cjs/sdk/utils/abi-decode.js +58 -0
  144. package/dist/cjs/sdk/utils/index.js +2 -0
  145. package/dist/esm/dev/create2.js +2 -2
  146. package/dist/esm/dev/mint/AbstractMinter.js +3 -7
  147. package/dist/esm/dev/mint/DealMinter.js +0 -3
  148. package/dist/esm/dev/mint/DirectMinter.js +0 -3
  149. package/dist/esm/dev/mint/FallbackMinter.js +1 -1
  150. package/dist/esm/dev/mint/TransferMinter.js +0 -3
  151. package/dist/esm/permissionless/bindings/address-provider.js +7 -7
  152. package/dist/esm/permissionless/bindings/bytecode-repository.js +22 -24
  153. package/dist/esm/permissionless/bindings/compressors/token-compressor.js +3 -3
  154. package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +10 -16
  155. package/dist/esm/permissionless/bindings/cross-chain-multisig.js +20 -16
  156. package/dist/esm/permissionless/bindings/factory/abstract-factory.js +9 -4
  157. package/dist/esm/permissionless/bindings/governance/batches-chain.js +3 -3
  158. package/dist/esm/permissionless/bindings/governance/governor.js +28 -47
  159. package/dist/esm/permissionless/bindings/governance/timelock.js +3 -3
  160. package/dist/esm/permissionless/bindings/index.js +0 -1
  161. package/dist/esm/permissionless/bindings/instance-manager.js +53 -69
  162. package/dist/esm/permissionless/bindings/market-configurator-factory.js +3 -3
  163. package/dist/esm/permissionless/bindings/market-configurator.js +65 -137
  164. package/dist/esm/permissionless/bindings/price-feed-store.js +8 -14
  165. package/dist/esm/permissionless/bindings/router/routing-manager.js +8 -14
  166. package/dist/esm/permissionless/bindings/treasury-splitter.js +16 -26
  167. package/dist/esm/permissionless/core/raw-tx.js +1 -1
  168. package/dist/esm/permissionless/utils/format.js +1 -1
  169. package/dist/esm/permissionless/utils/governance/timelock-txs.js +1 -1
  170. package/dist/esm/permissionless/utils/index.js +0 -1
  171. package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +4 -2
  172. package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +1 -1
  173. package/dist/esm/permissionless/utils/price-update/get-prices.js +1 -2
  174. package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +1 -1
  175. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  176. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  177. package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  178. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  179. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  180. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  181. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  182. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  183. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  184. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  185. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  186. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  187. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  188. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  189. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  190. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  191. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  192. package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  193. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  194. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  195. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  196. package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  197. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  198. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  199. package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  200. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  201. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  202. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  203. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  204. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  205. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  206. package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  207. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  208. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  209. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  210. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  211. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  212. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  213. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  214. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  215. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  216. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  217. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  218. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  219. package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  220. package/dist/esm/plugins/bots/deserializePartialLiquidationBotParams.js +29 -0
  221. package/dist/esm/plugins/zappers/ZappersPlugin.js +1 -1
  222. package/dist/esm/sdk/GearboxSDK.js +10 -112
  223. package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +1 -4
  224. package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +7 -9
  225. package/dist/esm/sdk/base/BaseContract.js +202 -81
  226. package/dist/esm/sdk/base/ChainContractsRegister.js +111 -0
  227. package/dist/esm/sdk/base/Construct.js +63 -0
  228. package/dist/esm/sdk/base/SDKConstruct.js +3 -29
  229. package/dist/esm/sdk/base/TokensMeta.js +4 -4
  230. package/dist/esm/sdk/base/index.js +2 -1
  231. package/dist/esm/sdk/core/BotListV3Contract.js +2 -2
  232. package/dist/esm/sdk/core/GearStakingV3Contract.js +2 -2
  233. package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  234. package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +11 -6
  235. package/dist/esm/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  236. package/dist/esm/sdk/market/MarketConfiguratorContract.js +5 -5
  237. package/dist/esm/sdk/market/MarketRegister.js +8 -10
  238. package/dist/esm/sdk/market/MarketSuite.js +2 -2
  239. package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +4 -3
  240. package/dist/esm/sdk/market/credit/CreditConfiguratorV310Contract.js +4 -3
  241. package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  242. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  243. package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +5 -2
  244. package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +5 -2
  245. package/dist/esm/sdk/market/credit/CreditSuite.js +2 -3
  246. package/dist/esm/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +3 -1
  247. package/dist/esm/sdk/market/loss-policy/LossPolicyContract.js +5 -3
  248. package/dist/esm/sdk/market/loss-policy/createLossPolicy.js +1 -1
  249. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +8 -26
  250. package/dist/esm/sdk/market/oracle/createPriceOracle.js +1 -1
  251. package/dist/esm/sdk/market/pool/GaugeContract.js +2 -2
  252. package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  253. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  254. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  255. package/dist/esm/sdk/market/pool/PoolSuite.js +1 -1
  256. package/dist/esm/sdk/market/pool/PoolV300Contract.js +5 -5
  257. package/dist/esm/sdk/market/pool/PoolV310Contract.js +5 -5
  258. package/dist/esm/sdk/market/pool/TumblerContract.js +2 -2
  259. package/dist/esm/sdk/market/pool/createInterestRateModel.js +11 -15
  260. package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +2 -22
  261. package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  262. package/dist/esm/sdk/market/pricefeeds/BalancerStablePriceFeed.js +3 -13
  263. package/dist/esm/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +3 -13
  264. package/dist/esm/sdk/market/pricefeeds/BoundedPriceFeed.js +6 -2
  265. package/dist/esm/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  266. package/dist/esm/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  267. package/dist/esm/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +3 -10
  268. package/dist/esm/sdk/market/pricefeeds/CurveStablePriceFeed.js +3 -10
  269. package/dist/esm/sdk/market/pricefeeds/CurveUSDPriceFeed.js +3 -10
  270. package/dist/esm/sdk/market/pricefeeds/Erc4626PriceFeed.js +2 -18
  271. package/dist/esm/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  272. package/dist/esm/sdk/market/pricefeeds/MellowLRTPriceFeed.js +3 -11
  273. package/dist/esm/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  274. package/dist/esm/sdk/market/pricefeeds/PriceFeedRef.js +7 -5
  275. package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +3 -9
  276. package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  277. package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  278. package/dist/esm/sdk/market/pricefeeds/WstETHPriceFeed.js +3 -10
  279. package/dist/esm/sdk/market/pricefeeds/YearnPriceFeed.js +3 -10
  280. package/dist/esm/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  281. package/dist/esm/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +17 -0
  282. package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +8 -10
  283. package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +11 -13
  284. package/dist/esm/sdk/router/AbstractRouterContract.js +5 -0
  285. package/dist/esm/sdk/router/RouterV310Contract.js +3 -3
  286. package/dist/esm/sdk/router/createRouter.js +4 -0
  287. package/dist/esm/sdk/utils/abi-decode.js +37 -0
  288. package/dist/esm/sdk/utils/index.js +1 -0
  289. package/dist/types/dev/create2.d.ts +2 -2
  290. package/dist/types/dev/mint/AbstractMinter.d.ts +3 -4
  291. package/dist/types/dev/mint/DealMinter.d.ts +0 -3
  292. package/dist/types/dev/mint/DirectMinter.d.ts +0 -3
  293. package/dist/types/dev/mint/TransferMinter.d.ts +0 -3
  294. package/dist/types/permissionless/bindings/address-provider.d.ts +4 -255
  295. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +5 -6
  296. package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +3 -3
  297. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +4 -5
  298. package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +7 -7
  299. package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +1 -1
  300. package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +3 -4
  301. package/dist/types/permissionless/bindings/governance/governor.d.ts +6 -7
  302. package/dist/types/permissionless/bindings/governance/timelock.d.ts +3 -3
  303. package/dist/types/permissionless/bindings/governance/types.d.ts +1 -1
  304. package/dist/types/permissionless/bindings/index.d.ts +0 -1
  305. package/dist/types/permissionless/bindings/instance-manager.d.ts +6 -7
  306. package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +4 -4
  307. package/dist/types/permissionless/bindings/market-configurator.d.ts +6 -6
  308. package/dist/types/permissionless/bindings/price-feed-store.d.ts +6 -7
  309. package/dist/types/permissionless/bindings/router/routing-manager.d.ts +4 -5
  310. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +5 -6
  311. package/dist/types/permissionless/core/proposal.d.ts +1 -7
  312. package/dist/types/permissionless/utils/create2.d.ts +1 -1
  313. package/dist/types/permissionless/utils/governance/batch.d.ts +1 -1
  314. package/dist/types/permissionless/utils/index.d.ts +0 -1
  315. package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +3 -3
  316. package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +2 -2
  317. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +2 -2
  318. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  319. package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +2 -2
  320. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +2 -2
  321. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +2 -2
  322. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +2 -2
  323. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +2 -2
  324. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +2 -2
  325. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +2 -2
  326. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +2 -2
  327. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +2 -2
  328. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
  329. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
  330. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +2 -2
  331. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +2 -2
  332. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +2 -2
  333. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +2 -2
  334. package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +2 -2
  335. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +2 -2
  336. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +2 -2
  337. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +2 -2
  338. package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +2 -2
  339. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +2 -2
  340. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +2 -2
  341. package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +2 -2
  342. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +2 -2
  343. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +2 -2
  344. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +2 -2
  345. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +2 -2
  346. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +2 -2
  347. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +2 -2
  348. package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +2 -2
  349. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +2 -2
  350. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +2 -2
  351. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +2 -2
  352. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +2 -2
  353. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +2 -2
  354. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +2 -2
  355. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -3
  356. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -3
  357. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +2 -2
  358. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +2 -2
  359. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +2 -2
  360. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +2 -2
  361. package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +2 -2
  362. package/dist/types/plugins/bots/deserializePartialLiquidationBotParams.d.ts +3 -0
  363. package/dist/types/sdk/GearboxSDK.d.ts +5 -76
  364. package/dist/types/sdk/accountMigration/types.d.ts +1 -2
  365. package/dist/types/sdk/accounts/types.d.ts +4 -3
  366. package/dist/types/sdk/base/BaseContract.d.ts +72 -28
  367. package/dist/types/sdk/base/ChainContractsRegister.d.ts +57 -0
  368. package/dist/types/sdk/base/Construct.d.ts +38 -0
  369. package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
  370. package/dist/types/sdk/base/SDKConstruct.d.ts +2 -16
  371. package/dist/types/sdk/base/TokensMeta.d.ts +2 -3
  372. package/dist/types/sdk/base/index.d.ts +2 -1
  373. package/dist/types/sdk/base/types.d.ts +50 -0
  374. package/dist/types/sdk/core/BotListV3Contract.d.ts +1 -1
  375. package/dist/types/sdk/core/GearStakingV3Contract.d.ts +1 -1
  376. package/dist/types/sdk/core/address-provider/AbstractAddressProviderContract.d.ts +3 -4
  377. package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +3 -3
  378. package/dist/types/sdk/core/address-provider/AddressProviderV310Contract.d.ts +3 -3
  379. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +2 -2
  380. package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +3 -3
  381. package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +3 -3
  382. package/dist/types/sdk/market/credit/CreditFacadeV300Contract.d.ts +3 -4
  383. package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +3 -4
  384. package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +1 -1
  385. package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +1 -1
  386. package/dist/types/sdk/market/credit/CreditSuite.d.ts +1 -1
  387. package/dist/types/sdk/market/credit/types.d.ts +1 -2
  388. package/dist/types/sdk/market/loss-policy/AliasLossPolicyV310Contract.d.ts +1 -0
  389. package/dist/types/sdk/market/loss-policy/LossPolicyContract.d.ts +2 -3
  390. package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +3 -12
  391. package/dist/types/sdk/market/oracle/types.d.ts +0 -10
  392. package/dist/types/sdk/market/pool/GaugeContract.d.ts +2 -3
  393. package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +2 -3
  394. package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +2 -3
  395. package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +2 -3
  396. package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +4 -5
  397. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +4 -5
  398. package/dist/types/sdk/market/pool/TumblerContract.d.ts +2 -3
  399. package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +3 -8
  400. package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +2 -3
  401. package/dist/types/sdk/market/pricefeeds/BalancerStablePriceFeed.d.ts +2 -3
  402. package/dist/types/sdk/market/pricefeeds/BalancerWeightedPriceFeed.d.ts +2 -3
  403. package/dist/types/sdk/market/pricefeeds/BoundedPriceFeed.d.ts +2 -2
  404. package/dist/types/sdk/market/pricefeeds/CompositePriceFeed.d.ts +2 -2
  405. package/dist/types/sdk/market/pricefeeds/ConstantPriceFeed.d.ts +2 -2
  406. package/dist/types/sdk/market/pricefeeds/CurveCryptoPriceFeed.d.ts +2 -3
  407. package/dist/types/sdk/market/pricefeeds/CurveStablePriceFeed.d.ts +2 -3
  408. package/dist/types/sdk/market/pricefeeds/CurveUSDPriceFeed.d.ts +2 -3
  409. package/dist/types/sdk/market/pricefeeds/Erc4626PriceFeed.d.ts +2 -3
  410. package/dist/types/sdk/market/pricefeeds/ExternalPriceFeed.d.ts +2 -2
  411. package/dist/types/sdk/market/pricefeeds/MellowLRTPriceFeed.d.ts +2 -3
  412. package/dist/types/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.d.ts +2 -2
  413. package/dist/types/sdk/market/pricefeeds/PriceFeedRef.d.ts +3 -4
  414. package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +1 -2
  415. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +2 -2
  416. package/dist/types/sdk/market/pricefeeds/RedstonePriceFeed.d.ts +2 -2
  417. package/dist/types/sdk/market/pricefeeds/WstETHPriceFeed.d.ts +2 -3
  418. package/dist/types/sdk/market/pricefeeds/YearnPriceFeed.d.ts +2 -3
  419. package/dist/types/sdk/market/pricefeeds/ZeroPriceFeed.d.ts +2 -2
  420. package/dist/types/sdk/market/pricefeeds/types.d.ts +0 -5
  421. package/dist/types/sdk/market/pricefeeds/updates/PriceUpdatesCache.d.ts +8 -1
  422. package/dist/types/sdk/router/AbstractRouterContract.d.ts +4 -1
  423. package/dist/types/sdk/router/types.d.ts +1 -2
  424. package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +2 -2
  425. package/dist/types/sdk/utils/abi-decode.d.ts +10 -0
  426. package/dist/types/sdk/utils/index.d.ts +1 -0
  427. package/package.json +1 -1
  428. package/dist/cjs/permissionless/bindings/base-contract.js +0 -173
  429. package/dist/cjs/permissionless/utils/abi-decoder.js +0 -72
  430. package/dist/cjs/sdk/base/AddressLabeller.js +0 -49
  431. package/dist/cjs/sdk/base/IAddressLabeller.js +0 -16
  432. package/dist/esm/permissionless/bindings/base-contract.js +0 -151
  433. package/dist/esm/permissionless/utils/abi-decoder.js +0 -50
  434. package/dist/esm/sdk/base/AddressLabeller.js +0 -25
  435. package/dist/esm/sdk/base/IAddressLabeller.js +0 -0
  436. package/dist/types/permissionless/bindings/base-contract.d.ts +0 -23
  437. package/dist/types/permissionless/utils/abi-decoder.d.ts +0 -13
  438. package/dist/types/sdk/base/AddressLabeller.d.ts +0 -11
  439. package/dist/types/sdk/base/IAddressLabeller.d.ts +0 -9
@@ -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.12.0",
3
+ "version": "12.0.0-next.2",
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
- });
@@ -1,72 +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 abi_decoder_exports = {};
20
- __export(abi_decoder_exports, {
21
- decodeFunctionWithNamedArgs: () => decodeFunctionWithNamedArgs
22
- });
23
- module.exports = __toCommonJS(abi_decoder_exports);
24
- var import_viem = require("viem");
25
- var import_utils = require("../../sdk/utils/index.js");
26
- function decodeFunctionWithNamedArgs(abi, calldata) {
27
- try {
28
- const decoded = (0, import_viem.decodeFunctionData)({
29
- abi,
30
- data: calldata
31
- });
32
- const abiItem = abi.find(
33
- (item) => item?.name === decoded.functionName && item?.type === "function"
34
- );
35
- if (!abiItem) {
36
- return {
37
- functionName: decoded.functionName,
38
- args: {},
39
- originalDecoded: decoded
40
- };
41
- }
42
- const namedArgs = {};
43
- if (Array.isArray(decoded.args)) {
44
- decoded.args.forEach((value, i) => {
45
- const input = abiItem.inputs?.[i];
46
- if (input?.name) {
47
- namedArgs[input.name] = input.type.startsWith("tuple") ? (0, import_utils.json_stringify)(value) : String(value);
48
- }
49
- });
50
- } else {
51
- Object.entries(decoded.args || {}).forEach(([key, value]) => {
52
- const index = parseInt(key, 10);
53
- if (!Number.isNaN(index) && abiItem.inputs?.[index]?.name) {
54
- namedArgs[abiItem.inputs[index].name] = String(value);
55
- } else {
56
- namedArgs[key] = String(value);
57
- }
58
- });
59
- }
60
- return {
61
- functionName: decoded.functionName,
62
- args: namedArgs,
63
- originalDecoded: decoded
64
- };
65
- } catch {
66
- return null;
67
- }
68
- }
69
- // Annotate the CommonJS export names for ESM import in node:
70
- 0 && (module.exports = {
71
- decodeFunctionWithNamedArgs
72
- });
@@ -1,49 +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 AddressLabeller_exports = {};
20
- __export(AddressLabeller_exports, {
21
- AddressLabeller: () => AddressLabeller
22
- });
23
- module.exports = __toCommonJS(AddressLabeller_exports);
24
- var import_constants = require("../constants/index.js");
25
- var import_utils = require("../utils/index.js");
26
- class AddressLabeller {
27
- #labels = new import_utils.AddressMap(void 0, "addressLabeller");
28
- set(address, label) {
29
- if (address === import_constants.NOT_DEPLOYED) {
30
- return;
31
- }
32
- if (typeof label === "string") {
33
- this.#labels.upsert(address, label);
34
- } else {
35
- this.#labels.upsert(address, label(this.#labels.get(address)));
36
- }
37
- }
38
- get(address) {
39
- const label = this.#labels.get(address);
40
- return label ? `${address} [${label}]` : address;
41
- }
42
- get all() {
43
- return this.#labels.asRecord();
44
- }
45
- }
46
- // Annotate the CommonJS export names for ESM import in node:
47
- 0 && (module.exports = {
48
- AddressLabeller
49
- });
@@ -1,16 +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 __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
- var IAddressLabeller_exports = {};
16
- module.exports = __toCommonJS(IAddressLabeller_exports);