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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/dist/cjs/dev/create2.js +1 -1
  2. package/dist/cjs/dev/mint/AbstractMinter.js +2 -4
  3. package/dist/cjs/dev/mint/DealMinter.js +0 -3
  4. package/dist/cjs/dev/mint/DirectMinter.js +0 -3
  5. package/dist/cjs/dev/mint/FallbackMinter.js +1 -1
  6. package/dist/cjs/dev/mint/TransferMinter.js +0 -3
  7. package/dist/cjs/permissionless/bindings/address-provider.js +4 -6
  8. package/dist/cjs/permissionless/bindings/bytecode-repository.js +23 -25
  9. package/dist/cjs/permissionless/bindings/compressors/token-compressor.js +4 -4
  10. package/dist/cjs/permissionless/bindings/compressors/withdrawal-compressor.js +11 -17
  11. package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +23 -22
  12. package/dist/cjs/permissionless/bindings/factory/abstract-factory.js +7 -4
  13. package/dist/cjs/permissionless/bindings/governance/batches-chain.js +4 -4
  14. package/dist/cjs/permissionless/bindings/governance/governor.js +30 -49
  15. package/dist/cjs/permissionless/bindings/governance/timelock.js +4 -4
  16. package/dist/cjs/permissionless/bindings/index.js +0 -2
  17. package/dist/cjs/permissionless/bindings/instance-manager.js +58 -77
  18. package/dist/cjs/permissionless/bindings/market-configurator-factory.js +4 -4
  19. package/dist/cjs/permissionless/bindings/market-configurator.js +71 -143
  20. package/dist/cjs/permissionless/bindings/price-feed-store.js +8 -17
  21. package/dist/cjs/permissionless/bindings/router/routing-manager.js +9 -15
  22. package/dist/cjs/permissionless/bindings/treasury-splitter.js +15 -27
  23. package/dist/cjs/permissionless/core/raw-tx.js +2 -2
  24. package/dist/cjs/permissionless/utils/format.js +2 -2
  25. package/dist/cjs/permissionless/utils/governance/timelock-txs.js +2 -2
  26. package/dist/cjs/permissionless/utils/index.js +0 -2
  27. package/dist/cjs/permissionless/utils/price-update/get-price-feeds.js +1 -2
  28. package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +1 -2
  29. package/dist/cjs/permissionless/utils/price-update/get-prices.js +1 -2
  30. package/dist/cjs/permissionless/utils/price-update/get-updatable-feeds.js +2 -3
  31. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  32. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  33. package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  34. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  35. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  36. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  37. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  38. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  39. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  40. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  41. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  42. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  43. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  44. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  45. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  46. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  47. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  48. package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  49. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  50. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  51. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  52. package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  53. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  54. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  55. package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  56. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  57. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  58. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  59. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  60. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  61. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  62. package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  63. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  64. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  65. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  66. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  67. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  68. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  69. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  70. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  71. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  72. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  73. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  74. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  75. package/dist/cjs/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  76. package/dist/cjs/plugins/bots/deserializePartialLiquidationBotParams.js +49 -0
  77. package/dist/cjs/plugins/zappers/ZappersPlugin.js +1 -1
  78. package/dist/cjs/sdk/GearboxSDK.js +8 -110
  79. package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +1 -4
  80. package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +6 -8
  81. package/dist/cjs/sdk/base/BaseContract.js +195 -80
  82. package/dist/cjs/sdk/base/ChainContractsRegister.js +135 -0
  83. package/dist/cjs/sdk/base/Construct.js +87 -0
  84. package/dist/cjs/sdk/base/SDKConstruct.js +3 -29
  85. package/dist/cjs/sdk/base/TokensMeta.js +4 -4
  86. package/dist/cjs/sdk/base/index.js +4 -2
  87. package/dist/cjs/sdk/core/BotListV3Contract.js +2 -2
  88. package/dist/cjs/sdk/core/GearStakingV3Contract.js +2 -2
  89. package/dist/cjs/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  90. package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +11 -6
  91. package/dist/cjs/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  92. package/dist/cjs/sdk/market/MarketConfiguratorContract.js +5 -5
  93. package/dist/cjs/sdk/market/MarketRegister.js +7 -9
  94. package/dist/cjs/sdk/market/MarketSuite.js +2 -2
  95. package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +4 -3
  96. package/dist/cjs/sdk/market/credit/CreditConfiguratorV310Contract.js +4 -3
  97. package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  98. package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  99. package/dist/cjs/sdk/market/credit/CreditManagerV300Contract.js +5 -2
  100. package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +5 -2
  101. package/dist/cjs/sdk/market/credit/CreditSuite.js +2 -3
  102. package/dist/cjs/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +3 -1
  103. package/dist/cjs/sdk/market/loss-policy/LossPolicyContract.js +2 -2
  104. package/dist/cjs/sdk/market/loss-policy/createLossPolicy.js +1 -1
  105. package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +8 -26
  106. package/dist/cjs/sdk/market/oracle/createPriceOracle.js +1 -1
  107. package/dist/cjs/sdk/market/pool/GaugeContract.js +2 -2
  108. package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  109. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  110. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  111. package/dist/cjs/sdk/market/pool/PoolSuite.js +1 -1
  112. package/dist/cjs/sdk/market/pool/PoolV300Contract.js +5 -5
  113. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +5 -5
  114. package/dist/cjs/sdk/market/pool/TumblerContract.js +2 -2
  115. package/dist/cjs/sdk/market/pool/createInterestRateModel.js +11 -15
  116. package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +2 -22
  117. package/dist/cjs/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  118. package/dist/cjs/sdk/market/pricefeeds/BalancerStablePriceFeed.js +2 -9
  119. package/dist/cjs/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +2 -9
  120. package/dist/cjs/sdk/market/pricefeeds/BoundedPriceFeed.js +6 -2
  121. package/dist/cjs/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  122. package/dist/cjs/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  123. package/dist/cjs/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +2 -9
  124. package/dist/cjs/sdk/market/pricefeeds/CurveStablePriceFeed.js +2 -9
  125. package/dist/cjs/sdk/market/pricefeeds/CurveUSDPriceFeed.js +2 -9
  126. package/dist/cjs/sdk/market/pricefeeds/Erc4626PriceFeed.js +2 -18
  127. package/dist/cjs/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  128. package/dist/cjs/sdk/market/pricefeeds/MellowLRTPriceFeed.js +2 -10
  129. package/dist/cjs/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  130. package/dist/cjs/sdk/market/pricefeeds/PriceFeedRef.js +6 -4
  131. package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +2 -3
  132. package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  133. package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  134. package/dist/cjs/sdk/market/pricefeeds/WstETHPriceFeed.js +2 -9
  135. package/dist/cjs/sdk/market/pricefeeds/YearnPriceFeed.js +2 -9
  136. package/dist/cjs/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  137. package/dist/cjs/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +17 -0
  138. package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +7 -9
  139. package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +10 -12
  140. package/dist/cjs/sdk/router/AbstractRouterContract.js +5 -0
  141. package/dist/cjs/sdk/router/RouterV310Contract.js +3 -3
  142. package/dist/cjs/sdk/router/createRouter.js +4 -0
  143. package/dist/cjs/sdk/utils/abi-decode.js +58 -0
  144. package/dist/cjs/sdk/utils/index.js +2 -0
  145. package/dist/esm/dev/create2.js +2 -2
  146. package/dist/esm/dev/mint/AbstractMinter.js +3 -7
  147. package/dist/esm/dev/mint/DealMinter.js +0 -3
  148. package/dist/esm/dev/mint/DirectMinter.js +0 -3
  149. package/dist/esm/dev/mint/FallbackMinter.js +1 -1
  150. package/dist/esm/dev/mint/TransferMinter.js +0 -3
  151. package/dist/esm/permissionless/bindings/address-provider.js +7 -7
  152. package/dist/esm/permissionless/bindings/bytecode-repository.js +22 -24
  153. package/dist/esm/permissionless/bindings/compressors/token-compressor.js +3 -3
  154. package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +10 -16
  155. package/dist/esm/permissionless/bindings/cross-chain-multisig.js +20 -16
  156. package/dist/esm/permissionless/bindings/factory/abstract-factory.js +9 -4
  157. package/dist/esm/permissionless/bindings/governance/batches-chain.js +3 -3
  158. package/dist/esm/permissionless/bindings/governance/governor.js +28 -47
  159. package/dist/esm/permissionless/bindings/governance/timelock.js +3 -3
  160. package/dist/esm/permissionless/bindings/index.js +0 -1
  161. package/dist/esm/permissionless/bindings/instance-manager.js +53 -69
  162. package/dist/esm/permissionless/bindings/market-configurator-factory.js +3 -3
  163. package/dist/esm/permissionless/bindings/market-configurator.js +65 -137
  164. package/dist/esm/permissionless/bindings/price-feed-store.js +8 -14
  165. package/dist/esm/permissionless/bindings/router/routing-manager.js +8 -14
  166. package/dist/esm/permissionless/bindings/treasury-splitter.js +16 -26
  167. package/dist/esm/permissionless/core/raw-tx.js +1 -1
  168. package/dist/esm/permissionless/utils/format.js +1 -1
  169. package/dist/esm/permissionless/utils/governance/timelock-txs.js +1 -1
  170. package/dist/esm/permissionless/utils/index.js +0 -1
  171. package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +4 -2
  172. package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +1 -1
  173. package/dist/esm/permissionless/utils/price-update/get-prices.js +1 -2
  174. package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +1 -1
  175. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  176. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  177. package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  178. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  179. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  180. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  181. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  182. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  183. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  184. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  185. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  186. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  187. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  188. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  189. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  190. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  191. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  192. package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  193. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  194. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  195. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  196. package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  197. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  198. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  199. package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  200. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  201. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  202. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  203. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  204. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  205. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  206. package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  207. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  208. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  209. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  210. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  211. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  212. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  213. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  214. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  215. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  216. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  217. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  218. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  219. package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  220. package/dist/esm/plugins/bots/deserializePartialLiquidationBotParams.js +29 -0
  221. package/dist/esm/plugins/zappers/ZappersPlugin.js +1 -1
  222. package/dist/esm/sdk/GearboxSDK.js +10 -112
  223. package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +1 -4
  224. package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +7 -9
  225. package/dist/esm/sdk/base/BaseContract.js +202 -81
  226. package/dist/esm/sdk/base/ChainContractsRegister.js +111 -0
  227. package/dist/esm/sdk/base/Construct.js +63 -0
  228. package/dist/esm/sdk/base/SDKConstruct.js +3 -29
  229. package/dist/esm/sdk/base/TokensMeta.js +4 -4
  230. package/dist/esm/sdk/base/index.js +2 -1
  231. package/dist/esm/sdk/core/BotListV3Contract.js +2 -2
  232. package/dist/esm/sdk/core/GearStakingV3Contract.js +2 -2
  233. package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  234. package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +11 -6
  235. package/dist/esm/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  236. package/dist/esm/sdk/market/MarketConfiguratorContract.js +5 -5
  237. package/dist/esm/sdk/market/MarketRegister.js +8 -10
  238. package/dist/esm/sdk/market/MarketSuite.js +2 -2
  239. package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +4 -3
  240. package/dist/esm/sdk/market/credit/CreditConfiguratorV310Contract.js +4 -3
  241. package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  242. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  243. package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +5 -2
  244. package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +5 -2
  245. package/dist/esm/sdk/market/credit/CreditSuite.js +2 -3
  246. package/dist/esm/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +3 -1
  247. package/dist/esm/sdk/market/loss-policy/LossPolicyContract.js +5 -3
  248. package/dist/esm/sdk/market/loss-policy/createLossPolicy.js +1 -1
  249. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +8 -26
  250. package/dist/esm/sdk/market/oracle/createPriceOracle.js +1 -1
  251. package/dist/esm/sdk/market/pool/GaugeContract.js +2 -2
  252. package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  253. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  254. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  255. package/dist/esm/sdk/market/pool/PoolSuite.js +1 -1
  256. package/dist/esm/sdk/market/pool/PoolV300Contract.js +5 -5
  257. package/dist/esm/sdk/market/pool/PoolV310Contract.js +5 -5
  258. package/dist/esm/sdk/market/pool/TumblerContract.js +2 -2
  259. package/dist/esm/sdk/market/pool/createInterestRateModel.js +11 -15
  260. package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +2 -22
  261. package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  262. package/dist/esm/sdk/market/pricefeeds/BalancerStablePriceFeed.js +3 -13
  263. package/dist/esm/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +3 -13
  264. package/dist/esm/sdk/market/pricefeeds/BoundedPriceFeed.js +6 -2
  265. package/dist/esm/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  266. package/dist/esm/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  267. package/dist/esm/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +3 -10
  268. package/dist/esm/sdk/market/pricefeeds/CurveStablePriceFeed.js +3 -10
  269. package/dist/esm/sdk/market/pricefeeds/CurveUSDPriceFeed.js +3 -10
  270. package/dist/esm/sdk/market/pricefeeds/Erc4626PriceFeed.js +2 -18
  271. package/dist/esm/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  272. package/dist/esm/sdk/market/pricefeeds/MellowLRTPriceFeed.js +3 -11
  273. package/dist/esm/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  274. package/dist/esm/sdk/market/pricefeeds/PriceFeedRef.js +7 -5
  275. package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +3 -9
  276. package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  277. package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  278. package/dist/esm/sdk/market/pricefeeds/WstETHPriceFeed.js +3 -10
  279. package/dist/esm/sdk/market/pricefeeds/YearnPriceFeed.js +3 -10
  280. package/dist/esm/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  281. package/dist/esm/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +17 -0
  282. package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +8 -10
  283. package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +11 -13
  284. package/dist/esm/sdk/router/AbstractRouterContract.js +5 -0
  285. package/dist/esm/sdk/router/RouterV310Contract.js +3 -3
  286. package/dist/esm/sdk/router/createRouter.js +4 -0
  287. package/dist/esm/sdk/utils/abi-decode.js +37 -0
  288. package/dist/esm/sdk/utils/index.js +1 -0
  289. package/dist/types/dev/create2.d.ts +2 -2
  290. package/dist/types/dev/mint/AbstractMinter.d.ts +3 -4
  291. package/dist/types/dev/mint/DealMinter.d.ts +0 -3
  292. package/dist/types/dev/mint/DirectMinter.d.ts +0 -3
  293. package/dist/types/dev/mint/TransferMinter.d.ts +0 -3
  294. package/dist/types/permissionless/bindings/address-provider.d.ts +4 -255
  295. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +5 -6
  296. package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +3 -3
  297. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +4 -5
  298. package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +7 -7
  299. package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +1 -1
  300. package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +3 -4
  301. package/dist/types/permissionless/bindings/governance/governor.d.ts +6 -7
  302. package/dist/types/permissionless/bindings/governance/timelock.d.ts +3 -3
  303. package/dist/types/permissionless/bindings/governance/types.d.ts +1 -1
  304. package/dist/types/permissionless/bindings/index.d.ts +0 -1
  305. package/dist/types/permissionless/bindings/instance-manager.d.ts +6 -7
  306. package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +4 -4
  307. package/dist/types/permissionless/bindings/market-configurator.d.ts +6 -6
  308. package/dist/types/permissionless/bindings/price-feed-store.d.ts +6 -7
  309. package/dist/types/permissionless/bindings/router/routing-manager.d.ts +4 -5
  310. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +5 -6
  311. package/dist/types/permissionless/core/proposal.d.ts +1 -7
  312. package/dist/types/permissionless/utils/create2.d.ts +1 -1
  313. package/dist/types/permissionless/utils/governance/batch.d.ts +1 -1
  314. package/dist/types/permissionless/utils/index.d.ts +0 -1
  315. package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +3 -3
  316. package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +2 -2
  317. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +2 -2
  318. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  319. package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +2 -2
  320. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +2 -2
  321. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +2 -2
  322. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +2 -2
  323. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +2 -2
  324. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +2 -2
  325. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +2 -2
  326. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +2 -2
  327. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +2 -2
  328. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
  329. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
  330. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +2 -2
  331. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +2 -2
  332. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +2 -2
  333. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +2 -2
  334. package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +2 -2
  335. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +2 -2
  336. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +2 -2
  337. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +2 -2
  338. package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +2 -2
  339. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +2 -2
  340. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +2 -2
  341. package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +2 -2
  342. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +2 -2
  343. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +2 -2
  344. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +2 -2
  345. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +2 -2
  346. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +2 -2
  347. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +2 -2
  348. package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +2 -2
  349. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +2 -2
  350. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +2 -2
  351. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +2 -2
  352. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +2 -2
  353. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +2 -2
  354. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +2 -2
  355. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -3
  356. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -3
  357. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +2 -2
  358. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +2 -2
  359. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +2 -2
  360. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +2 -2
  361. package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +2 -2
  362. package/dist/types/plugins/bots/deserializePartialLiquidationBotParams.d.ts +3 -0
  363. package/dist/types/sdk/GearboxSDK.d.ts +5 -76
  364. package/dist/types/sdk/accountMigration/types.d.ts +1 -2
  365. package/dist/types/sdk/accounts/types.d.ts +4 -3
  366. package/dist/types/sdk/base/BaseContract.d.ts +72 -28
  367. package/dist/types/sdk/base/ChainContractsRegister.d.ts +57 -0
  368. package/dist/types/sdk/base/Construct.d.ts +38 -0
  369. package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
  370. package/dist/types/sdk/base/SDKConstruct.d.ts +2 -16
  371. package/dist/types/sdk/base/TokensMeta.d.ts +2 -3
  372. package/dist/types/sdk/base/index.d.ts +2 -1
  373. package/dist/types/sdk/base/types.d.ts +50 -0
  374. package/dist/types/sdk/core/BotListV3Contract.d.ts +1 -1
  375. package/dist/types/sdk/core/GearStakingV3Contract.d.ts +1 -1
  376. package/dist/types/sdk/core/address-provider/AbstractAddressProviderContract.d.ts +3 -4
  377. package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +3 -3
  378. package/dist/types/sdk/core/address-provider/AddressProviderV310Contract.d.ts +3 -3
  379. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +2 -2
  380. package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +3 -3
  381. package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +3 -3
  382. package/dist/types/sdk/market/credit/CreditFacadeV300Contract.d.ts +3 -4
  383. package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +3 -4
  384. package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +1 -1
  385. package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +1 -1
  386. package/dist/types/sdk/market/credit/CreditSuite.d.ts +1 -1
  387. package/dist/types/sdk/market/credit/types.d.ts +1 -2
  388. package/dist/types/sdk/market/loss-policy/AliasLossPolicyV310Contract.d.ts +1 -0
  389. package/dist/types/sdk/market/loss-policy/LossPolicyContract.d.ts +2 -3
  390. package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +3 -12
  391. package/dist/types/sdk/market/oracle/types.d.ts +0 -10
  392. package/dist/types/sdk/market/pool/GaugeContract.d.ts +2 -3
  393. package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +2 -3
  394. package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +2 -3
  395. package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +2 -3
  396. package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +4 -5
  397. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +4 -5
  398. package/dist/types/sdk/market/pool/TumblerContract.d.ts +2 -3
  399. package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +3 -8
  400. package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +2 -3
  401. package/dist/types/sdk/market/pricefeeds/BalancerStablePriceFeed.d.ts +2 -3
  402. package/dist/types/sdk/market/pricefeeds/BalancerWeightedPriceFeed.d.ts +2 -3
  403. package/dist/types/sdk/market/pricefeeds/BoundedPriceFeed.d.ts +2 -2
  404. package/dist/types/sdk/market/pricefeeds/CompositePriceFeed.d.ts +2 -2
  405. package/dist/types/sdk/market/pricefeeds/ConstantPriceFeed.d.ts +2 -2
  406. package/dist/types/sdk/market/pricefeeds/CurveCryptoPriceFeed.d.ts +2 -3
  407. package/dist/types/sdk/market/pricefeeds/CurveStablePriceFeed.d.ts +2 -3
  408. package/dist/types/sdk/market/pricefeeds/CurveUSDPriceFeed.d.ts +2 -3
  409. package/dist/types/sdk/market/pricefeeds/Erc4626PriceFeed.d.ts +2 -3
  410. package/dist/types/sdk/market/pricefeeds/ExternalPriceFeed.d.ts +2 -2
  411. package/dist/types/sdk/market/pricefeeds/MellowLRTPriceFeed.d.ts +2 -3
  412. package/dist/types/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.d.ts +2 -2
  413. package/dist/types/sdk/market/pricefeeds/PriceFeedRef.d.ts +3 -4
  414. package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +1 -2
  415. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +2 -2
  416. package/dist/types/sdk/market/pricefeeds/RedstonePriceFeed.d.ts +2 -2
  417. package/dist/types/sdk/market/pricefeeds/WstETHPriceFeed.d.ts +2 -3
  418. package/dist/types/sdk/market/pricefeeds/YearnPriceFeed.d.ts +2 -3
  419. package/dist/types/sdk/market/pricefeeds/ZeroPriceFeed.d.ts +2 -2
  420. package/dist/types/sdk/market/pricefeeds/types.d.ts +0 -5
  421. package/dist/types/sdk/market/pricefeeds/updates/PriceUpdatesCache.d.ts +8 -1
  422. package/dist/types/sdk/router/AbstractRouterContract.d.ts +4 -1
  423. package/dist/types/sdk/router/types.d.ts +1 -2
  424. package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +2 -2
  425. package/dist/types/sdk/utils/abi-decode.d.ts +10 -0
  426. package/dist/types/sdk/utils/index.d.ts +1 -0
  427. package/package.json +1 -1
  428. package/dist/cjs/permissionless/bindings/base-contract.js +0 -173
  429. package/dist/cjs/permissionless/utils/abi-decoder.js +0 -72
  430. package/dist/cjs/sdk/base/AddressLabeller.js +0 -49
  431. package/dist/cjs/sdk/base/IAddressLabeller.js +0 -16
  432. package/dist/esm/permissionless/bindings/base-contract.js +0 -151
  433. package/dist/esm/permissionless/utils/abi-decoder.js +0 -50
  434. package/dist/esm/sdk/base/AddressLabeller.js +0 -25
  435. package/dist/esm/sdk/base/IAddressLabeller.js +0 -0
  436. package/dist/types/permissionless/bindings/base-contract.d.ts +0 -23
  437. package/dist/types/permissionless/utils/abi-decoder.d.ts +0 -13
  438. package/dist/types/sdk/base/AddressLabeller.d.ts +0 -11
  439. package/dist/types/sdk/base/IAddressLabeller.d.ts +0 -9
