@gearbox-protocol/sdk 14.12.0-next.14 → 14.12.0-next.16

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 (333) hide show
  1. package/dist/cjs/abi/ierc4626Adapter.js +264 -0
  2. package/dist/cjs/plugins/adapters/abi/actionAbi.js +1 -10
  3. package/dist/cjs/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +332 -0
  4. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +436 -0
  5. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +183 -0
  6. package/dist/cjs/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +586 -0
  7. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +385 -0
  8. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +708 -0
  9. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +708 -0
  10. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +708 -0
  11. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +708 -0
  12. package/dist/cjs/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +206 -0
  13. package/dist/cjs/plugins/adapters/abi/adapters/iFluidDexAdapter.js +183 -0
  14. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +473 -0
  15. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +482 -0
  16. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +333 -0
  17. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +488 -0
  18. package/dist/cjs/plugins/adapters/abi/adapters/iLidoV1Adapter.js +171 -0
  19. package/dist/cjs/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +269 -0
  20. package/dist/cjs/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +350 -0
  21. package/dist/cjs/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +225 -0
  22. package/dist/cjs/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapter.js +262 -0
  23. package/dist/cjs/plugins/adapters/abi/adapters/iMidasRedemptionVault.js +622 -0
  24. package/dist/cjs/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1787 -0
  25. package/dist/cjs/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +288 -0
  26. package/dist/cjs/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +459 -0
  27. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +290 -0
  28. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +505 -0
  29. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +534 -0
  30. package/dist/cjs/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +475 -0
  31. package/dist/cjs/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +327 -0
  32. package/dist/cjs/plugins/adapters/abi/adapters/index.js +84 -0
  33. package/dist/cjs/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +183 -0
  34. package/dist/cjs/plugins/adapters/abi/adapters/mellowDvvAdapter.js +319 -0
  35. package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +1 -42
  36. package/dist/cjs/plugins/adapters/abi/conctructorAbiPatterns.js +0 -16
  37. package/dist/cjs/plugins/adapters/abi/index.js +2 -2
  38. package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +0 -293
  39. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +2 -2
  40. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  41. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  42. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  43. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +1 -1
  44. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -2
  45. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -2
  46. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -2
  47. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -2
  48. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -2
  49. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  50. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +11 -4
  51. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  52. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +2 -2
  53. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  54. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +3 -3
  55. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +3 -3
  56. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +3 -3
  57. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +2 -2
  58. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  59. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  60. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  61. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  62. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  63. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +3 -3
  64. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  65. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  66. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  67. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +2 -2
  68. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +2 -2
  69. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +3 -3
  70. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +3 -3
  71. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  72. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  73. package/dist/cjs/plugins/adapters/contracts/index.js +0 -12
  74. package/dist/cjs/plugins/adapters/createAdapter.js +1 -10
  75. package/dist/cjs/plugins/adapters/types.js +1 -11
  76. package/dist/cjs/preview/index.js +5 -1
  77. package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +1 -2
  78. package/dist/cjs/preview/parse/parseOperationCalldata.js +3 -11
  79. package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +1 -2
  80. package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +5 -6
  81. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +10 -27
  82. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +10 -26
  83. package/dist/cjs/preview/prerequisites/Prerequisite.js +1 -21
  84. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +16 -32
  85. package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +1 -3
  86. package/dist/cjs/preview/prerequisites/buildPartialLiquidationPrerequisites.js +1 -3
  87. package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +8 -19
  88. package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +7 -5
  89. package/dist/cjs/preview/prerequisites/checkPrerequisites.js +10 -10
  90. package/dist/cjs/preview/prerequisites/helpers.js +2 -13
  91. package/dist/cjs/preview/preview/applyInnerOperations.js +13 -2
  92. package/dist/cjs/preview/preview/applyRWAWrapUnwrap.js +74 -0
  93. package/dist/cjs/preview/preview/index.js +2 -2
  94. package/dist/cjs/preview/preview/{previewCloseOrRepay.js → previewCloseOrRepayCreditAccount.js} +6 -6
  95. package/dist/cjs/preview/preview/previewOperation.js +3 -3
  96. package/dist/cjs/preview/preview/previewPoolOperation.js +6 -39
  97. package/dist/cjs/preview/simulate/simulatePoolOperation.js +2 -5
  98. package/dist/cjs/preview/types.js +16 -0
  99. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +6 -117
  100. package/dist/esm/abi/ierc4626Adapter.js +240 -0
  101. package/dist/esm/plugins/adapters/abi/actionAbi.js +1 -10
  102. package/dist/esm/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +308 -0
  103. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +412 -0
  104. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +159 -0
  105. package/dist/esm/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +562 -0
  106. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +361 -0
  107. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +684 -0
  108. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +684 -0
  109. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +684 -0
  110. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +684 -0
  111. package/dist/esm/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +182 -0
  112. package/dist/esm/plugins/adapters/abi/adapters/iFluidDexAdapter.js +159 -0
  113. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +449 -0
  114. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +457 -0
  115. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +308 -0
  116. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +463 -0
  117. package/dist/esm/plugins/adapters/abi/adapters/iLidoV1Adapter.js +147 -0
  118. package/dist/esm/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +245 -0
  119. package/dist/esm/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +326 -0
  120. package/dist/esm/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +201 -0
  121. package/dist/esm/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapter.js +238 -0
  122. package/dist/esm/plugins/adapters/abi/adapters/iMidasRedemptionVault.js +597 -0
  123. package/dist/esm/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1763 -0
  124. package/dist/esm/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +264 -0
  125. package/dist/esm/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +435 -0
  126. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +266 -0
  127. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +481 -0
  128. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +509 -0
  129. package/dist/esm/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +450 -0
  130. package/dist/esm/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +303 -0
  131. package/dist/esm/plugins/adapters/abi/adapters/index.js +32 -0
  132. package/dist/esm/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +159 -0
  133. package/dist/esm/plugins/adapters/abi/adapters/mellowDvvAdapter.js +295 -0
  134. package/dist/esm/plugins/adapters/abi/conctructorAbi.js +1 -44
  135. package/dist/esm/plugins/adapters/abi/conctructorAbiPatterns.js +0 -14
  136. package/dist/esm/plugins/adapters/abi/index.js +1 -1
  137. package/dist/esm/plugins/adapters/abi/targetContractAbi.js +0 -289
  138. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +1 -1
  139. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +1 -1
  140. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +1 -1
  141. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +1 -1
  142. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +1 -1
  143. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +1 -1
  144. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +1 -1
  145. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +1 -1
  146. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +1 -1
  147. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +1 -1
  148. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +1 -1
  149. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +10 -3
  150. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +1 -1
  151. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +1 -1
  152. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +1 -1
  153. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +4 -4
  154. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +4 -4
  155. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +4 -4
  156. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +1 -1
  157. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +1 -1
  158. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +1 -1
  159. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +1 -1
  160. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +1 -1
  161. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +1 -1
  162. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +4 -4
  163. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +1 -1
  164. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +1 -1
  165. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +1 -1
  166. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +1 -1
  167. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +1 -1
  168. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +4 -4
  169. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +4 -4
  170. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +1 -1
  171. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +1 -1
  172. package/dist/esm/plugins/adapters/contracts/index.js +0 -6
  173. package/dist/esm/plugins/adapters/createAdapter.js +1 -13
  174. package/dist/esm/plugins/adapters/types.js +1 -11
  175. package/dist/esm/preview/index.js +2 -0
  176. package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +1 -2
  177. package/dist/esm/preview/parse/parseOperationCalldata.js +3 -11
  178. package/dist/esm/preview/parse/parsePoolOperationCalldata.js +1 -2
  179. package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +5 -6
  180. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +10 -27
  181. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +10 -26
  182. package/dist/esm/preview/prerequisites/Prerequisite.js +1 -21
  183. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +16 -32
  184. package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +1 -3
  185. package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +1 -3
  186. package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +8 -19
  187. package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +7 -5
  188. package/dist/esm/preview/prerequisites/checkPrerequisites.js +9 -11
  189. package/dist/esm/preview/prerequisites/helpers.js +5 -14
  190. package/dist/esm/preview/preview/applyInnerOperations.js +17 -3
  191. package/dist/esm/preview/preview/applyRWAWrapUnwrap.js +50 -0
  192. package/dist/esm/preview/preview/index.js +1 -1
  193. package/dist/esm/preview/preview/{previewCloseOrRepay.js → previewCloseOrRepayCreditAccount.js} +2 -2
  194. package/dist/esm/preview/preview/previewOperation.js +3 -3
  195. package/dist/esm/preview/preview/previewPoolOperation.js +7 -42
  196. package/dist/esm/preview/simulate/simulateOperation.js +1 -4
  197. package/dist/esm/preview/simulate/simulatePoolOperation.js +2 -5
  198. package/dist/esm/preview/types.js +0 -0
  199. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +2 -113
  200. package/dist/types/abi/ierc4626Adapter.d.ts +179 -0
  201. package/dist/types/common-utils/utils/creditAccount/sort.d.ts +3 -3
  202. package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-eligible.d.ts +1 -1
  203. package/dist/types/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.d.ts +1 -1
  204. package/dist/types/dev/abi.d.ts +4 -4
  205. package/dist/types/dev/providers.d.ts +1 -1
  206. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +9 -9
  207. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +1 -1
  208. package/dist/types/plugins/adapters/abi/adapters/erc4626ReferralAdapter.d.ts +231 -0
  209. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.d.ts +314 -0
  210. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.d.ts +117 -0
  211. package/dist/types/plugins/adapters/abi/adapters/iCamelotV3Adapter.d.ts +428 -0
  212. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.d.ts +271 -0
  213. package/dist/types/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.d.ts +519 -0
  214. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.d.ts +519 -0
  215. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.d.ts +519 -0
  216. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.d.ts +519 -0
  217. package/dist/types/plugins/adapters/abi/adapters/iDaiUsdsAdapter.d.ts +135 -0
  218. package/dist/types/plugins/adapters/abi/adapters/iFluidDexAdapter.d.ts +119 -0
  219. package/dist/types/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.d.ts +338 -0
  220. package/dist/types/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.d.ts +346 -0
  221. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtDepositPool.d.ts +233 -0
  222. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.d.ts +349 -0
  223. package/dist/types/plugins/adapters/abi/adapters/iLidoV1Adapter.d.ts +109 -0
  224. package/dist/types/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.d.ts +183 -0
  225. package/dist/types/plugins/adapters/abi/adapters/iMellowClaimerAdapter.d.ts +247 -0
  226. package/dist/types/plugins/adapters/abi/adapters/iMellowWrapperAdapter.d.ts +151 -0
  227. package/dist/types/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapter.d.ts +180 -0
  228. package/dist/types/plugins/adapters/abi/adapters/iMidasRedemptionVault.d.ts +453 -0
  229. package/dist/types/plugins/adapters/abi/adapters/iPendleRouterAdapter.d.ts +1366 -0
  230. package/dist/types/plugins/adapters/abi/adapters/iStakingRewardsAdapter.d.ts +197 -0
  231. package/dist/types/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.d.ts +333 -0
  232. package/dist/types/plugins/adapters/abi/adapters/iUniswapV2Adapter.d.ts +202 -0
  233. package/dist/types/plugins/adapters/abi/adapters/iUniswapV3Adapter.d.ts +367 -0
  234. package/dist/types/plugins/adapters/abi/adapters/iUniswapV4Adapter.d.ts +390 -0
  235. package/dist/types/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.d.ts +336 -0
  236. package/dist/types/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.d.ts +232 -0
  237. package/dist/types/plugins/adapters/abi/adapters/index.d.ts +32 -0
  238. package/dist/types/plugins/adapters/abi/adapters/iwstEthv1Adapter.d.ts +117 -0
  239. package/dist/types/plugins/adapters/abi/adapters/mellowDvvAdapter.d.ts +221 -0
  240. package/dist/types/plugins/adapters/abi/conctructorAbiPatterns.d.ts +0 -26
  241. package/dist/types/plugins/adapters/abi/index.d.ts +1 -1
  242. package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +0 -476
  243. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +5 -5
  244. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +3 -3
  245. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +5 -5
  246. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +5 -5
  247. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +5 -5
  248. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +5 -5
  249. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +5 -5
  250. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +5 -5
  251. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +5 -5
  252. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +4 -4
  253. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +10 -4
  254. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +4 -4
  255. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +4 -4
  256. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +5 -5
  257. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +3 -3
  258. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +3 -3
  259. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +5 -5
  260. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +5 -5
  261. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +3 -3
  262. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +4 -4
  263. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +5 -5
  264. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +3 -3
  265. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +5 -5
  266. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +5 -5
  267. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +5 -5
  268. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +4 -4
  269. package/dist/types/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +5 -5
  270. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +5 -5
  271. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +5 -5
  272. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +5 -5
  273. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +5 -5
  274. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +5 -5
  275. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +5 -5
  276. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +5 -5
  277. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +3 -3
  278. package/dist/types/plugins/adapters/contracts/index.d.ts +0 -6
  279. package/dist/types/plugins/adapters/types.d.ts +20 -13
  280. package/dist/types/preview/index.d.ts +2 -0
  281. package/dist/types/preview/parse/parseFacadeOperationCalldata.d.ts +6 -7
  282. package/dist/types/preview/parse/parseOperationCalldata.d.ts +5 -18
  283. package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +7 -12
  284. package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +5 -14
  285. package/dist/types/preview/parse/types.d.ts +0 -25
  286. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +13 -11
  287. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +13 -11
  288. package/dist/types/preview/prerequisites/Prerequisite.d.ts +6 -19
  289. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +27 -18
  290. package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +2 -2
  291. package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +2 -2
  292. package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +2 -2
  293. package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +2 -2
  294. package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +8 -16
  295. package/dist/types/preview/prerequisites/helpers.d.ts +3 -11
  296. package/dist/types/preview/prerequisites/types.d.ts +14 -72
  297. package/dist/types/preview/preview/applyInnerOperations.d.ts +11 -4
  298. package/dist/types/preview/preview/applyRWAWrapUnwrap.d.ts +13 -0
  299. package/dist/types/preview/preview/index.d.ts +1 -1
  300. package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +2 -1
  301. package/dist/types/preview/preview/{previewCloseOrRepay.d.ts → previewCloseOrRepayCreditAccount.d.ts} +3 -2
  302. package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +2 -1
  303. package/dist/types/preview/preview/previewOperation.d.ts +2 -1
  304. package/dist/types/preview/preview/previewPoolOperation.d.ts +3 -3
  305. package/dist/types/preview/preview/types.d.ts +7 -60
  306. package/dist/types/preview/simulate/index.d.ts +1 -4
  307. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +3 -14
  308. package/dist/types/preview/simulate/simulateOperation.d.ts +4 -16
  309. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +7 -3
  310. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +3 -14
  311. package/dist/types/preview/simulate/types.d.ts +13 -30
  312. package/dist/types/preview/types.d.ts +52 -0
  313. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +1 -6
  314. package/dist/types/sdk/accounts/types.d.ts +4 -64
  315. package/dist/types/sdk/chain/chains.d.ts +8 -8
  316. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +5 -5
  317. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +1 -1
  318. package/package.json +11 -12
  319. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -116
  320. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -76
  321. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -68
  322. package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -89
  323. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -94
  324. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -54
  325. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -46
  326. package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -69
  327. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +0 -1045
  328. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -26
  329. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -24
  330. package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +0 -36
  331. /package/dist/cjs/plugins/adapters/abi/{iConvexV1BoosterAdapter.js → adapters/iConvexV1BoosterAdapter.js} +0 -0
  332. /package/dist/esm/plugins/adapters/abi/{iConvexV1BoosterAdapter.js → adapters/iConvexV1BoosterAdapter.js} +0 -0
  333. /package/dist/types/plugins/adapters/abi/{iConvexV1BoosterAdapter.d.ts → adapters/iConvexV1BoosterAdapter.d.ts} +0 -0
