@gearbox-protocol/sdk 14.12.0-next.2 → 14.12.0-next.20

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 (535) hide show
  1. package/dist/cjs/abi/IWithdrawalCompressorV313.js +229 -0
  2. package/dist/cjs/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +45 -1
  3. package/dist/cjs/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +45 -1
  4. package/dist/cjs/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +45 -1
  5. package/dist/cjs/abi/compressors/withdrawalCompressor.js +45 -1
  6. package/dist/cjs/abi/ierc4626Adapter.js +264 -0
  7. package/dist/cjs/dev/AccountOpener.js +7 -13
  8. package/dist/cjs/dev/index.js +3 -1
  9. package/dist/cjs/dev/withdrawalAbi.js +2105 -0
  10. package/dist/cjs/dev/withdrawalUtils.js +271 -0
  11. package/dist/cjs/history/classifyMulticallOperations.js +2 -0
  12. package/dist/cjs/history/mapOperations.js +7 -0
  13. package/dist/cjs/{preview/simulate/holders.js → permissionless/bindings/factory/rate-keeper-factory.js} +11 -21
  14. package/dist/cjs/permissionless/bindings/market-configurator.js +11 -0
  15. package/dist/cjs/plugins/adapters/abi/actionAbi.js +1 -10
  16. package/dist/cjs/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +332 -0
  17. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +436 -0
  18. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +183 -0
  19. package/dist/cjs/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +586 -0
  20. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +385 -0
  21. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +143 -0
  22. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +708 -0
  23. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +708 -0
  24. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +708 -0
  25. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +708 -0
  26. package/dist/cjs/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +206 -0
  27. package/dist/cjs/plugins/adapters/abi/adapters/iFluidDexAdapter.js +183 -0
  28. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +473 -0
  29. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +482 -0
  30. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +333 -0
  31. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +488 -0
  32. package/dist/cjs/plugins/adapters/abi/adapters/iLidoV1Adapter.js +171 -0
  33. package/dist/cjs/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +269 -0
  34. package/dist/cjs/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +350 -0
  35. package/dist/cjs/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +225 -0
  36. package/dist/cjs/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +1015 -0
  37. package/dist/cjs/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +262 -0
  38. package/dist/cjs/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +622 -0
  39. package/dist/cjs/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1787 -0
  40. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +6 -6
  41. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +26 -6
  42. package/dist/cjs/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +288 -0
  43. package/dist/cjs/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +459 -0
  44. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +290 -0
  45. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +505 -0
  46. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +534 -0
  47. package/dist/cjs/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +475 -0
  48. package/dist/cjs/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +327 -0
  49. package/dist/cjs/plugins/adapters/abi/adapters/index.js +90 -0
  50. package/dist/cjs/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +183 -0
  51. package/dist/cjs/plugins/adapters/abi/adapters/mellowDvvAdapter.js +319 -0
  52. package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +4 -42
  53. package/dist/cjs/plugins/adapters/abi/conctructorAbiPatterns.js +0 -16
  54. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  55. package/dist/cjs/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.js → iSecuritizeRedemptionGatewayV311.js} +15 -7
  56. package/dist/cjs/plugins/adapters/abi/securitize/index.js +2 -6
  57. package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +3 -296
  58. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +36 -0
  59. package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +66 -0
  60. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +21 -2
  61. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +17 -2
  62. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +22 -2
  63. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +20 -2
  64. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +28 -2
  65. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +4 -9
  66. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +4 -9
  67. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +4 -9
  68. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +4 -9
  69. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +4 -9
  70. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +16 -2
  71. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +24 -2
  72. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +16 -2
  73. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +17 -2
  74. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +23 -2
  75. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +3 -3
  76. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +13 -3
  77. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +3 -3
  78. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +13 -2
  79. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  80. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +17 -2
  81. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +17 -2
  82. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +13 -2
  83. package/dist/cjs/plugins/adapters/contracts/MidasGatewayAdapterContract.js +121 -0
  84. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +13 -3
  85. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +15 -3
  86. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +60 -2
  87. package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +13 -2
  88. package/dist/cjs/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +28 -4
  89. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +19 -2
  90. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +12 -2
  91. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +12 -2
  92. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -2
  93. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +18 -3
  94. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +17 -3
  95. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +12 -2
  96. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +17 -2
  97. package/dist/cjs/plugins/adapters/contracts/index.js +2 -12
  98. package/dist/cjs/plugins/adapters/createAdapter.js +3 -10
  99. package/dist/cjs/plugins/adapters/types.js +2 -11
  100. package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +20 -37
  101. package/dist/cjs/preview/index.js +5 -3
  102. package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
  103. package/dist/cjs/preview/parse/index.js +2 -2
  104. package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +6 -14
  105. package/dist/cjs/preview/parse/parseOperationCalldata.js +11 -9
  106. package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +5 -2
  107. package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +104 -0
  108. package/dist/cjs/preview/parse/types-rwa.js +16 -0
  109. package/dist/cjs/preview/parse/types.js +9 -2
  110. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +20 -43
  111. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +25 -39
  112. package/dist/cjs/preview/prerequisites/Prerequisite.js +10 -35
  113. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +71 -0
  114. package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +55 -0
  115. package/dist/cjs/preview/prerequisites/{prepareAction.js → buildPartialLiquidationPrerequisites.js} +16 -24
  116. package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +114 -0
  117. package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +59 -0
  118. package/dist/cjs/preview/prerequisites/checkPrerequisites.js +85 -0
  119. package/dist/cjs/preview/prerequisites/helpers.js +36 -0
  120. package/dist/cjs/preview/prerequisites/index.js +4 -6
  121. package/dist/cjs/preview/preview/applyInnerOperations.js +141 -0
  122. package/dist/cjs/preview/preview/applyRWAWrapUnwrap.js +74 -0
  123. package/dist/cjs/preview/preview/detectCloseOrRepay.js +51 -0
  124. package/dist/cjs/preview/preview/errors.js +52 -0
  125. package/dist/cjs/preview/preview/index.js +34 -0
  126. package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +90 -0
  127. package/dist/cjs/preview/preview/previewCloseOrRepayCreditAccount.js +94 -0
  128. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +67 -0
  129. package/dist/cjs/preview/preview/previewOperation.js +53 -0
  130. package/dist/cjs/preview/preview/previewPoolOperation.js +42 -0
  131. package/dist/cjs/preview/preview/types.js +16 -0
  132. package/dist/cjs/preview/preview/unwrapNativeCollateral.js +45 -0
  133. package/dist/cjs/preview/simulate/index.js +5 -2
  134. package/dist/cjs/preview/simulate/simulateOperation.js +4 -0
  135. package/dist/cjs/preview/simulate/simulatePoolOperation.js +20 -119
  136. package/dist/cjs/preview/simulate/simulateRWAOperation.js +30 -0
  137. package/dist/cjs/preview/types.js +16 -0
  138. package/dist/cjs/sdk/OnchainSDK.js +11 -0
  139. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +76 -149
  140. package/dist/cjs/sdk/accounts/index.js +3 -1
  141. package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +224 -0
  142. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +40 -0
  143. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +40 -0
  144. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +40 -0
  145. package/dist/cjs/{preview/parse/extractExpectedBalanceChanges.js → sdk/accounts/withdrawal-compressor/addresses.js} +24 -20
  146. package/dist/cjs/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +53 -0
  147. package/dist/cjs/sdk/accounts/withdrawal-compressor/index.js +36 -0
  148. package/dist/cjs/sdk/accounts/withdrawal-compressor/intent-codec.js +118 -0
  149. package/dist/cjs/sdk/accounts/withdrawal-compressor/types.js +16 -0
  150. package/dist/cjs/sdk/base/BaseContract.js +4 -2
  151. package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
  152. package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +56 -4
  153. package/dist/cjs/sdk/market/rwa/types.js +5 -2
  154. package/dist/cjs/sdk/market/zapper/ZapperContract.js +0 -3
  155. package/dist/cjs/sdk/router/AbstractRouterContract.js +21 -27
  156. package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
  157. package/dist/cjs/sdk/router/helpers.js +0 -5
  158. package/dist/cjs/sdk/utils/AddressMap.js +6 -0
  159. package/dist/cjs/sdk/utils/AddressSet.js +7 -0
  160. package/dist/cjs/sdk/utils/AssetsMap.js +97 -0
  161. package/dist/cjs/sdk/utils/index.js +2 -0
  162. package/dist/esm/abi/IWithdrawalCompressorV313.js +205 -0
  163. package/dist/esm/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +45 -1
  164. package/dist/esm/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +45 -1
  165. package/dist/esm/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +45 -1
  166. package/dist/esm/abi/compressors/withdrawalCompressor.js +45 -1
  167. package/dist/esm/abi/ierc4626Adapter.js +240 -0
  168. package/dist/esm/dev/AccountOpener.js +8 -13
  169. package/dist/esm/dev/index.js +1 -0
  170. package/dist/esm/dev/withdrawalAbi.js +2074 -0
  171. package/dist/esm/dev/withdrawalUtils.js +259 -0
  172. package/dist/esm/history/classifyMulticallOperations.js +2 -0
  173. package/dist/esm/history/mapOperations.js +7 -0
  174. package/dist/esm/permissionless/bindings/factory/rate-keeper-factory.js +11 -0
  175. package/dist/esm/permissionless/bindings/market-configurator.js +11 -0
  176. package/dist/esm/plugins/adapters/abi/actionAbi.js +1 -10
  177. package/dist/esm/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +308 -0
  178. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +412 -0
  179. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +159 -0
  180. package/dist/esm/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +562 -0
  181. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +361 -0
  182. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +119 -0
  183. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +684 -0
  184. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +684 -0
  185. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +684 -0
  186. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +684 -0
  187. package/dist/esm/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +182 -0
  188. package/dist/esm/plugins/adapters/abi/adapters/iFluidDexAdapter.js +159 -0
  189. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +449 -0
  190. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +457 -0
  191. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +308 -0
  192. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +463 -0
  193. package/dist/esm/plugins/adapters/abi/adapters/iLidoV1Adapter.js +147 -0
  194. package/dist/esm/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +245 -0
  195. package/dist/esm/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +326 -0
  196. package/dist/esm/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +201 -0
  197. package/dist/esm/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +990 -0
  198. package/dist/esm/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +238 -0
  199. package/dist/esm/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +597 -0
  200. package/dist/esm/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1763 -0
  201. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +2 -2
  202. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +22 -2
  203. package/dist/esm/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +264 -0
  204. package/dist/esm/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +435 -0
  205. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +266 -0
  206. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +481 -0
  207. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +509 -0
  208. package/dist/esm/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +450 -0
  209. package/dist/esm/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +303 -0
  210. package/dist/esm/plugins/adapters/abi/adapters/index.js +35 -0
  211. package/dist/esm/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +159 -0
  212. package/dist/esm/plugins/adapters/abi/adapters/mellowDvvAdapter.js +295 -0
  213. package/dist/esm/plugins/adapters/abi/conctructorAbi.js +4 -44
  214. package/dist/esm/plugins/adapters/abi/conctructorAbiPatterns.js +0 -14
  215. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  216. package/dist/esm/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.js → iSecuritizeRedemptionGatewayV311.js} +11 -3
  217. package/dist/esm/plugins/adapters/abi/securitize/index.js +1 -3
  218. package/dist/esm/plugins/adapters/abi/targetContractAbi.js +2 -291
  219. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +36 -0
  220. package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +42 -0
  221. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +23 -2
  222. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +19 -2
  223. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +24 -2
  224. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +23 -2
  225. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +30 -2
  226. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +3 -8
  227. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +3 -8
  228. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +3 -8
  229. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +3 -8
  230. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +3 -8
  231. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +18 -2
  232. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +27 -2
  233. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +18 -2
  234. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +19 -2
  235. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +25 -2
  236. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +4 -4
  237. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +16 -4
  238. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +4 -4
  239. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +15 -2
  240. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +1 -1
  241. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +19 -2
  242. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +19 -2
  243. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +15 -2
  244. package/dist/esm/plugins/adapters/contracts/MidasGatewayAdapterContract.js +104 -0
  245. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +17 -5
  246. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +20 -6
  247. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +62 -2
  248. package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +16 -3
  249. package/dist/esm/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +31 -5
  250. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +21 -2
  251. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +14 -2
  252. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +11 -1
  253. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +21 -1
  254. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +20 -3
  255. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +20 -4
  256. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +14 -2
  257. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +19 -2
  258. package/dist/esm/plugins/adapters/contracts/index.js +1 -6
  259. package/dist/esm/plugins/adapters/createAdapter.js +4 -13
  260. package/dist/esm/plugins/adapters/types.js +2 -11
  261. package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +21 -39
  262. package/dist/esm/preview/index.js +2 -1
  263. package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
  264. package/dist/esm/preview/parse/index.js +1 -1
  265. package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +6 -14
  266. package/dist/esm/preview/parse/parseOperationCalldata.js +12 -9
  267. package/dist/esm/preview/parse/parsePoolOperationCalldata.js +5 -2
  268. package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +85 -0
  269. package/dist/esm/preview/parse/types-rwa.js +0 -0
  270. package/dist/esm/preview/parse/types.js +6 -1
  271. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +21 -47
  272. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +26 -43
  273. package/dist/esm/preview/prerequisites/Prerequisite.js +10 -37
  274. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +47 -0
  275. package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +33 -0
  276. package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +16 -0
  277. package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +90 -0
  278. package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +35 -0
  279. package/dist/esm/preview/prerequisites/checkPrerequisites.js +61 -0
  280. package/dist/esm/preview/prerequisites/helpers.js +14 -0
  281. package/dist/esm/preview/prerequisites/index.js +2 -3
  282. package/dist/esm/preview/preview/applyInnerOperations.js +122 -0
  283. package/dist/esm/preview/preview/applyRWAWrapUnwrap.js +50 -0
  284. package/dist/esm/preview/preview/detectCloseOrRepay.js +26 -0
  285. package/dist/esm/preview/preview/errors.js +27 -0
  286. package/dist/esm/preview/preview/index.js +7 -0
  287. package/dist/esm/preview/preview/previewAdjustCreditAccount.js +74 -0
  288. package/dist/esm/preview/preview/previewCloseOrRepayCreditAccount.js +76 -0
  289. package/dist/esm/preview/preview/previewOpenCreditAccount.js +49 -0
  290. package/dist/esm/preview/preview/previewOperation.js +29 -0
  291. package/dist/esm/preview/preview/previewPoolOperation.js +18 -0
  292. package/dist/esm/preview/preview/types.js +0 -0
  293. package/dist/esm/preview/preview/unwrapNativeCollateral.js +21 -0
  294. package/dist/esm/preview/simulate/index.js +3 -1
  295. package/dist/esm/preview/simulate/simulateOperation.js +5 -1
  296. package/dist/esm/preview/simulate/simulatePoolOperation.js +21 -123
  297. package/dist/esm/preview/simulate/simulateRWAOperation.js +6 -0
  298. package/dist/esm/preview/types.js +0 -0
  299. package/dist/esm/sdk/OnchainSDK.js +13 -1
  300. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +72 -144
  301. package/dist/esm/sdk/accounts/index.js +1 -0
  302. package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +200 -0
  303. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +16 -0
  304. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +16 -0
  305. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +16 -0
  306. package/dist/esm/sdk/accounts/withdrawal-compressor/addresses.js +28 -0
  307. package/dist/esm/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +29 -0
  308. package/dist/esm/sdk/accounts/withdrawal-compressor/index.js +8 -0
  309. package/dist/esm/sdk/accounts/withdrawal-compressor/intent-codec.js +91 -0
  310. package/dist/esm/sdk/accounts/withdrawal-compressor/types.js +0 -0
  311. package/dist/esm/sdk/base/BaseContract.js +4 -2
  312. package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
  313. package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +59 -5
  314. package/dist/esm/sdk/market/rwa/types.js +5 -2
  315. package/dist/esm/sdk/market/zapper/ZapperContract.js +0 -3
  316. package/dist/esm/sdk/router/AbstractRouterContract.js +25 -29
  317. package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
  318. package/dist/esm/sdk/router/helpers.js +0 -4
  319. package/dist/esm/sdk/utils/AddressMap.js +6 -0
  320. package/dist/esm/sdk/utils/AddressSet.js +7 -0
  321. package/dist/esm/sdk/utils/AssetsMap.js +73 -0
  322. package/dist/esm/sdk/utils/index.js +1 -0
  323. package/dist/types/abi/IWithdrawalCompressorV313.d.ts +289 -0
  324. package/dist/types/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.d.ts +77 -0
  325. package/dist/types/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.d.ts +77 -0
  326. package/dist/types/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.d.ts +77 -0
  327. package/dist/types/abi/compressors/withdrawalCompressor.d.ts +77 -0
  328. package/dist/types/abi/ierc4626Adapter.d.ts +179 -0
  329. package/dist/types/common-utils/utils/creditAccount/sort.d.ts +3 -3
  330. package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +1 -1
  331. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
  332. package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-eligible.d.ts +1 -1
  333. package/dist/types/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.d.ts +1 -1
  334. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
  335. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
  336. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
  337. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
  338. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
  339. package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
  340. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
  341. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
  342. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
  343. package/dist/types/dev/abi.d.ts +4 -4
  344. package/dist/types/dev/index.d.ts +1 -0
  345. package/dist/types/dev/providers.d.ts +1 -1
  346. package/dist/types/dev/withdrawalAbi.d.ts +1584 -0
  347. package/dist/types/dev/withdrawalUtils.d.ts +19 -0
  348. package/dist/types/history/types.d.ts +4 -4
  349. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +9 -9
  350. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +77 -0
  351. package/dist/types/permissionless/bindings/factory/rate-keeper-factory.d.ts +179 -0
  352. package/dist/types/permissionless/bindings/market-configurator.d.ts +2 -0
  353. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +1 -1
  354. package/dist/types/plugins/adapters/abi/adapters/erc4626ReferralAdapter.d.ts +231 -0
  355. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.d.ts +314 -0
  356. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.d.ts +117 -0
  357. package/dist/types/plugins/adapters/abi/adapters/iCamelotV3Adapter.d.ts +428 -0
  358. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.d.ts +271 -0
  359. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.d.ts +204 -0
  360. package/dist/types/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.d.ts +519 -0
  361. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.d.ts +519 -0
  362. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.d.ts +519 -0
  363. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.d.ts +519 -0
  364. package/dist/types/plugins/adapters/abi/adapters/iDaiUsdsAdapter.d.ts +135 -0
  365. package/dist/types/plugins/adapters/abi/adapters/iFluidDexAdapter.d.ts +119 -0
  366. package/dist/types/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.d.ts +338 -0
  367. package/dist/types/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.d.ts +346 -0
  368. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtDepositPool.d.ts +233 -0
  369. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.d.ts +349 -0
  370. package/dist/types/plugins/adapters/abi/adapters/iLidoV1Adapter.d.ts +109 -0
  371. package/dist/types/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.d.ts +183 -0
  372. package/dist/types/plugins/adapters/abi/adapters/iMellowClaimerAdapter.d.ts +247 -0
  373. package/dist/types/plugins/adapters/abi/adapters/iMellowWrapperAdapter.d.ts +151 -0
  374. package/dist/types/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.d.ts +754 -0
  375. package/dist/types/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.d.ts +180 -0
  376. package/dist/types/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.d.ts +453 -0
  377. package/dist/types/plugins/adapters/abi/adapters/iPendleRouterAdapter.d.ts +1366 -0
  378. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.d.ts → adapters/iSecuritizeOnRampAdapterV310.d.ts} +1 -1
  379. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.d.ts → adapters/iSecuritizeRedemptionGatewayAdapterV311.d.ts} +37 -1
  380. package/dist/types/plugins/adapters/abi/adapters/iStakingRewardsAdapter.d.ts +197 -0
  381. package/dist/types/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.d.ts +333 -0
  382. package/dist/types/plugins/adapters/abi/adapters/iUniswapV2Adapter.d.ts +202 -0
  383. package/dist/types/plugins/adapters/abi/adapters/iUniswapV3Adapter.d.ts +367 -0
  384. package/dist/types/plugins/adapters/abi/adapters/iUniswapV4Adapter.d.ts +390 -0
  385. package/dist/types/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.d.ts +336 -0
  386. package/dist/types/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.d.ts +232 -0
  387. package/dist/types/plugins/adapters/abi/adapters/index.d.ts +35 -0
  388. package/dist/types/plugins/adapters/abi/adapters/iwstEthv1Adapter.d.ts +117 -0
  389. package/dist/types/plugins/adapters/abi/adapters/mellowDvvAdapter.d.ts +221 -0
  390. package/dist/types/plugins/adapters/abi/conctructorAbiPatterns.d.ts +0 -26
  391. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  392. package/dist/types/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.d.ts → iSecuritizeRedemptionGatewayV311.d.ts} +15 -1
  393. package/dist/types/plugins/adapters/abi/securitize/index.d.ts +1 -3
  394. package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +1 -477
  395. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +21 -3
  396. package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +18 -0
  397. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +9 -7
  398. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +7 -5
  399. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +9 -7
  400. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +9 -7
  401. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +13 -11
  402. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +8 -11
  403. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +8 -11
  404. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +8 -11
  405. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +3 -6
  406. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +8 -11
  407. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +8 -6
  408. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +14 -6
  409. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +8 -6
  410. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +8 -6
  411. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +9 -7
  412. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +3 -3
  413. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +7 -5
  414. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +5 -5
  415. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +9 -7
  416. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +3 -3
  417. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +8 -6
  418. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +9 -7
  419. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +7 -5
  420. package/dist/types/plugins/adapters/contracts/MidasGatewayAdapterContract.d.ts +790 -0
  421. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +9 -7
  422. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +9 -7
  423. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +9 -7
  424. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +8 -6
  425. package/dist/types/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +59 -7
  426. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +9 -7
  427. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +9 -7
  428. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +8 -6
  429. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +8 -6
  430. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +9 -7
  431. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +9 -7
  432. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +9 -7
  433. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +7 -5
  434. package/dist/types/plugins/adapters/contracts/index.d.ts +1 -6
  435. package/dist/types/plugins/adapters/types.d.ts +31 -13
  436. package/dist/types/plugins/delayed-withdrawal/types.d.ts +4 -17
  437. package/dist/types/preview/index.d.ts +2 -1
  438. package/dist/types/preview/parse/classifyInnerOperations.d.ts +0 -2
  439. package/dist/types/preview/parse/index.d.ts +1 -1
  440. package/dist/types/preview/parse/parseFacadeOperationCalldata.d.ts +6 -7
  441. package/dist/types/preview/parse/parseOperationCalldata.d.ts +5 -18
  442. package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +7 -12
  443. package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +13 -0
  444. package/dist/types/preview/parse/types-adapters.d.ts +5 -1
  445. package/dist/types/preview/parse/types-facades.d.ts +23 -34
  446. package/dist/types/preview/parse/types-pools.d.ts +29 -1
  447. package/dist/types/preview/parse/types-rwa.d.ts +36 -0
  448. package/dist/types/preview/parse/types.d.ts +11 -31
  449. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +16 -17
  450. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +21 -18
  451. package/dist/types/preview/prerequisites/Prerequisite.d.ts +18 -55
  452. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +51 -0
  453. package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +14 -0
  454. package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +8 -0
  455. package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +8 -0
  456. package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +21 -0
  457. package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +19 -0
  458. package/dist/types/preview/prerequisites/helpers.d.ts +7 -0
  459. package/dist/types/preview/prerequisites/index.d.ts +2 -3
  460. package/dist/types/preview/prerequisites/types.d.ts +13 -50
  461. package/dist/types/preview/preview/applyInnerOperations.d.ts +84 -0
  462. package/dist/types/preview/preview/applyRWAWrapUnwrap.d.ts +13 -0
  463. package/dist/types/preview/preview/detectCloseOrRepay.d.ts +18 -0
  464. package/dist/types/preview/preview/errors.d.ts +21 -0
  465. package/dist/types/preview/preview/index.d.ts +7 -0
  466. package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +12 -0
  467. package/dist/types/preview/preview/previewCloseOrRepayCreditAccount.d.ts +11 -0
  468. package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +5 -0
  469. package/dist/types/preview/preview/previewOperation.d.ts +8 -0
  470. package/dist/types/preview/preview/previewPoolOperation.d.ts +5 -0
  471. package/dist/types/preview/preview/types.d.ts +181 -0
  472. package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +20 -0
  473. package/dist/types/preview/simulate/index.d.ts +2 -3
  474. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +3 -16
  475. package/dist/types/preview/simulate/simulateOperation.d.ts +4 -18
  476. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +10 -18
  477. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +12 -0
  478. package/dist/types/preview/simulate/types.d.ts +20 -51
  479. package/dist/types/preview/types.d.ts +52 -0
  480. package/dist/types/sdk/OnchainSDK.d.ts +10 -1
  481. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +15 -15
  482. package/dist/types/sdk/accounts/index.d.ts +1 -0
  483. package/dist/types/sdk/accounts/types.d.ts +100 -53
  484. package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +34 -0
  485. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.d.ts +334 -0
  486. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.d.ts +338 -0
  487. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.d.ts +300 -0
  488. package/dist/types/sdk/accounts/withdrawal-compressor/addresses.d.ts +21 -0
  489. package/dist/types/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.d.ts +11 -0
  490. package/dist/types/sdk/accounts/withdrawal-compressor/index.d.ts +8 -0
  491. package/dist/types/sdk/accounts/withdrawal-compressor/intent-codec.d.ts +26 -0
  492. package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +283 -0
  493. package/dist/types/sdk/base/BaseContract.d.ts +1 -1
  494. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  495. package/dist/types/sdk/base/types.d.ts +18 -0
  496. package/dist/types/sdk/chain/chains.d.ts +8 -8
  497. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +5 -5
  498. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +1 -1
  499. package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +17 -4
  500. package/dist/types/sdk/market/rwa/securitize/types.d.ts +18 -2
  501. package/dist/types/sdk/market/rwa/types.d.ts +39 -14
  502. package/dist/types/sdk/market/zapper/types.d.ts +6 -6
  503. package/dist/types/sdk/pools/types.d.ts +1 -1
  504. package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
  505. package/dist/types/sdk/router/helpers.d.ts +1 -2
  506. package/dist/types/sdk/router/types.d.ts +1 -15
  507. package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
  508. package/dist/types/sdk/utils/AddressSet.d.ts +1 -0
  509. package/dist/types/sdk/utils/AssetsMap.d.ts +44 -0
  510. package/dist/types/sdk/utils/index.d.ts +1 -0
  511. package/package.json +11 -12
  512. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -116
  513. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -76
  514. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -68
  515. package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -68
  516. package/dist/cjs/preview/prerequisites/buildPrerequisites.js +0 -221
  517. package/dist/cjs/preview/prerequisites/runPrerequisites.js +0 -71
  518. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -94
  519. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -54
  520. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -46
  521. package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -46
  522. package/dist/esm/preview/parse/extractExpectedBalanceChanges.js +0 -24
  523. package/dist/esm/preview/prerequisites/buildPrerequisites.js +0 -197
  524. package/dist/esm/preview/prerequisites/prepareAction.js +0 -23
  525. package/dist/esm/preview/prerequisites/runPrerequisites.js +0 -47
  526. package/dist/esm/preview/simulate/holders.js +0 -21
  527. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +0 -1045
  528. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -26
  529. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -24
  530. package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +0 -24
  531. package/dist/types/preview/parse/extractExpectedBalanceChanges.d.ts +0 -22
  532. package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +0 -16
  533. package/dist/types/preview/prerequisites/prepareAction.d.ts +0 -52
  534. package/dist/types/preview/prerequisites/runPrerequisites.d.ts +0 -12
  535. package/dist/types/preview/simulate/holders.d.ts +0 -7
