@gearbox-protocol/sdk 14.12.0-next.5 → 14.12.0-next.50

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 (603) hide show
  1. package/dist/cjs/abi/ILiquidationCompressorV313.js +103 -0
  2. package/dist/cjs/abi/IWithdrawalCompressorV313.js +444 -0
  3. package/dist/cjs/abi/compressors/liquidationCompressor.js +215 -0
  4. package/dist/cjs/abi/compressors/subcompressors/liquidation/midasLiquidationSubcompressor.js +104 -0
  5. package/dist/cjs/abi/compressors/subcompressors/liquidation/securitizeLiquidationSubcompressor.js +104 -0
  6. package/dist/cjs/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +130 -2
  7. package/dist/cjs/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +130 -2
  8. package/dist/cjs/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +130 -2
  9. package/dist/cjs/abi/compressors/withdrawalCompressor.js +244 -3
  10. package/dist/cjs/abi/helpers/redemptionLogger.js +160 -0
  11. package/dist/cjs/abi/iRedemptionLoggerV310.js +119 -0
  12. package/dist/cjs/abi/ierc4626Adapter.js +264 -0
  13. package/dist/cjs/abi/router/midasWorker.js +4 -4
  14. package/dist/cjs/dev/AccountOpener.js +9 -15
  15. package/dist/cjs/dev/index.js +3 -1
  16. package/dist/cjs/dev/withdrawalAbi.js +2137 -0
  17. package/dist/cjs/dev/withdrawalUtils.js +285 -0
  18. package/dist/cjs/history/classifyMulticallOperations.js +2 -0
  19. package/dist/cjs/history/mapOperations.js +7 -0
  20. package/dist/cjs/history/populateContractsRegister.js +14 -11
  21. package/dist/cjs/{preview/prerequisites/prepareAction.js → permissionless/bindings/factory/rate-keeper-factory.js} +11 -24
  22. package/dist/cjs/permissionless/bindings/market-configurator.js +11 -0
  23. package/dist/cjs/plugins/adapters/abi/actionAbi.js +14 -15
  24. package/dist/cjs/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +332 -0
  25. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +436 -0
  26. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +183 -0
  27. package/dist/cjs/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +586 -0
  28. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +385 -0
  29. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +143 -0
  30. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +708 -0
  31. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +708 -0
  32. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +708 -0
  33. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +708 -0
  34. package/dist/cjs/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +206 -0
  35. package/dist/cjs/plugins/adapters/abi/adapters/iFluidDexAdapter.js +183 -0
  36. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +473 -0
  37. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +482 -0
  38. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +333 -0
  39. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +488 -0
  40. package/dist/cjs/plugins/adapters/abi/adapters/iLidoV1Adapter.js +171 -0
  41. package/dist/cjs/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +269 -0
  42. package/dist/cjs/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +350 -0
  43. package/dist/cjs/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +225 -0
  44. package/dist/cjs/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +471 -0
  45. package/dist/cjs/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +262 -0
  46. package/dist/cjs/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +622 -0
  47. package/dist/cjs/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1787 -0
  48. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +6 -6
  49. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +49 -14
  50. package/dist/cjs/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +288 -0
  51. package/dist/cjs/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +459 -0
  52. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +290 -0
  53. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +505 -0
  54. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +534 -0
  55. package/dist/cjs/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +475 -0
  56. package/dist/cjs/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +327 -0
  57. package/dist/cjs/plugins/adapters/abi/adapters/index.js +90 -0
  58. package/dist/cjs/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +183 -0
  59. package/dist/cjs/plugins/adapters/abi/adapters/mellowDvvAdapter.js +319 -0
  60. package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +6 -43
  61. package/dist/cjs/plugins/adapters/abi/conctructorAbiPatterns.js +0 -16
  62. package/dist/cjs/plugins/adapters/abi/index.js +4 -0
  63. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGateway.js → midas/iMidasGatewayV311.js} +82 -37
  64. package/dist/cjs/plugins/adapters/abi/midas/index.js +22 -0
  65. package/dist/cjs/plugins/adapters/abi/securitize/iSecuritizeRedemptionGatewayV311.js +317 -0
  66. package/dist/cjs/plugins/adapters/abi/securitize/index.js +2 -6
  67. package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +3 -296
  68. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +92 -2
  69. package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +69 -0
  70. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  71. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +25 -4
  72. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -4
  73. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +21 -4
  74. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +24 -4
  75. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +32 -4
  76. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +6 -11
  77. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +6 -11
  78. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +6 -11
  79. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +6 -11
  80. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +6 -11
  81. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +20 -4
  82. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +42 -4
  83. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +20 -4
  84. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +19 -4
  85. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +28 -4
  86. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +5 -5
  87. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +16 -5
  88. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +5 -5
  89. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +16 -4
  90. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +26 -4
  91. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +21 -4
  92. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +57 -4
  93. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +16 -4
  94. package/dist/cjs/plugins/adapters/contracts/MidasGatewayAdapterContract.js +169 -0
  95. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +16 -5
  96. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +18 -5
  97. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +60 -4
  98. package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +16 -4
  99. package/dist/cjs/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +59 -6
  100. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +23 -4
  101. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +15 -4
  102. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +15 -4
  103. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +21 -4
  104. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +20 -5
  105. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +21 -5
  106. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +15 -4
  107. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +21 -4
  108. package/dist/cjs/plugins/adapters/contracts/index.js +2 -12
  109. package/dist/cjs/plugins/adapters/createAdapter.js +42 -49
  110. package/dist/cjs/plugins/adapters/types.js +2 -11
  111. package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +25 -55
  112. package/dist/cjs/preview/index.js +5 -1
  113. package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
  114. package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +1 -2
  115. package/dist/cjs/preview/parse/parseOperationCalldata.js +3 -11
  116. package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +1 -2
  117. package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +18 -18
  118. package/dist/cjs/preview/parse/types.js +1 -1
  119. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +19 -42
  120. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +22 -54
  121. package/dist/cjs/preview/prerequisites/Prerequisite.js +10 -35
  122. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +36 -31
  123. package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +91 -0
  124. package/dist/cjs/preview/prerequisites/buildPartialLiquidationPrerequisites.js +40 -0
  125. package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +114 -0
  126. package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +59 -0
  127. package/dist/cjs/preview/prerequisites/checkPrerequisites.js +86 -0
  128. package/dist/cjs/preview/prerequisites/helpers.js +36 -0
  129. package/dist/cjs/preview/prerequisites/index.js +2 -6
  130. package/dist/cjs/preview/preview/CreditAccountState.js +154 -0
  131. package/dist/cjs/preview/preview/applyRWAWrapUnwrap.js +74 -0
  132. package/dist/cjs/preview/preview/buildDelayedPreview.js +173 -0
  133. package/dist/cjs/preview/preview/detectCloseOrRepay.js +54 -0
  134. package/dist/cjs/preview/preview/detectDelayedClaim.js +53 -0
  135. package/dist/cjs/preview/preview/detectDelayedOperation.js +70 -0
  136. package/dist/cjs/preview/preview/index.js +18 -0
  137. package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +78 -0
  138. package/dist/cjs/preview/preview/previewCloseOrRepayCreditAccount.js +94 -0
  139. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +36 -51
  140. package/dist/cjs/preview/preview/previewOperation.js +74 -1
  141. package/dist/cjs/preview/preview/previewPoolOperation.js +6 -39
  142. package/dist/cjs/preview/preview/replayInnerOperations.js +153 -0
  143. package/dist/cjs/preview/preview/replayMulticall.js +37 -0
  144. package/dist/cjs/preview/preview/types.js +33 -0
  145. package/dist/cjs/preview/preview/unwrapNativeCollateral.js +51 -0
  146. package/dist/cjs/preview/simulate/simulatePoolOperation.js +2 -5
  147. package/dist/cjs/preview/types.js +16 -0
  148. package/dist/cjs/rewards/rewards/extra-apy.js +8 -4
  149. package/dist/cjs/sdk/MultichainSDK.js +7 -0
  150. package/dist/cjs/sdk/OnchainSDK.js +29 -0
  151. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +172 -210
  152. package/dist/cjs/sdk/accounts/index.js +5 -1
  153. package/dist/cjs/sdk/accounts/liquidations/LiquidationsService.js +251 -0
  154. package/dist/cjs/sdk/accounts/liquidations/MultichainLiquidationsService.js +97 -0
  155. package/dist/cjs/sdk/accounts/liquidations/constants.js +29 -0
  156. package/dist/cjs/sdk/accounts/liquidations/helpers.js +140 -0
  157. package/dist/cjs/sdk/accounts/liquidations/index.js +28 -0
  158. package/dist/cjs/sdk/accounts/liquidations/types.js +16 -0
  159. package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +292 -0
  160. package/dist/cjs/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +72 -0
  161. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +40 -0
  162. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +40 -0
  163. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +222 -0
  164. package/dist/cjs/sdk/accounts/withdrawal-compressor/addresses.js +40 -0
  165. package/dist/cjs/{preview/preview/extractExpectedBalanceChanges.js → sdk/accounts/withdrawal-compressor/createRedemptionLogger.js} +16 -21
  166. package/dist/cjs/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +45 -0
  167. package/dist/cjs/sdk/accounts/withdrawal-compressor/errors.js +38 -0
  168. package/dist/cjs/sdk/accounts/withdrawal-compressor/index.js +42 -0
  169. package/dist/cjs/sdk/accounts/withdrawal-compressor/intent-codec.js +119 -0
  170. package/dist/cjs/sdk/accounts/withdrawal-compressor/types.js +36 -0
  171. package/dist/cjs/sdk/base/BaseContract.js +4 -2
  172. package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
  173. package/dist/cjs/sdk/chain/chains.js +4 -2
  174. package/dist/cjs/sdk/constants/address-provider.js +3 -0
  175. package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +26 -4
  176. package/dist/cjs/sdk/router/AbstractRouterContract.js +21 -27
  177. package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
  178. package/dist/cjs/sdk/router/helpers.js +0 -5
  179. package/dist/cjs/sdk/utils/AddressMap.js +6 -0
  180. package/dist/cjs/sdk/utils/AddressSet.js +7 -0
  181. package/dist/cjs/sdk/utils/AssetsMap.js +97 -0
  182. package/dist/cjs/sdk/utils/index.js +2 -0
  183. package/dist/esm/abi/ILiquidationCompressorV313.js +79 -0
  184. package/dist/esm/abi/IWithdrawalCompressorV313.js +420 -0
  185. package/dist/esm/abi/compressors/liquidationCompressor.js +191 -0
  186. package/dist/esm/abi/compressors/subcompressors/liquidation/midasLiquidationSubcompressor.js +80 -0
  187. package/dist/esm/abi/compressors/subcompressors/liquidation/securitizeLiquidationSubcompressor.js +80 -0
  188. package/dist/esm/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +130 -2
  189. package/dist/esm/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +130 -2
  190. package/dist/esm/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +130 -2
  191. package/dist/esm/abi/compressors/withdrawalCompressor.js +244 -3
  192. package/dist/esm/abi/helpers/redemptionLogger.js +136 -0
  193. package/dist/esm/abi/iRedemptionLoggerV310.js +95 -0
  194. package/dist/esm/abi/ierc4626Adapter.js +240 -0
  195. package/dist/esm/abi/router/midasWorker.js +4 -4
  196. package/dist/esm/dev/AccountOpener.js +10 -15
  197. package/dist/esm/dev/index.js +1 -0
  198. package/dist/esm/dev/withdrawalAbi.js +2106 -0
  199. package/dist/esm/dev/withdrawalUtils.js +273 -0
  200. package/dist/esm/history/classifyMulticallOperations.js +2 -0
  201. package/dist/esm/history/mapOperations.js +7 -0
  202. package/dist/esm/history/populateContractsRegister.js +17 -12
  203. package/dist/esm/permissionless/bindings/factory/rate-keeper-factory.js +11 -0
  204. package/dist/esm/permissionless/bindings/market-configurator.js +11 -0
  205. package/dist/esm/plugins/adapters/abi/actionAbi.js +14 -15
  206. package/dist/esm/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +308 -0
  207. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +412 -0
  208. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +159 -0
  209. package/dist/esm/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +562 -0
  210. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +361 -0
  211. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +119 -0
  212. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +684 -0
  213. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +684 -0
  214. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +684 -0
  215. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +684 -0
  216. package/dist/esm/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +182 -0
  217. package/dist/esm/plugins/adapters/abi/adapters/iFluidDexAdapter.js +159 -0
  218. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +449 -0
  219. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +457 -0
  220. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +308 -0
  221. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +463 -0
  222. package/dist/esm/plugins/adapters/abi/adapters/iLidoV1Adapter.js +147 -0
  223. package/dist/esm/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +245 -0
  224. package/dist/esm/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +326 -0
  225. package/dist/esm/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +201 -0
  226. package/dist/esm/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +447 -0
  227. package/dist/esm/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +238 -0
  228. package/dist/esm/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +597 -0
  229. package/dist/esm/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1763 -0
  230. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +2 -2
  231. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +45 -10
  232. package/dist/esm/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +264 -0
  233. package/dist/esm/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +435 -0
  234. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +266 -0
  235. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +481 -0
  236. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +509 -0
  237. package/dist/esm/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +450 -0
  238. package/dist/esm/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +303 -0
  239. package/dist/esm/plugins/adapters/abi/adapters/index.js +35 -0
  240. package/dist/esm/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +159 -0
  241. package/dist/esm/plugins/adapters/abi/adapters/mellowDvvAdapter.js +295 -0
  242. package/dist/esm/plugins/adapters/abi/conctructorAbi.js +6 -45
  243. package/dist/esm/plugins/adapters/abi/conctructorAbiPatterns.js +0 -14
  244. package/dist/esm/plugins/adapters/abi/index.js +2 -0
  245. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGateway.js → midas/iMidasGatewayV311.js} +78 -33
  246. package/dist/esm/plugins/adapters/abi/midas/index.js +1 -0
  247. package/dist/esm/plugins/adapters/abi/securitize/iSecuritizeRedemptionGatewayV311.js +293 -0
  248. package/dist/esm/plugins/adapters/abi/securitize/index.js +1 -3
  249. package/dist/esm/plugins/adapters/abi/targetContractAbi.js +2 -291
  250. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +92 -2
  251. package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +45 -0
  252. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  253. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +27 -4
  254. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +23 -4
  255. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +23 -4
  256. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +27 -4
  257. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +34 -4
  258. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +5 -10
  259. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +5 -10
  260. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +5 -10
  261. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +5 -10
  262. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +5 -10
  263. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +22 -4
  264. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +45 -4
  265. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +22 -4
  266. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +21 -4
  267. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +30 -4
  268. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +6 -6
  269. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +19 -6
  270. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +6 -6
  271. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +18 -4
  272. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +28 -4
  273. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +23 -4
  274. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +60 -4
  275. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +18 -4
  276. package/dist/esm/plugins/adapters/contracts/MidasGatewayAdapterContract.js +152 -0
  277. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +20 -7
  278. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +23 -8
  279. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +62 -4
  280. package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +19 -5
  281. package/dist/esm/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +63 -7
  282. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +25 -4
  283. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +17 -4
  284. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +14 -3
  285. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -3
  286. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +22 -5
  287. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +24 -6
  288. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +17 -4
  289. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +23 -4
  290. package/dist/esm/plugins/adapters/contracts/index.js +1 -6
  291. package/dist/esm/plugins/adapters/createAdapter.js +43 -52
  292. package/dist/esm/plugins/adapters/types.js +2 -11
  293. package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +26 -60
  294. package/dist/esm/preview/index.js +2 -0
  295. package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
  296. package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +1 -2
  297. package/dist/esm/preview/parse/parseOperationCalldata.js +3 -11
  298. package/dist/esm/preview/parse/parsePoolOperationCalldata.js +1 -2
  299. package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +18 -18
  300. package/dist/esm/preview/parse/types.js +1 -1
  301. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +20 -46
  302. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +23 -58
  303. package/dist/esm/preview/prerequisites/Prerequisite.js +10 -37
  304. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +38 -33
  305. package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +72 -0
  306. package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +16 -0
  307. package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +90 -0
  308. package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +35 -0
  309. package/dist/esm/preview/prerequisites/checkPrerequisites.js +62 -0
  310. package/dist/esm/preview/prerequisites/helpers.js +14 -0
  311. package/dist/esm/preview/prerequisites/index.js +1 -3
  312. package/dist/esm/preview/preview/CreditAccountState.js +133 -0
  313. package/dist/esm/preview/preview/applyRWAWrapUnwrap.js +50 -0
  314. package/dist/esm/preview/preview/buildDelayedPreview.js +154 -0
  315. package/dist/esm/preview/preview/detectCloseOrRepay.js +29 -0
  316. package/dist/esm/preview/preview/detectDelayedClaim.js +30 -0
  317. package/dist/esm/preview/preview/detectDelayedOperation.js +51 -0
  318. package/dist/esm/preview/preview/index.js +9 -0
  319. package/dist/esm/preview/preview/previewAdjustCreditAccount.js +57 -0
  320. package/dist/esm/preview/preview/previewCloseOrRepayCreditAccount.js +76 -0
  321. package/dist/esm/preview/preview/previewOpenCreditAccount.js +43 -52
  322. package/dist/esm/preview/preview/previewOperation.js +80 -2
  323. package/dist/esm/preview/preview/previewPoolOperation.js +7 -42
  324. package/dist/esm/preview/preview/replayInnerOperations.js +137 -0
  325. package/dist/esm/preview/preview/replayMulticall.js +16 -0
  326. package/dist/esm/preview/preview/types.js +18 -0
  327. package/dist/esm/preview/preview/unwrapNativeCollateral.js +29 -0
  328. package/dist/esm/preview/simulate/simulateOperation.js +1 -4
  329. package/dist/esm/preview/simulate/simulatePoolOperation.js +2 -5
  330. package/dist/esm/preview/types.js +0 -0
  331. package/dist/esm/rewards/rewards/extra-apy.js +8 -4
  332. package/dist/esm/sdk/MultichainSDK.js +7 -0
  333. package/dist/esm/sdk/OnchainSDK.js +33 -1
  334. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +168 -205
  335. package/dist/esm/sdk/accounts/index.js +2 -0
  336. package/dist/esm/sdk/accounts/liquidations/LiquidationsService.js +236 -0
  337. package/dist/esm/sdk/accounts/liquidations/MultichainLiquidationsService.js +73 -0
  338. package/dist/esm/sdk/accounts/liquidations/constants.js +5 -0
  339. package/dist/esm/sdk/accounts/liquidations/helpers.js +108 -0
  340. package/dist/esm/sdk/accounts/liquidations/index.js +4 -0
  341. package/dist/esm/sdk/accounts/liquidations/types.js +0 -0
  342. package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +264 -0
  343. package/dist/esm/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +48 -0
  344. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +16 -0
  345. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +16 -0
  346. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +204 -0
  347. package/dist/esm/sdk/accounts/withdrawal-compressor/addresses.js +16 -0
  348. package/dist/esm/sdk/accounts/withdrawal-compressor/createRedemptionLogger.js +23 -0
  349. package/dist/esm/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +21 -0
  350. package/dist/esm/sdk/accounts/withdrawal-compressor/errors.js +14 -0
  351. package/dist/esm/sdk/accounts/withdrawal-compressor/index.js +11 -0
  352. package/dist/esm/sdk/accounts/withdrawal-compressor/intent-codec.js +92 -0
  353. package/dist/esm/sdk/accounts/withdrawal-compressor/types.js +12 -0
  354. package/dist/esm/sdk/base/BaseContract.js +4 -2
  355. package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
  356. package/dist/esm/sdk/chain/chains.js +4 -2
  357. package/dist/esm/sdk/constants/address-provider.js +2 -0
  358. package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +26 -4
  359. package/dist/esm/sdk/router/AbstractRouterContract.js +25 -29
  360. package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
  361. package/dist/esm/sdk/router/helpers.js +0 -4
  362. package/dist/esm/sdk/utils/AddressMap.js +6 -0
  363. package/dist/esm/sdk/utils/AddressSet.js +7 -0
  364. package/dist/esm/sdk/utils/AssetsMap.js +73 -0
  365. package/dist/esm/sdk/utils/index.js +1 -0
  366. package/dist/types/abi/ILiquidationCompressorV313.d.ts +107 -0
  367. package/dist/types/abi/IWithdrawalCompressorV313.d.ts +596 -0
  368. package/dist/types/abi/compressors/liquidationCompressor.d.ts +262 -0
  369. package/dist/types/abi/compressors/subcompressors/liquidation/midasLiquidationSubcompressor.d.ts +111 -0
  370. package/dist/types/abi/compressors/subcompressors/liquidation/securitizeLiquidationSubcompressor.d.ts +111 -0
  371. package/dist/types/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.d.ts +198 -0
  372. package/dist/types/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.d.ts +198 -0
  373. package/dist/types/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.d.ts +198 -0
  374. package/dist/types/abi/compressors/withdrawalCompressor.d.ts +355 -0
  375. package/dist/types/abi/helpers/redemptionLogger.d.ts +167 -0
  376. package/dist/types/abi/iRedemptionLoggerV310.d.ts +122 -0
  377. package/dist/types/abi/ierc4626Adapter.d.ts +179 -0
  378. package/dist/types/abi/router/midasWorker.d.ts +4 -4
  379. package/dist/types/common-utils/utils/creditAccount/sort.d.ts +3 -3
  380. package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +1 -1
  381. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
  382. package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-eligible.d.ts +1 -1
  383. package/dist/types/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.d.ts +1 -1
  384. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
  385. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
  386. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
  387. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
  388. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
  389. package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
  390. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
  391. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
  392. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
  393. package/dist/types/dev/abi.d.ts +4 -4
  394. package/dist/types/dev/index.d.ts +1 -0
  395. package/dist/types/dev/providers.d.ts +1 -1
  396. package/dist/types/dev/withdrawalAbi.d.ts +1608 -0
  397. package/dist/types/dev/withdrawalUtils.d.ts +19 -0
  398. package/dist/types/history/populateContractsRegister.d.ts +1 -1
  399. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +9 -9
  400. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +355 -0
  401. package/dist/types/permissionless/bindings/factory/rate-keeper-factory.d.ts +179 -0
  402. package/dist/types/permissionless/bindings/market-configurator.d.ts +2 -0
  403. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +1 -1
  404. package/dist/types/plugins/adapters/abi/actionAbi.d.ts +1 -1
  405. package/dist/types/plugins/adapters/abi/adapters/erc4626ReferralAdapter.d.ts +231 -0
  406. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.d.ts +314 -0
  407. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.d.ts +117 -0
  408. package/dist/types/plugins/adapters/abi/adapters/iCamelotV3Adapter.d.ts +428 -0
  409. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.d.ts +271 -0
  410. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.d.ts +204 -0
  411. package/dist/types/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.d.ts +519 -0
  412. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.d.ts +519 -0
  413. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.d.ts +519 -0
  414. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.d.ts +519 -0
  415. package/dist/types/plugins/adapters/abi/adapters/iDaiUsdsAdapter.d.ts +135 -0
  416. package/dist/types/plugins/adapters/abi/adapters/iFluidDexAdapter.d.ts +119 -0
  417. package/dist/types/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.d.ts +338 -0
  418. package/dist/types/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.d.ts +346 -0
  419. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtDepositPool.d.ts +233 -0
  420. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.d.ts +349 -0
  421. package/dist/types/plugins/adapters/abi/adapters/iLidoV1Adapter.d.ts +109 -0
  422. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.d.ts → adapters/iMellow4626VaultAdapter.d.ts} +81 -83
  423. package/dist/types/plugins/adapters/abi/adapters/iMellowClaimerAdapter.d.ts +247 -0
  424. package/dist/types/plugins/adapters/abi/adapters/iMellowWrapperAdapter.d.ts +151 -0
  425. package/dist/types/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.d.ts +335 -0
  426. package/dist/types/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.d.ts +180 -0
  427. package/dist/types/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.d.ts +453 -0
  428. package/dist/types/plugins/adapters/abi/adapters/iPendleRouterAdapter.d.ts +1366 -0
  429. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.d.ts → adapters/iSecuritizeOnRampAdapterV310.d.ts} +1 -1
  430. package/dist/types/plugins/adapters/abi/adapters/iSecuritizeRedemptionGatewayAdapterV311.d.ts +251 -0
  431. package/dist/types/plugins/adapters/abi/adapters/iStakingRewardsAdapter.d.ts +197 -0
  432. package/dist/types/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.d.ts +333 -0
  433. package/dist/types/plugins/adapters/abi/adapters/iUniswapV2Adapter.d.ts +202 -0
  434. package/dist/types/plugins/adapters/abi/adapters/iUniswapV3Adapter.d.ts +367 -0
  435. package/dist/types/plugins/adapters/abi/adapters/iUniswapV4Adapter.d.ts +390 -0
  436. package/dist/types/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.d.ts +336 -0
  437. package/dist/types/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.d.ts +232 -0
  438. package/dist/types/plugins/adapters/abi/adapters/index.d.ts +35 -0
  439. package/dist/types/plugins/adapters/abi/adapters/iwstEthv1Adapter.d.ts +117 -0
  440. package/dist/types/plugins/adapters/abi/adapters/mellowDvvAdapter.d.ts +221 -0
  441. package/dist/types/plugins/adapters/abi/conctructorAbiPatterns.d.ts +0 -26
  442. package/dist/types/plugins/adapters/abi/index.d.ts +2 -0
  443. package/dist/types/plugins/adapters/abi/midas/iMidasGatewayV311.d.ts +261 -0
  444. package/dist/types/plugins/adapters/abi/midas/index.d.ts +1 -0
  445. package/dist/types/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.d.ts → iSecuritizeRedemptionGatewayV311.d.ts} +39 -1
  446. package/dist/types/plugins/adapters/abi/securitize/index.d.ts +1 -3
  447. package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +1 -477
  448. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +66 -4
  449. package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +17 -0
  450. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  451. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +9 -8
  452. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +7 -6
  453. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +9 -8
  454. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +9 -8
  455. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +13 -12
  456. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +9 -12
  457. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +9 -12
  458. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +9 -12
  459. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +4 -7
  460. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +9 -12
  461. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +8 -7
  462. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +14 -7
  463. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +8 -7
  464. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +8 -7
  465. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +9 -8
  466. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +5 -5
  467. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +7 -6
  468. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +7 -7
  469. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +9 -8
  470. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +7 -6
  471. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +8 -7
  472. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +22 -8
  473. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +7 -6
  474. package/dist/types/plugins/adapters/contracts/MidasGatewayAdapterContract.d.ts +642 -0
  475. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +9 -8
  476. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +9 -8
  477. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +9 -8
  478. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +8 -7
  479. package/dist/types/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +134 -15
  480. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +9 -8
  481. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +9 -8
  482. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +8 -7
  483. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +8 -7
  484. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +9 -8
  485. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +9 -8
  486. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +9 -8
  487. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +7 -6
  488. package/dist/types/plugins/adapters/contracts/index.d.ts +1 -6
  489. package/dist/types/plugins/adapters/createAdapter.d.ts +2 -2
  490. package/dist/types/plugins/adapters/types.d.ts +54 -14
  491. package/dist/types/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.d.ts +7 -7
  492. package/dist/types/plugins/delayed-withdrawal/types.d.ts +4 -17
  493. package/dist/types/preview/index.d.ts +2 -0
  494. package/dist/types/preview/parse/parseFacadeOperationCalldata.d.ts +6 -7
  495. package/dist/types/preview/parse/parseOperationCalldata.d.ts +5 -18
  496. package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +7 -12
  497. package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +5 -14
  498. package/dist/types/preview/parse/types-adapters.d.ts +5 -1
  499. package/dist/types/preview/parse/types-facades.d.ts +23 -1
  500. package/dist/types/preview/parse/types-rwa.d.ts +11 -23
  501. package/dist/types/preview/parse/types.d.ts +0 -25
  502. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +15 -14
  503. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +16 -16
  504. package/dist/types/preview/prerequisites/Prerequisite.d.ts +18 -55
  505. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +40 -25
  506. package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +15 -0
  507. package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +8 -0
  508. package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +8 -0
  509. package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +21 -0
  510. package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +19 -0
  511. package/dist/types/preview/prerequisites/helpers.d.ts +7 -0
  512. package/dist/types/preview/prerequisites/index.d.ts +1 -3
  513. package/dist/types/preview/prerequisites/types.d.ts +24 -55
  514. package/dist/types/preview/preview/CreditAccountState.d.ts +83 -0
  515. package/dist/types/preview/preview/applyRWAWrapUnwrap.d.ts +13 -0
  516. package/dist/types/preview/preview/buildDelayedPreview.d.ts +29 -0
  517. package/dist/types/preview/preview/detectCloseOrRepay.d.ts +22 -0
  518. package/dist/types/preview/preview/detectDelayedClaim.d.ts +45 -0
  519. package/dist/types/preview/preview/detectDelayedOperation.d.ts +29 -0
  520. package/dist/types/preview/preview/index.d.ts +9 -0
  521. package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +12 -0
  522. package/dist/types/preview/preview/previewCloseOrRepayCreditAccount.d.ts +11 -0
  523. package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +4 -3
  524. package/dist/types/preview/preview/previewOperation.d.ts +3 -3
  525. package/dist/types/preview/preview/previewPoolOperation.d.ts +3 -3
  526. package/dist/types/preview/preview/replayInnerOperations.d.ts +44 -0
  527. package/dist/types/preview/preview/replayMulticall.d.ts +38 -0
  528. package/dist/types/preview/preview/types.d.ts +274 -43
  529. package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +35 -0
  530. package/dist/types/preview/simulate/index.d.ts +1 -4
  531. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +3 -14
  532. package/dist/types/preview/simulate/simulateOperation.d.ts +4 -16
  533. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +7 -3
  534. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +3 -14
  535. package/dist/types/preview/simulate/types.d.ts +13 -30
  536. package/dist/types/preview/types.d.ts +63 -0
  537. package/dist/types/rewards/rewards/extra-apy.d.ts +3 -1
  538. package/dist/types/rewards/rewards/merkl-api.d.ts +1 -1
  539. package/dist/types/sdk/MultichainSDK.d.ts +6 -0
  540. package/dist/types/sdk/OnchainSDK.d.ts +17 -1
  541. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +23 -15
  542. package/dist/types/sdk/accounts/index.d.ts +2 -0
  543. package/dist/types/sdk/accounts/liquidations/LiquidationsService.d.ts +29 -0
  544. package/dist/types/sdk/accounts/liquidations/MultichainLiquidationsService.d.ts +32 -0
  545. package/dist/types/sdk/accounts/liquidations/constants.d.ts +6 -0
  546. package/dist/types/sdk/accounts/liquidations/helpers.d.ts +126 -0
  547. package/dist/types/sdk/accounts/liquidations/index.d.ts +4 -0
  548. package/dist/types/sdk/accounts/liquidations/types.d.ts +339 -0
  549. package/dist/types/sdk/accounts/types.d.ts +188 -55
  550. package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +112 -0
  551. package/dist/types/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +149 -0
  552. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.d.ts +334 -0
  553. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.d.ts +338 -0
  554. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.d.ts +629 -0
  555. package/dist/types/sdk/accounts/withdrawal-compressor/addresses.d.ts +20 -0
  556. package/dist/types/sdk/accounts/withdrawal-compressor/createRedemptionLogger.d.ts +10 -0
  557. package/dist/types/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.d.ts +10 -0
  558. package/dist/types/sdk/accounts/withdrawal-compressor/errors.d.ts +13 -0
  559. package/dist/types/sdk/accounts/withdrawal-compressor/index.d.ts +11 -0
  560. package/dist/types/sdk/accounts/withdrawal-compressor/intent-codec.d.ts +26 -0
  561. package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +443 -0
  562. package/dist/types/sdk/base/BaseContract.d.ts +1 -1
  563. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  564. package/dist/types/sdk/base/types.d.ts +26 -4
  565. package/dist/types/sdk/chain/chains.d.ts +9 -9
  566. package/dist/types/sdk/constants/address-provider.d.ts +1 -0
  567. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +5 -5
  568. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +1 -1
  569. package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +11 -3
  570. package/dist/types/sdk/market/rwa/securitize/types.d.ts +18 -2
  571. package/dist/types/sdk/market/rwa/types.d.ts +26 -9
  572. package/dist/types/sdk/pools/types.d.ts +1 -1
  573. package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
  574. package/dist/types/sdk/router/helpers.d.ts +1 -2
  575. package/dist/types/sdk/router/types.d.ts +25 -18
  576. package/dist/types/sdk/types/state.d.ts +8 -0
  577. package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
  578. package/dist/types/sdk/utils/AddressSet.d.ts +1 -0
  579. package/dist/types/sdk/utils/AssetsMap.d.ts +44 -0
  580. package/dist/types/sdk/utils/index.d.ts +1 -0
  581. package/package.json +16 -15
  582. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -116
  583. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -76
  584. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -68
  585. package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -68
  586. package/dist/cjs/preview/prerequisites/buildPrerequisites.js +0 -302
  587. package/dist/cjs/preview/prerequisites/runPrerequisites.js +0 -71
  588. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -94
  589. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -54
  590. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -46
  591. package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -46
  592. package/dist/esm/preview/prerequisites/buildPrerequisites.js +0 -283
  593. package/dist/esm/preview/prerequisites/prepareAction.js +0 -23
  594. package/dist/esm/preview/prerequisites/runPrerequisites.js +0 -47
  595. package/dist/esm/preview/preview/extractExpectedBalanceChanges.js +0 -24
  596. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +0 -1045
  597. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -26
  598. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -24
  599. package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +0 -24
  600. package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +0 -25
  601. package/dist/types/preview/prerequisites/prepareAction.d.ts +0 -52
  602. package/dist/types/preview/prerequisites/runPrerequisites.d.ts +0 -12
  603. package/dist/types/preview/preview/extractExpectedBalanceChanges.d.ts +0 -21