@@ -1,61 +1,8 @@
1
1
  import type { Address } from "viem";
2
- import type { OnchainSDK, RWAMissingOpenAccountRequirements, RWAOpenAccountRequirements } from "../../sdk/index.js";
3
- /**
4
- * Extension point that ties each prerequisite kind to its detail payload.
5
- *
6
- * IMPORTANT: only add prerequisites that are *actionable by the transaction
7
- * sender* (the LP provider or borrower). A valid prerequisite is one the user
8
- * can resolve themselves before retrying, e.g. approve a token (`allowance`)
9
- * or perform offchain KYC verification.
10
- *
11
- * Do NOT add protocol- or admin-level state the user cannot change.
12
- */
13
- export interface PrerequisiteDetailMap {
14
- /** ERC-20 allowance from `owner` to `spender` must cover `required`. */
15
- allowance: {
16
- token: Address;
17
- owner: Address;
18
- spender: Address;
19
- required: bigint;
20
- /** On-chain allowance read; only present when the read succeeded. */
21
- actual?: bigint;
22
- };
23
- /** ERC-20 balance of `owner` must cover `required`. */
24
- balance: {
25
- token: Address;
26
- owner: Address;
27
- required: bigint;
28
- /** On-chain balance read; only present when the read succeeded. */
29
- actual?: bigint;
30
- };
31
- /**
32
- * RWA (e.g. Securitize) open-account requirements: off-chain token
33
- * registration and/or EIP-712 signatures the borrower must provide before
34
- * opening a credit account in an RWA market.
35
- */
36
- rwaOpenRequirements: {
37
- /** RWA token (e.g. Securitize DSToken) the requirements are checked for. */
38
- token: Address;
39
- /** Credit manager of the RWA market. */
40
- creditManager: Address;
41
- /** RWA factory that gates the token. */
42
- factory: Address;
43
- /**
44
- * Full requirements fetched at verify time via
45
- * `sdk.accounts.getOpenAccountRequirements`; only present when the read
46
- * succeeded and the factory gates the token.
47
- */
48
- requirements?: RWAOpenAccountRequirements;
49
- /**
50
- * Subset of `requirements` still unfulfilled, computed by the RWA
51
- * factory at verify time (`IRWAFactory.getMissingRequirements`);
52
- * `undefined` when everything is satisfied.
53
- */
54
- missing?: RWAMissingOpenAccountRequirements;
55
- };
56
- }
57
- export type PrerequisiteKind = keyof PrerequisiteDetailMap;
58
- export type PrerequisiteDetail<K extends PrerequisiteKind = PrerequisiteKind> = PrerequisiteDetailMap[K];
2
+ import type { OnchainSDK } from "../../sdk/index.js";
3
+ import type { AllowanceResult } from "./AllowancePrerequisite.js";
4
+ import type { BalanceResult } from "./BalancePrerequisite.js";
5
+ import type { RWAOpenRequirementsResult } from "./RWAOpenRequirementsPrerequisite.js";
59
6
  /** Failure of the underlying on-chain read (revert, decode error, RPC error). */