@@ -1,4 +1,3 @@
1
- import { ierc4626AdapterAbi } from "@gearbox-protocol/integrations-v3";
2
1
  import { encodeFunctionData, getContract } from "viem";
3
2
  import {
4
3
  iBotListV310Abi,
@@ -7,12 +6,10 @@ import {
7
6
  import { creditAccountCompressorAbi } from "../../abi/compressors/creditAccountCompressor.js";
8
7
  import { peripheryCompressorAbi } from "../../abi/compressors/peripheryCompressor.js";
9
8
  import { rewardsCompressorAbi } from "../../abi/compressors/rewardsCompressor.js";
10
- import { iWithdrawalCompressorV310Abi } from "../../abi/IWithdrawalCompressorV310.js";
11
- import { iWithdrawalCompressorV311Abi } from "../../abi/IWithdrawalCompressorV311.js";
12
9
  import { iBaseRewardPoolAbi } from "../../abi/iBaseRewardPool.js";
10
+ import { ierc4626AdapterAbi } from "../../abi/ierc4626Adapter.js";
13
11
  import { iRWAFactoryAbi } from "../../abi/rwa/iRWAFactory.js";
14
12
  import { SDKConstruct } from "../base/index.js";
15
- import { chains } from "../chain/chains.js";
16
13
  import {
17
14
  ADDRESS_0X0,
18
15
  AP_CREDIT_ACCOUNT_COMPRESSOR,
@@ -27,27 +24,13 @@ import {
27
24
  import {
28
25
  getRawPriceUpdates
29
26
  } from "../market/index.js";
30
- import { assetsMap } from "../router/index.js";
31
- import { AddressMap, AddressSet, hexEq } from "../utils/index.js";
27
+ import { AddressMap, AddressSet, AssetsMap, hexEq } from "../utils/index.js";
32
28
  import { simulateWithPriceUpdates } from "../utils/viem/index.js";
33
29
  import {
34
30
  extractPriceUpdates,
35
31
  extractQuotaTokens,
36
32
  mergePriceUpdates
37
33
  } from "./multicall-utils.js";
38
- const COMPRESSORS = {
39
- [chains.Mainnet.id]: {
40
- address: "0x36F3d0Bb73CBC2E94fE24dF0f26a689409cF9023",
41
- version: 310
42
- },
43
- [chains.Monad.id]: {
44
- address: "0x36F3d0Bb73CBC2E94fE24dF0f26a689409cF9023",
45
- version: 310
46
- }
47
- };
48
- function getWithdrawalCompressorAddress(chainId) {
49
- return COMPRESSORS[chainId];
50
- }
51
34
  class CreditAccountsServiceV310 extends SDKConstruct {
52
35
  #compressor;
53
36
  #batchSize;
@@ -616,14 +599,12 @@ class CreditAccountsServiceV310 extends SDKConstruct {
616
599
  creditManager: cm.creditManager,
617
600
  slippage
618
601
  });
619
- const operationCalls = [
620
- ...routerCloseResult.calls,
621
- ...this.#prepareDisableQuotas(ca),
622
- ...this.#prepareDecreaseDebt(ca),
623
- ...assetsToWithdraw.map(
624
- (t) => this.#prepareWithdrawToken(ca.creditFacade, t, MAX_UINT256, to)
625
- )
626
- ];
602
+ const operationCalls = await this.assembleCloseCreditAccountCalls({
603
+ creditAccount: ca,
604
+ routerCalls: routerCloseResult.calls,
605
+ assetsToWithdraw,
606
+ to
607
+ });
627
608
  const calls = operation === "close" ? operationCalls : await this.#prependPriceUpdates(ca.creditManager, operationCalls, ca);
628
609
  const tx = await this.#closeCreditAccountTx(
629
610
  cm,
@@ -633,6 +614,32 @@ class CreditAccountsServiceV310 extends SDKConstruct {
633
614
  );
634
615
  return { tx, calls, routerCloseResult, creditFacade: cm.creditFacade };
635
616
  }
617
+ /**
618
+ * {@inheritDoc ICreditAccountsService.assembleCloseCreditAccountCalls}
619
+ */
620
+ async assembleCloseCreditAccountCalls({
621
+ creditAccount: ca,
622
+ routerCalls,
623
+ assetsToWithdraw,
624
+ to
625
+ }) {
626
+ const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
627
+ await this.sdk.tokensMeta.loadTokenData(cm.underlying);
628
+ const underlying = this.sdk.tokensMeta.mustGet(cm.underlying);
629
+ if (this.sdk.tokensMeta.isRWAUnderlying(underlying)) {
630
+ throw new Error(
631
+ "closeCreditAccount is not supported for RWA underlying credit accounts"
632
+ );
633
+ }
634
+ return [
635
+ ...routerCalls,
636
+ ...this.#prepareDisableQuotas(ca),
637
+ ...this.#prepareDecreaseDebt(ca),
638
+ ...assetsToWithdraw.map(
639
+ (t) => this.#prepareWithdrawToken(ca.creditFacade, t, MAX_UINT256, to)
640
+ )
641
+ ];
642
+ }
636
643
  /**
637
644
  * {@inheritDoc ICreditAccountsService.updateQuotas}
638
645
  **/
@@ -774,22 +781,8 @@ class CreditAccountsServiceV310 extends SDKConstruct {
774
781
  amount,
775
782
  token
776
783
  }) {
777
- const compressor = getWithdrawalCompressorAddress(this.sdk.chainId);
778
- if (!compressor)
779
- throw new Error(
780
- `No compressor for current chain ${this.sdk.networkType}`
781
- );
782
- const contract = getContract({
783
- address: compressor.address,
784
- abi: compressor.version === 310 ? iWithdrawalCompressorV310Abi : iWithdrawalCompressorV311Abi,
785
- client: this.client
786
- });
787
- const resp = await contract.read.getWithdrawalRequestResult([
788
- creditAccount,
789
- token,
790
- amount
791
- ]);
792
- return resp;
784
+ const compressor = this.sdk.withdrawalCompressor();
785
+ return compressor.getWithdrawalRequestResult(creditAccount, token, amount);
793
786
  }
794
787
  /**
795
788
  * {@inheritDoc ICreditAccountsService.getPendingWithdrawals}
@@ -797,26 +790,12 @@ class CreditAccountsServiceV310 extends SDKConstruct {
797
790
  async getPendingWithdrawals({
798
791
  creditAccount
799
792
  }) {
800
- const compressor = getWithdrawalCompressorAddress(this.sdk.chainId);
801
- if (!compressor)
802
- throw new Error(
803
- `No compressor for current chain ${this.sdk.networkType}`
804
- );
805
- const contract = getContract({
806
- address: compressor.address,
807
- abi: compressor.version === 310 ? iWithdrawalCompressorV310Abi : iWithdrawalCompressorV311Abi,
808
- client: this.client
809
- });
810
- const resp = await contract.read.getCurrentWithdrawals([creditAccount]);
811
- const claimableNow = resp?.[0] || [];
812
- const pendingResult = [...resp?.[1] || []].sort(
813
- (a, b) => a.claimableAt < b.claimableAt ? -1 : 1
814
- );
815
- const respResult = {
816
- claimableNow: [...claimableNow],
817
- pending: pendingResult
793
+ const compressor = this.sdk.withdrawalCompressor();
794
+ const { claimable, pending } = await compressor.getCurrentWithdrawals(creditAccount);
795
+ return {
796
+ claimableNow: claimable,
797
+ pending
818
798
  };
819
- return respResult;
820
799
  }
821
800
  /**
822
801
  * {@inheritDoc ICreditAccountsService.startDelayedWithdrawal}
@@ -1302,8 +1281,23 @@ class CreditAccountsServiceV310 extends SDKConstruct {
1302
1281
  /**
1303
1282
  * {@inheritDoc ICreditAccountsService.repayCreditAccount}
1304
1283
  */
1305
- async repayCreditAccount({
1306
- operation,
1284
+ async repayCreditAccount(props) {
1285
+ const { operation, creditAccount: ca } = props;
1286
+ const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
1287
+ const operationCalls = await this.assembleRepayCreditAccountCalls(props);
1288
+ const calls = operation === "close" ? operationCalls : await this.#prependPriceUpdates(ca.creditManager, operationCalls, ca);
1289
+ const tx = await this.#closeCreditAccountTx(
1290
+ cm,
1291
+ ca.creditAccount,
1292
+ calls,
1293
+ operation
1294
+ );
1295
+ return { tx, calls, creditFacade: cm.creditFacade };
1296
+ }
1297
+ /**
1298
+ * {@inheritDoc ICreditAccountsService.assembleRepayCreditAccountCalls}
1299
+ */
1300
+ async assembleRepayCreditAccountCalls({
1307
1301
  collateralAssets,
1308
1302
  assetsToWithdraw,
1309
1303
  creditAccount: ca,
@@ -1312,7 +1306,6 @@ class CreditAccountsServiceV310 extends SDKConstruct {
1312
1306
  tokensToClaim,
1313
1307
  calls: wrapCalls = []
1314
1308
  }) {
1315
- const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
1316
1309
  const addCollateral = collateralAssets.filter((a) => a.balance > 0);
1317
1310
  const router = this.sdk.routerFor(ca);
1318
1311
  const unwrapCalls = await this.getRedeemDiffCalls(1n, ca.creditManager) ?? [];
@@ -1331,14 +1324,7 @@ class CreditAccountsServiceV310 extends SDKConstruct {
1331
1324
  (t) => this.#prepareWithdrawToken(ca.creditFacade, t.token, MAX_UINT256, to)
1332
1325
  )
1333
1326
  ];
1334
- const calls = operation === "close" ? operationCalls : await this.#prependPriceUpdates(ca.creditManager, operationCalls, ca);
1335
- const tx = await this.#closeCreditAccountTx(
1336
- cm,
1337
- ca.creditAccount,
1338
- calls,
1339
- operation
1340
- );
1341
- return { tx, calls, creditFacade: cm.creditFacade };
1327
+ return operationCalls;
1342
1328
  }
1343
1329
  /**
1344
1330
  * {@inheritDoc ICreditAccountsService.repayAndLiquidateCreditAccount}
@@ -1559,19 +1545,13 @@ class CreditAccountsServiceV310 extends SDKConstruct {
1559
1545
  );
1560
1546
  }
1561
1547
  /**
1562
- * {@inheritDoc ICreditAccountsService.assembleCaUpdateCalls}
1548
+ * {@inheritDoc ICreditAccountsService.assembleCaOperations}
1563
1549
  */
1564
- assembleCaUpdateCalls({
1550
+ assembleCaOperations({
1565
1551
  operations,
1566
- routerCallGroups,
1567
- creditFacade,
1568
- withdrawTo,
1569
- creditAccount,
1570
- underlyingToken
1552
+ creditFacade
1571
1553
  }) {
1572
1554
  const calls = [];
1573
- let swapGroupIndex = 0;
1574
- let routerGroupsConsumed = 0;
1575
1555
  for (const op of operations) {
1576
1556
  switch (op.type) {
1577
1557
  case "increaseDebt":
@@ -1595,22 +1575,15 @@ class CreditAccountsServiceV310 extends SDKConstruct {
1595
1575
  creditFacade,
1596
1576
  op.token,
1597
1577
  op.amount,
1598
- withdrawTo
1578
+ op.to
1599
1579
  )
1600
1580
  );
1601
1581
  break;
1602
- case "swap": {
1603
- const routerCalls = routerCallGroups[swapGroupIndex];
1604
- if (!routerCalls) {
1605
- throw new Error(
1606
- `assembleCaUpdateCalls: missing router calls for swap leg ${swapGroupIndex}`
1607
- );
1608
- }
1609
- calls.push(...routerCalls);
1610
- swapGroupIndex += 1;
1611
- routerGroupsConsumed += 1;
1582
+ case "swap":
1583
+ case "wrapRwaCollateral":
1584
+ case "unwrapRwaCollateral":
1585
+ calls.push(...op.calls);
1612
1586
  break;
1613
- }
1614
1587
  case "changeQuota": {
1615
1588
  const quotaAssets = [...op.quotaIncrease, ...op.quotaDecrease];
1616
1589
  if (quotaAssets.length === 0) {
@@ -1624,58 +1597,14 @@ class CreditAccountsServiceV310 extends SDKConstruct {
1624
1597
  );
1625
1598
  break;
1626
1599
  }
1627
- case "closeCreditAccount": {
1628
- for (const group of routerCallGroups) {
1629
- calls.push(...group);
1630
- routerGroupsConsumed += 1;
1631
- }
1632
- calls.push(
1633
- ...this.#prepareDisableQuotas({
1634
- creditFacade,
1635
- tokens: Object.entries(creditAccount.initialQuotas).map(
1636
- ([token, { quota }]) => ({
1637
- token,
1638
- quota
1639
- })
1640
- )
1641
- })
1642
- );
1643
- if (creditAccount.debt > 0n) {
1644
- calls.push(
1645
- ...this.#prepareDecreaseDebt({
1646
- creditFacade,
1647
- debt: creditAccount.debt
1648
- })
1649
- );
1650
- }
1651
- const hasAssets = creditAccount.assets.some(
1652
- (asset) => asset.balance > 0n
1653
- );
1654
- if (hasAssets) {
1655
- calls.push(
1656
- this.#prepareWithdrawToken(
1657
- creditFacade,
1658
- underlyingToken,
1659
- MAX_UINT256,
1660
- withdrawTo
1661
- )
1662
- );
1663
- }
1664
- break;
1665
- }
1666
1600
  default: {
1667
1601
  const _exhaustive = op;
1668
1602
  throw new Error(
1669
- `assembleCaUpdateCalls: unsupported operation ${_exhaustive}`
1603
+ `assembleCaOperations: unsupported operation ${JSON.stringify(_exhaustive)}`
1670
1604
  );
1671
1605
  }
1672
1606
  }
1673
1607
  }
