@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,55 +1,47 @@
1
1
  import type { AbiParameter, Address } from "viem";
2
+ import type { OnchainSDK, PluginsMap } from "../../sdk/index.js";
2
3
  import type { BaseContractStateHuman } from "../../sdk/types/state-human.js";
4
+ import type { AdaptersPlugin } from "./AdaptersPlugin.js";
3
5
  export type VersionedAbi = Record<number, readonly AbiParameter[]>;
4
- export type AdapterContractType = "ADAPTER::ACCOUNT_MIGRATOR" | "ADAPTER::BALANCER_V3_ROUTER" | "ADAPTER::BALANCER_V3_WRAPPER" | "ADAPTER::BALANCER_VAULT" | "ADAPTER::CAMELOT_V3_ROUTER" | "ADAPTER::CURVE_STABLE_NG" | "ADAPTER::CURVE_V1_2ASSETS" | "ADAPTER::CURVE_V1_3ASSETS" | "ADAPTER::CURVE_V1_4ASSETS" | "ADAPTER::CURVE_V1_STECRV_POOL" | "ADAPTER::CURVE_V1_WRAPPER" | "ADAPTER::CVX_V1_BASE_REWARD_POOL" | "ADAPTER::CVX_V1_BOOSTER" | "ADAPTER::DAI_USDS_EXCHANGE" | "ADAPTER::EQUALIZER_ROUTER" | "ADAPTER::ERC4626_VAULT" | "ADAPTER::ERC4626_VAULT_REFERRAL" | "ADAPTER::FLUID_DEX" | "ADAPTER::INFINIFI_GATEWAY" | "ADAPTER::INFINIFI_UNWINDING" | "ADAPTER::INFRARED_VAULT" | "ADAPTER::KELP_DEPOSIT_POOL" | "ADAPTER::KELP_WITHDRAWAL" | "ADAPTER::KODIAK_ISLAND_GATEWAY" | "ADAPTER::LIDO_V1" | "ADAPTER::LIDO_WSTETH_V1" | "ADAPTER::MELLOW_CLAIMER" | "ADAPTER::MELLOW_DVV" | "ADAPTER::MELLOW_ERC4626_VAULT" | "ADAPTER::MELLOW_LRT_VAULT" | "ADAPTER::MELLOW_WRAPPER" | "ADAPTER::MELLOW_DEPOSIT_QUEUE_QUEUE" | "ADAPTER::MELLOW_REDEEM_QUEUE_QUEUE" | "ADAPTER::MIDAS_ISSUANCE_VAULT" | "ADAPTER::MIDAS_REDEMPTION_VAULT" | "ADAPTER::PENDLE_ROUTER" | "ADAPTER::SECURITIZE_ONRAMP" | "ADAPTER::SECURITIZE_REDEMPTION" | "ADAPTER::SECURITIZE_SWAP" | "ADAPTER::STAKING_REWARDS" | "ADAPTER::TRADER_JOE_ROUTER" | "ADAPTER::UNISWAP_V2_ROUTER" | "ADAPTER::UNISWAP_V3_ROUTER" | "ADAPTER::UNISWAP_V4_GATEWAY" | "ADAPTER::UPSHIFT_VAULT" | "ADAPTER::VELODROME_V2_ROUTER" | "ADAPTER::YEARN_V2";
6
+ export type AdapterContractType = "ADAPTER::ACCOUNT_MIGRATOR" | "ADAPTER::BALANCER_V3_ROUTER" | "ADAPTER::BALANCER_V3_WRAPPER" | "ADAPTER::CAMELOT_V3_ROUTER" | "ADAPTER::CURVE_STABLE_NG" | "ADAPTER::CURVE_V1_2ASSETS" | "ADAPTER::CURVE_V1_3ASSETS" | "ADAPTER::CURVE_V1_4ASSETS" | "ADAPTER::CURVE_V1_STECRV_POOL" | "ADAPTER::CVX_V1_BASE_REWARD_POOL" | "ADAPTER::CVX_V1_BOOSTER" | "ADAPTER::DAI_USDS_EXCHANGE" | "ADAPTER::ERC4626_VAULT" | "ADAPTER::ERC4626_VAULT_REFERRAL" | "ADAPTER::FLUID_DEX" | "ADAPTER::INFINIFI_GATEWAY" | "ADAPTER::INFINIFI_UNWINDING" | "ADAPTER::KELP_DEPOSIT_POOL" | "ADAPTER::KELP_WITHDRAWAL" | "ADAPTER::LIDO_V1" | "ADAPTER::LIDO_WSTETH_V1" | "ADAPTER::MELLOW_CLAIMER" | "ADAPTER::MELLOW_DVV" | "ADAPTER::MELLOW_ERC4626_VAULT" | "ADAPTER::MELLOW_WRAPPER" | "ADAPTER::MIDAS_ISSUANCE_VAULT" | "ADAPTER::MIDAS_REDEMPTION_VAULT" | "ADAPTER::PENDLE_ROUTER" | "ADAPTER::SECURITIZE_ONRAMP" | "ADAPTER::SECURITIZE_REDEMPTION" | "ADAPTER::STAKING_REWARDS" | "ADAPTER::TRADERJOE_ROUTER" | "ADAPTER::UNISWAP_V2_ROUTER" | "ADAPTER::UNISWAP_V3_ROUTER" | "ADAPTER::UNISWAP_V4_GATEWAY" | "ADAPTER::UPSHIFT_VAULT" | "ADAPTER::VELODROME_V2_ROUTER";
5
7
  export declare enum AdapterType {
6
8
  ACCOUNT_MIGRATOR = "ACCOUNT_MIGRATOR",
7
9
  BALANCER_V3_ROUTER = "BALANCER_V3_ROUTER",
8
10
  BALANCER_V3_WRAPPER = "BALANCER_V3_WRAPPER",
9
- BALANCER_VAULT = "BALANCER_VAULT",
10
11
  CAMELOT_V3_ROUTER = "CAMELOT_V3_ROUTER",
11
12
  CURVE_STABLE_NG = "CURVE_STABLE_NG",
12
13
  CURVE_V1_2ASSETS = "CURVE_V1_2ASSETS",
13
14
  CURVE_V1_3ASSETS = "CURVE_V1_3ASSETS",
14
15
  CURVE_V1_4ASSETS = "CURVE_V1_4ASSETS",
15
16
  CURVE_V1_STECRV_POOL = "CURVE_V1_STECRV_POOL",
16
- CURVE_V1_WRAPPER = "CURVE_V1_WRAPPER",
17
17
  CVX_V1_BASE_REWARD_POOL = "CVX_V1_BASE_REWARD_POOL",
18
18
  CVX_V1_BOOSTER = "CVX_V1_BOOSTER",
19
19
  DAI_USDS_EXCHANGE = "DAI_USDS_EXCHANGE",
20
- EQUALIZER_ROUTER = "EQUALIZER_ROUTER",
21
20
  ERC4626_VAULT = "ERC4626_VAULT",
22
21
  ERC4626_VAULT_REFERRAL = "ERC4626_VAULT_REFERRAL",
23
22
  FLUID_DEX = "FLUID_DEX",
24
23
  INFINIFI_GATEWAY = "INFINIFI_GATEWAY",
25
24
  INFINIFI_UNWINDING = "INFINIFI_UNWINDING",
26
- INFRARED_VAULT = "INFRARED_VAULT",
27
25
  KELP_DEPOSIT_POOL = "KELP_DEPOSIT_POOL",
28
26
  KELP_WITHDRAWAL = "KELP_WITHDRAWAL",
29
- KODIAK_ISLAND_GATEWAY = "KODIAK_ISLAND_GATEWAY",
30
27
  LIDO_V1 = "LIDO_V1",
31
28
  LIDO_WSTETH_V1 = "LIDO_WSTETH_V1",
32
29
  MELLOW_CLAIMER = "MELLOW_CLAIMER",
33
30
  MELLOW_DVV = "MELLOW_DVV",
34
31
  MELLOW_ERC4626_VAULT = "MELLOW_ERC4626_VAULT",
35
- MELLOW_LRT_VAULT = "MELLOW_LRT_VAULT",
36
32
  MELLOW_WRAPPER = "MELLOW_WRAPPER",
37
- MELLOW_DEPOSIT_QUEUE = "MELLOW_DEPOSIT_QUEUE",
38
- MELLOW_REDEEM_QUEUE = "MELLOW_REDEEM_QUEUE",
39
33
  MIDAS_ISSUANCE_VAULT = "MIDAS_ISSUANCE_VAULT",
40
34
  MIDAS_REDEMPTION_VAULT = "MIDAS_REDEMPTION_VAULT",
41
35
  PENDLE_ROUTER = "PENDLE_ROUTER",
42
36
  SECURITIZE_ONRAMP = "SECURITIZE_ONRAMP",
43
37
  SECURITIZE_REDEMPTION = "SECURITIZE_REDEMPTION",
44
- SECURITIZE_SWAP = "SECURITIZE_SWAP",
45
38
  STAKING_REWARDS = "STAKING_REWARDS",
46
- TRADER_JOE_ROUTER = "TRADER_JOE_ROUTER",
39
+ TRADERJOE_ROUTER = "TRADERJOE_ROUTER",
47
40
  UNISWAP_V2_ROUTER = "UNISWAP_V2_ROUTER",
48
41
  UNISWAP_V3_ROUTER = "UNISWAP_V3_ROUTER",
49
42
  UNISWAP_V4_GATEWAY = "UNISWAP_V4_GATEWAY",
50
43
  UPSHIFT_VAULT = "UPSHIFT_VAULT",
51
- VELODROME_V2_ROUTER = "VELODROME_V2_ROUTER",
52
- YEARN_V2 = "YEARN_V2"
44
+ VELODROME_V2_ROUTER = "VELODROME_V2_ROUTER"
53
45
  }