@@ -1,8 +1,6 @@
1
1
  export * from "./AllowancePrerequisite.js";
2
2
  export * from "./BalancePrerequisite.js";
3
- export * from "./buildPrerequisites.js";
3
+ export * from "./checkPrerequisites.js";
4
4
  export * from "./Prerequisite.js";
5
- export * from "./prepareAction.js";
6
5
  export * from "./RWAOpenRequirementsPrerequisite.js";
7
- export * from "./runPrerequisites.js";
8
6
  export * from "./types.js";
@@ -0,0 +1,133 @@
1
+ import { zeroAddress } from "viem";
2
+ import {
3
+ AssetsMap,
4
+ MIN_INT96
5
+ } from "../../sdk/index.js";
6
+ class CreditAccountState {
7
+ creditAccount;
8
+ creditManager;
9
+ /**
10
+ * Credit manager underlying
11
+ */
12
+ underlying;
13
+ /**
14
+ * Per-token balances
15
+ */
16
+ balances;
17
+ /**
18
+ * Per-token quotas
19
+ */
20
+ quotas;
21
+ /**
22
+ * Debt principal
23
+ */
24
+ debt;
25
+ /**
26
+ * Total debt: principal + accrued interest + accrued fees.
27
+ * `decreaseDebt` amounts operate on total debt (interest and fees are
28
+ * repaid before principal), so principal alone is not enough to resolve
29
+ * either the underlying balance decrement or the final principal.
30
+ */
31
+ totalDebt;
32
+ constructor(props) {
33
+ this.creditAccount = props.creditAccount;
34
+ this.creditManager = props.creditManager;
35
+ this.underlying = props.underlying;
36
+ this.balances = props.balances ?? new AssetsMap();
37
+ this.quotas = props.quotas ?? new AssetsMap();
38
+ this.debt = props.debt ?? 0n;
39
+ this.totalDebt = props.totalDebt ?? 0n;
40
+ }
41
+ /**
42
+ * The account-opening seed: everything zero/empty. The account doesn't
43
+ * exist yet at preview time, so `creditAccount` is the zero address;
44
+ * opening previews take identity from the parsed operation instead.
45
+ */
46
+ static beforeOpen(creditManager, underlying) {
47
+ return new CreditAccountState({
48
+ creditAccount: zeroAddress,
49
+ creditManager,
50
+ underlying
51
+ });
52
+ }
53
+ /**
54
+ * Pre-state of an existing account from its on-chain data, with dust
55
+ * balances and quotas (≤ 1 wei) filtered out.
56
+ */
57
+ static fromCreditAccountData(ca) {
58
+ const balances = new AssetsMap();
59
+ const quotas = new AssetsMap();
60
+ for (const t of ca.tokens) {
61
+ if (t.balance > 1n) {
62
+ balances.upsert(t.token, t.balance);
63
+ }
64
+ if (t.quota > 1n) {
65
+ quotas.upsert(t.token, t.quota);
66
+ }
67
+ }
68
+ return new CreditAccountState({
69
+ creditAccount: ca.creditAccount,
70
+ creditManager: ca.creditManager,
71
+ underlying: ca.underlying,
72
+ balances,
73
+ quotas,
74
+ debt: ca.debt,
75
+ totalDebt: ca.debt + ca.accruedInterest + ca.accruedFees
76
+ });
77
+ }
78
+ clone() {
79
+ return new CreditAccountState({
80
+ creditAccount: this.creditAccount,
81
+ creditManager: this.creditManager,
82
+ underlying: this.underlying,
83
+ balances: this.balances.clone(),
84
+ quotas: this.quotas.clone(),
85
+ debt: this.debt,
86
+ totalDebt: this.totalDebt
87
+ });
88
+ }
89
+ /**
90
+ * Borrows `amount` of underlying: debt, total debt and the underlying
91
+ * balance all increase by it.
92
+ */
93
+ increaseDebt(amount) {
94
+ this.debt += amount;
95
+ this.totalDebt += amount;
96
+ this.balances.inc(this.underlying, amount);
97
+ }
98
+ /**
99
+ * Repays up to `amount` of underlying against the debt, clamped to the
100
+ * total debt (the facade never repays more than is owed). Interest and
101
+ * fees are repaid before principal (CreditLogic.calcDecrease), so
102
+ * principal only decreases once total debt drops below it. The underlying
103
+ * balance decreases by the repaid amount.
104
+ *
105
+ * @returns The actually repaid (post-clamp) amount.
106
+ */
107
+ repay(amount) {
108
+ const repaid = amount > this.totalDebt ? this.totalDebt : amount;
109
+ this.balances.dec(this.underlying, repaid);
110
+ this.totalDebt -= repaid;
111
+ if (this.debt > this.totalDebt) {
112
+ this.debt = this.totalDebt;
113
+ }
114
+ return repaid;
115
+ }
116
+ /**
117
+ * Applies a relative `updateQuota` change to the token's quota:
118
+ * `MIN_INT96` is the facade "disable quota" sentinel and zeroes it, other
119
+ * changes are added with the result clamped at zero (quotas cannot go
120
+ * negative on-chain).
121
+ */
122
+ updateQuota(token, change) {
123
+ if (change === MIN_INT96) {
124
+ this.quotas.upsert(token, 0n);
125
+ return;
126
+ }
127
+ const next = this.quotas.getOrZero(token) + change;
128
+ this.quotas.upsert(token, next > 0n ? next : 0n);
129
+ }
130
+ }
131
+ export {
132
+ CreditAccountState
133
+ };
@@ -0,0 +1,50 @@
1
+ import { decodeFunctionData } from "viem";
2
+ import { ierc4626AdapterAbi } from "../../abi/ierc4626Adapter.js";
3
+ function resolveWrapUnwrap(adapter, calldata, balances) {
4
+ const decoded = decodeFunctionData({
5
+ abi: ierc4626AdapterAbi,
6
+ data: calldata
7
+ });
8
+ const { asset, share } = adapter;
9
+ switch (decoded.functionName) {
10
+ case "deposit":
11
+ return { tokenIn: asset, tokenOut: share, amountIn: decoded.args[0] };
12
+ case "depositDiff": {
13
+ const [leftoverAmount] = decoded.args;
14
+ const running = balances.getOrZero(asset);
15
+ return {
16
+ tokenIn: asset,
17
+ tokenOut: share,
18
+ amountIn: running > leftoverAmount ? running - leftoverAmount : 0n
19
+ };
20
+ }
21
+ case "redeem":
22
+ return { tokenIn: share, tokenOut: asset, amountIn: decoded.args[0] };
23
+ case "redeemDiff": {
24
+ const [leftoverAmount] = decoded.args;
25
+ const running = balances.getOrZero(share);
26
+ return {
27
+ tokenIn: share,
28
+ tokenOut: asset,
29
+ amountIn: running > leftoverAmount ? running - leftoverAmount : 0n
30
+ };
31
+ }
32
+ default:
33
+ return void 0;
34
+ }
35
+ }
36
+ function applyRWAWrapUnwrap(adapter, calldata, balances) {
37
+ const resolved = resolveWrapUnwrap(adapter, calldata, balances);
38
+ if (!resolved) {
39
+ return;
40
+ }
41
+ const { tokenIn, tokenOut, amountIn } = resolved;
42
+ if (amountIn === 0n) {
43
+ return;
44
+ }
45
+ balances.dec(tokenIn, amountIn);
46
+ balances.inc(tokenOut, amountIn);
47
+ }
48
+ export {
49
+ applyRWAWrapUnwrap
50
+ };
@@ -0,0 +1,154 @@
1
+ import { isAddressEqual } from "viem";
2
+ import { BigIntMath } from "../../common-utils/index.js";
3
+ import {
4
+ AssetsMap
5
+ } from "../../sdk/index.js";
6
+ import {
7
+ ERROR_UNPRICEABLE_TOKEN,
8
+ PREVIEW_DUST
9
+ } from "./types.js";
10
+ function buildDelayedPreview(afterInstant, before, detected, convert, receivedToken) {
11
+ const { request, intent } = detected;
12
+ const post = afterInstant.clone();
13
+ const converter = makeSafeConverter(convert);
14
+ const claimed = applyClaim(post, request);
15
+ const collateralWithdrawn = new AssetsMap();
16
+ switch (intent?.type) {
17
+ case "CLOSE_ACCOUNT":
18
+ return buildClosePreview(post, converter, receivedToken);
19
+ case "DECREASE_LEVERAGE":
20
+ repayFromClaim(post, request.claimToken, converter.convert, claimed);
21
+ break;
22
+ case "WITHDRAW_COLLATERAL": {
23
+ applyWithdrawCollateral(
24
+ post,
25
+ request,
26
+ intent,
27
+ converter,
28
+ collateralWithdrawn
29
+ );
30
+ break;
31
+ }
32
+ default:
33
+ break;
34
+ }
35
+ return buildAdjustPreview(post, before, collateralWithdrawn, converter);
36
+ }
37
+ function makeSafeConverter(convert) {
38
+ let error;
39
+ return {
40
+ convert: (token, to, amount) => {
41
+ try {
42
+ return convert(token, to, amount);
43
+ } catch {
44
+ error ??= {
45
+ code: ERROR_UNPRICEABLE_TOKEN,
46
+ message: `cannot price token ${token}`
47
+ };
48
+ return 0n;
49
+ }
50
+ },
51
+ get error() {
52
+ return error;
53
+ }
54
+ };
55
+ }
56
+ function applyClaim(post, request) {
57
+ const claimed = post.balances.getOrZero(request.phantomToken);
58
+ post.balances.upsert(request.phantomToken, 0n);
59
+ post.quotas.upsert(request.phantomToken, 0n);
60
+ post.balances.inc(request.claimToken, claimed);
61
+ return claimed;
62
+ }
63
+ function applyWithdrawCollateral(post, request, intent, converter, collateralWithdrawn) {
64
+ const { withdrawToken, withdrawAmount, debtRepaid } = intent;
65
+ const { claimToken } = request;
66
+ const sameToken = isAddressEqual(withdrawToken, claimToken);
67
+ const fromBalance = BigIntMath.min(
68
+ withdrawAmount,
69
+ post.balances.getOrZero(withdrawToken)
70
+ );
71
+ post.balances.dec(withdrawToken, fromBalance);
72
+ let withdrawn = fromBalance;
73
+ const missing = withdrawAmount - fromBalance;
74
+ if (missing > 0n && !sameToken) {
75
+ const available = post.balances.getOrZero(claimToken);
76
+ const cost = converter.convert(withdrawToken, claimToken, missing);
77
+ if (cost > 0n && cost <= available) {
78
+ post.balances.dec(claimToken, cost);
79
+ withdrawn += missing;
80
+ } else if (available > 0n) {
81
+ post.balances.dec(claimToken, available);
82
+ withdrawn += converter.convert(claimToken, withdrawToken, available);
83
+ }
84
+ }
85
+ if (withdrawn > 0n) {
86
+ collateralWithdrawn.upsert(withdrawToken, withdrawn);
87
+ }
88
+ const remaining = post.balances.getOrZero(claimToken);
89
+ if (remaining > 0n) {
90
+ const proceeds = converter.convert(claimToken, post.underlying, remaining);
91
+ post.balances.dec(claimToken, remaining);
92
+ post.balances.inc(post.underlying, proceeds);
93
+ post.repay(BigIntMath.min(proceeds, debtRepaid));
94
+ }
95
+ }
96
+ function repayFromClaim(post, claimToken, convert, amount) {
97
+ const spent = BigIntMath.min(amount, post.balances.getOrZero(claimToken));
98
+ if (spent <= 0n) {
99
+ return;
100
+ }
101
+ const received = convert(claimToken, post.underlying, spent);
102
+ post.balances.dec(claimToken, spent);
103
+ post.balances.inc(post.underlying, received);
104
+ post.repay(received);
105
+ }
106
+ function totalValueInUnderlying(post, convert, dust) {
107
+ return post.balances.sum(
108
+ (token, balance) => balance > dust ? convert(token, post.underlying, balance) : 0n
109
+ );
110
+ }
111
+ function buildClosePreview(post, converter, receivedToken) {
112
+ const totalValue = totalValueInUnderlying(post, converter.convert, 0n);
113
+ return {
114
+ operation: "CloseCreditAccount",
115
+ permanent: false,
116
+ creditManager: post.creditManager,
117
+ creditAccount: post.creditAccount,
118
+ // Oracle estimate computed in the underlying; RWA underlyings convert
119
+ // 1:1 with their vault asset, so the amount holds for `receivedToken`
120
+ receivedAmount: {
121
+ token: receivedToken,
122
+ balance: BigIntMath.max(totalValue - post.totalDebt, 0n)
123
+ },
124
+ error: converter.error
125
+ };
126
+ }
127
+ function buildAdjustPreview(post, before, collateralWithdrawn, converter) {
128
+ const totalValue = totalValueInUnderlying(
129
+ post,
130
+ converter.convert,
131
+ PREVIEW_DUST
132
+ );
133
+ return {
134
+ operation: "AdjustCreditAccount",
135
+ creditManager: post.creditManager,
136
+ creditAccount: post.creditAccount,
137
+ // the resume flow adds nothing from the wallet
138
+ collateralAdded: [],
139
+ collateralWithdrawn: collateralWithdrawn.toAssets(),
140
+ totalValue,
141
+ debt: post.debt,
142
+ // relative to the pre-transaction state: where the account will end up
143
+ // compared to now, once the withdrawal is claimed and the intent resumed
144
+ debtChange: post.debt - before.debt,
145
+ quotas: post.quotas.toAssets(0n),
146
+ quotasChange: post.quotas.difference(before.quotas).toAssets(),
147
+ assets: post.balances.toAssets(PREVIEW_DUST),
148
+ assetsChange: post.balances.difference(before.balances).toAssets(PREVIEW_DUST),
149
+ error: converter.error
150
+ };
151
+ }
152
+ export {
153
+ buildDelayedPreview
154
+ };
@@ -0,0 +1,29 @@
1
+ import { isAddressEqual } from "viem";
2
+ import { MAX_UINT256 } from "../../sdk/index.js";
3
+ function isCloseOrRepay(multicall) {
4
+ return multicall.some(
5
+ (op) => op.operation === "DecreaseBorrowedAmount" && op.amount === MAX_UINT256
6
+ );
7
+ }
8
+ function classifyCloseOrRepay(multicall, exitTokens) {
9
+ let hasExitWithdrawal = false;
10
+ for (const op of multicall) {
11
+ if (op.operation === "AddCollateral") {
12
+ return "repay";
13
+ }
14
+ if (op.operation === "WithdrawCollateral") {
15
+ const isExit = exitTokens.some((token) => isAddressEqual(op.token, token));
16
+ if (!isExit) {
17
+ return "repay";
18
+ }
19
+ if (op.amount === MAX_UINT256) {
20
+ hasExitWithdrawal = true;
21
+ }
22
+ }
23
+ }
24
+ return hasExitWithdrawal ? "close" : "repay";
25
+ }
26
+ export {
27
+ classifyCloseOrRepay,
28
+ isCloseOrRepay
29
+ };
@@ -0,0 +1,30 @@
1
+ import {
2
+ AbstractAdapterContract
3
+ } from "../../plugins/adapters/index.js";
4
+ function detectDelayedClaim(sdk, multicall) {
5
+ for (const op of multicall) {
6
+ if (op.operation !== "Execute") {
7
+ continue;
8
+ }
9
+ const adapter = sdk.getContract(op.adapter);
10
+ if (!(adapter instanceof AbstractAdapterContract)) {
11
+ continue;
12
+ }
13
+ const claim = adapter.parseDelayedWithdrawalClaim(op.calldata);
14
+ if (claim) {
15
+ return { adapter: op.adapter, redeemer: claim.redeemer };
16
+ }
17
+ }
18
+ return void 0;
19
+ }
20
+ async function resolveDelayedClaimIntent(sdk, multicall, blockNumber) {
21
+ const claim = detectDelayedClaim(sdk, multicall);
22
+ if (!claim) {
23
+ return void 0;
24
+ }
25
+ return sdk.redemptionLogger?.getDelayedIntent(claim.redeemer, blockNumber);
26
+ }
27
+ export {
28
+ detectDelayedClaim,
29
+ resolveDelayedClaimIntent
30
+ };
@@ -0,0 +1,51 @@
1
+ import { isAddressEqual } from "viem";
2
+ import {
3
+ AbstractAdapterContract
4
+ } from "../../plugins/adapters/index.js";
5
+ import {
6
+ decodeDelayedIntent,
7
+ InvalidDelayedIntentError
8
+ } from "../../sdk/index.js";
9
+ function detectDelayedOperation(sdk, multicall) {
10
+ let bracketDeltas = [];
11
+ for (const op of multicall) {
12
+ if (op.operation === "StoreExpectedBalances") {
13
+ bracketDeltas = op.deltas;
14
+ continue;
15
+ }
16
+ if (op.operation === "CompareBalances") {
17
+ bracketDeltas = [];
18
+ continue;
19
+ }
20
+ if (op.operation !== "Execute") {
21
+ continue;
22
+ }
23
+ const adapter = sdk.getContract(op.adapter);
24
+ if (!(adapter instanceof AbstractAdapterContract)) {
25
+ continue;
26
+ }
27
+ const request = adapter.parseDelayedWithdrawalRequest(op.calldata);
28
+ if (!request) {
29
+ continue;
30
+ }
31
+ const mintsPhantom = bracketDeltas.some(
32
+ ({ token, balance }) => balance > 0n && isAddressEqual(token, request.phantomToken)
33
+ );
34
+ if (!mintsPhantom) {
35
+ continue;
36
+ }
37
+ let intent;
38
+ if (request.extraData && request.extraData !== "0x") {
39
+ try {
40
+ intent = decodeDelayedIntent(request.extraData);
41
+ } catch (e) {
42
+ throw new InvalidDelayedIntentError(request.extraData, e);
43
+ }
44
+ }
45
+ return { request, intent };
46
+ }
47
+ return void 0;
48
+ }
49
+ export {
50
+ detectDelayedOperation
51
+ };
@@ -1,3 +1,12 @@
1
+ export * from "./buildDelayedPreview.js";
2
+ export * from "./CreditAccountState.js";
3
+ export * from "./detectCloseOrRepay.js";
4
+ export * from "./detectDelayedClaim.js";
5
+ export * from "./detectDelayedOperation.js";
1
6
  export * from "./errors.js";