60
7
  export interface PrerequisiteError {
61
8
  /** Decoded revert reason / error name, human-readable. */
@@ -63,32 +10,27 @@ export interface PrerequisiteError {
63
10
  /** Original error, kept for debugging. */
64
11
  cause?: unknown;
65
12
  }
66
- export interface PrerequisiteBase<K extends PrerequisiteKind> {
67
- id: string;
68
- kind: K;
69
- title: string;
70
- detail: PrerequisiteDetail<K>;
71
- }
72
13
  /**
73
14
  * Outcome of verifying a single prerequisite: either the read succeeded (a
74
15
  * `satisfied` boolean) or it reverted/failed (an `error` with the revert
75
- * reason). The two variants are mutually exclusive.
16
+ * reason).
76
17
  */
77
- export type PrerequisiteResult<K extends PrerequisiteKind = PrerequisiteKind> = PrerequisiteBase<K> & ({
18
+ export type PrerequisiteOutcome = {
78
19
  satisfied: boolean;
79
20
  error?: undefined;
80
21
  } | {
81
22
  satisfied?: undefined;
82
23
  error: PrerequisiteError;
83
- });
24
+ };
84
25
  /**
85
- * Discriminated union over every prerequisite kind. Switching on `kind`
86
- * narrows `detail` to the matching payload, so React components can render
87
- * kind-specific details with full type safety.
26
+ * Discriminated union over every prerequisite kind
27
+ *
28
+ * Only add prerequisites that are actionable by tx sender.
29
+ * A valid prerequisite is one the user can resolve themselves before retrying,
30
+ * e.g. approve a token (`allowance`) or perform offchain KYC verification.
88
31
  */
89
- export type AnyPrerequisiteResult = {
90
- [K in PrerequisiteKind]: PrerequisiteResult<K>;
91
- }[PrerequisiteKind];
32
+ export type PrerequisiteResult = AllowanceResult | BalanceResult | RWAOpenRequirementsResult;
33
+ export type PrerequisiteKind = PrerequisiteResult["kind"];
92
34
  /** Shared inputs for building and verifying prerequisites. */
93
35
  export interface PrerequisiteContext {
94
36
  sdk: OnchainSDK;
@@ -1,5 +1,6 @@
1
+ import { type SdkWithAdapters } from "../../plugins/adapters/index.js";
1
2
  import { type Asset, AssetsMap, type PluginsMap } from "../../sdk/index.js";
2
- import type { InnerOperation, SdkWithAdapters } from "../parse/index.js";
3
+ import type { InnerOperation } from "../parse/index.js";
3
4
  /**
4
5
  * Running state threaded through a credit-facade multicall by
5
6
  * {@link applyInnerOperations}. Seeded by the caller:
@@ -51,9 +52,15 @@ export declare function makeInnerOperationsState(): InnerOperationsState;
51
52
  * exact deltas for explicit facade calls, exact leftovers for diff-style
52
53
  * adapter calls inside `storeExpectedBalances`/`compareBalances` brackets and
53
54
  * enforced minimums for bracket targets. Adapter calls outside a bracket are
54
- * ignored: nothing enforces their outcome on-chain (e.g. reward claims and RWA
55
- * wrap/unwrap calls emitted by `CreditAccountsServiceV310`), so their
56
- * guaranteed balance change is zero.
55
+ * ignored: nothing enforces their outcome on-chain (e.g. reward claims), so
56
+ * their guaranteed balance change is zero.
57
+ *
58
+ * The exception is RWA wrap/unwrap calls emitted by
59
+ * `CreditAccountsServiceV310`: out-of-bracket ERC4626 adapter calls whose
60
+ * share token is an RWA underlying. Their outcome is essential to the preview
61
+ * (the conversion between the market underlying and its asset); RWA
62
+ * underlyings always convert 1-to-1 with their vault asset, so the conversion
63
+ * is applied directly, see {@link applyRWAWrapUnwrap}.
57
64
  *
58
65
  * @throws On malformed `storeExpectedBalances`/`compareBalances` brackets and
59
66
  * on bracketed calls to non-adapter targets.
@@ -0,0 +1,13 @@
1
+ import { type Hex } from "viem";
2
+ import type { ERC4626AdapterContract } from "../../plugins/adapters/index.js";
3
+ import type { AssetsMap } from "../../sdk/index.js";
4
+ /**
5
+ * Applies an RWA wrap/unwrap adapter call (ERC4626 `deposit`/`redeem` and
6
+ * their diff variants, as emitted by `CreditAccountsServiceV310`) to the
7
+ * running credit-account balances.
8
+ *
9
+ * RWA underlyings always convert 1-to-1 with their vault asset, so the
10
+ * counterpart amount equals the input amount and no on-chain preview read is
11
+ * needed.
12
+ */
13
+ export declare function applyRWAWrapUnwrap(adapter: ERC4626AdapterContract, calldata: Hex, balances: AssetsMap): void;
@@ -2,6 +2,6 @@ export * from "./applyInnerOperations.js";
2
2
  export * from "./detectCloseOrRepay.js";
3
3
  export * from "./errors.js";
4
4
  export * from "./previewAdjustCreditAccount.js";
5
- export * from "./previewCloseOrRepay.js";
5
+ export * from "./previewCloseOrRepayCreditAccount.js";
6
6
  export * from "./previewOperation.js";
7
7
  export * from "./types.js";
@@ -1,6 +1,7 @@
1
1
  import { type PluginsMap } from "../../sdk/index.js";
2
2
  import type { MulticallOperation, RWAMulticallOperation } from "../parse/index.js";
3
- import type { AdjustCreditAccountPreview, PreviewOperationInput, PreviewOperationOptions } from "./types.js";
3
+ import type { PreviewOperationInput, PreviewOperationOptions } from "../types.js";
4
+ import type { AdjustCreditAccountPreview } from "./types.js";
4
5
  /**
5
6
  * Previews a `multicall`/`botMulticall` operation on an existing credit
6
7
  * account: fetches the account's pre-state (unless provided via options),
@@ -1,10 +1,11 @@
1
1
  import { type PluginsMap } from "../../sdk/index.js";
2
2
  import type { CloseCreditAccountOperation, MulticallOperation, RWAMulticallOperation } from "../parse/index.js";
3
- import type { OperationPreview, PreviewOperationInput, PreviewOperationOptions } from "./types.js";
3
+ import type { PreviewOperationInput, PreviewOperationOptions } from "../types.js";
4
+ import type { OperationPreview } from "./types.js";
4
5
  /**
5
6
  * Any parsed operation that fully closes or repays a credit account: the
6
7
  * facade `closeCreditAccount` entry point (permanent closure) or a plain
7
8
  * multicall detected by `isCloseOrRepay` (zero-debt closure/repay).
8
9
  */
9
10
  export type CloseOrRepayOperation = CloseCreditAccountOperation | MulticallOperation | RWAMulticallOperation;
10
- export declare function previewCloseOrRepay<P extends PluginsMap>(input: PreviewOperationInput<P>, operation: CloseOrRepayOperation, permanent: boolean, options?: PreviewOperationOptions): Promise<OperationPreview>;
11
+ export declare function previewCloseOrRepayCreditAccount<P extends PluginsMap>(input: PreviewOperationInput<P>, operation: CloseOrRepayOperation, permanent: boolean, options?: PreviewOperationOptions): Promise<OperationPreview>;
@@ -1,4 +1,5 @@
1
1
  import { type PluginsMap } from "../../sdk/index.js";
2
2
  import type { OpenCreditAccountOperation, RWAOpenCreditAccountOperation } from "../parse/index.js";
3
- import type { OpenCreditAccountPreview, PreviewOperationInput } from "./types.js";
3
+ import type { PreviewOperationInput } from "../types.js";
4
+ import type { OpenCreditAccountPreview } from "./types.js";
4
5
  export declare function previewOpenCreditAccount<P extends PluginsMap>(input: PreviewOperationInput<P>, operation: OpenCreditAccountOperation | RWAOpenCreditAccountOperation): OpenCreditAccountPreview;
@@ -1,5 +1,6 @@
1
1
  import type { PluginsMap } from "../../sdk/index.js";
2
- import type { OperationPreview, PreviewOperationInput, PreviewOperationOptions } from "./types.js";
2
+ import type { PreviewOperationInput, PreviewOperationOptions } from "../types.js";
3
+ import type { OperationPreview } from "./types.js";
3
4
  /**
4
5
  * Previews a raw operation calldata: decodes it into a typed operation and
5
6
  * assembles an operation-specific, human-displayable preview.
@@ -1,5 +1,5 @@
1
1
  import type { PluginsMap } from "../../sdk/index.js";
2
2
  import type { PoolOperation } from "../parse/index.js";
3
- import { type OperationSimulationOptions } from "../simulate/index.js";
4
- import type { PoolOperationPreview, PreviewOperationInput } from "./types.js";
5
- export declare function previewPoolOperation<P extends PluginsMap>(input: PreviewOperationInput<P>, operation: PoolOperation, options?: OperationSimulationOptions): Promise<PoolOperationPreview>;
3
+ import type { PreviewOperationInput, PreviewOperationOptions } from "../types.js";
4
+ import type { PoolOperationPreview } from "./types.js";
5
+ export declare function previewPoolOperation<P extends PluginsMap>(input: PreviewOperationInput<P>, operation: PoolOperation, options?: PreviewOperationOptions): Promise<PoolOperationPreview>;
@@ -1,57 +1,6 @@
1
- import type { Address, Hex } from "viem";
2
- import type { Asset, CreditAccountData, PluginsMap } from "../../sdk/index.js";
3
- import type { PoolOperationType, SdkWithAdapters } from "../parse/index.js";
4
- import type { OperationSimulationOptions } from "../simulate/index.js";
5
- /**
6
- * Input of {@link previewOperation}: the raw operation calldata plus the
7
- * already-attached SDK
8
- */
9
- export interface PreviewOperationInput<P extends PluginsMap = PluginsMap> {
10
- /**
11
- * Already-attached SDK; chain, RPC and block are baked in at attach time.
12
- * Must be created with the adapters plugin (enforced at compile time) so
13
- * adapter contracts resolve during multicall classification.
14
- */
15
- sdk: SdkWithAdapters<P>;
16
- /**
17
- * Contract address that was called
18
- */
19
- to: Address;
20
- /**
21
- * Raw calldata of the operation
22
- */
23
- calldata: Hex;
24
- /**
25
- * Transaction sender
26
- */
27
- sender: Address;
28
- /**
29
- * Transaction `msg.value`
30
- **/
31
- value?: bigint;
32
- }
33
- /**
34
- * Options of {@link previewOperation}, extending the simulation options with
35
- * preview-specific inputs.
36
- */
37
- export interface PreviewOperationOptions extends OperationSimulationOptions {
38
- /**
39
- * Pre-fetched state of the credit account being adjusted. When omitted,
40
- * multicall/botMulticall previews fetch it via
41
- * `sdk.accounts.getCreditAccountData` (one compressor read). Ignored by
42
- * other operation kinds.
43
- */
44
- creditAccount?: CreditAccountData;
45
- }
46
- /**
47
- * A token amount that may require an additional async call (e.g. an ERC4626
48
- * preview read) to determine. When that call fails, only the token address and
49
- * the error are returned.
50
- */
51
- export type PreviewedAsset = Asset | {
52
- token: Address;
53
- error: Error;
54
- };
1
+ import type { Address } from "viem";
2
+ import type { Asset } from "../../sdk/index.js";
3
+ import type { PoolOperationType } from "../parse/index.js";
55
4
  export interface PoolOperationPreview {
56
5
  operation: PoolOperationType;
57
6
  /**
@@ -65,10 +14,9 @@ export interface PoolOperationPreview {
65
14
  *
66
15
  * For mint/withdraw the amount of tokenIn cannot be determined from
67
16
  * transaction calldata alone and requires an additional async call
68
- * (previewMint/previewWithdraw). In case of error only the token address is
69
- * returned.
17
+ * (previewMint/previewWithdraw).
70
18
  */
71
- tokenIn: PreviewedAsset;
19
+ tokenIn: Asset;
72
20
  /**
73
21
  * Token that goes from pool to user
74
22
  * In case of deposit, pool shares (diesel token) for direct deposit or zapper token out
@@ -76,10 +24,9 @@ export interface PoolOperationPreview {
76
24
  *
77
25
  * For deposit/redeem the amount of tokenOut cannot be determined from
78
26
  * transaction calldata alone and requires an additional async call
79
- * (previewDeposit/previewRedeem). In case of error only the token address is
80
- * returned.
27
+ * (previewDeposit/previewRedeem).
81
28
  */
82
- tokenOut: PreviewedAsset;
29
+ tokenOut: Asset;
83
30
  }
84
31
  export interface OpenCreditAccountPreview {
85
32
  operation: "OpenCreditAccount" | "RWAOpenCreditAccount";
@@ -1,10 +1,7 @@
1
1
  export type { SimulationError, SimulationFlowFailure, SimulationFlowSource, } from "./errors.js";
2
2
  export { PreviewSimulationError } from "./errors.js";
3
- export type { SimulateFacadeOperationInput } from "./simulateFacadeOperation.js";
4
3
  export { simulateFacadeOperation } from "./simulateFacadeOperation.js";
5
- export type { SimulateOperationInput } from "./simulateOperation.js";
6
4
  export { simulateOperation } from "./simulateOperation.js";
7
5
  export { simulatePoolOperation } from "./simulatePoolOperation.js";
8
- export type { SimulateRWAOperationInput } from "./simulateRWAOperation.js";
9
6
  export { simulateRWAOperation } from "./simulateRWAOperation.js";
10
- export type { OperationSimulationOptions, PoolOperationSimulation, PoolOperationSimulationInput, PoolOperationSimulationResult, } from "./types.js";
7
+ export type { PoolOperationSimulationResult, SimulationInput, } from "./types.js";
@@ -1,17 +1,6 @@
1
- import type { Address, Hex } from "viem";
2
- import type { OnchainSDK } from "../../sdk/index.js";
3
1
  import type { OuterFacadeOperation } from "../parse/index.js";
4
- import type { OperationSimulationOptions, PoolOperationSimulation } from "./types.js";
5
- export interface SimulateFacadeOperationInput {
6
- /** Only `client`/`networkType` are used, so any OnchainSDK works. */
7
- sdk: OnchainSDK;
8
- /** Parsed credit-facade operation to simulate. */
9
- operation: OuterFacadeOperation;
10
- /** Target contract the calldata is sent to (the credit facade). */
11
- to: Address;
12
- /** Raw credit-facade calldata to simulate. */
13
- calldata: Hex;
14
- }
2
+ import type { PreviewOperationOptions } from "../types.js";
3
+ import type { PoolOperationSimulationResult, SimulationInput } from "./types.js";
15
4
  /**
16
5
  * Simulates a credit-facade operation.
17
6
  *
@@ -20,4 +9,4 @@ export interface SimulateFacadeOperationInput {
20
9
  * signature mirrors {@link simulatePoolOperation} so the
21
10
  * {@link simulateOperation} wrapper can delegate uniformly once implemented.
22
11
  */
23
- export declare function simulateFacadeOperation(_input: SimulateFacadeOperationInput, _options?: OperationSimulationOptions): Promise<PoolOperationSimulation>;
12
+ export declare function simulateFacadeOperation(_input: SimulationInput<OuterFacadeOperation>, _options?: PreviewOperationOptions): Promise<PoolOperationSimulationResult>;
@@ -1,18 +1,6 @@
1
- import type { Address, Hex } from "viem";
2
- import type { OnchainSDK } from "../../sdk/index.js";
3
- import { type Operation } from "../parse/index.js";
4
- import type { OperationSimulationOptions, PoolOperationSimulation } from "./types.js";
5
- export interface SimulateOperationInput {
6
- /** Gearbox SDK instance. */
7
- sdk: OnchainSDK;
8
- /** Parsed pool or credit account operation */
9
- operation: Operation;
10
- /** Target contract the calldata is sent to. */
11
- to: Address;
12
- /** Raw operation calldata to simulate. */
13
- calldata: Hex;
14
- }
1
+ import type { PreviewOperationOptions } from "../types.js";
2
+ import type { PoolOperationSimulationResult, SimulationInput } from "./types.js";
15
3
  /**
16
- * Simulates a parsed pool or credit account operation {@link Operation}
4
+ * Simulates a parsed pool or credit account operation
17
5
  */
18
- export declare function simulateOperation(input: SimulateOperationInput, options?: OperationSimulationOptions): Promise<PoolOperationSimulation>;
6
+ export declare function simulateOperation(input: SimulationInput, options?: PreviewOperationOptions): Promise<PoolOperationSimulationResult>;
@@ -1,7 +1,11 @@
1
- import type { OperationSimulationOptions, PoolOperationSimulation, PoolOperationSimulationInput } from "./types.js";
1
+ import type { PoolOperation } from "../parse/index.js";
2
+ import type { PreviewOperationOptions } from "../types.js";
3
+ import type { PoolOperationSimulationResult, SimulationInput } from "./types.js";
2
4
  /**
3
5
  * Simulates a pool deposit/mint/withdraw/redeem (direct or zapper-routed) and
4
- * returns the resulting token amounts going in and out, or a decoded failure.
6
+ * returns the resulting token amounts going in and out. Throws a
7
+ * {@link PreviewSimulationError} with the decoded revert when the preview read
8
+ * fails.
5
9
  *
6
10
  * Performs the matching preview read (the pool's ERC4626
7
11
  * `previewDeposit`/`previewMint`/`previewWithdraw`/`previewRedeem`, or the
@@ -11,4 +15,4 @@ import type { OperationSimulationOptions, PoolOperationSimulation, PoolOperation
11
15
  * It does not execute the calldata, so it ignores balance/allowance
12
16
  * prerequisites (preview reads succeed regardless).
13
17
  */
14
- export declare function simulatePoolOperation(input: PoolOperationSimulationInput, options?: OperationSimulationOptions): Promise<PoolOperationSimulation>;
18
+ export declare function simulatePoolOperation(input: SimulationInput<PoolOperation>, options?: PreviewOperationOptions): Promise<PoolOperationSimulationResult>;
@@ -1,17 +1,6 @@
1
- import type { Address, Hex } from "viem";
2
- import type { OnchainSDK } from "../../sdk/index.js";
3
1
  import type { RWAOperation } from "../parse/index.js";
4
- import type { OperationSimulationOptions, PoolOperationSimulation } from "./types.js";
5
- export interface SimulateRWAOperationInput {
6
- /** Only `client`/`networkType` are used, so any OnchainSDK works. */
7
- sdk: OnchainSDK;
8
- /** Parsed RWA-factory operation to simulate. */
9
- operation: RWAOperation;
10
- /** Target contract the calldata is sent to (the RWA factory). */
11
- to: Address;
12
- /** Raw RWA-factory calldata to simulate. */
13
- calldata: Hex;
14
- }
2
+ import type { PreviewOperationOptions } from "../types.js";
3
+ import type { PoolOperationSimulationResult, SimulationInput } from "./types.js";
15
4
  /**
16
5
  * Simulates an RWA-factory operation.
17
6
  *
@@ -20,4 +9,4 @@ export interface SimulateRWAOperationInput {
20
9
  * not cover. The signature mirrors {@link simulatePoolOperation} so the
21
10
  * {@link simulateOperation} wrapper can delegate uniformly once implemented.
22
11
  */
23
- export declare function simulateRWAOperation(_input: SimulateRWAOperationInput, _options?: OperationSimulationOptions): Promise<PoolOperationSimulation>;
12
+ export declare function simulateRWAOperation(_input: SimulationInput<RWAOperation>, _options?: PreviewOperationOptions): Promise<PoolOperationSimulationResult>;
@@ -1,31 +1,25 @@
1
1
  import type { Address, Hex } from "viem";
2
2
  import type { OnchainSDK } from "../../sdk/index.js";
3
- import type { ILogger } from "../../sdk/types/logger.js";
4
- import type { PoolOperation } from "../parse/index.js";
5
- import type { PreviewSimulationError } from "./errors.js";
6
- export interface PoolOperationSimulationInput {
3
+ import type { Operation } from "../parse/index.js";
4
+ /**
5
+ * Input of the simulation functions, generic over the parsed operation kind
6
+ * so each specialized simulation narrows `operation` while sharing the same
7
+ * shape.
8
+ */
9
+ export interface SimulationInput<Op extends Operation = Operation> {
7
10
  /** Only `client`/`networkType` are used, so any OnchainSDK works. */
8
11
  sdk: OnchainSDK;
9
- /** Parsed operation, used to resolve the underlying and pool tokens. */
10
- operation: PoolOperation;
11
- /** Target contract the calldata is sent to (the pool). */
12
+ /** Parsed operation to simulate. */
13
+ operation: Op;
14
+ /** Target contract the calldata is sent to. */
12
15
  to: Address;
13
- /** Raw deposit/mint/withdraw/redeem calldata to simulate. */
16
+ /** Raw operation calldata to simulate. */
14
17
  calldata: Hex;
15
18
  }
16
- export interface OperationSimulationOptions {
17
- /** Block to simulate at; defaults to latest. */
18
- blockNumber?: bigint;
19
- /**
20
- * Optional logger.
21
- **/
22
- logger?: ILogger;
23
- }
24
19
  /**
25
- * Successful simulation of a pool operation: the amounts of tokens going in
20
+ * Result of simulating a pool operation: the amounts of tokens going in
26
21
  * and out. One side comes from calldata, the other from the matching ERC4626
27
- * preview read. This is the success payload of {@link PoolOperationSimulation}
28
- * without the `status` discriminant.
22
+ * preview read.
29
23
  */
30
24
  export interface PoolOperationSimulationResult {
31
25
  /**
@@ -39,14 +33,3 @@ export interface PoolOperationSimulationResult {
39
33
  **/
40
34
  amountOut: bigint;
41
35
  }
42
- /**
43
- * Outcome of simulating a pool operation. On success it carries a
44
- * {@link PoolOperationSimulationResult}; on failure it carries a
45
- * {@link PreviewSimulationError}.
46
- */
47
- export type PoolOperationSimulation = ({
48
- status: "success";
49
- } & PoolOperationSimulationResult) | {
50
- status: "failure";
51
- error: PreviewSimulationError;
52
- };
@@ -0,0 +1,52 @@
1
+ import type { Address, Hex } from "viem";
2
+ import type { SdkWithAdapters } from "../plugins/adapters/index.js";
3
+ import type { CreditAccountData, PluginsMap } from "../sdk/index.js";
4
+ import type { ILogger } from "../sdk/types/logger.js";
5
+ /**
6
+ * Raw-calldata operation input shared by `parseOperationCalldata`,
7
+ * `previewOperation` and `checkPrerequisites`.
8
+ */
9
+ export interface PreviewOperationInput<P extends PluginsMap = PluginsMap> {
10
+ /**
11
+ * Already-attached SDK; chain, RPC and block are baked in at attach time.
12
+ * Must be created with the adapters plugin (enforced at compile time) so
13
+ * adapter contracts resolve during multicall classification.
14
+ */
15
+ sdk: SdkWithAdapters<P>;
16
+ /**
17
+ * Contract address that was called
18
+ */
19
+ to: Address;
20
+ /**
21
+ * Raw calldata of the operation
22
+ */
23
+ calldata: Hex;
24
+ /**
25
+ * Transaction sender
26
+ */
27
+ sender: Address;
28
+ /**
29
+ * Transaction `msg.value`, required for native-token zapper deposits.
30
+ **/
31
+ value?: bigint;
32
+ }
33
+ /**
34
+ * Options shared by the preview, simulation and prerequisite-check flows.
35
+ * Each flow uses the subset it needs and ignores the rest.
36
+ */
37
+ export interface PreviewOperationOptions {
38
+ /**
39
+ * Block to read/simulate at; defaults to latest. Only set for testnet
40
+ * forks.
41
+ */
42
+ blockNumber?: bigint;
43
+ /**
44
+ * Optional logger.
45
+ **/
46
+ logger?: ILogger;
47
+ /**
48
+ * @internal
49
+ * Credit account state for testing purposes
50
+ */
51
+ creditAccount?: CreditAccountData;
52
+ }
@@ -6,7 +6,7 @@ import type { RWAOpenAccountRequirements } from "../market/rwa/index.js";
6
6
  import type { OnchainSDK } from "../OnchainSDK.js";
7
7
  import type { RouterCASlice } from "../router/index.js";
8
8
  import type { MultiCall, RawTx } from "../types/index.js";
9
- import type { AccountToCheck, AddCollateralProps, AssembleCaOperationsProps, AssembleCaUpdateCallsProps, AssembleCloseCreditAccountCallsProps, AssembleRepayCreditAccountCallsProps, ChangeDeptProps, ClaimDelayedProps, ClaimFarmRewardsProps, CloseCreditAccountProps, CloseCreditAccountResult, CreditAccountOperationResult, CreditAccountTokensSlice, CreditManagerOperationResult, DefaultPartialLiquidationParams, ExecuteSwapProps, FullyLiquidateProps, FullyLiquidateResult, GetApprovalAddressProps, GetConnectedBotsResult, GetConnectedMigrationBotsResult, GetCreditAccountsOptions, GetOpenAccountRequirementsProps, GetPendingWithdrawalsProps, GetPendingWithdrawalsResult, ICreditAccountsService, OpenCAProps, PartiallyLiquidateProps, PreviewDelayedWithdrawalProps, PreviewDelayedWithdrawalResult, RepayAndLiquidateCreditAccountProps, RepayCreditAccountProps, Rewards, SetBotProps, StartDelayedWithdrawalProps, UpdateQuotasProps, WithdrawCollateralProps } from "./types.js";
9
+ import type { AccountToCheck, AddCollateralProps, AssembleCaOperationsProps, AssembleCloseCreditAccountCallsProps, AssembleRepayCreditAccountCallsProps, ChangeDeptProps, ClaimDelayedProps, ClaimFarmRewardsProps, CloseCreditAccountProps, CloseCreditAccountResult, CreditAccountOperationResult, CreditAccountTokensSlice, CreditManagerOperationResult, DefaultPartialLiquidationParams, ExecuteSwapProps, FullyLiquidateProps, FullyLiquidateResult, GetApprovalAddressProps, GetConnectedBotsResult, GetConnectedMigrationBotsResult, GetCreditAccountsOptions, GetOpenAccountRequirementsProps, GetPendingWithdrawalsProps, GetPendingWithdrawalsResult, ICreditAccountsService, OpenCAProps, PartiallyLiquidateProps, PreviewDelayedWithdrawalProps, PreviewDelayedWithdrawalResult, RepayAndLiquidateCreditAccountProps, RepayCreditAccountProps, Rewards, SetBotProps, StartDelayedWithdrawalProps, UpdateQuotasProps, WithdrawCollateralProps } from "./types.js";
10
10
  /**
11
11
  * Options for configuring the credit account service.
12
12
  **/
@@ -222,11 +222,6 @@ export declare class CreditAccountsServiceV310 extends SDKConstruct implements I
222
222
  * {@inheritDoc ICreditAccountsService.assembleCaOperations}
223
223
  */
224
224
  assembleCaOperations({ operations, creditFacade, withdrawTo, }: AssembleCaOperationsProps): MultiCall[];
225
- /**
226
- * {@inheritDoc ICreditAccountsService.assembleCaUpdateCalls}
227
- * @deprecated Prefer {@link CreditAccountsServiceV310.assembleCaOperations}.
228
- */
229
- assembleCaUpdateCalls({ operations, routerCallGroups, creditFacade, withdrawTo, creditAccount, underlyingToken, }: AssembleCaUpdateCallsProps): MultiCall[];
230
225
  /**
231
226
  * {@inheritDoc ICreditAccountsService.executeCaUpdate}
232
227
  */
@@ -708,64 +708,10 @@ export type GetApprovalAddressProps = {
708
708
  creditManager: Address;
709
709
  creditAccount: Address;
710
710
  };
711
- /**
712
- * A single step in a generic credit account update operation chain.
713
- *
714
- * Used by {@link ICreditAccountsService.assembleCaUpdateCalls} to build the
715
- * underlying credit facade multicall calls.
716
- *
717
- * @deprecated Prefer {@link EncodableCreditAccountOperation} with
718
- * {@link ICreditAccountsService.assembleCaOperations}. Close stays on dedicated
719
- * assemblers / this deprecated path only.
720
- */
721
- export type CreditAccountUpdateOperation = {
722
- type: "increaseDebt";
723
- amount: bigint;
724
- } | {
725
- type: "decreaseDebt";
726
- amount: bigint;
727
- } | {
728
- type: "addCollateral";
729
- token: Address;
730
- amount: bigint;
731
- } | {
732
- type: "withdrawCollateral";
733
- token: Address;
734
- amount: bigint;
735
- } | {
736
- type: "swap";
737
- } | {
738
- type: "changeQuota";
739
- quotaIncrease: Array<Asset>;
740
- quotaDecrease: Array<Asset>;
741
- } | {
742
- type: "closeCreditAccount";
743
- };
744
- /**
745
- * Input for {@link ICreditAccountsService.assembleCaUpdateCalls}.
746
- *
747
- * @deprecated Prefer {@link AssembleCaOperationsProps} /
748
- * {@link ICreditAccountsService.assembleCaOperations}.
749
- */
750
- export type AssembleCaUpdateCallsProps = {
751
- operations: Array<CreditAccountUpdateOperation>;
752
- /** One group per swap leg (in order), or a single group for the close path. */
753
- routerCallGroups: Array<Array<MultiCall>>;
754
- creditFacade: Address;
755
- withdrawTo: Address;
756
- creditAccount: {
757
- debt: bigint;
758
- assets: Array<Asset>;
759
- initialQuotas: Record<Address, {
760
- quota: bigint;
761
- }>;
762
- };
763
- underlyingToken: Address;
764
- };
765
711
  /**
766
712
  * An enriched credit-account operation ready for encoding.
767
713
  * Each op carries everything needed to build facade / adapter multicalls —
768
- * swap and wrap attach concrete `calls` (no external routerCallGroups).
714
+ * swap / wrap / unwrap attach concrete `calls` (no external routerCallGroups).
769
715
  *
770
716
  * Used by {@link ICreditAccountsService.assembleCaOperations}. Does not include
771
717
  * close / repay (use dedicated assemblers).
@@ -790,6 +736,9 @@ export type EncodableCreditAccountOperation = {
790
736
  } | {
791
737
  type: "wrapRwaCollateral";
792
738
  calls: Array<MultiCall>;
739
+ } | {
740
+ type: "unwrapRwaCollateral";
741
+ calls: Array<MultiCall>;
793
742
  } | {
794
743
  type: "changeQuota";
795
744
  quotaIncrease: Array<Asset>;
@@ -1050,15 +999,6 @@ export interface ICreditAccountsService extends Construct {
1050
999
  * @returns Array of facade / adapter multicall calls (without price feed updates)
1051
1000
  */
1052
1001
  assembleCaOperations(props: AssembleCaOperationsProps): Array<MultiCall>;
1053
- /**
1054
- * Builds the credit facade multicall calls for a chain of update operations.
1055
- *
1056
- * @param props - Operation chain, router call groups and account context
1057
- * @returns Array of facade multicall calls (without price feed updates)
1058
- * @deprecated Prefer {@link ICreditAccountsService.assembleCaOperations}. Close
1059
- * remains on this method / dedicated close assembler only.
1060
- */
1061
- assembleCaUpdateCalls(props: AssembleCaUpdateCallsProps): Array<MultiCall>;
1062
1002
  /**
1063
1003
  * Executes a credit account update: prepends price feed updates and builds the raw
1064
1004
  * multicall transaction. Uses the RWA factory when applicable.