@gearbox-protocol/sdk 11.9.0-next.2 → 11.10.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/abi/conctructorAbi.js +2 -1
  34. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  35. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  36. package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  37. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  38. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  39. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  40. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  41. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  42. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  43. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  44. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  45. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  46. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  47. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  48. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  49. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  50. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  51. package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  52. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  53. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  54. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  55. package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  56. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  57. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  58. package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  59. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  60. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  61. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  62. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  63. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  64. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  65. package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  66. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  67. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  68. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  69. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  70. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  71. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  72. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  73. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  74. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  75. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  76. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  77. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  78. package/dist/cjs/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  79. package/dist/cjs/plugins/bots/BotsPlugin.js +8 -21
  80. package/dist/cjs/plugins/bots/PartialLiquidationBotBaseContract.js +22 -17
  81. package/dist/cjs/plugins/bots/PartialLiquidationBotV300Contract.js +20 -4
  82. package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +78 -3
  83. package/dist/cjs/plugins/zappers/ZappersPlugin.js +1 -1
  84. package/dist/cjs/sdk/GearboxSDK.js +110 -8
  85. package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +4 -1
  86. package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +12 -8
  87. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +10 -8
  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 +6 -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 +114 -12
  147. package/dist/cjs/sdk/router/RouterV300Contract.js +9 -10
  148. package/dist/cjs/sdk/router/RouterV310Contract.js +10 -10
  149. package/dist/cjs/sdk/router/createRouter.js +0 -4
  150. package/dist/cjs/sdk/utils/index.js +0 -2
  151. package/dist/esm/dev/create2.js +2 -2
  152. package/dist/esm/dev/mint/AbstractMinter.js +7 -3
  153. package/dist/esm/dev/mint/DealMinter.js +3 -0
  154. package/dist/esm/dev/mint/DirectMinter.js +3 -0
  155. package/dist/esm/dev/mint/FallbackMinter.js +1 -1
  156. package/dist/esm/dev/mint/TransferMinter.js +3 -0
  157. package/dist/esm/permissionless/bindings/address-provider.js +7 -7
  158. package/dist/esm/permissionless/bindings/base-contract.js +151 -0
  159. package/dist/esm/permissionless/bindings/bytecode-repository.js +24 -22
  160. package/dist/esm/permissionless/bindings/compressors/token-compressor.js +3 -3
  161. package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +16 -10
  162. package/dist/esm/permissionless/bindings/cross-chain-multisig.js +16 -20
  163. package/dist/esm/permissionless/bindings/factory/abstract-factory.js +4 -9
  164. package/dist/esm/permissionless/bindings/governance/batches-chain.js +3 -3
  165. package/dist/esm/permissionless/bindings/governance/governor.js +47 -28
  166. package/dist/esm/permissionless/bindings/governance/timelock.js +3 -3
  167. package/dist/esm/permissionless/bindings/index.js +1 -0
  168. package/dist/esm/permissionless/bindings/instance-manager.js +69 -53
  169. package/dist/esm/permissionless/bindings/market-configurator-factory.js +3 -3
  170. package/dist/esm/permissionless/bindings/market-configurator.js +137 -65
  171. package/dist/esm/permissionless/bindings/price-feed-store.js +14 -8
  172. package/dist/esm/permissionless/bindings/router/routing-manager.js +14 -8
  173. package/dist/esm/permissionless/bindings/treasury-splitter.js +22 -15
  174. package/dist/esm/permissionless/core/raw-tx.js +1 -1
  175. package/dist/esm/permissionless/utils/abi-decoder.js +50 -0
  176. package/dist/esm/permissionless/utils/format.js +1 -1
  177. package/dist/esm/permissionless/utils/governance/timelock-txs.js +1 -1
  178. package/dist/esm/permissionless/utils/index.js +1 -0
  179. package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +2 -4
  180. package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +1 -1
  181. package/dist/esm/permissionless/utils/price-update/get-prices.js +2 -1
  182. package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +1 -1
  183. package/dist/esm/plugins/adapters/abi/conctructorAbi.js +2 -1
  184. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +2 -2
  185. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  186. package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +2 -2
  187. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  188. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  189. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  190. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  191. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  192. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  193. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  194. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  195. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  196. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  197. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  198. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  199. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +2 -2
  200. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  201. package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +2 -2
  202. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  203. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  204. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +2 -2
  205. package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +2 -2
  206. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  207. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +2 -2
  208. package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +2 -2
  209. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  210. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  211. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  212. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +2 -2
  213. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  214. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +2 -2
  215. package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +2 -2
  216. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  217. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  218. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  219. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  220. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  221. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  222. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +5 -5
  223. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -22
  224. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  225. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  226. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  227. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  228. package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +2 -2
  229. package/dist/esm/plugins/bots/BotsPlugin.js +8 -11
  230. package/dist/esm/plugins/bots/PartialLiquidationBotBaseContract.js +22 -7
  231. package/dist/esm/plugins/bots/PartialLiquidationBotV300Contract.js +20 -4
  232. package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +78 -3
  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 +13 -9
  237. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +10 -8
  238. package/dist/esm/sdk/base/AddressLabeller.js +25 -0
  239. package/dist/esm/sdk/base/BaseContract.js +81 -202
  240. package/dist/esm/sdk/base/IAddressLabeller.js +0 -0
  241. package/dist/esm/sdk/base/SDKConstruct.js +29 -3
  242. package/dist/esm/sdk/base/TokensMeta.js +4 -4
  243. package/dist/esm/sdk/base/index.js +1 -2
  244. package/dist/esm/sdk/core/BotListV3Contract.js +2 -2
  245. package/dist/esm/sdk/core/GearStakingV3Contract.js +2 -2
  246. package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +2 -2
  247. package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +6 -11
  248. package/dist/esm/sdk/core/address-provider/AddressProviderV310Contract.js +4 -4
  249. package/dist/esm/sdk/market/MarketConfiguratorContract.js +5 -5
  250. package/dist/esm/sdk/market/MarketRegister.js +10 -8
  251. package/dist/esm/sdk/market/MarketSuite.js +2 -2
  252. package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +3 -4
  253. package/dist/esm/sdk/market/credit/CreditConfiguratorV310Contract.js +3 -4
  254. package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +9 -9
  255. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +8 -8
  256. package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +2 -5
  257. package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +2 -5
  258. package/dist/esm/sdk/market/credit/CreditSuite.js +6 -2
  259. package/dist/esm/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +1 -3
  260. package/dist/esm/sdk/market/loss-policy/LossPolicyContract.js +3 -5
  261. package/dist/esm/sdk/market/loss-policy/createLossPolicy.js +1 -1
  262. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +26 -8
  263. package/dist/esm/sdk/market/oracle/createPriceOracle.js +1 -1
  264. package/dist/esm/sdk/market/pool/GaugeContract.js +2 -2
  265. package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  266. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +2 -2
  267. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +2 -2
  268. package/dist/esm/sdk/market/pool/PoolSuite.js +1 -1
  269. package/dist/esm/sdk/market/pool/PoolV300Contract.js +5 -5
  270. package/dist/esm/sdk/market/pool/PoolV310Contract.js +5 -5
  271. package/dist/esm/sdk/market/pool/TumblerContract.js +2 -2
  272. package/dist/esm/sdk/market/pool/createInterestRateModel.js +15 -11
  273. package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +22 -2
  274. package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +3 -3
  275. package/dist/esm/sdk/market/pricefeeds/BalancerStablePriceFeed.js +13 -3
  276. package/dist/esm/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +13 -3
  277. package/dist/esm/sdk/market/pricefeeds/BoundedPriceFeed.js +2 -6
  278. package/dist/esm/sdk/market/pricefeeds/CompositePriceFeed.js +2 -2
  279. package/dist/esm/sdk/market/pricefeeds/ConstantPriceFeed.js +2 -2
  280. package/dist/esm/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +10 -3
  281. package/dist/esm/sdk/market/pricefeeds/CurveStablePriceFeed.js +10 -3
  282. package/dist/esm/sdk/market/pricefeeds/CurveUSDPriceFeed.js +10 -3
  283. package/dist/esm/sdk/market/pricefeeds/Erc4626PriceFeed.js +18 -2
  284. package/dist/esm/sdk/market/pricefeeds/ExternalPriceFeed.js +2 -2
  285. package/dist/esm/sdk/market/pricefeeds/MellowLRTPriceFeed.js +11 -3
  286. package/dist/esm/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +2 -2
  287. package/dist/esm/sdk/market/pricefeeds/PriceFeedRef.js +5 -7
  288. package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +9 -3
  289. package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +2 -2
  290. package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +3 -3
  291. package/dist/esm/sdk/market/pricefeeds/WstETHPriceFeed.js +10 -3
  292. package/dist/esm/sdk/market/pricefeeds/YearnPriceFeed.js +10 -3
  293. package/dist/esm/sdk/market/pricefeeds/ZeroPriceFeed.js +2 -2
  294. package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +9 -7
  295. package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +12 -10
  296. package/dist/esm/sdk/router/AbstractRouterContract.js +115 -13
  297. package/dist/esm/sdk/router/RouterV300Contract.js +9 -10
  298. package/dist/esm/sdk/router/RouterV310Contract.js +10 -10
  299. package/dist/esm/sdk/router/createRouter.js +0 -4
  300. package/dist/esm/sdk/utils/index.js +0 -1
  301. package/dist/types/dev/create2.d.ts +2 -2
  302. package/dist/types/dev/mint/AbstractMinter.d.ts +4 -3
  303. package/dist/types/dev/mint/DealMinter.d.ts +3 -0
  304. package/dist/types/dev/mint/DirectMinter.d.ts +3 -0
  305. package/dist/types/dev/mint/TransferMinter.d.ts +3 -0
  306. package/dist/types/permissionless/bindings/address-provider.d.ts +255 -4
  307. package/dist/types/permissionless/bindings/base-contract.d.ts +23 -0
  308. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +6 -5
  309. package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +3 -3
  310. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +5 -4
  311. package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +7 -7
  312. package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +1 -1
  313. package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +4 -3
  314. package/dist/types/permissionless/bindings/governance/governor.d.ts +7 -6
  315. package/dist/types/permissionless/bindings/governance/timelock.d.ts +3 -3
  316. package/dist/types/permissionless/bindings/governance/types.d.ts +1 -1
  317. package/dist/types/permissionless/bindings/index.d.ts +1 -0
  318. package/dist/types/permissionless/bindings/instance-manager.d.ts +7 -6
  319. package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +4 -4
  320. package/dist/types/permissionless/bindings/market-configurator.d.ts +6 -6
  321. package/dist/types/permissionless/bindings/price-feed-store.d.ts +7 -6
  322. package/dist/types/permissionless/bindings/router/routing-manager.d.ts +5 -4
  323. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +6 -5
  324. package/dist/types/permissionless/core/proposal.d.ts +7 -1
  325. package/dist/types/permissionless/utils/abi-decoder.d.ts +13 -0
  326. package/dist/types/permissionless/utils/create2.d.ts +1 -1
  327. package/dist/types/permissionless/utils/governance/batch.d.ts +1 -1
  328. package/dist/types/permissionless/utils/index.d.ts +1 -0
  329. package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +3 -3
  330. package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +2 -2
  331. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +2 -2
  332. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  333. package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +2 -2
  334. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +2 -2
  335. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +2 -2
  336. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +2 -2
  337. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +2 -2
  338. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +2 -2
  339. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +2 -2
  340. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +2 -2
  341. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +2 -2
  342. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
  343. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
  344. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +2 -2
  345. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +2 -2
  346. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +2 -2
  347. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +2 -2
  348. package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +2 -2
  349. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +2 -2
  350. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +2 -2
  351. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +2 -2
  352. package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +2 -2
  353. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +2 -2
  354. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +2 -2
  355. package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +2 -2
  356. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +2 -2
  357. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +2 -2
  358. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +2 -2
  359. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +2 -2
  360. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +2 -2
  361. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +2 -2
  362. package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +2 -2
  363. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +2 -2
  364. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +2 -2
  365. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +2 -2
  366. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +2 -2
  367. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +2 -2
  368. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +2 -2
  369. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -3
  370. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -3
  371. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +2 -2
  372. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +2 -2
  373. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +2 -2
  374. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +2 -2
  375. package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +2 -2
  376. package/dist/types/plugins/bots/PartialLiquidationBotV300Contract.d.ts +8 -2
  377. package/dist/types/plugins/delayed-withdrawal/types.d.ts +1 -0
  378. package/dist/types/sdk/GearboxSDK.d.ts +76 -5
  379. package/dist/types/sdk/accountMigration/types.d.ts +2 -1
  380. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +2 -2
  381. package/dist/types/sdk/accounts/types.d.ts +23 -7
  382. package/dist/types/sdk/base/AddressLabeller.d.ts +11 -0
  383. package/dist/types/sdk/base/BaseContract.d.ts +28 -72
  384. package/dist/types/sdk/base/IAddressLabeller.d.ts +9 -0
  385. package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
  386. package/dist/types/sdk/base/SDKConstruct.d.ts +16 -2
  387. package/dist/types/sdk/base/TokensMeta.d.ts +3 -2
  388. package/dist/types/sdk/base/index.d.ts +1 -2
  389. package/dist/types/sdk/base/types.d.ts +0 -50
  390. package/dist/types/sdk/core/BotListV3Contract.d.ts +1 -1
  391. package/dist/types/sdk/core/GearStakingV3Contract.d.ts +1 -1
  392. package/dist/types/sdk/core/address-provider/AbstractAddressProviderContract.d.ts +4 -3
  393. package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +3 -3
  394. package/dist/types/sdk/core/address-provider/AddressProviderV310Contract.d.ts +3 -3
  395. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +2 -2
  396. package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +3 -3
  397. package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +3 -3
  398. package/dist/types/sdk/market/credit/CreditFacadeV300Contract.d.ts +4 -3
  399. package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +4 -3
  400. package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +1 -1
  401. package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +1 -1
  402. package/dist/types/sdk/market/credit/CreditSuite.d.ts +2 -1
  403. package/dist/types/sdk/market/credit/types.d.ts +2 -1
  404. package/dist/types/sdk/market/loss-policy/AliasLossPolicyV310Contract.d.ts +0 -1
  405. package/dist/types/sdk/market/loss-policy/LossPolicyContract.d.ts +3 -2
  406. package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +12 -3
  407. package/dist/types/sdk/market/oracle/types.d.ts +10 -0
  408. package/dist/types/sdk/market/pool/GaugeContract.d.ts +3 -2
  409. package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +3 -2
  410. package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +3 -2
  411. package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +3 -2
  412. package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +5 -4
  413. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +5 -4
  414. package/dist/types/sdk/market/pool/TumblerContract.d.ts +3 -2
  415. package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +8 -3
  416. package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +3 -2
  417. package/dist/types/sdk/market/pricefeeds/BalancerStablePriceFeed.d.ts +3 -2
  418. package/dist/types/sdk/market/pricefeeds/BalancerWeightedPriceFeed.d.ts +3 -2
  419. package/dist/types/sdk/market/pricefeeds/BoundedPriceFeed.d.ts +2 -2
  420. package/dist/types/sdk/market/pricefeeds/CompositePriceFeed.d.ts +2 -2
  421. package/dist/types/sdk/market/pricefeeds/ConstantPriceFeed.d.ts +2 -2
  422. package/dist/types/sdk/market/pricefeeds/CurveCryptoPriceFeed.d.ts +3 -2
  423. package/dist/types/sdk/market/pricefeeds/CurveStablePriceFeed.d.ts +3 -2
  424. package/dist/types/sdk/market/pricefeeds/CurveUSDPriceFeed.d.ts +3 -2
  425. package/dist/types/sdk/market/pricefeeds/Erc4626PriceFeed.d.ts +3 -2
  426. package/dist/types/sdk/market/pricefeeds/ExternalPriceFeed.d.ts +2 -2
  427. package/dist/types/sdk/market/pricefeeds/MellowLRTPriceFeed.d.ts +3 -2
  428. package/dist/types/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.d.ts +2 -2
  429. package/dist/types/sdk/market/pricefeeds/PriceFeedRef.d.ts +4 -3
  430. package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +2 -1
  431. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +2 -2
  432. package/dist/types/sdk/market/pricefeeds/RedstonePriceFeed.d.ts +2 -2
  433. package/dist/types/sdk/market/pricefeeds/WstETHPriceFeed.d.ts +3 -2
  434. package/dist/types/sdk/market/pricefeeds/YearnPriceFeed.d.ts +3 -2
  435. package/dist/types/sdk/market/pricefeeds/ZeroPriceFeed.d.ts +2 -2
  436. package/dist/types/sdk/market/pricefeeds/types.d.ts +5 -0
  437. package/dist/types/sdk/router/AbstractRouterContract.d.ts +15 -8
  438. package/dist/types/sdk/router/RouterV300Contract.d.ts +3 -4
  439. package/dist/types/sdk/router/RouterV310Contract.d.ts +2 -3
  440. package/dist/types/sdk/router/types.d.ts +14 -5
  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 +1 -1
  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
