@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
@@ -7,8 +7,6 @@ export interface ClassifyInnerOperationsProps {
7
7
  underlying: Address;
8
8
  }
9
9
  /**
10
- * Calldata-only counterpart of the SDK's `classifyMulticallOperations`.
11
- *
12
10
  * Maps each inner multicall entry to an {@link InnerOperation}:
13
11
  * - adapter and unknown targets become a pure-descriptor `Execute`
14
12
  * {@link AdapterOperation};
@@ -1,7 +1,7 @@
1
1
  export * from "./classifyInnerOperations.js";
2
2
  export * from "./errors.js";
3
- export * from "./extractExpectedBalanceChanges.js";
4
3
  export * from "./parseFacadeOperationCalldata.js";
5
4
  export * from "./parseOperationCalldata.js";
6
5
  export * from "./parsePoolOperationCalldata.js";
6
+ export * from "./parseRWAFactoryOperationCalldata.js";
7
7
  export * from "./types.js";
@@ -1,12 +1,6 @@
1
1
  import { type Hex } from "viem";
2
2
  import type { CreditFacadeV310Contract, OnchainSDK } from "../../sdk/index.js";
3
3
  import type { OuterFacadeOperation } from "./types.js";
4
- export interface ParseFacadeOperationCalldataProps {
5
- sdk: OnchainSDK;
6
- /** Resolved credit facade contract for the transaction target. */
7
- facade: CreditFacadeV310Contract;
8
- calldata: Hex;
9
- }
10
4
  /**
11
5
  * Decodes a credit-facade entry-point call into the matching
12
6
  * {@link OuterFacadeOperation}.
@@ -15,5 +9,10 @@ export interface ParseFacadeOperationCalldataProps {
15
9
  * of the base `preview` operation: those values are only known once the
16
10
  * transaction is mined and are added in `history` mode. `creditAccount` is
17
11
  * `zeroAddress` for `openCreditAccount` (the address is assigned on-chain).
12
+ *
13
+ * @param sdk - The SDK instance.
14
+ * @param facade - The credit facade contract.
15
+ * @param calldata - The calldata to parse.
16
+ * @returns The parsed operation.
18
17
  */
19
- export declare function parseFacadeOperationCalldata(props: ParseFacadeOperationCalldataProps): OuterFacadeOperation;
18
+ export declare function parseFacadeOperationCalldata(sdk: OnchainSDK, facade: CreditFacadeV310Contract, calldata: Hex): OuterFacadeOperation;
@@ -1,23 +1,10 @@
1
- import type { Address, Hex } from "viem";
2
1
  import { type PluginsMap } from "../../sdk/index.js";
3
- import type { Operation, SdkWithAdapters } from "./types.js";
4
- export interface ParseOperationCalldataInput<P extends PluginsMap = PluginsMap> {
5
- /**
6
- * Already-attached SDK; chain, RPC and block are baked in at attach time.
7
- * Must be created with the adapters plugin (enforced at compile time) so
8
- * adapter contracts resolve during multicall classification.
9
- */
10
- sdk: SdkWithAdapters<P>;
11
- to: Address;
12
- calldata: Hex;
13
- /** Transaction sender, contextual only. */
14
- sender: Address;
15
- /** Transaction `msg.value`, required for native-token zapper deposits. */
16
- value?: bigint;
17
- }
2
+ import type { PreviewOperationInput } from "../types.js";
3
+ import type { Operation } from "./types.js";
18
4
  /**
19
5
  * Decodes raw operation calldata into an {@link Operation}.
20
6
  *
21
- * Support parsing of pool operations (including via zappers) and credit facade operations.
7
+ * Support parsing of pool operations (including via zappers),
8
+ * credit facade operations and RWA factory operations.
22
9
  */
23
- export declare function parseOperationCalldata<P extends PluginsMap>(input: ParseOperationCalldataInput<P>): Operation;
10
+ export declare function parseOperationCalldata<P extends PluginsMap>(input: PreviewOperationInput<P>): Operation;
@@ -1,17 +1,12 @@
1
1
  import type { Hex } from "viem";
2
2
  import type { OnchainSDK, PoolV310Contract } from "../../sdk/index.js";
3
3
  import type { PoolOperation } from "./types.js";