@@ -56,25 +56,23 @@ 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;
60
59
  #cache;
61
60
  #historicalTimestamp;
62
61
  #api;
63
62
  #ignoreMissingFeeds;
64
63
  constructor(sdk, opts = {}) {
65
64
  super(sdk);
66
- this.#logger = (0, import_utils.childLogger)("PythUpdater", sdk.logger);
67
65
  this.#ignoreMissingFeeds = opts.ignoreMissingFeeds;
68
66
  this.#api = opts.apiProxy ?? "https://hermes.pyth.network/v2/updates/price/";
69
67
  this.#api = this.#api.endsWith("/") ? this.#api : `${this.#api}/`;
70
68
  const ts = opts.historicTimestamp;
71
69
  if (ts) {
72
70
  this.#historicalTimestamp = ts === true ? Number(this.sdk.timestamp) : ts;
73
- this.#logger?.debug(
71
+ this.logger?.debug(
74
72
  `using historical timestamp ${this.#historicalTimestamp}`
75
73
  );
76
74
  }
77
- this.#cache = new import_PriceUpdatesCache.PriceUpdatesCache({
75
+ this.#cache = import_PriceUpdatesCache.PriceUpdatesCache.get("pyth", {
78
76
  // currently staleness period is 240 seconds on all networks, add some buffer
79
77
  // this period of 4 minutes is selected based on time that is required for user to sign transaction with wallet
80
78
  // so it's unlikely to decrease
@@ -86,7 +84,7 @@ class PythUpdater extends import_base.SDKConstruct {
86
84
  if (feeds.length === 0) {
87
85
  return [];
88
86
  }
89
- this.#logger?.debug(
87
+ this.logger?.debug(
90
88
  `generating update transactions for ${feeds.length} pyth price feeds`
91
89
  );
92
90
  const pythFeeds = new Map(
@@ -121,7 +119,7 @@ class PythUpdater extends import_base.SDKConstruct {
121
119
  tsRange = `${tsRange} - ${maxTimestamp} (${maxDelta})`;
122
120
  }
123
121
  }
124
- this.#logger?.debug(
122
+ this.logger?.debug(
125
123
  `generated ${results.length} update transactions for pyth price feeds: ${Array.from(pythFeeds.keys()).join(", ")}${tsRange}`
126
124
  );
127
125
  return results;
@@ -132,7 +130,7 @@ class PythUpdater extends import_base.SDKConstruct {
132
130
  * @returns
133
131
  */
134
132
  async #getPayloads(dataFeedsIds) {
135
- this.#logger?.debug(
133
+ this.logger?.debug(
136
134
  `getting pyth payloads for ${dataFeedsIds.size} price feeds: ${Array.from(dataFeedsIds).join(", ")}`
137
135
  );
138
136
  const fromCache = [];
@@ -151,7 +149,7 @@ class PythUpdater extends import_base.SDKConstruct {
151
149
  for (const resp of fromPyth) {
152
150
  this.#cache.set(resp, resp.dataFeedId);
153
151
  }
154
- this.#logger?.debug(
152
+ this.logger?.debug(
155
153
  `got ${fromPyth.length} new pyth updates and ${fromCache.length} from cache`
156
154
  );
157
155
  return [...fromCache, ...fromPyth];
@@ -167,7 +165,7 @@ class PythUpdater extends import_base.SDKConstruct {
167
165
  }
168
166
  const ids = Array.from(dataFeedsIds);
169
167
  const tsStr = this.#historicalTimestamp ? ` with historical timestamp ${this.#historicalTimestamp}` : "";
170
- this.#logger?.debug(
168
+ this.logger?.debug(
171
169
  `fetching pyth payloads for ${dataFeedsIds.size} price feeds: ${ids.join(", ")}${tsStr}`
172
170
  );
173
171
  const url = new URL(this.#api + (this.#historicalTimestamp ?? "latest"));
@@ -61,7 +61,6 @@ 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;
65
64
  #cache;
66
65
  #historicalTimestampMs;
67
66
  #gateways;
@@ -69,7 +68,6 @@ class RedstoneUpdater extends import_base.SDKConstruct {
69
68
  #enableLogging;
70
69
  constructor(sdk, opts = {}) {
71
70
  super(sdk);
72
- this.#logger = (0, import_utils.childLogger)("RedstoneUpdater", sdk.logger);
73
71
  this.#ignoreMissingFeeds = opts.ignoreMissingFeeds;
74
72
  this.#enableLogging = opts.enableLogging;
75
73
  this.#gateways = opts.gateways?.length ? opts.gateways : void 0;
@@ -77,11 +75,11 @@ class RedstoneUpdater extends import_base.SDKConstruct {
77
75
  if (ts) {
78
76
  ts = ts === true ? Number(this.sdk.timestamp) * 1e3 : ts;
79
77
  this.#historicalTimestampMs = 6e4 * Math.floor(ts / 6e4);
80
- this.#logger?.debug(
78
+ this.logger?.debug(
81
79
  `using historical timestamp ${this.#historicalTimestampMs}`
82
80
  );
83
81
  }
84
- this.#cache = new import_PriceUpdatesCache.PriceUpdatesCache({
82
+ this.#cache = import_PriceUpdatesCache.PriceUpdatesCache.get("redstone", {
85
83
  // currently staleness period is 240 seconds on all networks, add some buffer
86
84
  // this period of 4 minutes is selected based on time that is required for user to sign transaction with wallet
87
85
  // so it's unlikely to decrease
@@ -93,7 +91,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
93
91
  if (feeds.length === 0) {
94
92
  return [];
95
93
  }
96
- this.#logger?.debug(
94
+ this.logger?.debug(
97
95
  `generating update transactions for ${feeds.length} redstone price feeds`
98
96
  );
99
97
  const groupedFeeds = {};
@@ -150,7 +148,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
150
148
  tsRange = `${tsRange} - ${maxTimestamp} (${maxDelta})`;
151
149
  }
152
150
  }
153
- this.#logger?.debug(
151
+ this.logger?.debug(
154
152
  `generated ${results.length} update transactions for redstone price feeds: ${Array.from(priceFeeds.keys()).join(", ")}${tsRange}`
155
153
  );
156
154
  return results;
@@ -175,7 +173,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
175
173
  for (const { timestamp, dataFeedId } of result) {
176
174
  const delta = Number(this.sdk.timestamp) - timestamp;
177
175
  if (delta >= 240 && delta < 255) {
178
- this.#logger?.warn(
176
+ this.logger?.warn(
179
177
  `payload for ${dataFeedId} has expired by ${delta} seconds`
180
178
  );
181
179
  expired = true;
@@ -199,7 +197,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
199
197
  * @returns
200
198
  */
201
199
  async #getPayloads(dataServiceId, dataFeedsIds, uniqueSignersCount) {
202
- this.#logger?.debug(
200
+ this.logger?.debug(
203
201
  `getting redstone payloads for ${dataFeedsIds.size} data feeds in ${dataServiceId} with ${uniqueSignersCount} signers: ${Array.from(dataFeedsIds).join(", ")}`
204
202
  );
205
203
  const fromCache = [];
@@ -224,7 +222,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
224
222
  for (const resp of fromRedstone) {
225
223
  this.#cache.set(resp, dataServiceId, resp.dataFeedId, uniqueSignersCount);
226
224
  }
227
- this.#logger?.debug(
225
+ this.logger?.debug(
228
226
  `got ${fromRedstone.length} new redstone updates and ${fromCache.length} from cache`
229
227
  );
230
228
  return [...fromCache, ...fromRedstone];
@@ -243,7 +241,7 @@ class RedstoneUpdater extends import_base.SDKConstruct {
243
241
  }
244
242
  const dataPackagesIds = Array.from(dataFeedsIds);
245
243
  const tsStr = this.#historicalTimestampMs ? ` with historical timestamp ${this.#historicalTimestampMs}` : "";
246
- this.#logger?.debug(
244
+ this.logger?.debug(
247
245
  `fetching redstone payloads for ${dataFeedsIds.size} data feeds in ${dataServiceId} with ${uniqueSignersCount} signers: ${dataPackagesIds.join(", ")}${tsStr}`
248
246
  );
249
247
  const wrapper = new import_evm_connector.DataServiceWrapper({
@@ -272,14 +270,14 @@ class RedstoneUpdater extends import_base.SDKConstruct {
272
270
  const signedDataPackages = packagesByDataFeedId[dataFeedId];
273
271
  if (!signedDataPackages) {
274
272
  if (this.#ignoreMissingFeeds) {
275
- this.#logger?.warn(`cannot find data packages for ${dataFeedId}`);
273
+ this.logger?.warn(`cannot find data packages for ${dataFeedId}`);
276
274
  continue;
277
275
  }
278
276
  throw new Error(`cannot find data packages for ${dataFeedId}`);
279
277
  }
280
278
  if (signedDataPackages.length !== uniqueSignersCount) {
281
279
  if (this.#ignoreMissingFeeds) {
282
- this.#logger?.warn(
280
+ this.logger?.warn(
283
281
  `got ${signedDataPackages.length} data packages for ${dataFeedId}, but expected ${uniqueSignersCount}`
284
282
  );
285
283
  continue;
@@ -30,6 +30,11 @@ 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
+ }
33
38
  getExpectedAndLeftover(ca, cm, options = {}) {
34
39
  const b = options.balances ? options.balances : this.getDefaultExpectedAndLeftover(
35
40
  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.sdk.tokensMeta.get(token)?.decimals ?? 0);
302
+ const scale = 10n ** BigInt(this.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.sdk.tokensMeta.formatBN(t.token, t.balance)} (${t.balance})`,
310
- leftoverBalance: this.sdk.tokensMeta.formatBN(t.token, t.leftoverBalance) + ` (${t.leftoverBalance})`,
309
+ balance: `${this.tokensMeta.formatBN(t.token, t.balance)} (${t.balance})`,
310
+ leftoverBalance: this.tokensMeta.formatBN(t.token, t.leftoverBalance) + ` (${t.leftoverBalance})`,
311
311
  numSplits: t.numSplits,
312
312
  claimRewards: t.claimRewards
313
313
  }));
@@ -25,6 +25,10 @@ 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
+ }
28
32
  if ((0, import_constants.isV300)(version)) {
29
33
  return new import_RouterV300Contract.RouterV300Contract(sdk, address, version);
30
34
  }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var abi_decode_exports = {};
20
+ __export(abi_decode_exports, {
21
+ functionArgsToMap: () => functionArgsToMap
22
+ });
23
+ module.exports = __toCommonJS(abi_decode_exports);
24
+ var import_viem = require("viem");
25
+ var import_utils = require("../../sdk/utils/index.js");
26
+ function functionArgsToMap(abi, functionName, args) {
27
+ const abiItem = (0, import_viem.getAbiItem)({
28
+ abi,
29
+ name: functionName,
30
+ args
31
+ });
32
+ if (!abiItem || abiItem.type !== "function") {
33
+ throw new import_viem.AbiFunctionNotFoundError(functionName);
34
+ }
35
+ const namedArgs = {};
36
+ if (Array.isArray(args)) {
37
+ args.forEach((value, i) => {
38
+ const input = abiItem.inputs?.[i];
39
+ if (input?.name) {
40
+ namedArgs[input.name] = input.type.startsWith("tuple") ? (0, import_utils.json_stringify)(value) : String(value);
41
+ }
42
+ });
43
+ } else {
44
+ Object.entries(args || {}).forEach(([key, value]) => {
45
+ const index = parseInt(key, 10);
46
+ if (!Number.isNaN(index) && abiItem.inputs?.[index]?.name) {
47
+ namedArgs[abiItem.inputs[index].name] = String(value);
48
+ } else {
49
+ namedArgs[key] = String(value);
50
+ }
51
+ });
52
+ }
53
+ return namedArgs;
54
+ }
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {
57
+ functionArgsToMap
58
+ });
@@ -17,6 +17,7 @@ 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);
20
21
  __reExport(utils_exports, require("./bytes32ToString.js"), module.exports);
21
22
  __reExport(utils_exports, require("./childLogger.js"), module.exports);
22
23
  __reExport(utils_exports, require("./createRawTx.js"), module.exports);
@@ -35,6 +36,7 @@ __reExport(utils_exports, require("./zod.js"), module.exports);
35
36
  0 && (module.exports = {
36
37
  ...require("./AddressMap.js"),
37
38
  ...require("./AddressSet.js"),
39
+ ...require("./abi-decode.js"),
38
40
  ...require("./bytes32ToString.js"),
39
41
  ...require("./childLogger.js"),
40
42
  ...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 { SDKConstruct } from "../sdk/index.js";
8
+ import { Construct } from "../sdk/index.js";
9
9
  const PUBLIC_CREATE2_FACTORY = "0x4e59b44847b379578588920ca78fbf26c0b4956c";
10
10
  const DEFAULT_CREATE2_SALT = "GEARBOX";
11
- class Create2Deployer extends SDKConstruct {
11
+ class Create2Deployer extends Construct {
12
12
  #walletClient;
13
13
  #logger;
14
14
  constructor(sdk, walletClient) {
@@ -1,18 +1,14 @@
1
1
  import { parseEther } from "viem";
2
2
  import { ierc20Abi } from "../../abi/iERC20.js";
3
- import {
4
- SDKConstruct
5
- } from "../../sdk/index.js";
3
+ import { SDKConstruct } from "../../sdk/index.js";
6
4
  import { iOwnableAbi } from "../abi.js";
7
5
  class AbstractMinter extends SDKConstruct {
8
6
  anvil;
9
- logger;
10
7
  name;
11
- constructor(sdk, anvil, name = "Minter") {
8
+ constructor(sdk, anvil) {
12
9
  super(sdk);
13
10
  this.anvil = anvil;
14
- this.name = name;
15
- this.logger = sdk.logger?.child?.({ name }) ?? sdk.logger;
11
+ this.name = this.constructor.name;
16
12
  }
17
13
  async tryMint(token, dest, amount) {
18
14
  const amnt = this.fmt(token, amount);
@@ -1,8 +1,5 @@
1
1
  import AbstractMinter from "./AbstractMinter.js";
2
2
  class DealMinter extends AbstractMinter {
3
- constructor(sdk, anvil) {
4
- super(sdk, anvil, "DealMinter");
5
- }
6
3
  async mint(token, dest, amount) {
7
4
  const { deal } = await import("viem-deal").catch(() => ({ deal: null }));
8
5
  if (!deal) {
@@ -1,9 +1,6 @@
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
- }
7
4
  async mint(token, dest, amount) {
8
5
  const owner = await this.getOwner(token);
9
6
  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, "FallbackMinter");
5
+ super(sdk, anvil);
6
6
  this.#minters = minters;
7
7
  }
8
8
  async mint(token, dest, amount) {
@@ -2,9 +2,6 @@ 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
- }
8
5
  async mint(token, dest, amount) {
9
6
  const owner = await this.getOwner(token);
10
7
  const stopImpersonating = await this.impersonateWithBalance(owner);
@@ -1,10 +1,10 @@
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");
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);
8
8
  }
9
9
  async getAddressOrRevert(key, version = 0n) {
10
10
  return await this.contract.read.getAddressOrRevert([
@@ -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";
9
10
  import { normalizeSignature } from "../utils/index.js";
10
11
  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(address, client) {
15
- super(abi, address, client, "BytecodeRepository");
14
+ constructor(addr, client) {
15
+ super({ client }, { abi, addr, name: "BytecodeRepository" });
16
16
  }
17
17
  async getBytecodeByHash(hash) {
18
18
  return await this.contract.read.getBytecode([hash]);
@@ -189,69 +189,67 @@ 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
192
193
  case "allowSystemContract": {
193
194
  const [bytecodeHash] = params.args;
194
- return this.wrapParseCall(params, {
195
+ return {
195
196
  bytecodeHash
196
- });
197
+ };
197
198
  }
198
199
  case "addAuditor": {
199
200
  const [auditor, name] = params.args;
200
- return this.wrapParseCall(params, {
201
- auditor,
202
- name
203
- });
201
+ return { auditor, name };
204
202
  }
205
203
  case "removeAuditor": {
206
204
  const [auditor] = params.args;
207
- return this.wrapParseCall(params, {
205
+ return {
208
206
  auditor
209
- });
207
+ };
210
208
  }
211
209
  case "addPublicDomain": {
212
210
  const [domain] = params.args;
213
- return this.wrapParseCall(params, {
211
+ return {
214
212
  domain: hexToString(domain, { size: 32 })
215
- });
213
+ };
216
214
  }
217
215
  case "removePublicContractType": {
218
216
  const [contractType] = params.args;
219
- return this.wrapParseCall(params, {
217
+ return {
220
218
  contractType: hexToString(contractType, { size: 32 })
221
- });
219
+ };
222
220
  }
223
221
  case "forbidInitCode": {
224
222
  const [bytecodeHash] = params.args;
225
- return this.wrapParseCall(params, {
223
+ return {
226
224
  bytecodeHash
227
- });
225
+ };
228
226
  }
229
227
  case "setTokenSpecificPostfix": {
230
228
  const [token, postfix] = params.args;
231
- return this.wrapParseCall(params, {
229
+ return {
232
230
  token,
233
231
  postfix: hexToString(postfix, { size: 32 })
234
- });
232
+ };
235
233
  }
236
234
  case "uploadBytecode": {
237
235
  const [uploadData] = params.args;
238
- return this.wrapParseCall(params, {
236
+ return {
239
237
  contractType: hexToString(uploadData.contractType, { size: 32 }),
240
238
  version: uploadData.version.toString(),
241
239
  initCode: uploadData.initCode,
242
240
  author: uploadData.author,
243
241
  source: uploadData.source,
244
242
  authorSignature: uploadData.authorSignature
245
- });
243
+ };
246
244
  }
247
245
  case "submitAuditReport": {
248
246
  const [bytecodeHash, { auditor, reportUrl, signature }] = params.args;
249
- return this.wrapParseCall(params, {
247
+ return {
250
248
  bytecodeHash,
251
249
  auditor,
252
250
  reportUrl,
253
251
  signature
254
- });
252
+ };
255
253
  }
256
254
  // TODO: add all functions here!
257
255
  // case "deployContract": {
@@ -272,7 +270,7 @@ class BytecodeRepositoryContract extends BaseContract {
272
270
  // });
273
271
  // }
274
272
  default:
275
- return void 0;
273
+ return super.parseFunctionParams(params);
276
274
  }
277
275
  }
278
276
  async signBytecodeHash(bytecodeHash, auditor, reportUrl, signature, sponsor) {
@@ -3,11 +3,11 @@ import {
3
3
  parseAbi
4
4
  } from "viem";
5
5
  import { tokenCompressorAbi } from "../../../abi/compressors/tokenCompressor.js";
6
- import { BaseContract } from "../base-contract.js";
6
+ import { BaseContract } from "../../../sdk/index.js";
7
7
  const abi = tokenCompressorAbi;
8
8
  class TokenCompressorContract extends BaseContract {
9
- constructor(address, client) {
10
- super(abi, address, client, "TokenCompressor");
9
+ constructor(addr, client) {
10
+ super({ client }, { abi, addr, name: "TokenCompressor" });
11
11
  }
12
12
  async getTokenInfo(token) {
13
13
  const result = await this.contract.read.getTokenInfo([token]);
@@ -2,11 +2,11 @@ import {
2
2
  hexToString
3
3
  } from "viem";
4
4
  import { withdrawalCompressorAbi } from "../../../abi/compressors/withdrawalCompressor.js";
5
- import { BaseContract } from "../base-contract.js";
5
+ import { BaseContract } from "../../../sdk/index.js";
6
6
  const abi = withdrawalCompressorAbi;
7
7
  class WithdrawalCompressorContract extends BaseContract {
8
- constructor(address, client) {
9
- super(abi, address, client, "RoutingManager");
8
+ constructor(addr, client) {
9
+ super({ client }, { abi, addr, name: "WithdrawalCompressor" });
10
10
  }
11
11
  parseFunctionParams(params) {
12
12
  const { functionName, args } = params;
@@ -14,22 +14,16 @@ class WithdrawalCompressorContract extends BaseContract {
14
14
  case "setWithdrawableTypeToCompressorType": {
15
15
  const [withdrawableType, compressorType] = args;
16
16
  return {
17
- chainId: 0,
18
- target: this.address,
19
- label: this.name,
20
- functionName,
21
- args: {
22
- withdrawableType: hexToString(withdrawableType, {
23
- size: 32
24
- }),
25
- compressorType: hexToString(compressorType, {
26
- size: 32
27
- })
28
- }
17
+ withdrawableType: hexToString(withdrawableType, {
18
+ size: 32
19
+ }),
20
+ compressorType: hexToString(compressorType, {
21
+ size: 32
22
+ })
29
23
  };
30
24
  }
31
25
  default:
32
- return void 0;
26
+ return super.parseFunctionParams(params);
33
27
  }
34
28
  }
35
29
  }
@@ -5,17 +5,19 @@ import {
5
5
  zeroAddress
6
6
  } from "viem";
7
7
  import { crossChainMultisigAbi } from "../../abi/310/crossChainMultisig.js";
8
- import { json_stringify } from "../../sdk/utils/index.js";
8
+ import {
9
+ BaseContract,
10
+ json_stringify
11
+ } from "../../sdk/index.js";
9
12
  import { Addresses } from "../deployment/addresses.js";
10
13
  import { normalizeSignature } from "../utils/index.js";
11
14
  import { CROSS_CHAIN_MULTISIG } from "../utils/literals.js";
12
- import { BaseContract } from "./base-contract.js";
13
15
  import { InstanceManagerContract } from "./instance-manager.js";
14
16
  import { MarketConfiguratorFactoryContract } from "./market-configurator-factory.js";
15
17
  const abi = crossChainMultisigAbi;
16
18
  class CrossChainMultisigContract extends BaseContract {
17
- constructor(address, client) {
18
- super(abi, address, client, "CrossChainMultisig");
19
+ constructor(addr, client) {
20
+ super({ client }, { abi, addr, name: "CrossChainMultisig" });
19
21
  }
20
22
  async getExecutedBatches(fromBlock, toBlock) {
21
23
  const events = await this.getEvents("ExecuteBatch", fromBlock, toBlock);
@@ -66,7 +68,9 @@ class CrossChainMultisigContract extends BaseContract {
66
68
  transactionHash,
67
69
  blockNumber,
68
70
  hash: proposalHash,
69
- parsedCalls: calls.map((c) => BaseContract.parseCall(c)),
71
+ parsedCalls: calls.map(
72
+ (c) => this.register.parseFunctionData(c.target, c.callData)
73
+ ),
70
74
  signatures
71
75
  };
72
76
  }
@@ -158,7 +162,7 @@ class CrossChainMultisigContract extends BaseContract {
158
162
  async getSigners() {
159
163
  return [...await this.contract.read.getSigners()];
160
164
  }
161
- decodeFunctionData(target, calldata) {
165
+ #decodeFunctionData(target, calldata) {
162
166
  switch (target.toLowerCase()) {
163
167
  case this.address.toLowerCase(): {
164
168
  return this.parseFunctionData(calldata);
@@ -188,38 +192,38 @@ class CrossChainMultisigContract extends BaseContract {
188
192
  switch (params.functionName) {
189
193
  case "addSigner": {
190
194
  const [signer] = params.args;
191
- return this.wrapParseCall(params, {
195
+ return {
192
196
  signer
193
- });
197
+ };
194
198
  }
195
199
  case "removeSigner": {
196
200
  const [signer] = params.args;
197
- return this.wrapParseCall(params, {
201
+ return {
198
202
  signer
199
- });
203
+ };
200
204
  }
201
205
  case "setConfirmationThreshold": {
202
206
  const [threshold] = params.args;
203
- return this.wrapParseCall(params, {
207
+ return {
204
208
  threshold: threshold.toString()
205
- });
209
+ };
206
210
  }
207
211
  case "submitBatch": {
208
212
  const [name, calls, prevHash] = params.args;
209
- return this.wrapParseCall(params, {
213
+ return {
210
214
  name,
211
215
  calls: json_stringify(
212
216
  calls.map(({ chainId, target, callData }) => ({
213
- ...this.decodeFunctionData(target, callData),
217
+ ...this.#decodeFunctionData(target, callData),
214
218
  chainId: Number(chainId),
215
219
  target
216
220
  }))
217
221
  ),
218
222
  prevHash
219
- });
223
+ };
220
224
  }
221
225
  default:
222
- return void 0;
226
+ return super.parseFunctionParams(params);
223
227
  }
224
228
  }
225
229
  async validateProposalSignature(proposalHash, signature) {