@gearbox-protocol/sdk 11.11.0-next.1 → 11.11.0

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 (455) 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/PythUpdater.js +8 -6
  145. package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +11 -9
  146. package/dist/cjs/sdk/router/AbstractRouterContract.js +0 -5
  147. package/dist/cjs/sdk/router/RouterV310Contract.js +3 -3
  148. package/dist/cjs/sdk/router/createRouter.js +0 -4
  149. package/dist/cjs/sdk/utils/index.js +0 -2
  150. package/dist/esm/dev/create2.js +2 -2
  151. package/dist/esm/dev/mint/AbstractMinter.js +7 -3
  152. package/dist/esm/dev/mint/DealMinter.js +3 -0
  153. package/dist/esm/dev/mint/DirectMinter.js +3 -0
  154. package/dist/esm/dev/mint/FallbackMinter.js +1 -1
  155. package/dist/esm/dev/mint/TransferMinter.js +3 -0
  156. package/dist/esm/permissionless/bindings/address-provider.js +7 -7
  157. package/dist/esm/permissionless/bindings/base-contract.js +151 -0
  158. package/dist/esm/permissionless/bindings/bytecode-repository.js +24 -22
  159. package/dist/esm/permissionless/bindings/compressors/token-compressor.js +3 -3
  160. package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +16 -10
  161. package/dist/esm/permissionless/bindings/cross-chain-multisig.js +16 -20
  162. package/dist/esm/permissionless/bindings/factory/abstract-factory.js +4 -9
  163. package/dist/esm/permissionless/bindings/governance/batches-chain.js +3 -3
  164. package/dist/esm/permissionless/bindings/governance/governor.js +47 -28
  165. package/dist/esm/permissionless/bindings/governance/timelock.js +3 -3
  166. package/dist/esm/permissionless/bindings/index.js +1 -0
  167. package/dist/esm/permissionless/bindings/instance-manager.js +69 -53
  168. package/dist/esm/permissionless/bindings/market-configurator-factory.js +3 -3
  169. package/dist/esm/permissionless/bindings/market-configurator.js +137 -65
  170. package/dist/esm/permissionless/bindings/price-feed-store.js +14 -8
  171. package/dist/esm/permissionless/bindings/router/routing-manager.js +14 -8
  172. package/dist/esm/permissionless/bindings/treasury-splitter.js +22 -15
  173. package/dist/esm/permissionless/core/raw-tx.js +1 -1
  174. package/dist/esm/permissionless/utils/abi-decoder.js +50 -0
  175. package/dist/esm/permissionless/utils/format.js +1 -1
  176. package/dist/esm/permissionless/utils/governance/timelock-txs.js +1 -1
  177. package/dist/esm/permissionless/utils/index.js +1 -0
  178. package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +2 -4
  179. package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +1 -1
  180. package/dist/esm/permissionless/utils/price-update/get-prices.js +2 -1
  181. package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +1 -1
  182. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  183. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  184. package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  185. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  186. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  187. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  188. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  189. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  190. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  191. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  192. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  193. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  194. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  195. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  196. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  197. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  198. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  199. package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  200. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  201. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  202. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  203. package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  204. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  205. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  206. package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  207. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  208. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  209. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  210. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  211. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  212. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  213. package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  214. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  215. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  216. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  217. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  218. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  219. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  220. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  221. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  222. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  223. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  224. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  225. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  226. package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  227. package/dist/esm/plugins/bots/BotsPlugin.js +108 -11
  228. package/dist/esm/plugins/bots/PartialLiquidationBotBaseContract.js +16 -7
  229. package/dist/esm/plugins/bots/PartialLiquidationBotV300Contract.js +20 -4
  230. package/dist/esm/plugins/bots/config.js +33 -0
  231. package/dist/esm/plugins/bots/index.js +2 -0
  232. package/dist/esm/plugins/bots/types.js +8 -0
  233. package/dist/esm/plugins/zappers/ZappersPlugin.js +1 -1
  234. package/dist/esm/sdk/GearboxSDK.js +112 -10
  235. package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +4 -1
  236. package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +9 -7
  237. package/dist/esm/sdk/base/AddressLabeller.js +25 -0
  238. package/dist/esm/sdk/base/BaseContract.js +81 -202
  239. package/dist/esm/sdk/base/IAddressLabeller.js +0 -0
  240. package/dist/esm/sdk/base/SDKConstruct.js +29 -3
  241. package/dist/esm/sdk/base/TokensMeta.js +4 -4
  242. package/dist/esm/sdk/base/index.js +1 -2
  243. package/dist/esm/sdk/core/BotListV3Contract.js +2 -2
  244. package/dist/esm/sdk/core/GearStakingV3Contract.js +2 -2
  245. package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  246. package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +6 -11
  247. package/dist/esm/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  248. package/dist/esm/sdk/market/MarketConfiguratorContract.js +5 -5
  249. package/dist/esm/sdk/market/MarketRegister.js +10 -8
  250. package/dist/esm/sdk/market/MarketSuite.js +2 -2
  251. package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +3 -4
  252. package/dist/esm/sdk/market/credit/CreditConfiguratorV310Contract.js +3 -4
  253. package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  254. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  255. package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +2 -5
  256. package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +2 -5
  257. package/dist/esm/sdk/market/credit/CreditSuite.js +3 -2
  258. package/dist/esm/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +1 -3
  259. package/dist/esm/sdk/market/loss-policy/LossPolicyContract.js +3 -5
  260. package/dist/esm/sdk/market/loss-policy/createLossPolicy.js +1 -1
  261. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +26 -8
  262. package/dist/esm/sdk/market/oracle/createPriceOracle.js +1 -1
  263. package/dist/esm/sdk/market/pool/GaugeContract.js +2 -2
  264. package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  265. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  266. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  267. package/dist/esm/sdk/market/pool/PoolSuite.js +1 -1
  268. package/dist/esm/sdk/market/pool/PoolV300Contract.js +5 -5
  269. package/dist/esm/sdk/market/pool/PoolV310Contract.js +5 -5
  270. package/dist/esm/sdk/market/pool/TumblerContract.js +2 -2
  271. package/dist/esm/sdk/market/pool/createInterestRateModel.js +15 -11
  272. package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +22 -2
  273. package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  274. package/dist/esm/sdk/market/pricefeeds/BalancerStablePriceFeed.js +13 -3
  275. package/dist/esm/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +13 -3
  276. package/dist/esm/sdk/market/pricefeeds/BoundedPriceFeed.js +2 -6
  277. package/dist/esm/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  278. package/dist/esm/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  279. package/dist/esm/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +10 -3
  280. package/dist/esm/sdk/market/pricefeeds/CurveStablePriceFeed.js +10 -3
  281. package/dist/esm/sdk/market/pricefeeds/CurveUSDPriceFeed.js +10 -3
  282. package/dist/esm/sdk/market/pricefeeds/Erc4626PriceFeed.js +18 -2
  283. package/dist/esm/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  284. package/dist/esm/sdk/market/pricefeeds/MellowLRTPriceFeed.js +11 -3
  285. package/dist/esm/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  286. package/dist/esm/sdk/market/pricefeeds/PriceFeedRef.js +5 -7
  287. package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +9 -3
  288. package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  289. package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  290. package/dist/esm/sdk/market/pricefeeds/WstETHPriceFeed.js +10 -3
  291. package/dist/esm/sdk/market/pricefeeds/YearnPriceFeed.js +10 -3
  292. package/dist/esm/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  293. package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +9 -7
  294. package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +12 -10
  295. package/dist/esm/sdk/router/AbstractRouterContract.js +0 -5
  296. package/dist/esm/sdk/router/RouterV310Contract.js +3 -3
  297. package/dist/esm/sdk/router/createRouter.js +0 -4
  298. package/dist/esm/sdk/utils/index.js +0 -1
  299. package/dist/types/dev/create2.d.ts +2 -2
  300. package/dist/types/dev/mint/AbstractMinter.d.ts +4 -3
  301. package/dist/types/dev/mint/DealMinter.d.ts +3 -0
  302. package/dist/types/dev/mint/DirectMinter.d.ts +3 -0
  303. package/dist/types/dev/mint/TransferMinter.d.ts +3 -0
  304. package/dist/types/permissionless/bindings/address-provider.d.ts +255 -4
  305. package/dist/types/permissionless/bindings/base-contract.d.ts +23 -0
  306. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +6 -5
  307. package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +3 -3
  308. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +5 -4
  309. package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +7 -7
  310. package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +1 -1
  311. package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +4 -3
  312. package/dist/types/permissionless/bindings/governance/governor.d.ts +7 -6
  313. package/dist/types/permissionless/bindings/governance/timelock.d.ts +3 -3
  314. package/dist/types/permissionless/bindings/governance/types.d.ts +1 -1
  315. package/dist/types/permissionless/bindings/index.d.ts +1 -0
  316. package/dist/types/permissionless/bindings/instance-manager.d.ts +7 -6
  317. package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +4 -4
  318. package/dist/types/permissionless/bindings/market-configurator.d.ts +6 -6
  319. package/dist/types/permissionless/bindings/price-feed-store.d.ts +7 -6
  320. package/dist/types/permissionless/bindings/router/routing-manager.d.ts +5 -4
  321. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +6 -5
  322. package/dist/types/permissionless/core/proposal.d.ts +7 -1
  323. package/dist/types/permissionless/utils/abi-decoder.d.ts +13 -0
  324. package/dist/types/permissionless/utils/create2.d.ts +1 -1
  325. package/dist/types/permissionless/utils/governance/batch.d.ts +1 -1
  326. package/dist/types/permissionless/utils/index.d.ts +1 -0
  327. package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +3 -3
  328. package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +2 -2
  329. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +2 -2
  330. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  331. package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +2 -2
  332. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +2 -2
  333. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +2 -2
  334. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +2 -2
  335. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +2 -2
  336. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +2 -2
  337. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +2 -2
  338. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +2 -2
  339. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +2 -2
  340. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
  341. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
  342. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +2 -2
  343. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +2 -2
  344. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +2 -2
  345. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +2 -2
  346. package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +2 -2
  347. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +2 -2
  348. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +2 -2
  349. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +2 -2
  350. package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +2 -2
  351. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +2 -2
  352. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +2 -2
  353. package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +2 -2
  354. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +2 -2
  355. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +2 -2
  356. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +2 -2
  357. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +2 -2
  358. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +2 -2
  359. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +2 -2
  360. package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +2 -2
  361. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +2 -2
  362. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +2 -2
  363. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +2 -2
  364. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +2 -2
  365. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +2 -2
  366. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +2 -2
  367. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -3
  368. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -3
  369. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +2 -2
  370. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +16 -2
  371. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +2 -2
  372. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +2 -2
  373. package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +2 -2
  374. package/dist/types/plugins/bots/BotsPlugin.d.ts +3 -2
  375. package/dist/types/plugins/bots/PartialLiquidationBotBaseContract.d.ts +1 -1
  376. package/dist/types/plugins/bots/PartialLiquidationBotV300Contract.d.ts +8 -2
  377. package/dist/types/plugins/bots/config.d.ts +6 -0
  378. package/dist/types/plugins/bots/index.d.ts +2 -0
  379. package/dist/types/plugins/bots/types.d.ts +16 -0
  380. package/dist/types/sdk/GearboxSDK.d.ts +76 -5
  381. package/dist/types/sdk/accountMigration/AbstractMigrateCreditAccountsService.d.ts +2 -2
  382. package/dist/types/sdk/accountMigration/types.d.ts +2 -1
  383. package/dist/types/sdk/accounts/types.d.ts +3 -4
  384. package/dist/types/sdk/base/AddressLabeller.d.ts +11 -0
  385. package/dist/types/sdk/base/BaseContract.d.ts +28 -72
  386. package/dist/types/sdk/base/IAddressLabeller.d.ts +9 -0
  387. package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
  388. package/dist/types/sdk/base/SDKConstruct.d.ts +16 -2
  389. package/dist/types/sdk/base/TokensMeta.d.ts +3 -2
  390. package/dist/types/sdk/base/index.d.ts +1 -2
  391. package/dist/types/sdk/base/types.d.ts +0 -50
  392. package/dist/types/sdk/core/BotListV3Contract.d.ts +1 -1
  393. package/dist/types/sdk/core/GearStakingV3Contract.d.ts +1 -1
  394. package/dist/types/sdk/core/address-provider/AbstractAddressProviderContract.d.ts +4 -3
  395. package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +3 -3
  396. package/dist/types/sdk/core/address-provider/AddressProviderV310Contract.d.ts +3 -3
  397. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +2 -2
  398. package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +3 -3
  399. package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +3 -3
  400. package/dist/types/sdk/market/credit/CreditFacadeV300Contract.d.ts +4 -3
  401. package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +4 -3
  402. package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +1 -1
  403. package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +1 -1
  404. package/dist/types/sdk/market/credit/CreditSuite.d.ts +1 -1
  405. package/dist/types/sdk/market/credit/types.d.ts +2 -1
  406. package/dist/types/sdk/market/loss-policy/AliasLossPolicyV310Contract.d.ts +0 -1
  407. package/dist/types/sdk/market/loss-policy/LossPolicyContract.d.ts +3 -2
  408. package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +12 -3
  409. package/dist/types/sdk/market/oracle/types.d.ts +10 -0
  410. package/dist/types/sdk/market/pool/GaugeContract.d.ts +3 -2
  411. package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +3 -2
  412. package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +3 -2
  413. package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +3 -2
  414. package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +5 -4
  415. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +5 -4
  416. package/dist/types/sdk/market/pool/TumblerContract.d.ts +3 -2
  417. package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +8 -3
  418. package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +3 -2
  419. package/dist/types/sdk/market/pricefeeds/BalancerStablePriceFeed.d.ts +3 -2
  420. package/dist/types/sdk/market/pricefeeds/BalancerWeightedPriceFeed.d.ts +3 -2
  421. package/dist/types/sdk/market/pricefeeds/BoundedPriceFeed.d.ts +2 -2
  422. package/dist/types/sdk/market/pricefeeds/CompositePriceFeed.d.ts +2 -2
  423. package/dist/types/sdk/market/pricefeeds/ConstantPriceFeed.d.ts +2 -2
  424. package/dist/types/sdk/market/pricefeeds/CurveCryptoPriceFeed.d.ts +3 -2
  425. package/dist/types/sdk/market/pricefeeds/CurveStablePriceFeed.d.ts +3 -2
  426. package/dist/types/sdk/market/pricefeeds/CurveUSDPriceFeed.d.ts +3 -2
  427. package/dist/types/sdk/market/pricefeeds/Erc4626PriceFeed.d.ts +3 -2
  428. package/dist/types/sdk/market/pricefeeds/ExternalPriceFeed.d.ts +2 -2
  429. package/dist/types/sdk/market/pricefeeds/MellowLRTPriceFeed.d.ts +3 -2
  430. package/dist/types/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.d.ts +2 -2
  431. package/dist/types/sdk/market/pricefeeds/PriceFeedRef.d.ts +4 -3
  432. package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +2 -1
  433. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +2 -2
  434. package/dist/types/sdk/market/pricefeeds/RedstonePriceFeed.d.ts +2 -2
  435. package/dist/types/sdk/market/pricefeeds/WstETHPriceFeed.d.ts +3 -2
  436. package/dist/types/sdk/market/pricefeeds/YearnPriceFeed.d.ts +3 -2
  437. package/dist/types/sdk/market/pricefeeds/ZeroPriceFeed.d.ts +2 -2
  438. package/dist/types/sdk/market/pricefeeds/types.d.ts +5 -0
  439. package/dist/types/sdk/router/AbstractRouterContract.d.ts +1 -4
  440. package/dist/types/sdk/router/types.d.ts +2 -1
  441. package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +2 -2
  442. package/dist/types/sdk/utils/index.d.ts +0 -1
  443. package/package.json +10 -10
  444. package/dist/cjs/plugins/bots/deserializePartialLiquidationBotParams.js +0 -49
  445. package/dist/cjs/sdk/base/ChainContractsRegister.js +0 -135
  446. package/dist/cjs/sdk/base/Construct.js +0 -87
  447. package/dist/cjs/sdk/utils/abi-decode.js +0 -58
  448. package/dist/esm/plugins/bots/deserializePartialLiquidationBotParams.js +0 -29
  449. package/dist/esm/sdk/base/ChainContractsRegister.js +0 -111
  450. package/dist/esm/sdk/base/Construct.js +0 -63
  451. package/dist/esm/sdk/utils/abi-decode.js +0 -37
  452. package/dist/types/plugins/bots/deserializePartialLiquidationBotParams.d.ts +0 -3
  453. package/dist/types/sdk/base/ChainContractsRegister.d.ts +0 -57
  454. package/dist/types/sdk/base/Construct.d.ts +0 -38
  455. 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,