4
- export interface ParsePoolOperationCalldataProps {
5
- sdk: OnchainSDK;
6
- /** Resolved pool contract for the transaction target. */
7
- pool: PoolV310Contract;
8
- calldata: Hex;
9
- }
10
4
  /**
11
- * Decodes ERC4626 pool calldata into a {@link PoolOperation}. Supports every
12
- * deposit/mint/withdraw/redeem variant of `IPoolV3` (and the `IERC4626` base it
13
- * extends): `deposit`/`depositWithReferral`, `mint`/`mintWithReferral`,
14
- * `withdraw` and `redeem`. Any other selector throws
15
- * {@link UnsupportedPoolFunctionError}.
5
+ * Decodes pool calldata into a {@link PoolOperation}.
6
+ *
7
+ * @param sdk - The SDK instance.
8
+ * @param pool - The pool contract.
9
+ * @param calldata - The calldata to parse.
10
+ * @returns The parsed operation.
16
11
  */
17
- export declare function parsePoolOperationCalldata(props: ParsePoolOperationCalldataProps): PoolOperation;
12
+ export declare function parsePoolOperationCalldata(sdk: OnchainSDK, pool: PoolV310Contract, calldata: Hex): PoolOperation;
@@ -0,0 +1,13 @@
1
+ import type { Hex } from "viem";
2
+ import { type IRWAFactory, type OnchainSDK } from "../../sdk/index.js";
3
+ import type { RWAOperation } from "./types-rwa.js";
4
+ /**
5
+ * Decodes a RWA-factory entry-point call into the matching
6
+ * {@link RWAOperation}.
7
+ *
8
+ * @param sdk - The SDK instance.
9
+ * @param factory - The RWA factory contract.
10
+ * @param calldata - The calldata to parse.
11
+ * @returns The parsed operation.
12
+ */
13
+ export declare function parseRWAFactoryOperationCalldata(sdk: OnchainSDK, factory: IRWAFactory, calldata: Hex): RWAOperation;
@@ -1,4 +1,4 @@
1
- import type { Address } from "viem";
1
+ import type { Address, Hex } from "viem";
2
2
  import type { AdapterProtocolOperation } from "../../plugins/adapters/index.js";
3
3
  /**
4
4
  * A single ERC-20 Transfer event captured between Execute boundaries.
@@ -43,6 +43,10 @@ export interface AdapterOperationBase {
43
43
  * Arguments of adapter contract
44
44
  */
45
45
  adapterArgs: Record<string, unknown>;
46
+ /**
47
+ * Raw ABI-encoded adapter calldata
48
+ */
49
+ calldata: Hex;
46
50
  }
47
51
  /**
48
52
  * Adapter `Execute` operation, generic over the extra data added by consumers.
@@ -1,4 +1,5 @@
1
1
  import type { Address, Hex } from "viem";
2
+ import type { Asset } from "../../sdk/index.js";
2
3
  import type { AdapterOperation } from "./types-adapters.js";
3
4
  /**
4
5
  * Increase debt (borrow more).
@@ -46,11 +47,32 @@ export interface UpdateQuotaOp {
46
47
  token: Address;
47
48
  change: bigint;
48
49
  }
50
+ /**
51
+ * Router-generated slippage-control call that declares expected minimal
52
+ * balance changes for the adapter calls that follow, up to the matching
53
+ * {@link CompareBalancesOp}.
54
+ */
55
+ export interface StoreExpectedBalancesOp {
56
+ operation: "StoreExpectedBalances";
57
+ /**
58
+ * Declared minimal balance changes (relative to balances at
59
+ * `storeExpectedBalances` time).
60
+ */
61
+ deltas: Asset[];
62
+ }
63
+ /**
64
+ * Router-generated slippage-control call that validates the balance changes
65
+ * declared by the preceding {@link StoreExpectedBalancesOp}. Pure validation
66
+ * marker, carries no data.
67
+ */
68
+ export interface CompareBalancesOp {
69
+ operation: "CompareBalances";
70
+ }
49
71
  /**
50
72
  * Union of facade inner-call operation types (non-adapter credit account operations).
51
73
  * Discriminated on the `operation` field.
52
74
  */
