@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
@@ -0,0 +1,111 @@
1
+ import { NOT_DEPLOYED } from "../constants/addresses.js";
2
+ import { AddressMap } from "../utils/AddressMap.js";
3
+ import { TokensMeta } from "./TokensMeta.js";
4
+ class ChainContractsRegister {
5
+ static #chains = /* @__PURE__ */ new Map();
6
+ static for(client, logger) {
7
+ const chainId = client.chain.id;
8
+ let result = ChainContractsRegister.#chains.get(chainId);
9
+ if (!result) {
10
+ result = new ChainContractsRegister(client, logger);
11
+ ChainContractsRegister.#chains.set(chainId, result);
12
+ }
13
+ return result;
14
+ }
15
+ contracts = new AddressMap(
16
+ [],
17
+ "contracts"
18
+ );
19
+ labels = new AddressMap([], "labels");
20
+ client;
21
+ /**
22
+ * Token metadata such as symbol and decimals
23
+ */
24
+ tokensMeta;
25
+ logger;
26
+ constructor(client, logger) {
27
+ this.client = client;
28
+ this.tokensMeta = new TokensMeta(client);
29
+ this.logger = logger;
30
+ }
31
+ getContract(address) {
32
+ return this.contracts.get(address);
33
+ }
34
+ mustGetContract(address) {
35
+ const contract = this.contracts.mustGet(address);
36
+ if (!contract) {
37
+ throw new Error(`contract ${address} not found on chain ${this.chainId}`);
38
+ }
39
+ return contract;
40
+ }
41
+ setContract(address, contract) {
42
+ this.contracts.upsert(address, contract);
43
+ }
44
+ setAddressLabel(address, label) {
45
+ if (address === NOT_DEPLOYED) {
46
+ return;
47
+ }
48
+ if (typeof label === "string") {
49
+ this.labels.upsert(address, label);
50
+ } else {
51
+ this.labels.upsert(address, label(this.labels.get(address)));
52
+ }
53
+ }
54
+ labelAddress(address) {
55
+ const label = this.labels.get(address);
56
+ return label ? `${address} [${label}]` : address;
57
+ }
58
+ get chain() {
59
+ return this.client.chain;
60
+ }
61
+ get chainId() {
62
+ return this.client.chain.id;
63
+ }
64
+ /**
65
+ * Converts contract call into some human-friendly string
66
+ * This method is safe and should not throw
67
+ * @param address
68
+ * @param calldata
69
+ * @returns
70
+ */
71
+ stringifyFunctionData(address, calldata) {
72
+ const contract = this.contracts.get(address);
73
+ return contract ? contract.stringifyFunctionData(calldata) : `unknown: ${address}.${calldata.slice(0, 10)}`;
74
+ }
75
+ /**
76
+ * Converts multicalls into some human-friendly strings
77
+ * This method is safe and should not throw
78
+ * @param address
79
+ * @param calldata
80
+ * @returns
81
+ */
82
+ stringifyMultiCall(calls) {
83
+ return calls.map(
84
+ (call) => this.stringifyFunctionData(call.target, call.callData)
85
+ );
86
+ }
87
+ /**
88
+ * Return args, function, type and address name from contract call
89
+ * @param address
90
+ * @param calldata
91
+ * @returns
92
+ */
93
+ parseFunctionData(address, calldata) {
94
+ const contract = this.mustGetContract(address);
95
+ return contract.parseFunctionData(calldata);
96
+ }
97
+ /**
98
+ * Converts multicalls into call info
99
+ * @param address
100
+ * @param calldata
101
+ * @returns
102
+ */
103
+ parseMultiCall(calls) {
104
+ return calls.map(
105
+ (call) => this.parseFunctionData(call.target, call.callData)
106
+ );
107
+ }
108
+ }
109
+ export {
110
+ ChainContractsRegister
111
+ };
@@ -0,0 +1,63 @@
1
+ import { childLogger } from "../utils/index.js";
2
+ import { ChainContractsRegister } from "./ChainContractsRegister.js";
3
+ class Construct {
4
+ logger;
5
+ client;
6
+ register;
7
+ /**
8
+ * Indicates that contract state needs to be updated
9
+ */
10
+ #dirty = false;
11
+ constructor({ client, logger }) {
12
+ this.client = client;
13
+ this.register = ChainContractsRegister.for(client, logger);
14
+ this.logger = childLogger(
15
+ this.constructor.name,
16
+ this.register.logger ?? logger
17
+ );
18
+ }
19
+ get chain() {
20
+ return this.client.chain;
21
+ }
22
+ get chainId() {
23
+ return this.client.chain.id;
24
+ }
25
+ get networkType() {
26
+ if ("network" in this.chain) {
27
+ return this.chain.network;
28
+ }
29
+ throw new Error(`chain ${this.chain.id} is not a Gearbox SDK chain`);
30
+ }
31
+ /**
32
+ * Indicates that contract state diverged from onchain state and needs to be updated
33
+ */
34
+ get dirty() {
35
+ return this.#dirty;
36
+ }
37
+ set dirty(value) {
38
+ this.#dirty = value;
39
+ }
40
+ /**
41
+ * Syntax sugar for rgister.tokensMeta
42
+ */
43
+ get tokensMeta() {
44
+ return this.register.tokensMeta;
45
+ }
46
+ /**
47
+ * Syntax suggar for getting contract labels
48
+ * @param address
49
+ * @returns
50
+ */
51
+ labelAddress(address) {
52
+ return this.register.labelAddress(address);
53
+ }
54
+ /**
55
+ * Returns list of addresses that should be watched for events to sync state
56
+ */
57
+ get watchAddresses() {
58
+ return /* @__PURE__ */ new Set();
59
+ }
60
+ }
61
+ export {
62
+ Construct
63
+ };
@@ -1,36 +1,10 @@
1
- class SDKConstruct {
1
+ import { Construct } from "./Construct.js";
2
+ class SDKConstruct extends Construct {
2
3
  sdk;
3
- /**
4
- * Indicates that contract state needs to be updated
5
- */
6
- #dirty = false;
7
4
  constructor(sdk) {
5
+ super(sdk);
8
6
  this.sdk = sdk;
9
7
  }
10
- get networkType() {
11
- return this.sdk.networkType;
12
- }
13
- get client() {
14
- return this.sdk.client;
15
- }
16
- /**
17
- * Indicates that contract state needs to be updated
18
- */
19
- get dirty() {
20
- return this.#dirty;
21
- }
22
- set dirty(value) {
23
- this.#dirty = value;
24
- }
25
- labelAddress(address) {
26
- return this.sdk.labelAddress(address);
27
- }
28
- /**
29
- * Returns list of addresses that should be watched for events to sync state
30
- */
31
- get watchAddresses() {
32
- return /* @__PURE__ */ new Set();
33
- }
34
8
  }
35
9
  export {
36
10
  SDKConstruct
@@ -2,11 +2,11 @@ import { iVersionAbi } from "../../abi/iVersion.js";
2
2
  import { bytes32ToString } from "../index.js";
3
3
  import { AddressMap, AddressSet, formatBN } from "../utils/index.js";
4
4
  class TokensMeta extends AddressMap {
5
- #sdk;
5
+ #client;
6
6
  #phantomTokensLoaded;
7
- constructor(sdk) {
7
+ constructor(client) {
8
8
  super(void 0, "tokensMeta");
9
- this.#sdk = sdk;
9
+ this.#client = client;
10
10
  }
11
11
  symbol(token) {
12
12
  return this.mustGet(token).symbol;
@@ -61,7 +61,7 @@ class TokensMeta extends AddressMap {
61
61
  async loadPhantomTokens() {
62
62
  this.#phantomTokensLoaded = new AddressSet();
63
63
  const tokens = this.keys();
64
- const resp = await this.#sdk.client.multicall({
64
+ const resp = await this.#client.multicall({
65
65
  contracts: tokens.map(
66
66
  (t) => ({
67
67
  address: t,
@@ -1,5 +1,6 @@
1
- export * from "./AddressLabeller.js";
2
1
  export * from "./BaseContract.js";
2
+ export * from "./ChainContractsRegister.js";
3
+ export * from "./Construct.js";
3
4
  export * from "./PlaceholderContract.js";
4
5
  export * from "./SDKConstruct.js";
5
6
  export * from "./TokensMeta.js";
@@ -9,7 +9,7 @@ class BotListContract extends BaseContract {
9
9
  super(sdk, { addr: address, name: "BotListV3", abi });
10
10
  this.#currentBlock = sdk.chain.firstBlock ?? 0n;
11
11
  }
12
- parseFunctionParams(params) {
12
+ stringifyFunctionParams(params) {
13
13
  switch (params.functionName) {
14
14
  case "setCreditManagerApprovedStatus": {
15
15
  const [creditManager, status] = params.args;
@@ -24,7 +24,7 @@ class BotListContract extends BaseContract {
24
24
  ];
25
25
  }
26
26
  default:
27
- return void 0;
27
+ return super.stringifyFunctionParams(params);
28
28
  }
29
29
  }
30
30
  async syncState(toBlock) {
@@ -6,14 +6,14 @@ class GearStakingContract extends BaseContract {
6
6
  constructor(sdk, address) {
7
7
  super(sdk, { addr: address, name: "GearStakingV3", abi });
8
8
  }
9
- parseFunctionParams(params) {
9
+ stringifyFunctionParams(params) {
10
10
  switch (params.functionName) {
11
11
  case "setVotingContractStatus": {
12
12
  const [address, status] = params.args;
13
13
  return [this.labelAddress(address), VotingContractStatus[status]];
14
14
  }
15
15
  default:
16
- return void 0;
16
+ return super.stringifyFunctionParams(params);
17
17
  }
18
18
  }
19
19
  stateHuman(raw = true) {
@@ -4,8 +4,8 @@ import { NO_VERSION } from "../../constants/index.js";
4
4
  import { TypedObjectUtils } from "../../utils/mappers.js";
5
5
  class AbstractAddressProviderContract extends BaseContract {
6
6
  #addresses = {};
7
- constructor(sdk, args, addresses = {}) {
8
- super(sdk, args);
7
+ constructor(options, args, addresses = {}) {
8
+ super(options, args);
9
9
  this.#addresses = addresses;
10
10
  }
11
11
  setInternalAddress(key, address, version) {
@@ -4,9 +4,9 @@ import { getLogsSafe } from "../../utils/viem/index.js";
4
4
  import AbstractAddressProviderContract from "./AbstractAddressProviderContract.js";
5
5
  const abi = iAddressProviderV300Abi;
6
6
  class AddressProviderV300Contract extends AbstractAddressProviderContract {
7
- constructor(sdk, address, version, addresses = {}) {
7
+ constructor(options, address, version, addresses = {}) {
8
8
  super(
9
- sdk,
9
+ options,
10
10
  {
11
11
  addr: address,
12
12
  name: "AddressProviderV300",
@@ -16,7 +16,7 @@ class AddressProviderV300Contract extends AbstractAddressProviderContract {
16
16
  addresses
17
17
  );
18
18
  }
19
- parseFunctionParams(params) {
19
+ stringifyFunctionParams(params) {
20
20
  switch (params.functionName) {
21
21
  case "setAddress": {
22
22
  if (params.args.length !== 3) {
@@ -27,7 +27,7 @@ class AddressProviderV300Contract extends AbstractAddressProviderContract {
27
27
  return [bytesToString(toBytes(key)), value, `${saveVersion}`];
28
28
  }
29
29
  default:
30
- return void 0;
30
+ return super.stringifyFunctionParams(params);
31
31
  }
32
32
  }
33
33
  processLog(log) {
@@ -52,11 +52,16 @@ class AddressProviderV300Contract extends AbstractAddressProviderContract {
52
52
  }
53
53
  }
54
54
  async syncState(blockNumber) {
55
- const fromBlock = this.sdk.chain.firstBlock;
55
+ if (!("firstBlock" in this.chain)) {
56
+ throw new Error(
57
+ `address provider v300 requires gearbox chain for ${this.chain.id} `
58
+ );
59
+ }
60
+ const fromBlock = this.chain.firstBlock;
56
61
  this.logger?.debug(
57
62
  `loading events from block ${fromBlock} to ${blockNumber}`
58
63
  );
59
- const events = await getLogsSafe(this.sdk.client, {
64
+ const events = await getLogsSafe(this.client, {
60
65
  address: this.address,
61
66
  event: getAbiItem({ abi: this.abi, name: "SetAddress" }),
62
67
  fromBlock,
@@ -3,9 +3,9 @@ import { iAddressProviderV310Abi } from "../../../abi/310/generated.js";
3
3
  import AbstractAddressProviderContract from "./AbstractAddressProviderContract.js";
4
4
  const abi = iAddressProviderV310Abi;
5
5
  class AddressProviderV310Contract extends AbstractAddressProviderContract {
6
- constructor(sdk, address, version, addresses = {}) {
6
+ constructor(options, address, version = 310, addresses = {}) {
7
7
  super(
8
- sdk,
8
+ options,
9
9
  {
10
10
  addr: address,
11
11
  name: "AddressProviderV310",
@@ -15,7 +15,7 @@ class AddressProviderV310Contract extends AbstractAddressProviderContract {
15
15
  addresses
16
16
  );
17
17
  }
18
- parseFunctionParams(params) {
18
+ stringifyFunctionParams(params) {
19
19
  switch (params.functionName) {
20
20
  case "setAddress": {
21
21
  if (params.args.length !== 3) {
@@ -26,7 +26,7 @@ class AddressProviderV310Contract extends AbstractAddressProviderContract {
26
26
  return [bytesToString(toBytes(key)), value, `${saveVersion}`];
27
27
  }
28
28
  default:
29
- return void 0;
29
+ return super.stringifyFunctionParams(params);
30
30
  }
31
31
  }
32
32
  processLog(log) {
@@ -7,8 +7,8 @@ import { AP_MARKET_CONFIGURATOR } from "../constants/index.js";
7
7
  const abi = iMarketConfiguratorV310Abi;
8
8
  class MarketConfiguratorContract extends BaseContract {
9
9
  #curatorName;
10
- constructor(sdk, address) {
11
- super(sdk, {
10
+ constructor(options, address) {
11
+ super(options, {
12
12
  abi,
13
13
  addr: address,
14
14
  contractType: AP_MARKET_CONFIGURATOR,
@@ -16,18 +16,18 @@ class MarketConfiguratorContract extends BaseContract {
16
16
  });
17
17
  }
18
18
  async loadCuratorName() {
19
- this.#curatorName = await this.sdk.client.readContract({
19
+ this.#curatorName = await this.client.readContract({
20
20
  address: this.address,
21
21
  abi: this.abi,
22
22
  functionName: "curatorName"
23
23
  });
24
- this.sdk.addressLabels.set(
24
+ this.register.setAddressLabel(
25
25
  this.address,
26
26
  `Market configurator ${this.#curatorName}`
27
27
  );
28
28
  }
29
29
  async getPeripheryContract(contract) {
30
- const resp = await this.sdk.client.readContract({
30
+ const resp = await this.client.readContract({
31
31
  address: this.address,
32
32
  abi: this.abi,
33
33
  functionName: "getPeripheryContracts",
@@ -5,12 +5,11 @@ import {
5
5
  AP_MARKET_COMPRESSOR,
6
6
  VERSION_RANGE_310
7
7
  } from "../constants/index.js";
8
- import { AddressMap, childLogger } from "../utils/index.js";
8
+ import { AddressMap } from "../utils/index.js";
9
9
  import { simulateWithPriceUpdates } from "../utils/viem/index.js";
10
10
  import { MarketConfiguratorContract } from "./MarketConfiguratorContract.js";
11
11
  import { MarketSuite } from "./MarketSuite.js";
12
12
  class MarketRegister extends SDKConstruct {
13
- #logger;
14
13
  /**
15
14
  * Mapping pool.address -> MarketSuite
16
15
  */
@@ -23,7 +22,6 @@ class MarketRegister extends SDKConstruct {
23
22
  #ignoreMarkets;
24
23
  constructor(sdk, ignoreMarkets = []) {
25
24
  super(sdk);
26
- this.#logger = childLogger("MarketRegister", sdk.logger);
27
25
  this.#ignoreMarkets = new Set(
28
26
  ignoreMarkets.map((m) => m.toLowerCase())
29
27
  );
@@ -35,7 +33,7 @@ class MarketRegister extends SDKConstruct {
35
33
  for (const data of state) {
36
34
  const pool = data.pool.baseParams.addr;
37
35
  if (this.#ignoreMarkets.has(pool.toLowerCase())) {
38
- this.#logger?.debug(
36
+ this.logger?.debug(
39
37
  `ignoring market of pool ${pool} (${data.pool.name})`
40
38
  );
41
39
  continue;
@@ -48,7 +46,7 @@ class MarketRegister extends SDKConstruct {
48
46
  }
49
47
  async loadMarkets(marketConfigurators, ignoreUpdateablePrices) {
50
48
  if (!marketConfigurators.length) {
51
- this.#logger?.warn(
49
+ this.logger?.warn(
52
50
  "no market configurators provided, skipping loadMarkets"
53
51
  );
54
52
  return;
@@ -79,7 +77,7 @@ class MarketRegister extends SDKConstruct {
79
77
  async syncState(ignoreUpdateablePrices) {
80
78
  const dirty = this.markets.some((m) => m.dirty) || this.marketConfigurators.some((c) => c.dirty);
81
79
  if (dirty) {
82
- this.#logger?.debug(
80
+ this.logger?.debug(
83
81
  "some markets or market configurators are dirty, reloading everything"
84
82
  );
85
83
  await this.#loadMarkets(
@@ -106,7 +104,7 @@ class MarketRegister extends SDKConstruct {
106
104
  const updates = await this.sdk.priceFeeds.generatePriceFeedsUpdateTxs(updatables);
107
105
  txs = updates.txs;
108
106
  }
109
- this.#logger?.debug(
107
+ this.logger?.debug(
110
108
  { configurators, pools },
111
109
  `calling getMarkets with ${txs.length} price updates in block ${this.sdk.currentBlock}`
112
110
  );
@@ -140,14 +138,14 @@ class MarketRegister extends SDKConstruct {
140
138
  for (const data of markets) {
141
139
  const pool = data.pool.baseParams.addr;
142
140
  if (this.#ignoreMarkets.has(pool.toLowerCase())) {
143
- this.#logger?.debug(
141
+ this.logger?.debug(
144
142
  `ignoring market of pool ${pool} (${data.pool.name})`
145
143
  );
146
144
  continue;
147
145
  }
148
146
  this.#markets.upsert(pool, new MarketSuite(this.sdk, data));
149
147
  }
150
- this.#logger?.info(
148
+ this.logger?.info(
151
149
  `loaded ${this.#markets.size} markets in block ${this.sdk.currentBlock}`
152
150
  );
153
151
  }
@@ -166,7 +164,7 @@ class MarketRegister extends SDKConstruct {
166
164
  if (!multicalls.length) {
167
165
  return;
168
166
  }
169
- this.#logger?.debug(`syncing prices on ${multicalls.length} oracles`);
167
+ this.logger?.debug(`syncing prices on ${multicalls.length} oracles`);
170
168
  const { txs } = await this.sdk.priceFeeds.generatePriceFeedsUpdateTxs();
171
169
  const oraclesStates = await simulateWithPriceUpdates(this.client, {
172
170
  priceUpdates: txs,
@@ -21,7 +21,7 @@ class MarketSuite extends SDKConstruct {
21
21
  constructor(sdk, marketData) {
22
22
  super(sdk);
23
23
  this.state = marketData;
24
- const mc = sdk.contracts.mustGet(marketData.configurator);
24
+ const mc = sdk.mustGetContract(marketData.configurator);
25
25
  if (!(mc instanceof MarketConfiguratorContract)) {
26
26
  throw new Error(
27
27
  `Market configurator ${marketData.configurator} is not a market configurator`
@@ -32,7 +32,7 @@ class MarketSuite extends SDKConstruct {
32
32
  this.treasury = marketData.treasury;
33
33
  for (const t of marketData.tokens) {
34
34
  sdk.tokensMeta.upsert(t.addr, t);
35
- sdk.addressLabels.set(t.addr, t.symbol);
35
+ sdk.setAddressLabel(t.addr, t.symbol);
36
36
  }
37
37
  this.pool = new PoolSuite(sdk, marketData);
38
38
  for (let i = 0; i < marketData.creditManagers.length; i++) {
@@ -5,7 +5,7 @@ import { RAMP_DURATION_BY_NETWORK } from "../../constants/index.js";
5
5
  import { formatDuration, percentFmt } from "../../utils/index.js";
6
6
  const abi = [...iCreditConfiguratorV300Abi, ...iPausableAbi];
7
7
  class CreditConfiguratorV300Contract extends BaseContract {
8
- adapters = [];
8
+ sdk;
9
9
  isPaused = false;
10
10
  constructor(sdk, { creditConfigurator, creditManager }) {
11
11
  super(sdk, {
@@ -13,6 +13,7 @@ class CreditConfiguratorV300Contract extends BaseContract {
13
13
  name: `CreditConfigurator(${creditManager.name})`,
14
14
  abi
15
15
  });
16
+ this.sdk = sdk;
16
17
  }
17
18
  processLog(log) {
18
19
  switch (log.eventName) {
@@ -59,7 +60,7 @@ class CreditConfiguratorV300Contract extends BaseContract {
59
60
  });
60
61
  return logs.map(({ args }) => args);
61
62
  }
62
- parseFunctionParams(params) {
63
+ stringifyFunctionParams(params) {
63
64
  switch (params.functionName) {
64
65
  case "addCollateralToken":
65
66
  case "setLiquidationThreshold": {
@@ -105,7 +106,7 @@ class CreditConfiguratorV300Contract extends BaseContract {
105
106
  ];
106
107
  }
107
108
  default:
108
- return void 0;
109
+ return super.stringifyFunctionParams(params);
109
110
  }
110
111
  }
111
112
  }
@@ -4,7 +4,7 @@ import { RAMP_DURATION_BY_NETWORK } from "../../constants/index.js";
4
4
  import { formatDuration, percentFmt } from "../../utils/index.js";
5
5
  const abi = iCreditConfiguratorV310Abi;
6
6
  class CreditConfiguratorV310Contract extends BaseContract {
7
- adapters = [];
7
+ sdk;
8
8
  isPaused = false;
9
9
  constructor(sdk, { creditConfigurator, creditManager }) {
10
10
  super(sdk, {
@@ -12,6 +12,7 @@ class CreditConfiguratorV310Contract extends BaseContract {
12
12
  name: `CreditConfigurator(${creditManager.name})`,
13
13
  abi
14
14
  });
15
+ this.sdk = sdk;
15
16
  }
16
17
  processLog(log) {
17
18
  switch (log.eventName) {
@@ -46,7 +47,7 @@ class CreditConfiguratorV310Contract extends BaseContract {
46
47
  });
47
48
  return logs.map(({ args }) => args);
48
49
  }
49
- parseFunctionParams(params) {
50
+ stringifyFunctionParams(params) {
50
51
  switch (params.functionName) {
51
52
  case "addCollateralToken":
52
53
  case "setLiquidationThreshold": {
@@ -90,7 +91,7 @@ class CreditConfiguratorV310Contract extends BaseContract {
90
91
  ];
91
92
  }
92
93
  default:
93
- return void 0;
94
+ return super.stringifyFunctionParams(params);
94
95
  }
95
96
  }
96
97
  }
@@ -13,9 +13,9 @@ const abi = [
13
13
  ];
14
14
  class CreditFacadeV300Contract extends BaseContract {
15
15
  underlying;
16
- constructor(sdk, { creditFacade, creditManager }) {
16
+ constructor(options, { creditFacade, creditManager }) {
17
17
  const { baseParams, ...rest } = creditFacade;
18
- super(sdk, {
18
+ super(options, {
19
19
  ...baseParams,
20
20
  name: `CreditFacadeV3(${creditManager.name})`,
21
21
  abi
@@ -24,7 +24,7 @@ class CreditFacadeV300Contract extends BaseContract {
24
24
  this.underlying = creditManager.underlying;
25
25
  }
26
26
  stateHuman(raw) {
27
- const decimals = this.sdk.tokensMeta.decimals(this.underlying);
27
+ const decimals = this.tokensMeta.decimals(this.underlying);
28
28
  return {
29
29
  ...super.stateHuman(raw),
30
30
  expirable: this.expirable,
@@ -88,13 +88,13 @@ class CreditFacadeV300Contract extends BaseContract {
88
88
  args: [to, calls, referralCode]
89
89
  });
90
90
  }
91
- parseFunctionParams(params) {
91
+ stringifyFunctionParams(params) {
92
92
  switch (params.functionName) {
93
93
  case "openCreditAccount": {
94
94
  const [onBehalfOf, calls, referralCode] = params.args;
95
95
  return [
96
96
  this.labelAddress(onBehalfOf),
97
- this.sdk.parseMultiCall([...calls]).join(","),
97
+ this.register.parseMultiCall([...calls]).join(","),
98
98
  `${referralCode}`
99
99
  ];
100
100
  }
@@ -102,7 +102,7 @@ class CreditFacadeV300Contract extends BaseContract {
102
102
  const [creditAccount, calls] = params.args;
103
103
  return [
104
104
  this.labelAddress(creditAccount),
105
- this.sdk.parseMultiCall([...calls]).join(",")
105
+ this.register.parseMultiCall([...calls]).join(",")
106
106
  ];
107
107
  }
108
108
  case "liquidateCreditAccount": {
@@ -110,7 +110,7 @@ class CreditFacadeV300Contract extends BaseContract {
110
110
  return [
111
111
  this.labelAddress(creditAccount),
112
112
  this.labelAddress(to),
113
- this.sdk.parseMultiCall([...calls]).join(",")
113
+ this.register.parseMultiCall([...calls]).join(",")
114
114
  ];
115
115
  }
116
116
  case "setBotPermissions": {
@@ -125,12 +125,12 @@ class CreditFacadeV300Contract extends BaseContract {
125
125
  const [deltas] = params.args;
126
126
  return [
127
127
  deltas.map(({ token, amount }) => {
128
- return this.labelAddress(token) + ": " + this.sdk.tokensMeta.formatBN(token, amount);
128
+ return this.labelAddress(token) + ": " + this.tokensMeta.formatBN(token, amount);
129
129
  }).join(",")
130
130
  ];
131
131
  }
132
132
  default:
133
- return void 0;
133
+ return super.stringifyFunctionParams(params);
134
134
  }
135
135
  }
136
136
  }