54
46
  /**
55
47
  * Diff-call semantics of a diff-style adapter call: the call spends the
@@ -85,3 +77,18 @@ export interface AdapterProtocolOperation {
85
77
  */
86
78
  functionArgs: Record<string, unknown>;
87
79
  }
80
+ /**
81
+ * True when the plugin map `P` contains the {@link AdaptersPlugin} under any key
82
+ */
83
+ export type HasAdaptersPlugin<P extends PluginsMap> = Extract<P[keyof P], AdaptersPlugin> extends never ? false : true;
84
+ /**
85
+ * Compile-time guard for the adapters plugin
86
+ */
87
+ export type RequireAdaptersPlugin<P extends PluginsMap> = HasAdaptersPlugin<P> extends true ? unknown : {
88
+ "OnchainSDK must be created with the AdaptersPlugin": never;
89
+ };
90
+ /**
91
+ * {@link OnchainSDK} whose plugin map is guaranteed at compile time to include
92
+ * the {@link AdaptersPlugin}.
93
+ */
94
+ export type SdkWithAdapters<P extends PluginsMap = PluginsMap> = OnchainSDK<P> & RequireAdaptersPlugin<P>;
@@ -1,3 +1,5 @@
1
+ export * from "./parse/index.js";
1
2
  export * from "./prerequisites/index.js";
