@gearbox-protocol/sdk 11.11.0-next.2 → 11.11.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 (458) hide show
  1. package/dist/cjs/dev/create2.js +1 -1
  2. package/dist/cjs/dev/mint/AbstractMinter.js +4 -2
  3. package/dist/cjs/dev/mint/DealMinter.js +3 -0
  4. package/dist/cjs/dev/mint/DirectMinter.js +3 -0
  5. package/dist/cjs/dev/mint/FallbackMinter.js +1 -1
  6. package/dist/cjs/dev/mint/TransferMinter.js +3 -0
  7. package/dist/cjs/permissionless/bindings/address-provider.js +6 -4
  8. package/dist/cjs/permissionless/bindings/base-contract.js +173 -0
  9. package/dist/cjs/permissionless/bindings/bytecode-repository.js +25 -23
  10. package/dist/cjs/permissionless/bindings/compressors/token-compressor.js +4 -4
  11. package/dist/cjs/permissionless/bindings/compressors/withdrawal-compressor.js +17 -11
  12. package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +22 -23
  13. package/dist/cjs/permissionless/bindings/factory/abstract-factory.js +4 -7
  14. package/dist/cjs/permissionless/bindings/governance/batches-chain.js +4 -4
  15. package/dist/cjs/permissionless/bindings/governance/governor.js +49 -30
  16. package/dist/cjs/permissionless/bindings/governance/timelock.js +4 -4
  17. package/dist/cjs/permissionless/bindings/index.js +2 -0
  18. package/dist/cjs/permissionless/bindings/instance-manager.js +77 -58
  19. package/dist/cjs/permissionless/bindings/market-configurator-factory.js +4 -4
  20. package/dist/cjs/permissionless/bindings/market-configurator.js +143 -71
  21. package/dist/cjs/permissionless/bindings/price-feed-store.js +17 -8
  22. package/dist/cjs/permissionless/bindings/router/routing-manager.js +15 -9
  23. package/dist/cjs/permissionless/bindings/treasury-splitter.js +23 -14
  24. package/dist/cjs/permissionless/core/raw-tx.js +2 -2
  25. package/dist/cjs/permissionless/utils/abi-decoder.js +72 -0
  26. package/dist/cjs/permissionless/utils/format.js +2 -2
  27. package/dist/cjs/permissionless/utils/governance/timelock-txs.js +2 -2
  28. package/dist/cjs/permissionless/utils/index.js +2 -0
  29. package/dist/cjs/permissionless/utils/price-update/get-price-feeds.js +2 -1
  30. package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +2 -1
  31. package/dist/cjs/permissionless/utils/price-update/get-prices.js +2 -1
  32. package/dist/cjs/permissionless/utils/price-update/get-updatable-feeds.js +3 -2
  33. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  34. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  35. package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  36. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  37. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  38. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  39. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  40. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  41. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  42. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  43. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  44. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  45. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  46. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  47. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  48. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  49. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  50. package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  51. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  52. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  53. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  54. package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  55. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  56. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  57. package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  58. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  59. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  60. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  61. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  62. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  63. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  64. package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  65. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  66. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  67. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  68. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  69. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  70. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  71. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  72. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  73. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  74. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  75. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  76. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  77. package/dist/cjs/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  78. package/dist/cjs/plugins/bots/BotsPlugin.js +96 -21
  79. package/dist/cjs/plugins/bots/PartialLiquidationBotBaseContract.js +14 -17
  80. package/dist/cjs/plugins/bots/PartialLiquidationBotV300Contract.js +20 -4
  81. package/dist/cjs/plugins/bots/config.js +59 -0
  82. package/dist/cjs/plugins/bots/index.js +4 -0
  83. package/dist/cjs/plugins/bots/types.js +9 -0
  84. package/dist/cjs/plugins/zappers/ZappersPlugin.js +1 -1
  85. package/dist/cjs/sdk/GearboxSDK.js +110 -8
  86. package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +4 -1
  87. package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +8 -6
  88. package/dist/cjs/sdk/base/AddressLabeller.js +49 -0
  89. package/dist/cjs/sdk/base/BaseContract.js +80 -195
  90. package/dist/cjs/sdk/base/IAddressLabeller.js +16 -0
  91. package/dist/cjs/sdk/base/SDKConstruct.js +29 -3
  92. package/dist/cjs/sdk/base/TokensMeta.js +4 -4
  93. package/dist/cjs/sdk/base/index.js +2 -4
  94. package/dist/cjs/sdk/core/BotListV3Contract.js +2 -2
  95. package/dist/cjs/sdk/core/GearStakingV3Contract.js +2 -2
  96. package/dist/cjs/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  97. package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +6 -11
  98. package/dist/cjs/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  99. package/dist/cjs/sdk/market/MarketConfiguratorContract.js +5 -5
  100. package/dist/cjs/sdk/market/MarketRegister.js +9 -7
  101. package/dist/cjs/sdk/market/MarketSuite.js +2 -2
  102. package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +3 -4
  103. package/dist/cjs/sdk/market/credit/CreditConfiguratorV310Contract.js +3 -4
  104. package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  105. package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  106. package/dist/cjs/sdk/market/credit/CreditManagerV300Contract.js +2 -5
  107. package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +2 -5
  108. package/dist/cjs/sdk/market/credit/CreditSuite.js +3 -2
  109. package/dist/cjs/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +1 -3
  110. package/dist/cjs/sdk/market/loss-policy/LossPolicyContract.js +2 -2
  111. package/dist/cjs/sdk/market/loss-policy/createLossPolicy.js +1 -1
  112. package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +26 -8
  113. package/dist/cjs/sdk/market/oracle/createPriceOracle.js +1 -1
  114. package/dist/cjs/sdk/market/pool/GaugeContract.js +2 -2
  115. package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  116. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  117. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  118. package/dist/cjs/sdk/market/pool/PoolSuite.js +1 -1
  119. package/dist/cjs/sdk/market/pool/PoolV300Contract.js +5 -5
  120. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +5 -5
  121. package/dist/cjs/sdk/market/pool/TumblerContract.js +2 -2
  122. package/dist/cjs/sdk/market/pool/createInterestRateModel.js +15 -11
  123. package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +22 -2
  124. package/dist/cjs/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  125. package/dist/cjs/sdk/market/pricefeeds/BalancerStablePriceFeed.js +9 -2
  126. package/dist/cjs/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +9 -2
  127. package/dist/cjs/sdk/market/pricefeeds/BoundedPriceFeed.js +2 -6
  128. package/dist/cjs/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  129. package/dist/cjs/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  130. package/dist/cjs/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +9 -2
  131. package/dist/cjs/sdk/market/pricefeeds/CurveStablePriceFeed.js +9 -2
  132. package/dist/cjs/sdk/market/pricefeeds/CurveUSDPriceFeed.js +9 -2
  133. package/dist/cjs/sdk/market/pricefeeds/Erc4626PriceFeed.js +18 -2
  134. package/dist/cjs/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  135. package/dist/cjs/sdk/market/pricefeeds/MellowLRTPriceFeed.js +10 -2
  136. package/dist/cjs/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  137. package/dist/cjs/sdk/market/pricefeeds/PriceFeedRef.js +4 -6
  138. package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +3 -2
  139. package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  140. package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  141. package/dist/cjs/sdk/market/pricefeeds/WstETHPriceFeed.js +9 -2
  142. package/dist/cjs/sdk/market/pricefeeds/YearnPriceFeed.js +9 -2
  143. package/dist/cjs/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  144. package/dist/cjs/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +0 -17
  145. package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +9 -7
  146. package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +12 -10
  147. package/dist/cjs/sdk/router/AbstractRouterContract.js +0 -5
  148. package/dist/cjs/sdk/router/RouterV310Contract.js +3 -3
  149. package/dist/cjs/sdk/router/createRouter.js +0 -4
  150. package/dist/cjs/sdk/utils/index.js +0 -2
  151. package/dist/esm/dev/create2.js +2 -2
  152. package/dist/esm/dev/mint/AbstractMinter.js +7 -3
  153. package/dist/esm/dev/mint/DealMinter.js +3 -0
  154. package/dist/esm/dev/mint/DirectMinter.js +3 -0
  155. package/dist/esm/dev/mint/FallbackMinter.js +1 -1
  156. package/dist/esm/dev/mint/TransferMinter.js +3 -0
  157. package/dist/esm/permissionless/bindings/address-provider.js +7 -7
  158. package/dist/esm/permissionless/bindings/base-contract.js +151 -0
  159. package/dist/esm/permissionless/bindings/bytecode-repository.js +24 -22
  160. package/dist/esm/permissionless/bindings/compressors/token-compressor.js +3 -3
  161. package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +16 -10
  162. package/dist/esm/permissionless/bindings/cross-chain-multisig.js +16 -20
  163. package/dist/esm/permissionless/bindings/factory/abstract-factory.js +4 -9
  164. package/dist/esm/permissionless/bindings/governance/batches-chain.js +3 -3
  165. package/dist/esm/permissionless/bindings/governance/governor.js +47 -28
  166. package/dist/esm/permissionless/bindings/governance/timelock.js +3 -3
  167. package/dist/esm/permissionless/bindings/index.js +1 -0
  168. package/dist/esm/permissionless/bindings/instance-manager.js +69 -53
  169. package/dist/esm/permissionless/bindings/market-configurator-factory.js +3 -3
  170. package/dist/esm/permissionless/bindings/market-configurator.js +137 -65
  171. package/dist/esm/permissionless/bindings/price-feed-store.js +14 -8
  172. package/dist/esm/permissionless/bindings/router/routing-manager.js +14 -8
  173. package/dist/esm/permissionless/bindings/treasury-splitter.js +22 -15
  174. package/dist/esm/permissionless/core/raw-tx.js +1 -1
  175. package/dist/esm/permissionless/utils/abi-decoder.js +50 -0
  176. package/dist/esm/permissionless/utils/format.js +1 -1
  177. package/dist/esm/permissionless/utils/governance/timelock-txs.js +1 -1
  178. package/dist/esm/permissionless/utils/index.js +1 -0
  179. package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +2 -4
  180. package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +1 -1
  181. package/dist/esm/permissionless/utils/price-update/get-prices.js +2 -1
  182. package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +1 -1
  183. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  184. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  185. package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  186. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  187. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  188. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  189. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  190. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  191. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  192. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  193. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  194. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  195. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  196. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  197. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  198. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  199. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  200. package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  201. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  202. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  203. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  204. package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  205. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  206. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  207. package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  208. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  209. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  210. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  211. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  212. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  213. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  214. package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  215. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  216. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  217. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  218. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  219. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  220. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  221. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  222. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  223. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  224. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  225. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  226. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  227. package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  228. package/dist/esm/plugins/bots/BotsPlugin.js +108 -11
  229. package/dist/esm/plugins/bots/PartialLiquidationBotBaseContract.js +16 -7
  230. package/dist/esm/plugins/bots/PartialLiquidationBotV300Contract.js +20 -4
  231. package/dist/esm/plugins/bots/config.js +33 -0
  232. package/dist/esm/plugins/bots/index.js +2 -0
  233. package/dist/esm/plugins/bots/types.js +8 -0
  234. package/dist/esm/plugins/zappers/ZappersPlugin.js +1 -1
  235. package/dist/esm/sdk/GearboxSDK.js +112 -10
  236. package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +4 -1
  237. package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +9 -7
  238. package/dist/esm/sdk/base/AddressLabeller.js +25 -0
  239. package/dist/esm/sdk/base/BaseContract.js +81 -202
  240. package/dist/esm/sdk/base/IAddressLabeller.js +0 -0
  241. package/dist/esm/sdk/base/SDKConstruct.js +29 -3
  242. package/dist/esm/sdk/base/TokensMeta.js +4 -4
  243. package/dist/esm/sdk/base/index.js +1 -2
  244. package/dist/esm/sdk/core/BotListV3Contract.js +2 -2
  245. package/dist/esm/sdk/core/GearStakingV3Contract.js +2 -2
  246. package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  247. package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +6 -11
  248. package/dist/esm/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  249. package/dist/esm/sdk/market/MarketConfiguratorContract.js +5 -5
  250. package/dist/esm/sdk/market/MarketRegister.js +10 -8
  251. package/dist/esm/sdk/market/MarketSuite.js +2 -2
  252. package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +3 -4
  253. package/dist/esm/sdk/market/credit/CreditConfiguratorV310Contract.js +3 -4
  254. package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  255. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  256. package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +2 -5
  257. package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +2 -5
  258. package/dist/esm/sdk/market/credit/CreditSuite.js +3 -2
  259. package/dist/esm/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +1 -3
  260. package/dist/esm/sdk/market/loss-policy/LossPolicyContract.js +3 -5
  261. package/dist/esm/sdk/market/loss-policy/createLossPolicy.js +1 -1
  262. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +26 -8
  263. package/dist/esm/sdk/market/oracle/createPriceOracle.js +1 -1
  264. package/dist/esm/sdk/market/pool/GaugeContract.js +2 -2
  265. package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  266. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  267. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  268. package/dist/esm/sdk/market/pool/PoolSuite.js +1 -1
  269. package/dist/esm/sdk/market/pool/PoolV300Contract.js +5 -5
  270. package/dist/esm/sdk/market/pool/PoolV310Contract.js +5 -5
  271. package/dist/esm/sdk/market/pool/TumblerContract.js +2 -2
  272. package/dist/esm/sdk/market/pool/createInterestRateModel.js +15 -11
  273. package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +22 -2
  274. package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  275. package/dist/esm/sdk/market/pricefeeds/BalancerStablePriceFeed.js +13 -3
  276. package/dist/esm/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +13 -3
  277. package/dist/esm/sdk/market/pricefeeds/BoundedPriceFeed.js +2 -6
  278. package/dist/esm/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  279. package/dist/esm/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  280. package/dist/esm/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +10 -3
  281. package/dist/esm/sdk/market/pricefeeds/CurveStablePriceFeed.js +10 -3
  282. package/dist/esm/sdk/market/pricefeeds/CurveUSDPriceFeed.js +10 -3
  283. package/dist/esm/sdk/market/pricefeeds/Erc4626PriceFeed.js +18 -2
  284. package/dist/esm/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  285. package/dist/esm/sdk/market/pricefeeds/MellowLRTPriceFeed.js +11 -3
  286. package/dist/esm/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  287. package/dist/esm/sdk/market/pricefeeds/PriceFeedRef.js +5 -7
  288. package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +9 -3
  289. package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  290. package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  291. package/dist/esm/sdk/market/pricefeeds/WstETHPriceFeed.js +10 -3
  292. package/dist/esm/sdk/market/pricefeeds/YearnPriceFeed.js +10 -3
  293. package/dist/esm/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  294. package/dist/esm/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +0 -17
  295. package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +10 -8
  296. package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +13 -11
  297. package/dist/esm/sdk/router/AbstractRouterContract.js +0 -5
  298. package/dist/esm/sdk/router/RouterV310Contract.js +3 -3
  299. package/dist/esm/sdk/router/createRouter.js +0 -4
  300. package/dist/esm/sdk/utils/index.js +0 -1
  301. package/dist/types/dev/create2.d.ts +2 -2
  302. package/dist/types/dev/mint/AbstractMinter.d.ts +4 -3
  303. package/dist/types/dev/mint/DealMinter.d.ts +3 -0
  304. package/dist/types/dev/mint/DirectMinter.d.ts +3 -0
  305. package/dist/types/dev/mint/TransferMinter.d.ts +3 -0
  306. package/dist/types/permissionless/bindings/address-provider.d.ts +255 -4
  307. package/dist/types/permissionless/bindings/base-contract.d.ts +23 -0
  308. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +6 -5
  309. package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +3 -3
  310. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +5 -4
  311. package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +7 -7
  312. package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +1 -1
  313. package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +4 -3
  314. package/dist/types/permissionless/bindings/governance/governor.d.ts +7 -6
  315. package/dist/types/permissionless/bindings/governance/timelock.d.ts +3 -3
  316. package/dist/types/permissionless/bindings/governance/types.d.ts +1 -1
  317. package/dist/types/permissionless/bindings/index.d.ts +1 -0
  318. package/dist/types/permissionless/bindings/instance-manager.d.ts +7 -6
  319. package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +4 -4
  320. package/dist/types/permissionless/bindings/market-configurator.d.ts +6 -6
  321. package/dist/types/permissionless/bindings/price-feed-store.d.ts +7 -6
  322. package/dist/types/permissionless/bindings/router/routing-manager.d.ts +5 -4
  323. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +6 -5
  324. package/dist/types/permissionless/core/proposal.d.ts +7 -1
  325. package/dist/types/permissionless/utils/abi-decoder.d.ts +13 -0
  326. package/dist/types/permissionless/utils/create2.d.ts +1 -1
  327. package/dist/types/permissionless/utils/governance/batch.d.ts +1 -1
  328. package/dist/types/permissionless/utils/index.d.ts +1 -0
  329. package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +3 -3
  330. package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +2 -2
  331. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +2 -2
  332. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  333. package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +2 -2
  334. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +2 -2
  335. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +2 -2
  336. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +2 -2
  337. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +2 -2
  338. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +2 -2
  339. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +2 -2
  340. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +2 -2
  341. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +2 -2
  342. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
  343. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
  344. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +2 -2
  345. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +2 -2
  346. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +2 -2
  347. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +2 -2
  348. package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +2 -2
  349. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +2 -2
  350. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +2 -2
  351. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +2 -2
  352. package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +2 -2
  353. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +2 -2
  354. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +2 -2
  355. package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +2 -2
  356. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +2 -2
  357. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +2 -2
  358. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +2 -2
  359. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +2 -2
  360. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +2 -2
  361. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +2 -2
  362. package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +2 -2
  363. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +2 -2
  364. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +2 -2
  365. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +2 -2
  366. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +2 -2
  367. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +2 -2
  368. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +2 -2
  369. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -3
  370. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -3
  371. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +2 -2
  372. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +16 -2
  373. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +2 -2
  374. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +2 -2
  375. package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +2 -2
  376. package/dist/types/plugins/bots/BotsPlugin.d.ts +3 -2
  377. package/dist/types/plugins/bots/PartialLiquidationBotBaseContract.d.ts +1 -1
  378. package/dist/types/plugins/bots/PartialLiquidationBotV300Contract.d.ts +8 -2
  379. package/dist/types/plugins/bots/config.d.ts +6 -0
  380. package/dist/types/plugins/bots/index.d.ts +2 -0
  381. package/dist/types/plugins/bots/types.d.ts +16 -0
  382. package/dist/types/sdk/GearboxSDK.d.ts +76 -5
  383. package/dist/types/sdk/accountMigration/AbstractMigrateCreditAccountsService.d.ts +2 -2
  384. package/dist/types/sdk/accountMigration/types.d.ts +2 -1
  385. package/dist/types/sdk/accounts/types.d.ts +3 -4
  386. package/dist/types/sdk/base/AddressLabeller.d.ts +11 -0
  387. package/dist/types/sdk/base/BaseContract.d.ts +28 -72
  388. package/dist/types/sdk/base/IAddressLabeller.d.ts +9 -0
  389. package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
  390. package/dist/types/sdk/base/SDKConstruct.d.ts +16 -2
  391. package/dist/types/sdk/base/TokensMeta.d.ts +3 -2
  392. package/dist/types/sdk/base/index.d.ts +1 -2
  393. package/dist/types/sdk/base/types.d.ts +0 -50
  394. package/dist/types/sdk/core/BotListV3Contract.d.ts +1 -1
  395. package/dist/types/sdk/core/GearStakingV3Contract.d.ts +1 -1
  396. package/dist/types/sdk/core/address-provider/AbstractAddressProviderContract.d.ts +4 -3
  397. package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +3 -3
  398. package/dist/types/sdk/core/address-provider/AddressProviderV310Contract.d.ts +3 -3
  399. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +2 -2
  400. package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +3 -3
  401. package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +3 -3
  402. package/dist/types/sdk/market/credit/CreditFacadeV300Contract.d.ts +4 -3
  403. package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +4 -3
  404. package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +1 -1
  405. package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +1 -1
  406. package/dist/types/sdk/market/credit/CreditSuite.d.ts +1 -1
  407. package/dist/types/sdk/market/credit/types.d.ts +2 -1
  408. package/dist/types/sdk/market/loss-policy/AliasLossPolicyV310Contract.d.ts +0 -1
  409. package/dist/types/sdk/market/loss-policy/LossPolicyContract.d.ts +3 -2
  410. package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +12 -3
  411. package/dist/types/sdk/market/oracle/types.d.ts +10 -0
  412. package/dist/types/sdk/market/pool/GaugeContract.d.ts +3 -2
  413. package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +3 -2
  414. package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +3 -2
  415. package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +3 -2
  416. package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +5 -4
  417. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +5 -4
  418. package/dist/types/sdk/market/pool/TumblerContract.d.ts +3 -2
  419. package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +8 -3
  420. package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +3 -2
  421. package/dist/types/sdk/market/pricefeeds/BalancerStablePriceFeed.d.ts +3 -2
  422. package/dist/types/sdk/market/pricefeeds/BalancerWeightedPriceFeed.d.ts +3 -2
  423. package/dist/types/sdk/market/pricefeeds/BoundedPriceFeed.d.ts +2 -2
  424. package/dist/types/sdk/market/pricefeeds/CompositePriceFeed.d.ts +2 -2
  425. package/dist/types/sdk/market/pricefeeds/ConstantPriceFeed.d.ts +2 -2
  426. package/dist/types/sdk/market/pricefeeds/CurveCryptoPriceFeed.d.ts +3 -2
  427. package/dist/types/sdk/market/pricefeeds/CurveStablePriceFeed.d.ts +3 -2
  428. package/dist/types/sdk/market/pricefeeds/CurveUSDPriceFeed.d.ts +3 -2
  429. package/dist/types/sdk/market/pricefeeds/Erc4626PriceFeed.d.ts +3 -2
  430. package/dist/types/sdk/market/pricefeeds/ExternalPriceFeed.d.ts +2 -2
  431. package/dist/types/sdk/market/pricefeeds/MellowLRTPriceFeed.d.ts +3 -2
  432. package/dist/types/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.d.ts +2 -2
  433. package/dist/types/sdk/market/pricefeeds/PriceFeedRef.d.ts +4 -3
  434. package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +2 -1
  435. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +2 -2
  436. package/dist/types/sdk/market/pricefeeds/RedstonePriceFeed.d.ts +2 -2
  437. package/dist/types/sdk/market/pricefeeds/WstETHPriceFeed.d.ts +3 -2
  438. package/dist/types/sdk/market/pricefeeds/YearnPriceFeed.d.ts +3 -2
  439. package/dist/types/sdk/market/pricefeeds/ZeroPriceFeed.d.ts +2 -2
  440. package/dist/types/sdk/market/pricefeeds/types.d.ts +5 -0
  441. package/dist/types/sdk/market/pricefeeds/updates/PriceUpdatesCache.d.ts +1 -8
  442. package/dist/types/sdk/router/AbstractRouterContract.d.ts +1 -4
  443. package/dist/types/sdk/router/types.d.ts +2 -1
  444. package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +2 -2
  445. package/dist/types/sdk/utils/index.d.ts +0 -1
  446. package/package.json +10 -10
  447. package/dist/cjs/plugins/bots/deserializePartialLiquidationBotParams.js +0 -49
  448. package/dist/cjs/sdk/base/ChainContractsRegister.js +0 -135
  449. package/dist/cjs/sdk/base/Construct.js +0 -87
  450. package/dist/cjs/sdk/utils/abi-decode.js +0 -58
  451. package/dist/esm/plugins/bots/deserializePartialLiquidationBotParams.js +0 -29
  452. package/dist/esm/sdk/base/ChainContractsRegister.js +0 -111
  453. package/dist/esm/sdk/base/Construct.js +0 -63
  454. package/dist/esm/sdk/utils/abi-decode.js +0 -37
  455. package/dist/types/plugins/bots/deserializePartialLiquidationBotParams.d.ts +0 -3
  456. package/dist/types/sdk/base/ChainContractsRegister.d.ts +0 -57
  457. package/dist/types/sdk/base/Construct.d.ts +0 -38
  458. package/dist/types/sdk/utils/abi-decode.d.ts +0 -10