@@ -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) {
@@ -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 "../../../sdk/index.js";
6
+ import { BaseContract } from "../base-contract.js";
7
7
  const abi = tokenCompressorAbi;
8
8
  class TokenCompressorContract extends BaseContract {
9
- constructor(addr, client) {
10
- super({ client }, { abi, addr, name: "TokenCompressor" });
9
+ constructor(address, client) {
10
+ super(abi, address, client, "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 "../../../sdk/index.js";
5
+ import { BaseContract } from "../base-contract.js";
6
6
  const abi = withdrawalCompressorAbi;
7
7
  class WithdrawalCompressorContract extends BaseContract {
8
- constructor(addr, client) {
9
- super({ client }, { abi, addr, name: "WithdrawalCompressor" });
8
+ constructor(address, client) {
9
+ super(abi, address, client, "RoutingManager");
10
10
  }
11
11
  parseFunctionParams(params) {
12
12
  const { functionName, args } = params;
@@ -14,16 +14,22 @@ class WithdrawalCompressorContract extends BaseContract {
14
14
  case "setWithdrawableTypeToCompressorType": {
15
15
  const [withdrawableType, compressorType] = args;
16
16
  return {
17
- withdrawableType: hexToString(withdrawableType, {
18
- size: 32
19
- }),
20
- compressorType: hexToString(compressorType, {
21
- size: 32
22
- })
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
+ }
23
29
  };
24
30
  }
25
31
  default:
26
- return super.parseFunctionParams(params);
32
+ return void 0;
27
33
  }
28
34
  }
29
35
  }
@@ -5,19 +5,17 @@ import {
5
5
  zeroAddress
6
6
  } from "viem";
7
7
  import { crossChainMultisigAbi } from "../../abi/310/crossChainMultisig.js";
8
- import {
9
- BaseContract,
10
- json_stringify
11
- } from "../../sdk/index.js";
8
+ import { json_stringify } from "../../sdk/utils/index.js";
12
9
  import { Addresses } from "../deployment/addresses.js";
13
10
  import { normalizeSignature } from "../utils/index.js";
14
11
  import { CROSS_CHAIN_MULTISIG } from "../utils/literals.js";
12
+ import { BaseContract } from "./base-contract.js";
15
13
  import { InstanceManagerContract } from "./instance-manager.js";
16
14
  import { MarketConfiguratorFactoryContract } from "./market-configurator-factory.js";
17
15
  const abi = crossChainMultisigAbi;
18
16
  class CrossChainMultisigContract extends BaseContract {
19
- constructor(addr, client) {
20
- super({ client }, { abi, addr, name: "CrossChainMultisig" });
17
+ constructor(address, client) {
18
+ super(abi, address, client, "CrossChainMultisig");
21
19
  }
22
20
  async getExecutedBatches(fromBlock, toBlock) {
23
21
  const events = await this.getEvents("ExecuteBatch", fromBlock, toBlock);
@@ -68,9 +66,7 @@ class CrossChainMultisigContract extends BaseContract {
68
66
  transactionHash,
69
67
  blockNumber,
70
68
  hash: proposalHash,
71
- parsedCalls: calls.map(
72
- (c) => this.register.parseFunctionData(c.target, c.callData)
73
- ),
69
+ parsedCalls: calls.map((c) => BaseContract.parseCall(c)),
74
70
  signatures
75
71
  };
76
72
  }
@@ -162,7 +158,7 @@ class CrossChainMultisigContract extends BaseContract {
162
158
  async getSigners() {
163
159
  return [...await this.contract.read.getSigners()];
164
160
  }
165
- #decodeFunctionData(target, calldata) {
161
+ decodeFunctionData(target, calldata) {
166
162
  switch (target.toLowerCase()) {
167
163
  case this.address.toLowerCase(): {
168
164
  return this.parseFunctionData(calldata);
@@ -192,38 +188,38 @@ class CrossChainMultisigContract extends BaseContract {
192
188
  switch (params.functionName) {
193
189
  case "addSigner": {
194
190
  const [signer] = params.args;
195
- return {
191
+ return this.wrapParseCall(params, {
196
192
  signer
197
- };
193
+ });
198
194
  }
199
195
  case "removeSigner": {
200
196
  const [signer] = params.args;
201
- return {
197
+ return this.wrapParseCall(params, {
202
198
  signer
203
- };
199
+ });
204
200
  }
205
201
  case "setConfirmationThreshold": {
206
202
  const [threshold] = params.args;
207
- return {
203
+ return this.wrapParseCall(params, {
208
204
  threshold: threshold.toString()
209
- };
205
+ });
210
206
  }
211
207
  case "submitBatch": {
212
208
  const [name, calls, prevHash] = params.args;
213
- return {
209
+ return this.wrapParseCall(params, {
214
210
  name,
215
211
  calls: json_stringify(
216
212
  calls.map(({ chainId, target, callData }) => ({
217
- ...this.#decodeFunctionData(target, callData),
213
+ ...this.decodeFunctionData(target, callData),
218
214
  chainId: Number(chainId),
219
215
  target
220
216
  }))
221
217
  ),
222
218
  prevHash
223
- };
219
+ });
224
220
  }
225
221
  default:
226
- return super.parseFunctionParams(params);
222
+ return void 0;
227
223
  }
228
224
  }
229
225
  async validateProposalSignature(proposalHash, signature) {
@@ -1,8 +1,5 @@
1
- import {
2
- decodeFunctionData
3
- } from "viem";
4
- import { functionArgsToMap } from "../../../sdk/index.js";
5
1
  import { createCallData } from "../../core/raw-tx.js";
2
+ import { decodeFunctionWithNamedArgs } from "../../utils/abi-decoder.js";
6
3
  class AbstractFactory {
7
4
  abi;
8
5
  constructor(abi) {
@@ -18,13 +15,11 @@ class AbstractFactory {
18
15
  * @returns Decoded function name and arguments, or null if decoding fails
19
16
  */
20
17
  decodeConfig(calldata) {
21
- const decoded = decodeFunctionData({
22
- abi: this.abi,
23
- data: calldata
24
- });
18
+ const decoded = decodeFunctionWithNamedArgs(this.abi, calldata);
19
+ if (!decoded) return null;
25
20
  return {
26
21
  functionName: decoded.functionName,
27
- args: functionArgsToMap(this.abi, decoded.functionName, decoded.args)
22
+ args: decoded.args
28
23
  };
29
24
  }
30
25
  }
@@ -1,9 +1,9 @@
1
1
  import { batchesChainAbi } from "../../../abi/governance/batchesChain.js";
2
- import { BaseContract } from "../../../sdk/index.js";
2
+ import { BaseContract } from "../base-contract.js";
3
3
  const abi = batchesChainAbi;
4
4
  class BatchesChainContract extends BaseContract {
5
- constructor(addr, client) {
6
- super({ client }, { abi, addr, name: "BatchesChain" });
5
+ constructor(address, client) {
6
+ super(abi, address, client, "BatchesChain");
7
7
  }
8
8
  createBatchOrderingTx(prevHash) {
9
9
  return this.createRawTx({
@@ -6,16 +6,17 @@ import {
6
6
  } from "viem";
7
7
  import { formatAbiItem } from "viem/utils";
8
8
  import { governorAbi } from "../../../abi/governance/governor.js";
9
- import { BaseContract, json_stringify } from "../../../sdk/index.js";
9
+ import { json_stringify } from "../../../sdk/utils/index.js";
10
10
  import { formatTimestamp } from "../../utils/index.js";
11
+ import { BaseContract } from "../base-contract.js";
11
12
  import { MarketConfiguratorContract } from "../market-configurator.js";
12
13
  import { TreasurySplitterContract } from "../treasury-splitter.js";
13
14
  import { BatchesChainContract } from "./batches-chain.js";
14
15
  const abi = governorAbi;
15
16
  class GovernorContract extends BaseContract {
16
17
  batchesChainContract;
17
- constructor(addr, client) {
18
- super({ client }, { abi, addr, name: "Governor" });
18
+ constructor(address, client) {
19
+ super(abi, address, client, "Governor");
19
20
  this.batchesChainContract = new BatchesChainContract(
20
21
  "0x59b2fd348e4Ade84ffEfDaf5fcdDa7276c8C5041",
21
22
  client
@@ -120,7 +121,7 @@ class GovernorContract extends BaseContract {
120
121
  ).join("\n")})`
121
122
  });
122
123
  }
123
- #decodeFunctionData(target, calldata) {
124
+ decodeFunctionData(target, calldata) {
124
125
  switch (target.toLowerCase()) {
125
126
  case this.address.toLowerCase(): {
126
127
  return this.parseFunctionData(calldata);
@@ -159,44 +160,62 @@ class GovernorContract extends BaseContract {
159
160
  case "startBatch": {
160
161
  const [eta] = args;
161
162
  return {
162
- eta: formatTimestamp(Number(eta))
163
+ chainId: 0,
164
+ target: this.address,
165
+ label: this.name,
166
+ functionName,
167
+ args: {
168
+ eta: formatTimestamp(Number(eta))
169
+ }
163
170
  };
164
171
  }
165
172
  case "queueTransaction": {
166
173
  const [target, value, signature, data, eta] = args;
167
174
  const calldata = keccak256(toBytes(signature)).slice(0, 10) + data.slice(2);
168
175
  return {
169
- target,
170
- value: formatEther(value),
171
- signature,
172
- data: json_stringify(
173
- this.#decodeFunctionData(target, calldata)?.args ?? calldata
174
- ),
175
- eta: formatTimestamp(Number(eta))
176
+ chainId: 0,
177
+ target: this.address,
178
+ label: this.name,
179
+ functionName,
180
+ args: {
181
+ target,
182
+ value: formatEther(value),
183
+ signature,
184
+ data: json_stringify(
185
+ this.decodeFunctionData(target, calldata)?.args ?? calldata
186
+ ),
187
+ eta: formatTimestamp(Number(eta))
188
+ }
176
189
  };
177
190
  }
178
191
  case "executeBatch": {
179
192
  const [txs] = args;
180
193
  return {
181
- txs: json_stringify(
182
- txs.map((tx) => {
183
- const { target, value, signature, data, eta } = tx;
184
- const calldata = keccak256(toBytes(signature)).slice(0, 10) + data.slice(2);
185
- return {
186
- target,
187
- value: formatEther(value),
188
- signature,
189
- data: json_stringify(
190
- this.#decodeFunctionData(target, calldata)?.args ?? calldata
191
- ),
192
- eta: formatTimestamp(Number(eta))
193
- };
194
- })
195
- )
194
+ chainId: 0,
195
+ target: this.address,
196
+ label: this.name,
197
+ functionName,
198
+ args: {
199
+ txs: json_stringify(
200
+ txs.map((tx) => {
201
+ const { target, value, signature, data, eta } = tx;
202
+ const calldata = keccak256(toBytes(signature)).slice(0, 10) + data.slice(2);
203
+ return {
204
+ target,
205
+ value: formatEther(value),
206
+ signature,
207
+ data: json_stringify(
208
+ this.decodeFunctionData(target, calldata)?.args ?? calldata
209
+ ),
210
+ eta: formatTimestamp(Number(eta))
211
+ };
212
+ })
213
+ )
214
+ }
196
215
  };
197
216
  }
198
217
  default:
199
- return super.parseFunctionParams(params);
218
+ return void 0;
200
219
  }
201
220
  }
202
221
  }
@@ -1,8 +1,8 @@
1
1
  import { iTimeLockAbi } from "../../../abi/governance/iTimeLock.js";
2
- import { BaseContract } from "../../../sdk/index.js";
2
+ import { BaseContract } from "../base-contract.js";
3
3
  class TimeLockContract extends BaseContract {
4
- constructor(addr, client) {
5
- super({ client }, { abi: iTimeLockAbi, addr, name: "TimeLock" });
4
+ constructor(address, client) {
5
+ super(iTimeLockAbi, address, client, "TimeLock");
6
6
  }
7
7
  async admin() {
8
8
  const admin = await this.client.readContract({
@@ -1,4 +1,5 @@
1
1
  export * from "./address-provider.js";
2
+ export * from "./base-contract.js";
2
3
  export * from "./bytecode-repository.js";
3
4
  export * from "./compressors/index.js";
4
5
  export * from "./cross-chain-multisig.js";