2
3
  export * from "./preview/index.js";
3
4
  export * from "./trace/index.js";
5
+ 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;
@@ -1,22 +1,13 @@
1
1
  import type { Hex } from "viem";
2
2
  import { type IRWAFactory, type OnchainSDK } from "../../sdk/index.js";
3
3
  import type { RWAOperation } from "./types-rwa.js";
4
- export interface ParseRWAFactoryOperationCalldataProps {
5
- sdk: OnchainSDK;
6
- /** Resolved RWA factory contract for the transaction target. */
7
- factory: IRWAFactory;
8
- calldata: Hex;
9
- }
10
4
  /**
11
5
  * Decodes a RWA-factory entry-point call into the matching
12
6
  * {@link RWAOperation}.
13
7
  *
14
- * RWA credit accounts are opened and managed through the market's RWA factory
15
- * (see `CreditAccountsServiceV310`) rather than the credit facade, but the
16
- * inner `calls` share the credit-facade multicall shape, so classification is
17
- * identical to {@link parseFacadeOperationCalldata}.
18
- *
19
- * Dispatches on the factory's contract type; supporting a new factory type
20
- * requires a new branch here.
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.
21
12
  */
22
- export declare function parseRWAFactoryOperationCalldata(props: ParseRWAFactoryOperationCalldataProps): RWAOperation;
13
+ export declare function parseRWAFactoryOperationCalldata(sdk: OnchainSDK, factory: IRWAFactory, calldata: Hex): RWAOperation;
@@ -1,5 +1,3 @@
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";
5
3
  import type { RWAOperation } from "./types-rwa.js";