1674
- if (routerGroupsConsumed !== routerCallGroups.length) {
1675
- throw new Error(
1676
- `assembleCaUpdateCalls: router call group mismatch (consumed ${routerGroupsConsumed}, got ${routerCallGroups.length})`
1677
- );
1678
- }
1679
1608
  return calls;
1680
1609
  }
1681
1610
  /**
@@ -1718,10 +1647,10 @@ class CreditAccountsServiceV310 extends SDKConstruct {
1718
1647
  return calls;
1719
1648
  }
1720
1649
  #prepareUpdateQuotas(creditFacade, { averageQuota, minQuota }) {
1721
- const minRecord = assetsMap(minQuota);
1650
+ const minRecord = new AssetsMap(minQuota);
1722
1651
  const calls = averageQuota.map((q) => {
1723
- const minAsset = minRecord.get(q.token);
1724
- const min = minAsset && minAsset?.balance > 0 ? minAsset.balance : 0n;
1652
+ const minBalance = minRecord.get(q.token);
1653
+ const min = minBalance && minBalance > 0n ? minBalance : 0n;
1725
1654
  return {
1726
1655
  target: creditFacade,
1727
1656
  callData: encodeFunctionData({
@@ -1900,6 +1829,5 @@ class CreditAccountsServiceV310 extends SDKConstruct {
1900
1829
  }
1901
1830
  }
1902
1831
  export {
1903
- CreditAccountsServiceV310,
1904
- getWithdrawalCompressorAddress
1832
+ CreditAccountsServiceV310
1905
1833
  };
@@ -1,2 +1,3 @@
1
1
  export * from "./CreditAccountsServiceV310.js";
2
2
  export * from "./types.js";
3
+ export * from "./withdrawal-compressor/index.js";
@@ -0,0 +1,200 @@
1
+ import { isAddressEqual } from "viem";
2
+ import { BaseContract } from "../../base/index.js";
3
+ import { decodeDelayedIntent, encodeDelayedIntent } from "./intent-codec.js";
4
+ const iCreditAccountAbi = [
5
+ {
6
+ type: "function",
7
+ name: "creditManager",
8
+ inputs: [],
9
+ outputs: [{ name: "", type: "address", internalType: "address" }],
10
+ stateMutability: "view"
11
+ }
12
+ ];
13
+ class AbstractWithdrawalCompressorContract extends BaseContract {
14
+ #sdk;
15
+ constructor(sdk, args) {
16
+ super(sdk, args);
17
+ this.#sdk = sdk;
18
+ }
19
+ /**
20
+ * The contract is instantiated with the actual versioned ABI,
21
+ * this cast is type-level only (see {@link CommonAbi}).
22
+ **/
23
+ get common() {
24
+ return this.contract;
25
+ }
26
+ /**
27
+ * {@inheritDoc IWithdrawalCompressorContract.getWithdrawableAssets}
28
+ **/
29
+ async getWithdrawableAssets(creditManager) {
30
+ const resp = await this.common.read.getWithdrawableAssets([creditManager]);
31
+ return resp.map((a) => toWithdrawableAsset(a, creditManager));
32
+ }
33
+ /**
34
+ * {@inheritDoc IWithdrawalCompressorContract.getWithdrawableAssetsBatch}
35
+ **/
36
+ async getWithdrawableAssetsBatch(creditManagers) {
37
+ const cms = creditManagers ?? this.#sdk.marketRegister.creditManagers.map(
38
+ (cm) => cm.creditManager.address
39
+ );
40
+ const resp = await this.client.multicall({
41
+ contracts: cms.map(
42
+ (cm) => ({
43
+ address: this.address,
44
+ abi: this.abi,
45
+ functionName: "getWithdrawableAssets",
46
+ args: [cm]
47
+ })
48
+ ),
49
+ allowFailure: true,
50
+ batchSize: 0
51
+ });
52
+ return resp.flatMap((r, i) => {
53
+ if (r.status !== "success") {
54
+ this.logger?.warn(
55
+ `failed to get withdrawable assets of credit manager ${cms[i]}: ${r.error}`
56
+ );
57
+ return [];
58
+ }
59
+ return r.result.map((a) => toWithdrawableAsset(a, cms[i]));
60
+ });
61
+ }
62
+ /**
63
+ * {@inheritDoc IWithdrawalCompressorContract.getCurrentWithdrawals}
64
+ **/
65
+ async getCurrentWithdrawals(creditAccount) {
66
+ const [[claimable, pending], creditManager] = await this.client.multicall({
67
+ contracts: [
68
+ {
69
+ address: this.address,
70
+ abi: this.abi,
71
+ functionName: "getCurrentWithdrawals",
72
+ args: [creditAccount]
73
+ },
74
+ {
75
+ address: creditAccount,
76
+ abi: iCreditAccountAbi,
77
+ functionName: "creditManager"
78
+ }
79
+ ],
80
+ allowFailure: false,
81
+ batchSize: 0
82
+ });
83
+ return {
84
+ claimable: claimable.map(
85
+ (w) => toClaimableWithdrawal(w, creditManager, this.version >= 313)
86
+ ),
87
+ pending: pending.map(toPendingWithdrawal).sort((a, b) => a.claimableAt < b.claimableAt ? -1 : 1)
88
+ };
89
+ }
90
+ /**
91
+ * {@inheritDoc IWithdrawalCompressorContract.getWithdrawalRequestResult}
92
+ **/
93
+ async getWithdrawalRequestResult(creditAccount, token, amount, intent) {
94
+ const resp = intent ? await this.#getWithdrawalRequestResultWithIntent(
95
+ creditAccount,
96
+ token,
97
+ amount,
98
+ intent
99
+ ) : await this.common.read.getWithdrawalRequestResult([
100
+ creditAccount,
101
+ token,
102
+ amount
103
+ ]);
104
+ return {
105
+ token: resp.token,
106
+ amountIn: resp.amountIn,
107
+ outputs: resp.outputs.map(toWithdrawalOutput),
108
+ requestCalls: resp.requestCalls.map(toMultiCall),
109
+ claimableAt: resp.claimableAt
110
+ };
111
+ }
112
+ /**
113
+ * Previews a delayed withdrawal request with an intent attached as
114
+ * `extraData`. Only supported on v313+ compressors; on older versions,
115
+ * throws if `sdk.strictContractTypes` is `true`, otherwise logs a warning
116
+ * and previews the request without the intent.
117
+ *
118
+ * The contract overload accepting `extraData` also requires the withdrawal
119
+ * phantom token, which is resolved here the same way the 3-arg overload
120
+ * does it internally: via `getWithdrawableAssets` of the account's credit
121
+ * manager.
122
+ **/
123
+ async #getWithdrawalRequestResultWithIntent(creditAccount, token, amount, intent) {
124
+ if (this.version < 313) {
125
+ const message = `withdrawal intents are not supported by ${this.name} v${this.version}`;
126
+ if (this.#sdk.strictContractTypes) {
127
+ throw new Error(message);
128
+ }
129
+ this.logger?.warn(`${message}, requesting withdrawal without intent`);
130
+ return this.common.read.getWithdrawalRequestResult([
131
+ creditAccount,
132
+ token,
133
+ amount
134
+ ]);
135
+ }
136
+ const extraData = encodeDelayedIntent(intent);
137
+ const creditManager = await this.client.readContract({
138
+ address: creditAccount,
139
+ abi: iCreditAccountAbi,
140
+ functionName: "creditManager"
141
+ });
142
+ const assets = await this.common.read.getWithdrawableAssets([
143
+ creditManager
144
+ ]);
145
+ const asset = assets.find((a) => isAddressEqual(a.token, token));
146
+ if (!asset) {
147
+ throw new Error(
148
+ `token ${token} is not withdrawable from credit manager ${creditManager}`
149
+ );
150
+ }
151
+ return this.common.read.getWithdrawalRequestResult([
152
+ creditAccount,
153
+ token,
154
+ asset.withdrawalPhantomToken,
155
+ amount,
156
+ extraData
157
+ ]);
158
+ }
159
+ }
160
+ function toWithdrawalOutput(o) {
161
+ return { token: o.token, isDelayed: o.isDelayed, amount: o.amount };
162
+ }
163
+ function toMultiCall(c) {
164
+ return { target: c.target, callData: c.callData };
165
+ }
166
+ function toWithdrawableAsset(a, creditManager) {
167
+ return {
168
+ creditManager,
169
+ token: a.token,
170
+ withdrawalPhantomToken: a.withdrawalPhantomToken,
171
+ underlying: a.underlying,
172
+ withdrawalLength: a.withdrawalLength,
173
+ maxWithdrawals: a.maxWithdrawals
174
+ };
175
+ }
176
+ function toClaimableWithdrawal(w, creditManager, decodeIntent) {
177
+ let intent;
178
+ if (decodeIntent && w.extraData && w.extraData !== "0x") {
179
+ intent = { ...decodeDelayedIntent(w.extraData), creditManager };
180
+ }
181
+ return {
182
+ token: w.token,
183
+ withdrawalPhantomToken: w.withdrawalPhantomToken,
184
+ withdrawalTokenSpent: w.withdrawalTokenSpent,
185
+ outputs: w.outputs.map(toWithdrawalOutput),
186
+ claimCalls: w.claimCalls.map(toMultiCall),
187
+ intent
188
+ };
189
+ }
190
+ function toPendingWithdrawal(w) {
191
+ return {
192
+ token: w.token,
193
+ withdrawalPhantomToken: w.withdrawalPhantomToken,
194
+ expectedOutputs: w.expectedOutputs.map(toWithdrawalOutput),
195
+ claimableAt: w.claimableAt
196
+ };
197
+ }
198
+ export {
199
+ AbstractWithdrawalCompressorContract
200
+ };
@@ -0,0 +1,16 @@
1
+ import { iWithdrawalCompressorV310Abi } from "../../../abi/IWithdrawalCompressorV310.js";
2
+ import { AbstractWithdrawalCompressorContract } from "./AbstractWithdrawalCompressorContract.js";
3
+ const abi = iWithdrawalCompressorV310Abi;
4
+ class WithdrawalCompressorV310Contract extends AbstractWithdrawalCompressorContract {
5
+ constructor(sdk, address) {
6
+ super(sdk, {
7
+ addr: address,
8
+ name: "WithdrawalCompressorV310",
9
+ abi,
10
+ version: 310
11
+ });
12
+ }
13
+ }
14
+ export {
15
+ WithdrawalCompressorV310Contract
16
+ };
@@ -0,0 +1,16 @@
1
+ import { iWithdrawalCompressorV311Abi } from "../../../abi/IWithdrawalCompressorV311.js";
2
+ import { AbstractWithdrawalCompressorContract } from "./AbstractWithdrawalCompressorContract.js";
3
+ const abi = iWithdrawalCompressorV311Abi;
4
+ class WithdrawalCompressorV311Contract extends AbstractWithdrawalCompressorContract {
5
+ constructor(sdk, address) {
6
+ super(sdk, {
7
+ addr: address,
8
+ name: "WithdrawalCompressorV311",
9
+ abi,
10
+ version: 311
11
+ });
12
+ }
13
+ }
14
+ export {
15
+ WithdrawalCompressorV311Contract
16
+ };
@@ -0,0 +1,16 @@
1
+ import { iWithdrawalCompressorV313Abi } from "../../../abi/IWithdrawalCompressorV313.js";
2
+ import { AbstractWithdrawalCompressorContract } from "./AbstractWithdrawalCompressorContract.js";
3
+ const abi = iWithdrawalCompressorV313Abi;
4
+ class WithdrawalCompressorV313Contract extends AbstractWithdrawalCompressorContract {
5
+ constructor(sdk, address) {
6
+ super(sdk, {
7
+ addr: address,
8
+ name: "WithdrawalCompressorV313",
9
+ abi,
10
+ version: 313
11
+ });
12
+ }
13
+ }
14
+ export {
15
+ WithdrawalCompressorV313Contract
16
+ };
@@ -0,0 +1,28 @@
1
+ const WITHDRAWAL_COMPRESSORS = {
2
+ Mainnet: {
3
+ 310: "0x36F3d0Bb73CBC2E94fE24dF0f26a689409cF9023",
4
+ 313: "0x9605D59E40963ADce8a6895Aa3Fa497320Ef3F3b"
5
+ },
6
+ Monad: {
7
+ 310: "0x36F3d0Bb73CBC2E94fE24dF0f26a689409cF9023"
8
+ }
9
+ };
10
+ function getWithdrawalCompressorAddress(network, version) {
11
+ const deployments = WITHDRAWAL_COMPRESSORS[network];
12
+ if (!deployments) {
13
+ return void 0;
14
+ }
15
+ if (version !== void 0) {
16
+ const address2 = deployments[version];
17
+ return address2 ? { address: address2, version } : void 0;
18
+ }
19
+ const latest = Object.keys(deployments).map(Number).sort((a, b) => b - a)[0];
20
+ if (latest === void 0) {
21
+ return void 0;
22
+ }
23
+ const address = deployments[latest];
24
+ return address ? { address, version: latest } : void 0;
25
+ }
26
+ export {
27
+ getWithdrawalCompressorAddress
28
+ };
@@ -0,0 +1,29 @@
1
+ import { getWithdrawalCompressorAddress } from "./addresses.js";
2
+ import { WithdrawalCompressorV310Contract } from "./WithdrawalCompressorV310Contract.js";
3
+ import { WithdrawalCompressorV311Contract } from "./WithdrawalCompressorV311Contract.js";
4
+ import { WithdrawalCompressorV313Contract } from "./WithdrawalCompressorV313Contract.js";
5
+ function createWithdrawalCompressor(sdk, version) {
6
+ const location = getWithdrawalCompressorAddress(sdk.networkType, version);
7
+ if (!location) {
8
+ throw new Error(
9
+ `no withdrawal compressor${version ? ` v${version}` : ""} on ${sdk.networkType}`
10
+ );
11
+ }
12
+ const cached = sdk.getContract(
13
+ location.address
14
+ );
15
+ if (cached) {
16
+ return cached;
17
+ }
18
+ switch (location.version) {
19
+ case 310:
20
+ return new WithdrawalCompressorV310Contract(sdk, location.address);
21
+ case 311:
22
+ return new WithdrawalCompressorV311Contract(sdk, location.address);
23
+ case 313:
24
+ return new WithdrawalCompressorV313Contract(sdk, location.address);
25
+ }
26
+ }
27
+ export {
28
+ createWithdrawalCompressor
29
+ };
@@ -0,0 +1,8 @@
1
+ export * from "./AbstractWithdrawalCompressorContract.js";
2
+ export * from "./addresses.js";
3
+ export * from "./createWithdrawalCompressor.js";
4
+ export * from "./intent-codec.js";
5
+ export * from "./types.js";
6
+ export * from "./WithdrawalCompressorV310Contract.js";
7
+ export * from "./WithdrawalCompressorV311Contract.js";
8
+ export * from "./WithdrawalCompressorV313Contract.js";