7
+ export * from "./previewAdjustCreditAccount.js";
8
+ export * from "./previewCloseOrRepayCreditAccount.js";
2
9
  export * from "./previewOperation.js";
10
+ export * from "./replayInnerOperations.js";
11
+ export * from "./replayMulticall.js";
3
12
  export * from "./types.js";
@@ -0,0 +1,57 @@
1
+ import { AP_WETH_TOKEN, NO_VERSION } from "../../sdk/index.js";
2
+ import { replayMulticall } from "./replayMulticall.js";
3
+ import {
4
+ ERROR_UNPRICEABLE_TOKEN,
5
+ PREVIEW_DUST
6
+ } from "./types.js";
7
+ import { unwrapNativeCollateral } from "./unwrapNativeCollateral.js";
8
+ async function previewAdjustCreditAccount(input, operation, options) {
9
+ const { sdk, value = 0n } = input;
10
+ const market = sdk.marketRegister.findByCreditManager(
11
+ operation.creditManager
12
+ );
13
+ const {
14
+ before,
15
+ after,
16
+ error: replayError
17
+ } = await replayMulticall(sdk, operation, options);
18
+ const account = after.account;
19
+ let error = replayError;
20
+ const { assets: collateralAdded, error: unwrapError } = unwrapNativeCollateral(
21
+ after.collateralAdded.toAssets(),
22
+ value,
23
+ sdk.addressProvider.getAddress(AP_WETH_TOKEN, NO_VERSION)
24
+ );
25
+ error ??= unwrapError;
26
+ const assets = account.balances.toAssets(PREVIEW_DUST);
27
+ const assetsChange = account.balances.difference(before.balances).toAssets(PREVIEW_DUST);
28
+ const totalValue = assets.reduce((acc, { token, balance }) => {
29
+ try {
30
+ return acc + market.priceOracle.convert(token, market.underlying, balance);
31
+ } catch {
32
+ error ??= {
33
+ code: ERROR_UNPRICEABLE_TOKEN,
34
+ message: `cannot price token ${token}`
35
+ };
36
+ return acc;
37
+ }
38
+ }, 0n);
39
+ return {
40
+ operation: "AdjustCreditAccount",
41
+ creditManager: operation.creditManager,
42
+ creditAccount: operation.creditAccount,
43
+ collateralAdded,
44
+ collateralWithdrawn: after.collateralWithdrawn.toAssets(),
45
+ totalValue,
46
+ debt: account.debt,
47
+ debtChange: account.debt - before.debt,
48
+ quotas: account.quotas.toAssets(0n),
49
+ quotasChange: account.quotas.difference(before.quotas).toAssets(),
50
+ assets,
51
+ assetsChange,
52
+ error
53
+ };
54
+ }
55
+ export {
56
+ previewAdjustCreditAccount
57
+ };
@@ -0,0 +1,76 @@
1
+ import {
2
+ AP_WETH_TOKEN,
3
+ MAX_UINT256,
4
+ NO_VERSION
5
+ } from "../../sdk/index.js";
6
+ import { classifyCloseOrRepay } from "./detectCloseOrRepay.js";
7
+ import {
8
+ replayMulticall
9
+ } from "./replayMulticall.js";
10
+ import { unwrapNativeCollateral } from "./unwrapNativeCollateral.js";
11
+ async function previewCloseOrRepayCreditAccount(input, operation, permanent, options) {
12
+ const { sdk } = input;
13
+ const market = sdk.marketRegister.findByCreditManager(
14
+ operation.creditManager
15
+ );
16
+ const exitTokens = [market.underlying];
17
+ const meta = sdk.tokensMeta.get(market.underlying);
18
+ if (meta && sdk.tokensMeta.isRWAUnderlying(meta)) {
19
+ exitTokens.push(meta.asset);
20
+ }
21
+ const replay = await replayMulticall(sdk, operation, options);
22
+ const kind = classifyCloseOrRepay(operation.multicall, exitTokens);
23
+ return kind === "close" ? previewCloseCreditAccount(input, operation, permanent, replay) : previewRepayCreditAccount(input, operation, permanent, replay);
24
+ }
25
+ function previewCloseCreditAccount(input, operation, permanent, replay) {
26
+ const { sdk } = input;
27
+ const market = sdk.marketRegister.findByCreditManager(
28
+ operation.creditManager
29
+ );
30
+ const { after, error } = replay;
31
+ let receivedToken = market.underlying;
32
+ for (const m of operation.multicall) {
33
+ if (m.operation === "WithdrawCollateral" && m.amount === MAX_UINT256) {
34
+ receivedToken = m.token;
35
+ break;
36
+ }
37
+ }
38
+ return {
39
+ operation: "CloseCreditAccount",
40
+ permanent,
41
+ creditManager: operation.creditManager,
42
+ creditAccount: operation.creditAccount,
43
+ // On a malformed multicall the withdrawn amount depends on best-effort
44
+ // replayed balances and may be unreliable
45
+ receivedAmount: {
46
+ token: receivedToken,
47
+ balance: after.collateralWithdrawn.getOrZero(receivedToken)
48
+ },
49
+ error
50
+ };
51
+ }
52
+ function previewRepayCreditAccount(input, operation, permanent, replay) {
53
+ const { sdk, value = 0n } = input;
54
+ const { before, after, error: replayError } = replay;
55
+ const { assets: collateralAdded, error: unwrapError } = unwrapNativeCollateral(
56
+ after.collateralAdded.toAssets(),
57
+ value,
58
+ sdk.addressProvider.getAddress(AP_WETH_TOKEN, NO_VERSION)
59
+ );
60
+ const error = replayError ?? unwrapError;
61
+ return {
62
+ operation: "RepayCreditAccount",
63
+ permanent,
64
+ creditManager: operation.creditManager,
65
+ creditAccount: operation.creditAccount,
66
+ collateralAdded,
67
+ debtRepaid: before.totalDebt - after.account.totalDebt,
68
+ // On a malformed multicall the MAX_UINT256 withdrawal sentinel resolves
69
+ // against best-effort replayed balances and may be unreliable
70
+ collateralWithdrawn: after.collateralWithdrawn.toAssets(),
71
+ error
72
+ };
73
+ }
74
+ export {
75
+ previewCloseOrRepayCreditAccount
76
+ };