@@ -7,29 +5,6 @@ export * from "./types-adapters.js";
7
5
  export * from "./types-facades.js";
8
6
  export * from "./types-pools.js";
9
7
  export * from "./types-rwa.js";
10
- /**
11
- * True when the plugin map `P` contains the {@link AdaptersPlugin} under any
12
- * key. Matched nominally (the plugin's private fields make it non-structural),
13
- * so unrelated plugins never satisfy it.
14
- */
15
- export type HasAdaptersPlugin<P extends PluginsMap> = Extract<P[keyof P], AdaptersPlugin> extends never ? false : true;
16
- /**
17
- * Compile-time guard for the adapters plugin. Resolves to a no-op (`unknown`)
18
- * when `P` includes the {@link AdaptersPlugin}, otherwise to an error-shaped
19
- * type that makes the surrounding call fail to type-check.
20
- *
21
- * Intended to be intersected with a function argument so callers must pass an
22
- * SDK whose adapter contracts are registered (required for multicall
23
- * classification).
24
- */
25
- export type RequireAdaptersPlugin<P extends PluginsMap> = HasAdaptersPlugin<P> extends true ? unknown : {
26
- "OnchainSDK must be created with the AdaptersPlugin": never;
27
- };
28
- /**
29
- * {@link OnchainSDK} whose plugin map is guaranteed at compile time to include
30
- * the {@link AdaptersPlugin}.
31
- */
32
- export type SdkWithAdapters<P extends PluginsMap = PluginsMap> = OnchainSDK<P> & RequireAdaptersPlugin<P>;
33
8
  /**
34
9
  * Result of decoding a single raw operation calldata: a pool deposit/redeem,
35
10
  * one of the credit-facade operations, or an RWA-factory operation.
@@ -1,21 +1,23 @@
1
1
  import { type Address } from "viem";
2
2
  import { Prerequisite } from "./Prerequisite.js";
3
- import type { PrerequisiteContext, PrerequisiteDetail, PrerequisiteResult } from "./types.js";
4
- export interface AllowancePrerequisiteProps {
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"> {
18
+ export declare class AllowancePrerequisite extends Prerequisite {
14
19
  #private;
15
- constructor(props: AllowancePrerequisiteProps);
16
- get id(): string;
17
- get kind(): "allowance";
18
- get title(): string;
19
- get detail(): PrerequisiteDetail<"allowance">;
20
- protected check(ctx: PrerequisiteContext): Promise<PrerequisiteResult<"allowance">>;
20
+ constructor(detail: Omit<AllowanceDetail, "actual">);
21
+ protected check(ctx: PrerequisiteContext): Promise<AllowanceResult>;
22
+ protected errorResult(error: PrerequisiteError): AllowanceResult;
21
23
  }
@@ -1,24 +1,26 @@
1
1
  import { type Address } from "viem";
2
2
  import { Prerequisite } from "./Prerequisite.js";
3
- import type { PrerequisiteContext, PrerequisiteDetail, PrerequisiteResult } from "./types.js";
4
- export interface BalancePrerequisiteProps {
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
  }
12
+ export type BalanceResult = PrerequisiteOutcome & {
13
+ kind: "balance";
14
+ detail: BalanceDetail;
15
+ };
11
16
  /**
12
17
  * Checks that `owner` holds a token balance >= `required`. The token is read
13
18
  * as an ERC-20, except for the native pseudo-address ({@link NATIVE_ADDRESS},
14
19
  * e.g. ETH-zapper deposits) whose balance is read via `getBalance`.
15
20
  */