53
- export type InnerFacadeOperation = IncreaseDebtOp | DecreaseDebtOp | AddCollateralOp | WithdrawCollateralOp | UpdateQuotaOp;
75
+ export type InnerFacadeOperation = IncreaseDebtOp | DecreaseDebtOp | AddCollateralOp | WithdrawCollateralOp | UpdateQuotaOp | StoreExpectedBalancesOp | CompareBalancesOp;
54
76
  /**
55
77
  * All operations that can happen within a CreditFacade's multicall and that we're interested in.
56
78
  *
@@ -71,25 +93,10 @@ export interface FacadeOperationMetadata {
71
93
  creditManager: Address;
72
94
  creditFacade: Address;
73
95
  }
74
- /**
75
- * Signed token balance delta recovered from a router-generated
76
- * `storeExpectedBalances` call (the `BalanceDelta` struct). `amount` is the
77
- * signed `int256` delta, so it may be negative.
78
- */
79
- export interface ExpectedBalanceChange {
80
- token: Address;
81
- delta: bigint;
82
- }
83
96
  export interface MulticallOperation<Ext extends object = {}> extends FacadeOperationMetadata {
84
97
  operation: "MultiCall" | "BotMulticall";
85
98
  creditAccount: Address;
86
99
  multicall: InnerOperation<Ext>[];
87
- /**
88
- * Potential balance changes declared by a router-generated
89
- * `storeExpectedBalances`/`compareBalances` pair, or `undefined` when the
90
- * multicall is not router-shaped. See {@link ExpectedBalanceChange}.
91
- */
92
- expectedBalanceChanges?: ExpectedBalanceChange[];
93
100
  }
94
101
  export interface OpenCreditAccountOperation<Ext extends object = {}> extends FacadeOperationMetadata {
95
102
  operation: "OpenCreditAccount";
@@ -97,23 +104,11 @@ export interface OpenCreditAccountOperation<Ext extends object = {}> extends Fac
97
104
  onBehalfOf: Address;
98
105
  referralCode: bigint;
99
106
  multicall: InnerOperation<Ext>[];
100
- /**
101
- * Potential balance changes declared by a router-generated
102
- * `storeExpectedBalances`/`compareBalances` pair, or `undefined` when the
103
- * multicall is not router-shaped. See {@link ExpectedBalanceChange}.
104
- */
105
- expectedBalanceChanges?: ExpectedBalanceChange[];
106
107
  }
107
108
  export interface CloseCreditAccountOperation<Ext extends object = {}> extends FacadeOperationMetadata {
108
109
  operation: "CloseCreditAccount";
109
110
  creditAccount: Address;
110
111
  multicall: InnerOperation<Ext>[];
111
- /**
112
- * Potential balance changes declared by a router-generated
113
- * `storeExpectedBalances`/`compareBalances` pair, or `undefined` when the
114
- * multicall is not router-shaped. See {@link ExpectedBalanceChange}.
115
- */
116
- expectedBalanceChanges?: ExpectedBalanceChange[];
117
112
  }
118
113
  export interface LiquidateCreditAccountOperation<Ext extends object = {}> extends FacadeOperationMetadata {
119
114
  operation: "LiquidateCreditAccount";
@@ -122,12 +117,6 @@ export interface LiquidateCreditAccountOperation<Ext extends object = {}> extend
122
117
  token: Address;
123
118
  remainingFunds: bigint;
124
119
  multicall: InnerOperation<Ext>[];
125
- /**
126
- * Potential balance changes declared by a router-generated
127
- * `storeExpectedBalances`/`compareBalances` pair, or `undefined` when the
128
- * multicall is not router-shaped. See {@link ExpectedBalanceChange}.
129
- */
130
- expectedBalanceChanges?: ExpectedBalanceChange[];
131
120
  }