@@ -33,10 +33,10 @@ class RedstonePriceFeedContract extends import_AbstractPriceFeed.AbstractPriceFe
33
33
  signersThreshold;
34
34
  lastPrice;
35
35
  lastPayloadTimestamp;
36
- constructor(options, args) {
37
- super(options, {
36
+ constructor(sdk, args) {
37
+ super(sdk, {
38
38
  ...args,
39
- name: "RedstonePriceFeed",
39
+ name: `RedstonePriceFeed`,
40
40
  abi: import_abi.redstonePriceFeedAbi
41
41
  });
42
42
  if ((0, import_constants.isV310)(args.baseParams.version)) {
@@ -24,13 +24,20 @@ module.exports = __toCommonJS(WstETHPriceFeed_exports);
24
24
  var import_abi = require("../../abi/index.js");
25
25
  var import_AbstractLPPriceFeed = require("./AbstractLPPriceFeed.js");
26
26
  class WstETHPriceFeedContract extends import_AbstractLPPriceFeed.AbstractLPPriceFeedContract {
27
- constructor(options, args) {
28
- super(options, {
27
+ constructor(sdk, args) {
28
+ super(sdk, {
29
29
  ...args,
30
30
  name: "WstETHPriceFeed",
31
31
  abi: import_abi.wstEthPriceFeedAbi
32
32
  });
33
33
  }
34
+ async getValue() {
35
+ return await this.sdk.client.readContract({
36
+ abi: import_abi.iwstEthAbi,
37
+ address: this.lpContract,
38
+ functionName: "stEthPerToken"
39
+ });
40
+ }
34
41
  }
35
42
  // Annotate the CommonJS export names for ESM import in node:
36
43
  0 && (module.exports = {
@@ -24,13 +24,20 @@ module.exports = __toCommonJS(YearnPriceFeed_exports);
24
24
  var import_abi = require("../../abi/index.js");
25
25
  var import_AbstractLPPriceFeed = require("./AbstractLPPriceFeed.js");
26
26
  class YearnPriceFeedContract extends import_AbstractLPPriceFeed.AbstractLPPriceFeedContract {
27
- constructor(options, args) {
28
- super(options, {
27
+ constructor(sdk, args) {
28
+ super(sdk, {
29
29
  ...args,
30
30
  name: "YearnPriceFeed",
31
31
  abi: import_abi.yearnPriceFeedAbi
32
32
  });
33
33
  }
34
+ async getValue() {
35
+ return await this.sdk.client.readContract({
36
+ abi: import_abi.iyVaultAbi,
37
+ address: this.lpContract,
38
+ functionName: "pricePerShare"
39
+ });
40
+ }
34
41
  }
35
42
  // Annotate the CommonJS export names for ESM import in node:
36
43
  0 && (module.exports = {
@@ -24,8 +24,8 @@ module.exports = __toCommonJS(ZeroPriceFeed_exports);
24
24
  var import_abi = require("../../abi/index.js");
25
25
  var import_AbstractPriceFeed = require("./AbstractPriceFeed.js");
26
26
  class ZeroPriceFeedContract extends import_AbstractPriceFeed.AbstractPriceFeedContract {
27
- constructor(options, args) {
28
- super(options, {
27
+ constructor(sdk, args) {
28
+ super(sdk, {
29
29
  ...args,
30
30
  name: "ZeroPriceFeed",
31
31
  abi: import_abi.zeroPriceFeedAbi,
@@ -22,23 +22,6 @@ __export(PriceUpdatesCache_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(PriceUpdatesCache_exports);
24
24
  class PriceUpdatesCache {
25
- static #caches = /* @__PURE__ */ new Map();
26
- /**
27
- * Price update caches can be shared across networks
28
- * @param id - unique key to identify the cache
29
- * @param opts
30
- * @returns
31
- */
32
- static get(id, opts) {
33
- const key = `${id}:${opts.historical ? "historical" : "latest"}:${opts.ttl}`;
34
- const cache = PriceUpdatesCache.#caches.get(key);
35
- if (cache) {
36
- return cache;
37
- }
38
- const newCache = new PriceUpdatesCache(opts);
39
- PriceUpdatesCache.#caches.set(key, newCache);
40
- return newCache;
41
- }
42
25
  #cache = /* @__PURE__ */ new Map();
43
26
  #ttlMs;
44
27
  #historical;
@@ -56,23 +56,25 @@ const PythOptions = import_v4.z.object({
56
56
  ignoreMissingFeeds: import_v4.z.boolean().optional()
57
57
  });
58
58
  class PythUpdater extends import_base.SDKConstruct {
59
+ #logger;
59
60
  #cache;
60
61
  #historicalTimestamp;
61
62
  #api;
62
63
  #ignoreMissingFeeds;
63
64
  constructor(sdk, opts = {}) {
64
65
  super(sdk);
66
+ this.#logger = (0, import_utils.childLogger)("PythUpdater", sdk.logger);
65
67
  this.#ignoreMissingFeeds = opts.ignoreMissingFeeds;
66
68
  this.#api = opts.apiProxy ?? "https://hermes.pyth.network/v2/updates/price/";
67
69
  this.#api = this.#api.endsWith("/") ? this.#api : `${this.#api}/`;
68
70
  const ts = opts.historicTimestamp;
69
71
  if (ts) {
70
72
  this.#historicalTimestamp = ts === true ? Number(this.sdk.timestamp) : ts;
71
- this.logger?.debug(
73
+ this.#logger?.debug(
72
74
  `using historical timestamp ${this.#historicalTimestamp}`
73
75
  );
74
76
  }
75
- this.#cache = import_PriceUpdatesCache.PriceUpdatesCache.get("pyth", {
77
+ this.#cache = new import_PriceUpdatesCache.PriceUpdatesCache({
76
78
  // currently staleness period is 240 seconds on all networks, add some buffer
77
79
  // this period of 4 minutes is selected based on time that is required for user to sign transaction with wallet
78
80
  // so it's unlikely to decrease
@@ -84,7 +86,7 @@ class PythUpdater extends import_base.SDKConstruct {
84
86
  if (feeds.length === 0) {
85
87
  return [];
86
88
  }
87
- this.logger?.debug(
89
+ this.#logger?.debug(
88
90
  `generating update transactions for ${feeds.length} pyth price feeds`
89
91
  );
90
92
  const pythFeeds = new Map(
@@ -119,7 +121,7 @@ class PythUpdater extends import_base.SDKConstruct {
119
121
  tsRange = `${tsRange} - ${maxTimestamp} (${maxDelta})`;
120
122
  }
121
123
  }
122
- this.logger?.debug(
124
+ this.#logger?.debug(
123
125
  `generated ${results.length} update transactions for pyth price feeds: ${Array.from(pythFeeds.keys()).join(", ")}${tsRange}`
124
126
  );
125
127
  return results;
@@ -130,7 +132,7 @@ class PythUpdater extends import_base.SDKConstruct {
130
132
  * @returns
131
133
  */
132
134
  async #getPayloads(dataFeedsIds) {
133
- this.logger?.debug(
135
+ this.#logger?.debug(
134
136
  `getting pyth payloads for ${dataFeedsIds.size} price feeds: ${Array.from(dataFeedsIds).join(", ")}`
135
137
  );
136
138
  const fromCache = [];
@@ -149,7 +151,7 @@ class PythUpdater extends import_base.SDKConstruct {
149
151
  for (const resp of fromPyth) {
150
152
  this.#cache.set(resp, resp.dataFeedId);
151
153
  }
152
- this.logger?.debug(
154
+ this.#logger?.debug(
153
155
  `got ${fromPyth.length} new pyth updates and ${fromCache.length} from cache`
154
156
  );
155
157
  return [...fromCache, ...fromPyth];
@@ -165,7 +167,7 @@ class PythUpdater extends import_base.SDKConstruct {
165
167
  }
166
168
  const ids = Array.from(dataFeedsIds);
167
169
  const tsStr = this.#historicalTimestamp ? ` with historical timestamp ${this.#historicalTimestamp}` : "";
168
- this.logger?.debug(
170
+ this.#logger?.debug(
169
171
  `fetching pyth payloads for ${dataFeedsIds.size} price feeds: ${ids.join(", ")}${tsStr}`
170
172
  );
171
173
  const url = new URL(this.#api + (this.#historicalTimestamp ?? "latest"));
@@ -61,6 +61,7 @@ const RedstoneOptions = import_v4.z.object({
61
61
  enableLogging: import_v4.z.boolean().optional()
62
62
  });
63
63
  class RedstoneUpdater extends import_base.SDKConstruct {
64
+ #logger;
64
65
  #cache;
65
66
  #historicalTimestampMs;
66
67
  #gateways;
@@ -68,6 +69,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
68
69
  #enableLogging;
69
70
  constructor(sdk, opts = {}) {
70
71
  super(sdk);
72
+ this.#logger = (0, import_utils.childLogger)("RedstoneUpdater", sdk.logger);
71
73
  this.#ignoreMissingFeeds = opts.ignoreMissingFeeds;
72
74
  this.#enableLogging = opts.enableLogging;
73
75
  this.#gateways = opts.gateways?.length ? opts.gateways : void 0;
@@ -75,11 +77,11 @@ class RedstoneUpdater extends import_base.SDKConstruct {
75
77
  if (ts) {
76
78
  ts = ts === true ? Number(this.sdk.timestamp) * 1e3 : ts;
77
79
  this.#historicalTimestampMs = 6e4 * Math.floor(ts / 6e4);
78
- this.logger?.debug(
80
+ this.#logger?.debug(
79
81
  `using historical timestamp ${this.#historicalTimestampMs}`
80
82
  );
81
83
  }
82
- this.#cache = import_PriceUpdatesCache.PriceUpdatesCache.get("redstone", {
84
+ this.#cache = new import_PriceUpdatesCache.PriceUpdatesCache({
83
85
  // currently staleness period is 240 seconds on all networks, add some buffer
84
86
  // this period of 4 minutes is selected based on time that is required for user to sign transaction with wallet
85
87
  // so it's unlikely to decrease
@@ -91,7 +93,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
91
93
  if (feeds.length === 0) {
92
94
  return [];
93
95
  }
94
- this.logger?.debug(
96
+ this.#logger?.debug(
95
97
  `generating update transactions for ${feeds.length} redstone price feeds`
96
98
  );
97
99
  const groupedFeeds = {};
@@ -148,7 +150,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
148
150
  tsRange = `${tsRange} - ${maxTimestamp} (${maxDelta})`;
149
151
  }
150
152
  }
151
- this.logger?.debug(
153
+ this.#logger?.debug(
152
154
  `generated ${results.length} update transactions for redstone price feeds: ${Array.from(priceFeeds.keys()).join(", ")}${tsRange}`
153
155
  );
154
156
  return results;
@@ -173,7 +175,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
173
175
  for (const { timestamp, dataFeedId } of result) {
174
176
  const delta = Number(this.sdk.timestamp) - timestamp;
175
177
  if (delta >= 240 && delta < 255) {
176
- this.logger?.warn(
178
+ this.#logger?.warn(
177
179
  `payload for ${dataFeedId} has expired by ${delta} seconds`
178
180
  );
179
181
  expired = true;
@@ -197,7 +199,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
197
199
  * @returns
198
200
  */
199
201
  async #getPayloads(dataServiceId, dataFeedsIds, uniqueSignersCount) {
200
- this.logger?.debug(
202
+ this.#logger?.debug(
201
203
  `getting redstone payloads for ${dataFeedsIds.size} data feeds in ${dataServiceId} with ${uniqueSignersCount} signers: ${Array.from(dataFeedsIds).join(", ")}`
202
204
  );
203
205
  const fromCache = [];
@@ -222,7 +224,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
222
224
  for (const resp of fromRedstone) {
223
225
  this.#cache.set(resp, dataServiceId, resp.dataFeedId, uniqueSignersCount);
224
226
  }
225
- this.logger?.debug(
227
+ this.#logger?.debug(
226
228
  `got ${fromRedstone.length} new redstone updates and ${fromCache.length} from cache`
227
229
  );
228
230
  return [...fromCache, ...fromRedstone];
@@ -241,7 +243,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
241
243
  }
242
244
  const dataPackagesIds = Array.from(dataFeedsIds);
243
245
  const tsStr = this.#historicalTimestampMs ? ` with historical timestamp ${this.#historicalTimestampMs}` : "";
244
- this.logger?.debug(
246
+ this.#logger?.debug(
245
247
  `fetching redstone payloads for ${dataFeedsIds.size} data feeds in ${dataServiceId} with ${uniqueSignersCount} signers: ${dataPackagesIds.join(", ")}${tsStr}`
246
248
  );
247
249
  const wrapper = new import_evm_connector.DataServiceWrapper({
@@ -270,14 +272,14 @@ class RedstoneUpdater extends import_base.SDKConstruct {
270
272
  const signedDataPackages = packagesByDataFeedId[dataFeedId];
271
273
  if (!signedDataPackages) {
272
274
  if (this.#ignoreMissingFeeds) {
273
- this.logger?.warn(`cannot find data packages for ${dataFeedId}`);
275
+ this.#logger?.warn(`cannot find data packages for ${dataFeedId}`);
274
276
  continue;
275
277
  }
276
278
  throw new Error(`cannot find data packages for ${dataFeedId}`);
277
279
  }
278
280
  if (signedDataPackages.length !== uniqueSignersCount) {
279
281
  if (this.#ignoreMissingFeeds) {
280
- this.logger?.warn(
282
+ this.#logger?.warn(
281
283
  `got ${signedDataPackages.length} data packages for ${dataFeedId}, but expected ${uniqueSignersCount}`
282
284
  );
283
285
  continue;
@@ -30,11 +30,6 @@ class AbstractRouterContract extends import_base.BaseContract {
30
30
  hooks = new import_internal.Hooks();
31
31
  addHook = this.hooks.addHook.bind(this.hooks);
32
32
  removeHook = this.hooks.removeHook.bind(this.hooks);
33
- sdk;
34
- constructor(sdk, args) {
35
- super(sdk, args);
36
- this.sdk = sdk;
37
- }
38
33
  getExpectedAndLeftover(ca, cm, options = {}) {
39
34
  const b = options.balances ? options.balances : this.getDefaultExpectedAndLeftover(
40
35
  ca,
@@ -299,15 +299,15 @@ class RouterV310Contract extends import_AbstractRouterContract.AbstractRouterCon
299
299
  * @returns
300
300
  */
301
301
  #convertToUSDForSort(oracle, token, amount) {
302
- const scale = 10n ** BigInt(this.tokensMeta.get(token)?.decimals ?? 0);
302
+ const scale = 10n ** BigInt(this.sdk.tokensMeta.get(token)?.decimals ?? 0);
303
303
  const price = oracle.mainPrices.get(token)?.price || oracle.reservePrices.get(token)?.price || scale;
304
304
  return amount * price / scale;
305
305
  }
306
306
  #debugTokenData(tData) {
307
307
  return tData.map((t) => ({
308
308
  token: this.labelAddress(t.token),
309
- balance: `${this.tokensMeta.formatBN(t.token, t.balance)} (${t.balance})`,
310
- leftoverBalance: this.tokensMeta.formatBN(t.token, t.leftoverBalance) + ` (${t.leftoverBalance})`,
309
+ balance: `${this.sdk.tokensMeta.formatBN(t.token, t.balance)} (${t.balance})`,
310
+ leftoverBalance: this.sdk.tokensMeta.formatBN(t.token, t.leftoverBalance) + ` (${t.leftoverBalance})`,
311
311
  numSplits: t.numSplits,
312
312
  claimRewards: t.claimRewards
313
313
  }));
@@ -25,10 +25,6 @@ var import_constants = require("../constants/index.js");
25
25
  var import_RouterV300Contract = require("./RouterV300Contract.js");
26
26
  var import_RouterV310Contract = require("./RouterV310Contract.js");
27
27
  function createRouter(sdk, address, version) {
28
- const contract = sdk.getContract(address);
29
- if (contract) {
30
- return contract;
31
- }
32
28
  if ((0, import_constants.isV300)(version)) {
33
29
  return new import_RouterV300Contract.RouterV300Contract(sdk, address, version);
34
30
  }
@@ -17,7 +17,6 @@ var utils_exports = {};
17
17
  module.exports = __toCommonJS(utils_exports);
18
18
  __reExport(utils_exports, require("./AddressMap.js"), module.exports);
19
19
  __reExport(utils_exports, require("./AddressSet.js"), module.exports);
20
- __reExport(utils_exports, require("./abi-decode.js"), module.exports);
21
20
  __reExport(utils_exports, require("./bytes32ToString.js"), module.exports);
22
21
  __reExport(utils_exports, require("./childLogger.js"), module.exports);
23
22
  __reExport(utils_exports, require("./createRawTx.js"), module.exports);
@@ -36,7 +35,6 @@ __reExport(utils_exports, require("./zod.js"), module.exports);
36
35
  0 && (module.exports = {
37
36
  ...require("./AddressMap.js"),
38
37
  ...require("./AddressSet.js"),
39
- ...require("./abi-decode.js"),
40
38
  ...require("./bytes32ToString.js"),
41
39
  ...require("./childLogger.js"),
42
40
  ...require("./createRawTx.js"),
@@ -5,10 +5,10 @@ import {
5
5
  stringToHex
6
6
  } from "viem";
7
7
  import { getCode, sendTransaction } from "viem/actions";
8
- import { Construct } from "../sdk/index.js";
8
+ import { SDKConstruct } from "../sdk/index.js";
9
9
  const PUBLIC_CREATE2_FACTORY = "0x4e59b44847b379578588920ca78fbf26c0b4956c";
10
10
  const DEFAULT_CREATE2_SALT = "GEARBOX";
11
- class Create2Deployer extends Construct {
11
+ class Create2Deployer extends SDKConstruct {
12
12
  #walletClient;
13
13
  #logger;
14
14
  constructor(sdk, walletClient) {
@@ -1,14 +1,18 @@
1
1
  import { parseEther } from "viem";
2
2
  import { ierc20Abi } from "../../abi/iERC20.js";
3
- import { SDKConstruct } from "../../sdk/index.js";
3
+ import {
4
+ SDKConstruct
5
+ } from "../../sdk/index.js";
4
6
  import { iOwnableAbi } from "../abi.js";
5
7
  class AbstractMinter extends SDKConstruct {
6
8
  anvil;
9
+ logger;
7
10
  name;
8
- constructor(sdk, anvil) {
11
+ constructor(sdk, anvil, name = "Minter") {
9
12
  super(sdk);
10
13
  this.anvil = anvil;
11
- this.name = this.constructor.name;
14
+ this.name = name;
15
+ this.logger = sdk.logger?.child?.({ name }) ?? sdk.logger;
12
16
  }
13
17
  async tryMint(token, dest, amount) {
14
18
  const amnt = this.fmt(token, amount);
@@ -1,5 +1,8 @@
1
1
  import AbstractMinter from "./AbstractMinter.js";
2
2
  class DealMinter extends AbstractMinter {
3
+ constructor(sdk, anvil) {
4
+ super(sdk, anvil, "DealMinter");
5
+ }
3
6
  async mint(token, dest, amount) {
4
7
  const { deal } = await import("viem-deal").catch(() => ({ deal: null }));
5
8
  if (!deal) {
@@ -1,6 +1,9 @@
1
1
  import { parseAbi } from "viem";
2
2
  import AbstractMinter from "./AbstractMinter.js";
3
3
  class DirectMinter extends AbstractMinter {
4
+ constructor(sdk, anvil) {
5
+ super(sdk, anvil, "DirectMinter");
6
+ }
4
7
  async mint(token, dest, amount) {
5
8
  const owner = await this.getOwner(token);
6
9
  const stopImpersonating = await this.impersonateWithBalance(owner);
@@ -2,7 +2,7 @@ import AbstractMinter from "./AbstractMinter.js";
2
2
  class FallbackMinter extends AbstractMinter {
3
3
  #minters;
4
4
  constructor(sdk, anvil, minters) {
5
- super(sdk, anvil);
5
+ super(sdk, anvil, "FallbackMinter");
6
6
  this.#minters = minters;
7
7
  }
8
8
  async mint(token, dest, amount) {
@@ -2,6 +2,9 @@ import { parseAbi } from "viem";
2
2
  import { ierc20Abi } from "../../abi/iERC20.js";
3
3
  import AbstractMinter from "./AbstractMinter.js";
4
4
  class TransferMinter extends AbstractMinter {
5
+ constructor(sdk, anvil) {
6
+ super(sdk, anvil, "TransferMinter");
7
+ }
5
8
  async mint(token, dest, amount) {
6
9
  const owner = await this.getOwner(token);
7
10
  const stopImpersonating = await this.impersonateWithBalance(owner);
@@ -1,10 +1,10 @@
1
- import {
2
- stringToHex
3
- } from "viem";
4
- import { AddressProviderV310Contract } from "../../sdk/index.js";
5
- class AddressProviderContract extends AddressProviderV310Contract {
6
- constructor(addr, client) {
7
- super({ client }, addr);
1
+ import { stringToHex } from "viem";
2
+ import { iAddressProviderV310Abi } from "../../abi/310/generated.js";
3
+ import { BaseContract } from "./base-contract.js";
4
+ const abi = iAddressProviderV310Abi;
5
+ class AddressProviderContract extends BaseContract {
6
+ constructor(address, client) {
7
+ super(abi, address, client, "AddressProvider");
8
8
  }
9
9
  async getAddressOrRevert(key, version = 0n) {
10
10
  return await this.contract.read.getAddressOrRevert([
@@ -0,0 +1,151 @@
1
+ import {
2
+ getContract
3
+ } from "viem";
4
+ import { createRawTx } from "../../sdk/utils/index.js";
5
+ import { decodeFunctionWithNamedArgs } from "../utils/abi-decoder.js";
6
+ class BaseContract {
7
+ abi;
8
+ address;
9
+ name;
10
+ static register = {};
11
+ contract;
12
+ client;
13
+ constructor(abi, address, client, name) {
14
+ this.abi = abi;
15
+ this.client = client;
16
+ this.address = address.toLowerCase();
17
+ this.name = name;
18
+ this.contract = getContract({
19
+ address,
20
+ abi,
21
+ client
22
+ });
23
+ BaseContract.register[this.address] = this;
24
+ }
25
+ static parseCall(call) {
26
+ const parsedCall = BaseContract.parse(call.target, call.callData);
27
+ return {
28
+ ...parsedCall,
29
+ chainId: call.chainId
30
+ };
31
+ }
32
+ static parse(address, calldata) {
33
+ const contract = BaseContract.register[address.toLowerCase()];
34
+ if (contract) {
35
+ return contract.parseFunctionData(calldata);
36
+ } else {
37
+ return {
38
+ chainId: 0,
39
+ target: address,
40
+ label: "Unknown contract",
41
+ functionName: `Unknown function: ${calldata}`,
42
+ args: {}
43
+ };
44
+ }
45
+ }
46
+ parseFunctionData(calldata) {
47
+ const decodedWithNames = decodeFunctionWithNamedArgs(this.abi, calldata);
48
+ if (!decodedWithNames) {
49
+ return {
50
+ chainId: 0,
51
+ target: this.address,
52
+ label: this.name,
53
+ functionName: `Unknown function: ${calldata}`,
54
+ args: {}
55
+ };
56
+ }
57
+ const specParsed = this.parseFunctionParams(
58
+ decodedWithNames.originalDecoded
59
+ );
60
+ if (specParsed) {
61
+ return specParsed;
62
+ }
63
+ return this.wrapParseCall(
64
+ decodedWithNames.originalDecoded,
65
+ decodedWithNames.args
66
+ );
67
+ }
68
+ wrapParseCall(params, parsedParams) {
69
+ return {
70
+ chainId: 0,
71
+ target: this.address,
72
+ label: this.name,
73
+ functionName: params.functionName,
74
+ args: parsedParams
75
+ };
76
+ }
77
+ parseFunctionParams(_params) {
78
+ return void 0;
79
+ }
80
+ createRawTx(parameters) {
81
+ const { description: argsDescription } = parameters;
82
+ const tx = createRawTx(
83
+ this.address,
84
+ {
85
+ abi: this.abi,
86
+ ...parameters
87
+ },
88
+ argsDescription
89
+ );
90
+ tx.description = parameters.description || argsDescription || this.stringifyParsedCall(this.parseFunctionData(tx.callData));
91
+ return tx;
92
+ }
93
+ stringifyParsedCall(parsedCall) {
94
+ const argsStr = Object.entries(parsedCall.args).map(([key, value]) => `${key}: ${value}`).join(", ");
95
+ return `${parsedCall.label}.${parsedCall.functionName}(${argsStr})`;
96
+ }
97
+ async getEvents(eventName, fromBlock, toBlock, args, chunkSize) {
98
+ if (chunkSize) {
99
+ const chunkSizeBigint = BigInt(chunkSize);
100
+ const getEventPromises = [];
101
+ for (let i = fromBlock; i < toBlock; i += chunkSizeBigint) {
102
+ getEventPromises.push(
103
+ this.client.getContractEvents({
104
+ address: this.address,
105
+ fromBlock: i,
106
+ toBlock: i + chunkSizeBigint,
107
+ abi: this.abi,
108
+ eventName,
109
+ args
110
+ })
111
+ );
112
+ }
113
+ const events = (await Promise.all(getEventPromises)).flat();
114
+ return events;
115
+ }
116
+ try {
117
+ const events = await this.client.getContractEvents({
118
+ address: this.address,
119
+ fromBlock,
120
+ toBlock,
121
+ abi: this.abi,
122
+ eventName,
123
+ args
124
+ });
125
+ return events;
126
+ } catch (e) {
127
+ const blockRangeErrors = [
128
+ "query exceeds max block",
129
+ "range is too large",
130
+ "eth_getLogs is limited to",
131
+ "Unable to perform request",
132
+ "Block range limit exceeded"
133
+ ];
134
+ if (e instanceof Error && blockRangeErrors.some((errorText) => e.message.includes(errorText))) {
135
+ const middle = (fromBlock + toBlock) / 2n;
136
+ const [firstHalfEvents, secondHalfEvents] = await Promise.all([
137
+ this.getEvents(eventName, fromBlock, middle, args),
138
+ this.getEvents(eventName, middle + 1n, toBlock, args)
139
+ ]);
140
+ return [...firstHalfEvents, ...secondHalfEvents];
141
+ }
142
+ throw e;
143
+ }
144
+ }
145
+ getContract() {
146
+ return this.contract;
147
+ }
148
+ }
149
+ export {
150
+ BaseContract
151
+ };