16
- export declare class BalancePrerequisite extends Prerequisite<"balance"> {
21
+ export declare class BalancePrerequisite extends Prerequisite {
17
22
  #private;
18
- constructor(props: BalancePrerequisiteProps);
19
- get id(): string;
20
- get kind(): "balance";
21
- get title(): string;
22
- get detail(): PrerequisiteDetail<"balance">;
23
- protected check(ctx: PrerequisiteContext): Promise<PrerequisiteResult<"balance">>;
23
+ constructor(detail: Omit<BalanceDetail, "actual">);
24
+ protected check(ctx: PrerequisiteContext): Promise<BalanceResult>;
25
+ protected errorResult(error: PrerequisiteError): BalanceResult;
24
26
  }
@@ -1,36 +1,23 @@
1
- import type { PrerequisiteContext, PrerequisiteDetail, PrerequisiteKind, PrerequisiteResult } from "./types.js";
1
+ import type { PrerequisiteContext, PrerequisiteError, PrerequisiteResult } from "./types.js";
2
2
  /**
3
3
  * A single verifiable prerequisite for a transaction. Subclasses implement
4
4
  * {@link check} to perform whatever async reads they need (an ERC-20
5
5
  * `readContract`, a compressor call, ...) and map the outcome into a
6
6
  * {@link PrerequisiteResult}.
7
- *
8
7
  */
9
- export declare abstract class Prerequisite<K extends PrerequisiteKind> {
10
- /** Stable identifier, used as a React key and for deduplication. */
11
- abstract get id(): string;
12
- /** Discriminant tying this check to its detail payload. */
13
- abstract get kind(): K;
14
- /** Human-readable label shown in the UI. */
15
- abstract get title(): string;
16
- /** Inputs known before reading the chain (no `actual` yet). */
17
- abstract get detail(): PrerequisiteDetail<K>;
8
+ export declare abstract class Prerequisite {
18
9
  /**
19
10
  * Verifies this prerequisite. Never rejects: any error thrown by
20
11
  * {@link check} (revert, RPC/network failure, compressor error) is
21
12
  * normalized into an `error` result.
22
13
  */
23
- verify(ctx: PrerequisiteContext): Promise<PrerequisiteResult<K>>;
14
+ verify(ctx: PrerequisiteContext): Promise<PrerequisiteResult>;
24
15
  /**
25
16
  * Performs the reads this prerequisite needs and maps them into a result.
26
17
  * May throw on read failure; {@link verify} converts throws into `error`
27
18
  * results.
28
19
  */
29
- protected abstract check(ctx: PrerequisiteContext): Promise<PrerequisiteResult<K>>;
30
- /** Builds a successful result; `detail` carries the on-chain `actual`. */
31
- protected satisfiedResult(satisfied: boolean, detail: PrerequisiteDetail<K>): PrerequisiteResult<K>;
32
- /** Builds a failed result from a raw read error (normalized internally). */
33
- protected errorResult(cause: unknown): 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;
34
23
  }
35
- /** Any prerequisite regardless of its kind, used for heterogeneous lists. */
36
- export type AnyPrerequisite = Prerequisite<PrerequisiteKind>;
@@ -1,24 +1,36 @@
1
1
  import type { Address } from "viem";
2
- import type { RWAOperationArgs } from "../../sdk/index.js";
2
+ import type { RWAMissingOpenAccountRequirements, RWAOpenAccountRequirements, RWAOperationArgs } from "../../sdk/index.js";
3
3
  import { Prerequisite } from "./Prerequisite.js";
4
- import type { PrerequisiteContext, PrerequisiteDetail, PrerequisiteResult } from "./types.js";
5
- export interface RWAOpenRequirementsPrerequisiteProps {
6
- /** RWA token (e.g. Securitize DSToken) to check the requirements for. */
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. */
7
12
  token: Address;
8
13
  /** Credit manager of the RWA market. */
9
14
  creditManager: Address;
10
15
  /** RWA factory that gates the token. */
11
16
  factory: Address;
12
17
  /**
13
- * Factory-specific registration params already carried by the transaction
14
- * calldata. Passed through to the factory's `getMissingRequirements`: e.g.
15
- * signatures provided here need not be signed again, since the transaction
16
- * itself caches them on-chain.
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.
17
27
  */
18
- providedArgs?: RWAOperationArgs;
19
- title?: string;
20
- id?: string;
28
+ missing?: RWAMissingOpenAccountRequirements;
21
29
  }
30
+ export type RWAOpenRequirementsResult = PrerequisiteOutcome & {
31
+ kind: "rwaOpenRequirements";
32
+ detail: RWAOpenRequirementsDetail;
33
+ };
22
34
  /**
23
35
  * Checks that the borrower has fulfilled the RWA factory's open-account
24
36
  * requirements (issuer-side token registration, EIP-712 signatures).
@@ -31,12 +43,9 @@ export interface RWAOpenRequirementsPrerequisiteProps {
31
43
  * (`IRWAFactory.getMissingRequirements`) and exposed on the result's
32
44
  * `detail.missing`; the full requirements are kept on `detail.requirements`.
33
45
  */
34
- export declare class RWAOpenRequirementsPrerequisite extends Prerequisite<"rwaOpenRequirements"> {
46
+ export declare class RWAOpenRequirementsPrerequisite extends Prerequisite {
35
47
  #private;
36
- constructor(props: RWAOpenRequirementsPrerequisiteProps);
37
- get id(): string;
38
- get kind(): "rwaOpenRequirements";
39
- get title(): string;
40
- get detail(): PrerequisiteDetail<"rwaOpenRequirements">;
41
- protected check(ctx: PrerequisiteContext): Promise<PrerequisiteResult<"rwaOpenRequirements">>;
48
+ constructor(detail: Omit<RWAOpenRequirementsDetail, "requirements" | "missing">, providedArgs?: RWAOperationArgs);
49
+ protected check(ctx: PrerequisiteContext): Promise<RWAOpenRequirementsResult>;
50
+ protected errorResult(error: PrerequisiteError): RWAOpenRequirementsResult;
42
51
  }
@@ -1,6 +1,6 @@
1
1
  import { type GetApprovalAddressProps } from "../../sdk/index.js";
2
2
  import type { InnerOperation } from "../parse/index.js";
3
- import type { AnyPrerequisite } from "./Prerequisite.js";
3
+ import type { Prerequisite } from "./Prerequisite.js";
4
4
  import type { PrerequisiteContext } from "./types.js";
5
5
  /**
6
6
  * For every `addCollateral` inside a multicall, requires the wallet to approve
@@ -11,4 +11,4 @@ import type { PrerequisiteContext } from "./types.js";
11
11
  * for RWA markets. The resolution happens at build time because the spender is
12
12
  * part of the prerequisite's identity and UI detail.
13
13
  */
14
- export declare function buildCollateralPrerequisites(spenderOptions: GetApprovalAddressProps, multicall: InnerOperation[], ctx: PrerequisiteContext): Promise<AnyPrerequisite[]>;
14
+ export declare function buildCollateralPrerequisites(spenderOptions: GetApprovalAddressProps, multicall: InnerOperation[], ctx: PrerequisiteContext): Promise<Prerequisite[]>;
@@ -1,8 +1,8 @@
1
1
  import type { PartialLiquidationOperation } from "../parse/index.js";
2
- import type { AnyPrerequisite } from "./Prerequisite.js";
2
+ import type { Prerequisite } from "./Prerequisite.js";
3
3
  import type { PrerequisiteContext } from "./types.js";
4
4
  /**
5
5
  * Partial liquidation pulls the repaid underlying from the liquidator: they
6
6
  * must have approved it to the credit manager and hold enough of it.
7
7
  */
8
- export declare function buildPartialLiquidationPrerequisites(tx: PartialLiquidationOperation, ctx: PrerequisiteContext): AnyPrerequisite[];
8
+ export declare function buildPartialLiquidationPrerequisites(tx: PartialLiquidationOperation, ctx: PrerequisiteContext): Prerequisite[];
@@ -1,8 +1,8 @@
1
1
  import { type Address } from "viem";
2
2
  import type { PoolOperation } from "../parse/index.js";
3
- import type { AnyPrerequisite } from "./Prerequisite.js";
3
+ import type { Prerequisite } from "./Prerequisite.js";
4
4
  /**
5
5
  * Prerequisites for ERC4626 pool operations (deposit, mint, withdraw, redeem),
6
6
  * either direct or zapper-routed.
7
7
  */
8
- export declare function buildPoolPrerequisites(tx: PoolOperation, wallet: Address): AnyPrerequisite[];
8
+ export declare function buildPoolPrerequisites(tx: PoolOperation, wallet: Address): Prerequisite[];
@@ -1,7 +1,7 @@
1
1
  import type { Address } from "viem";
2
2
  import { type RWAOperationArgs } from "../../sdk/index.js";
3
3
  import type { InnerOperation } from "../parse/index.js";
4
- import type { AnyPrerequisite } from "./Prerequisite.js";
4
+ import type { Prerequisite } from "./Prerequisite.js";
5
5
  import type { PrerequisiteContext } from "./types.js";
6
6
  /**
7
7
  * For RWA-factory open-account operations (e.g. `RWAOpenCreditAccount`),
@@ -18,4 +18,4 @@ import type { PrerequisiteContext } from "./types.js";
18
18
  *
19
19
  * Returns nothing for non-RWA markets.
20
20
  */
21
- export declare function buildRWAPrerequisites(multicall: InnerOperation[], creditManager: Address, providedArgs: RWAOperationArgs, ctx: PrerequisiteContext): AnyPrerequisite[];
21
+ export declare function buildRWAPrerequisites(multicall: InnerOperation[], creditManager: Address, providedArgs: RWAOperationArgs, ctx: PrerequisiteContext): Prerequisite[];
@@ -1,27 +1,19 @@
1
1
  import type { PluginsMap } from "../../sdk/index.js";
2
- import { type ParseOperationCalldataInput } from "../parse/parseOperationCalldata.js";
3
- import type { AnyPrerequisiteResult } from "./types.js";
4
- /**
5
- * Input of {@link checkPrerequisites}: the same raw-calldata input as the
6
- * internal calldata parser, plus an optional block to read at.
7
- */
8
- export type CheckPrerequisitesInput<P extends PluginsMap = PluginsMap> = ParseOperationCalldataInput<P> & {
9
- /** Block to read at; defaults to latest. Only set for testnet forks. */
10
- blockNumber?: bigint;
11
- };
2
+ import type { PreviewOperationInput, PreviewOperationOptions } from "../types.js";
3
+ import type { PrerequisiteResult } from "./types.js";
12
4
  /**
13
5
  * Derives and verifies the on-chain prerequisites for an operation given its
14
6
  * raw calldata: the conditions that must hold for the call not to revert and
15
7
  * that we can verify with the SDK (token approvals, wallet balances, RWA
16
8
  * open-account requirements).
17
9
  *
18
- * Each prerequisite performs its own reads and resolves into an
19
- * {@link AnyPrerequisiteResult} (`satisfied` or `error`).
10
+ * Each prerequisite performs its own reads and resolves into a
11
+ * {@link PrerequisiteResult} (`satisfied` or `error`).
20
12
  *
21
13
  * Only *sender-actionable* prerequisites belong here: conditions the LP
22
14
  * provider or borrower can fix themselves before retrying (e.g. approve a
23
- * token, top up a balance, sign the RWA factory's messages). Non-actionable
24
- * protocol/admin state (e.g. pool is paused) is intentionally out of scope,
25
- * since the user cannot resolve it.
15
+ * token, sign the RWA factory's messages). Non-actionable protocol/admin state
16
+ * (e.g. pool is paused) is intentionally out of scope, since the user cannot
17
+ * resolve it.
26
18
  */
27
- export declare function checkPrerequisites<P extends PluginsMap>(input: CheckPrerequisitesInput<P>): Promise<AnyPrerequisiteResult[]>;
19
+ export declare function checkPrerequisites<P extends PluginsMap>(input: PreviewOperationInput<P>, options?: PreviewOperationOptions): Promise<PrerequisiteResult[]>;
@@ -1,15 +1,7 @@
1
- import type { Address } from "viem";
2
- import type { AnyPrerequisite } from "./Prerequisite.js";
3
- export interface AllowanceAndBalanceProps {
4
- token: Address;
5
- owner: Address;
6
- spender: Address;
7
- required: bigint;
8
- allowanceTitle: string;
9
- balanceTitle: string;
10
- }
1
+ import { type AllowanceDetail } from "./AllowancePrerequisite.js";
2
+ import type { Prerequisite } from "./Prerequisite.js";
11
3
  /**
12
4
  * The most common prerequisite pair: `owner` must have approved `spender` for
13
5
  * `required` of `token` and must hold at least that much of it.
14
6
  */
15
- export declare function allowanceAndBalance(props: AllowanceAndBalanceProps): AnyPrerequisite[];
7
+ export declare function allowanceAndBalance(props: Omit<AllowanceDetail, "actual">): Prerequisite[];