132
121
  export interface PartialLiquidationOperation extends FacadeOperationMetadata {
133
122
  operation: "PartiallyLiquidateCreditAccount";
@@ -23,6 +23,12 @@ export interface PoolDepositOperation {
23
23
  * deposits, or the zapper's input token for zapper-routed deposits.
24
24
  */
25
25
  tokenIn: Address;
26
+ /**
27
+ * Token minted to the receiver: the pool's diesel token for direct
28
+ * deposits, or the zapper's output token (e.g. a farmed/staked diesel
29
+ * wrapper) for zapper-routed deposits.
30
+ */
31
+ tokenOut: Address;
26
32
  /** Zapper contract the call is sent to; `undefined` for direct deposits. */
27
33
  zapper?: Address;
28
34
  /** Referral code, present only for `depositWithReferral` calls. */
@@ -48,6 +54,11 @@ export interface PoolMintOperation {
48
54
  * mints, or the zapper's input token for zapper-routed mints.
49
55
  */
50
56
  tokenIn: Address;
57
+ /**
58
+ * Token minted to the receiver: the pool's diesel token for direct mints,
59
+ * or the zapper's output token for zapper-routed mints.
60
+ */
61
+ tokenOut: Address;
51
62
  /** Zapper contract the call is sent to; `undefined` for direct mints. */
52
63
  zapper?: Address;
53
64
  /** Referral code, present only for `mintWithReferral` calls. */
@@ -71,6 +82,12 @@ export interface PoolWithdrawOperation {
71
82
  assets: bigint;
72
83
  /** Underlying token of the source pool. */
73
84
  underlying: Address;
85
+ /**
86
+ * Token burned from `owner`: the pool's diesel token for direct
87
+ * withdrawals, or the zapper's share-side token for zapper-routed
88
+ * withdrawals.
89
+ */
90
+ tokenIn: Address;
74
91
  /**
75
92
  * Token actually returned to the receiver: the pool underlying for direct
76
93
  * withdrawals, or the zapper's output token for zapper-routed withdrawals.
@@ -95,10 +112,20 @@ export interface PoolRedeemOperation {
95
112
  receiver: Address;
96
113
  /** Address whose pool shares are burned. */
97
114
  owner: Address;
98
- /** Pool shares (diesel) burned. */
115
+ /**
116
+ * Amount of {@link PoolRedeemOperation.tokenIn} burned: pool shares
117
+ * (diesel) for direct redeems, or the zapper's share-side token amount for
118
+ * zapper-routed redeems.
119
+ */
99
120
  shares: bigint;
100
121
  /** Underlying token of the source pool. */
101
122
  underlying: Address;
123
+ /**
124
+ * Token burned from `owner`: the pool's diesel token for direct redeems, or
125
+ * the zapper's share-side token (e.g. a farmed/staked diesel wrapper) for
126
+ * zapper-routed redeems.
127
+ */
128
+ tokenIn: Address;
102
129
  /**
103
130
  * Token actually returned to the receiver: the pool underlying for direct
104
131
  * redeems, or the zapper's output token for zapper-routed redeems.
@@ -113,3 +140,4 @@ export interface PoolRedeemOperation {
113
140
  * field).
114
141
  */
115
142
  export type PoolOperation = PoolDepositOperation | PoolMintOperation | PoolWithdrawOperation | PoolRedeemOperation;
143
+ export type PoolOperationType = PoolOperation["operation"];
@@ -0,0 +1,36 @@
1
+ import type { Address } from "viem";
2
+ import type { RWAOperationArgs } from "../../sdk/index.js";
3
+ import type { InnerOperation } from "./types-facades.js";
4
+ /**
5
+ * Metadata shared by all RWA factory operations. RWA credit accounts are
6
+ * opened and managed through the market's RWA factory rather than the credit
7
+ * facade, but the inner `calls` still target the facade/adapters, so the
8
+ * credit suite is known.
9
+ */
10
+ export interface RWAOperationMetadata {
11
+ /** RWA factory contract the transaction is sent to. */
12
+ factory: Address;
13
+ creditManager: Address;
14
+ creditFacade: Address;
15
+ }
16
+ export interface RWAOpenCreditAccountOperation<Ext extends object = {}> extends RWAOperationMetadata {
17
+ operation: "RWAOpenCreditAccount";
18
+ multicall: InnerOperation<Ext>[];
19
+ /**
20
+ * Factory-specific registration args decoded from calldata (for
21
+ * Securitize: `tokensToRegister`/`signaturesToCache`).
22
+ */
23
+ args: RWAOperationArgs;
24
+ }
25
+ export interface RWAMulticallOperation<Ext extends object = {}> extends RWAOperationMetadata {
26
+ operation: "RWAMulticall";
27
+ creditAccount: Address;
28
+ multicall: InnerOperation<Ext>[];
29
+ /** Factory-specific registration args decoded from calldata. */
30
+ args: RWAOperationArgs;
31
+ }
32
+ /**
33
+ * Discriminated union of all RWA factory operation types. Extend it when
34
+ * adding support for a new RWA factory type.
35
+ */
36
+ export type RWAOperation<Ext extends object = {}> = RWAOpenCreditAccountOperation<Ext> | RWAMulticallOperation<Ext>;
@@ -1,44 +1,24 @@
1
- import type { AdaptersPlugin } from "../../plugins/adapters/index.js";
2
- import type { OnchainSDK, PluginsMap } from "../../sdk/index.js";
3
1
  import type { OuterFacadeOperation } from "./types-facades.js";
4
2
  import type { PoolOperation } from "./types-pools.js";
3
+ import type { RWAOperation } from "./types-rwa.js";
5
4
  export * from "./types-adapters.js";
6
5
  export * from "./types-facades.js";
7
6
  export * from "./types-pools.js";
7
+ export * from "./types-rwa.js";
8
8
  /**
9
- * True when the plugin map `P` contains the {@link AdaptersPlugin} under any
10
- * key. Matched nominally (the plugin's private fields make it non-structural),
11
- * so unrelated plugins never satisfy it.
9
+ * Result of decoding a single raw operation calldata: a pool deposit/redeem,
10
+ * one of the credit-facade operations, or an RWA-factory operation.
12
11
  */
13
- export type HasAdaptersPlugin<P extends PluginsMap> = Extract<P[keyof P], AdaptersPlugin> extends never ? false : true;
14
- /**
15
- * Compile-time guard for the adapters plugin. Resolves to a no-op (`unknown`)
16
- * when `P` includes the {@link AdaptersPlugin}, otherwise to an error-shaped
17
- * type that makes the surrounding call fail to type-check.
18
- *
19
- * Intended to be intersected with a function argument so callers must pass an
20
- * SDK whose adapter contracts are registered (required for multicall
21
- * classification).
22
- */
23
- export type RequireAdaptersPlugin<P extends PluginsMap> = HasAdaptersPlugin<P> extends true ? unknown : {
24
- "OnchainSDK must be created with the AdaptersPlugin": never;
25
- };
26
- /**
27
- * {@link OnchainSDK} whose plugin map is guaranteed at compile time to include
28
- * the {@link AdaptersPlugin}.
29
- */
30
- export type SdkWithAdapters<P extends PluginsMap = PluginsMap> = OnchainSDK<P> & RequireAdaptersPlugin<P>;
31
- /**
32
- * Result of decoding a single raw operation calldata: either a pool
33
- * deposit/redeem or one of the credit-facade operations.
34
- *
35
- * Calldata-only parse produces base (descriptor) adapter operations, so the
36
- * facade operations are used with the default `Ext = {}`.
37
- */
38
- export type Operation = PoolOperation | OuterFacadeOperation;
12
+ export type Operation = PoolOperation | OuterFacadeOperation | RWAOperation;
39
13
  /**
40
14
  * Narrows an {@link Operation} to a {@link PoolOperation} (deposit, mint,
41
15
  * withdraw or redeem). Used by the UI to decide whether a custom view exists for
42
16
  * the parsed result; everything else falls back to the raw JSON view.
43
17
  */
44
18
  export declare function isPoolOperation(tx: Operation): tx is PoolOperation;
19
+ /**
20
+ * Narrows an {@link Operation} to an {@link RWAOperation} (an RWA-factory
21
+ * open-account or multicall). Used to route parsed operations to the
22
+ * RWA-specific simulation path.
23
+ */
24
+ export declare function isRWAOperation(tx: Operation): tx is RWAOperation;
@@ -1,24 +1,23 @@
1
- import { type Address, type ContractFunctionParameters } from "viem";
2
- import { type MulticallCallResult, Prerequisite } from "./Prerequisite.js";
3
- import type { PrerequisiteDetail, PrerequisiteResult } from "./types.js";
4
- export interface AllowancePrerequisiteProps {
1
+ import { type Address } from "viem";
2
+ import { Prerequisite } from "./Prerequisite.js";
3
+ import type { PrerequisiteContext, PrerequisiteError, PrerequisiteOutcome } from "./types.js";
4
+ /** ERC-20 allowance from `owner` to `spender` must cover `required`. */
5
+ export interface AllowanceDetail {
5
6
  token: Address;
6
7
  owner: Address;
7
8
  spender: Address;
8
9
  required: bigint;
9
- title?: string;
10
- id?: string;
10
+ /** On-chain allowance read; only present when the read succeeded. */
11
+ actual?: bigint;
11
12
  }
13
+ export type AllowanceResult = PrerequisiteOutcome & {
14
+ kind: "allowance";
15
+ detail: AllowanceDetail;
16
+ };
12
17
  /** Checks that `owner` granted `spender` an ERC-20 allowance >= `required`. */
13
- export declare class AllowancePrerequisite extends Prerequisite<"allowance"> {
14
- private readonly _id;
15
- private readonly _title;
16
- private readonly _detail;
17
- constructor(props: AllowancePrerequisiteProps);
18
- get id(): string;
19
- get kind(): "allowance";
20
- get title(): string;
21
- get detail(): PrerequisiteDetail<"allowance">;
22
- calls(): ContractFunctionParameters[];
23
- resolve(slice: MulticallCallResult[]): PrerequisiteResult<"allowance">;
18
+ export declare class AllowancePrerequisite extends Prerequisite {
19
+ #private;
20
+ constructor(detail: Omit<AllowanceDetail, "actual">);
21
+ protected check(ctx: PrerequisiteContext): Promise<AllowanceResult>;
22
+ protected errorResult(error: PrerequisiteError): AllowanceResult;
24
23
  }
@@ -1,23 +1,26 @@
1
- import { type Address, type ContractFunctionParameters } from "viem";
2
- import { type MulticallCallResult, Prerequisite } from "./Prerequisite.js";
3
- import type { PrerequisiteDetail, PrerequisiteResult } from "./types.js";
4
- export interface BalancePrerequisiteProps {
1
+ import { type Address } from "viem";
2
+ import { Prerequisite } from "./Prerequisite.js";
3
+ import type { PrerequisiteContext, PrerequisiteError, PrerequisiteOutcome } from "./types.js";
4
+ /** ERC-20 balance of `owner` must cover `required`. */
5
+ export interface BalanceDetail {
5
6
  token: Address;
6
7
  owner: Address;
7
8
  required: bigint;
8
- title?: string;
9
- id?: string;
9
+ /** On-chain balance read; only present when the read succeeded. */
10
+ actual?: bigint;
10
11
  }
11
- /** Checks that `owner` holds an ERC-20 balance >= `required`. */
12
- export declare class BalancePrerequisite extends Prerequisite<"balance"> {
13
- private readonly _id;
14
- private readonly _title;
15
- private readonly _detail;
16
- constructor(props: BalancePrerequisiteProps);
17
- get id(): string;
18
- get kind(): "balance";
19
- get title(): string;
20
- get detail(): PrerequisiteDetail<"balance">;
21
- calls(): ContractFunctionParameters[];
22
- resolve(slice: MulticallCallResult[]): PrerequisiteResult<"balance">;
12
+ export type BalanceResult = PrerequisiteOutcome & {
13
+ kind: "balance";
14
+ detail: BalanceDetail;
15
+ };
16
+ /**
17
+ * Checks that `owner` holds a token balance >= `required`. The token is read
18
+ * as an ERC-20, except for the native pseudo-address ({@link NATIVE_ADDRESS},
19
+ * e.g. ETH-zapper deposits) whose balance is read via `getBalance`.
20
+ */
21
+ export declare class BalancePrerequisite extends Prerequisite {
22
+ #private;
23
+ constructor(detail: Omit<BalanceDetail, "actual">);
24
+ protected check(ctx: PrerequisiteContext): Promise<BalanceResult>;
25
+ protected errorResult(error: PrerequisiteError): BalanceResult;
23
26
  }
@@ -1,60 +1,23 @@
1
- import { type ContractFunctionParameters } from "viem";
2
- import type { PrerequisiteContext, PrerequisiteDetail, PrerequisiteError, PrerequisiteKind, PrerequisiteResult } from "./types.js";
1
+ import type { PrerequisiteContext, PrerequisiteError, PrerequisiteResult } from "./types.js";
3
2
  /**
4
- * One entry of a viem `multicall({ allowFailure: true })` response: either a
5
- * decoded `result` or the `error` that the call reverted with.
3
+ * A single verifiable prerequisite for a transaction. Subclasses implement
4
+ * {@link check} to perform whatever async reads they need (an ERC-20
5
+ * `readContract`, a compressor call, ...) and map the outcome into a
6
+ * {@link PrerequisiteResult}.
6
7
  */
7
- export type MulticallCallResult = {
8
- status: "success";
9
- result: unknown;
10
- error?: undefined;
11
- } | {
12
- status: "failure";
13
- result?: undefined;
14
- error: Error;
15
- };
16
- /**
17
- * Decodes an unknown error into a {@link PrerequisiteError} with a
18
- * human-readable revert reason. Mirrors the SDK's `extractCallError`: walk the
19
- * viem error chain for a {@link ContractFunctionRevertedError} and use its
20
- * `errorName`, otherwise fall back to the error's short message / name.
21
- */
22
- export declare function toPrerequisiteError(cause: unknown): PrerequisiteError;
23
- /**
24
- * A single verifiable prerequisite for a transaction. Subclasses describe the
25
- * on-chain reads they need ({@link calls}) and how to turn the multicall slice
26
- * into a {@link PrerequisiteResult} ({@link resolve}).
27
- *
28
- * Identity (`id`, `kind`, `title`) and build-time `detail` are exposed as
29
- * read-only accessors; subclasses back them with private fields. The shared
30
- * {@link satisfiedResult}/{@link errorResult} helpers are `protected` so each
31
- * subclass builds results consistently.
32
- *
33
- * The same instance can be verified standalone via {@link verify} or batched
34
- * together with others by `verifyPrerequisites`.
35
- */
36
- export declare abstract class Prerequisite<K extends PrerequisiteKind> {
37
- /** Stable identifier, used as a React key and for deduplication. */
38
- abstract get id(): string;
39
- /** Discriminant tying this check to its detail payload. */
40
- abstract get kind(): K;
41
- /** Human-readable label shown in the UI. */
42
- abstract get title(): string;
43
- /** Inputs known before reading the chain (no `actual` yet). */
44
- abstract get detail(): PrerequisiteDetail<K>;
45
- /** Contract reads this check needs (usually one). */
46
- abstract calls(ctx: PrerequisiteContext): ContractFunctionParameters[];
47
- /** Maps this check's slice of the multicall response into a result. */
48
- abstract resolve(slice: MulticallCallResult[]): PrerequisiteResult<K>;
8
+ export declare abstract class Prerequisite {
9
+ /**
10
+ * Verifies this prerequisite. Never rejects: any error thrown by
11
+ * {@link check} (revert, RPC/network failure, compressor error) is
12
+ * normalized into an `error` result.
13
+ */
14
+ verify(ctx: PrerequisiteContext): Promise<PrerequisiteResult>;
49
15
  /**
50
- * Verifies this prerequisite on its own using an `allowFailure` multicall.
51
- * Prefer `verifyPrerequisites` to batch several checks into one round-trip.
16
+ * Performs the reads this prerequisite needs and maps them into a result.
17
+ * May throw on read failure; {@link verify} converts throws into `error`
18
+ * results.
52
19
  */
53
- verify(ctx: PrerequisiteContext): Promise<PrerequisiteResult<K>>;
54
- /** Builds a successful result; `detail` carries the on-chain `actual`. */
55
- protected satisfiedResult(satisfied: boolean, detail: PrerequisiteDetail<K>): PrerequisiteResult<K>;
56
- /** Builds a failed result from a decoded read error. */
57
- protected errorResult(error: PrerequisiteError): PrerequisiteResult<K>;
20
+ protected abstract check(ctx: PrerequisiteContext): Promise<PrerequisiteResult>;
21
+ /** Builds this prerequisite's failed result from a normalized read error. */
22
+ protected abstract errorResult(error: PrerequisiteError): PrerequisiteResult;
58
23
  }
59
- /** Any prerequisite regardless of its kind, used for heterogeneous lists. */
60
- export type AnyPrerequisite = Prerequisite<PrerequisiteKind>;
@@ -0,0 +1,51 @@
1
+ import type { Address } from "viem";
2
+ import type { RWAMissingOpenAccountRequirements, RWAOpenAccountRequirements, RWAOperationArgs } from "../../sdk/index.js";
3
+ import { Prerequisite } from "./Prerequisite.js";
4
+ import type { PrerequisiteContext, PrerequisiteError, PrerequisiteOutcome } from "./types.js";
5
+ /**
6
+ * RWA (e.g. Securitize) open-account requirements: off-chain token
7
+ * registration and/or EIP-712 signatures the borrower must provide before
8
+ * opening a credit account in an RWA market.
9
+ */
10
+ export interface RWAOpenRequirementsDetail {
11
+ /** RWA token (e.g. Securitize DSToken) the requirements are checked for. */
12
+ token: Address;
13
+ /** Credit manager of the RWA market. */
14
+ creditManager: Address;
15
+ /** RWA factory that gates the token. */
16
+ factory: Address;
17
+ /**
18
+ * Full requirements fetched at verify time via
19
+ * `sdk.accounts.getOpenAccountRequirements`; only present when the read
20
+ * succeeded and the factory gates the token.
21
+ */
22
+ requirements?: RWAOpenAccountRequirements;
23
+ /**
24
+ * Subset of `requirements` still unfulfilled, computed by the RWA
25
+ * factory at verify time (`IRWAFactory.getMissingRequirements`);
26
+ * `undefined` when everything is satisfied.
27
+ */
28
+ missing?: RWAMissingOpenAccountRequirements;
29
+ }
30
+ export type RWAOpenRequirementsResult = PrerequisiteOutcome & {
31
+ kind: "rwaOpenRequirements";
32
+ detail: RWAOpenRequirementsDetail;
33
+ };
34
+ /**
35
+ * Checks that the borrower has fulfilled the RWA factory's open-account
36
+ * requirements (issuer-side token registration, EIP-712 signatures).
37
+ *
38
+ * The requirements are fetched at verify time via
39
+ * `sdk.accounts.getOpenAccountRequirements`, so re-running verification picks
40
+ * up off-chain progress (the borrower registering on the issuer's website or
41
+ * signing the factory's message) without rebuilding the prerequisites. The
42
+ * unfulfilled subset is computed by the factory itself
43
+ * (`IRWAFactory.getMissingRequirements`) and exposed on the result's
44
+ * `detail.missing`; the full requirements are kept on `detail.requirements`.
45
+ */
46
+ export declare class RWAOpenRequirementsPrerequisite extends Prerequisite {
47
+ #private;
48
+ constructor(detail: Omit<RWAOpenRequirementsDetail, "requirements" | "missing">, providedArgs?: RWAOperationArgs);
49
+ protected check(ctx: PrerequisiteContext): Promise<RWAOpenRequirementsResult>;
50
+ protected errorResult(error: PrerequisiteError): RWAOpenRequirementsResult;
51
+ }
@@ -0,0 +1,14 @@
1
+ import { type GetApprovalAddressProps } from "../../sdk/index.js";
2
+ import type { InnerOperation } from "../parse/index.js";
3
+ import type { Prerequisite } from "./Prerequisite.js";
4
+ import type { PrerequisiteContext } from "./types.js";
5
+ /**
6
+ * For every `addCollateral` inside a multicall, requires the wallet to approve
7
+ * and hold the collateral token for the collateral spender.
8
+ *
9
+ * The approval spender is resolved via {@link OnchainSDK.accounts.getApprovalAddress}:
10
+ * the credit manager for classic markets, but a per-investor "special wallet"
11
+ * for RWA markets. The resolution happens at build time because the spender is
12
+ * part of the prerequisite's identity and UI detail.
13
+ */
14
+ export declare function buildCollateralPrerequisites(spenderOptions: GetApprovalAddressProps, multicall: InnerOperation[], ctx: PrerequisiteContext): Promise<Prerequisite[]>;
@@ -0,0 +1,8 @@
1
+ import type { PartialLiquidationOperation } from "../parse/index.js";
2
+ import type { Prerequisite } from "./Prerequisite.js";
3
+ import type { PrerequisiteContext } from "./types.js";
4
+ /**
5
+ * Partial liquidation pulls the repaid underlying from the liquidator: they
6
+ * must have approved it to the credit manager and hold enough of it.
7
+ */
8
+ export declare function buildPartialLiquidationPrerequisites(tx: PartialLiquidationOperation, ctx: PrerequisiteContext): Prerequisite[];
@@ -0,0 +1,8 @@
1
+ import { type Address } from "viem";
2
+ import type { PoolOperation } from "../parse/index.js";
3
+ import type { Prerequisite } from "./Prerequisite.js";
4
+ /**
5
+ * Prerequisites for ERC4626 pool operations (deposit, mint, withdraw, redeem),
6
+ * either direct or zapper-routed.
7
+ */
8
+ export declare function buildPoolPrerequisites(tx: PoolOperation, wallet: Address): Prerequisite[];