@@ -56,19 +56,21 @@ 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
  }
@@ -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,7 +77,7 @@ 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
  }
@@ -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
+ };
@@ -6,13 +6,13 @@ import {
6
6
  stringToHex
7
7
  } from "viem";
8
8
  import { iBytecodeRepositoryAbi } from "../../abi/310/iBytecodeRepository.js";
9
- import { BaseContract } from "../../sdk/index.js";
10
9
  import { normalizeSignature } from "../utils/index.js";
11
10
  import { BYTECODE_REPOSITORY } from "../utils/literals.js";
11
+ import { BaseContract } from "./base-contract.js";
12
12
  const abi = iBytecodeRepositoryAbi;
13
13
  class BytecodeRepositoryContract extends BaseContract {
14
- constructor(addr, client) {
15
- super({ client }, { abi, addr, name: "BytecodeRepository" });
14
+ constructor(address, client) {
15
+ super(abi, address, client, "BytecodeRepository");
16
16
  }
17
17
  async getBytecodeByHash(hash) {
18
18
  return await this.contract.read.getBytecode([hash]);
@@ -189,67 +189,69 @@ class BytecodeRepositoryContract extends BaseContract {
189
189
  }
190
190
  parseFunctionParams(params) {
191
191
  switch (params.functionName) {
192
- // TODO: simple array -> map can be removed, since this is what super.parseFunctionParams does
193
192
  case "allowSystemContract": {
194
193
  const [bytecodeHash] = params.args;
195
- return {
194
+ return this.wrapParseCall(params, {
196
195
  bytecodeHash
197
- };
196
+ });
198
197
  }
199
198
  case "addAuditor": {
200
199
  const [auditor, name] = params.args;
201
- return { auditor, name };
200
+ return this.wrapParseCall(params, {
201
+ auditor,
202
+ name
203
+ });
202
204
  }
203
205
  case "removeAuditor": {
204
206
  const [auditor] = params.args;
205
- return {
207
+ return this.wrapParseCall(params, {
206
208
  auditor
207
- };
209
+ });
208
210
  }
209
211
  case "addPublicDomain": {
210
212
  const [domain] = params.args;
211
- return {
213
+ return this.wrapParseCall(params, {
212
214
  domain: hexToString(domain, { size: 32 })
213
- };
215
+ });
214
216
  }
215
217
  case "removePublicContractType": {
216
218
  const [contractType] = params.args;
217
- return {
219
+ return this.wrapParseCall(params, {
218
220
  contractType: hexToString(contractType, { size: 32 })
219
- };
221
+ });
220
222
  }
221
223
  case "forbidInitCode": {
222
224
  const [bytecodeHash] = params.args;
223
- return {
225
+ return this.wrapParseCall(params, {
224
226
  bytecodeHash
225
- };
227
+ });
226
228
  }
227
229
  case "setTokenSpecificPostfix": {
228
230
  const [token, postfix] = params.args;
229
- return {
231
+ return this.wrapParseCall(params, {
230
232
  token,
231
233
  postfix: hexToString(postfix, { size: 32 })
232
- };
234
+ });
233
235
  }
234
236
  case "uploadBytecode": {
235
237
  const [uploadData] = params.args;
236
- return {
238
+ return this.wrapParseCall(params, {
237
239
  contractType: hexToString(uploadData.contractType, { size: 32 }),
238
240
  version: uploadData.version.toString(),
239
241
  initCode: uploadData.initCode,
240
242
  author: uploadData.author,
241
243
  source: uploadData.source,
242
244
  authorSignature: uploadData.authorSignature
243
- };
245
+ });
244
246
  }
245
247
  case "submitAuditReport": {
246
248
  const [bytecodeHash, { auditor, reportUrl, signature }] = params.args;
247
- return {
249
+ return this.wrapParseCall(params, {
248
250
  bytecodeHash,
249
251
  auditor,
250
252
  reportUrl,
251
253
  signature
252
- };
254
+ });
253
255
  }
254
256
  // TODO: add all functions here!
255
257
  // case "deployContract": {
@@ -270,7 +272,7 @@ class BytecodeRepositoryContract extends BaseContract {
270
272
  // });
271
273
  // }
272
274
  default:
273
- return super.parseFunctionParams(params);
275
+ return void 0;
274
276
  }
275
277
  }
276
278
  async signBytecodeHash(bytecodeHash, auditor, reportUrl, signature, sponsor) {