@gearbox-protocol/sdk 14.12.0-next.1 → 14.12.0-next.11

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 (322) hide show
  1. package/dist/cjs/abi/iZapper.js +62 -24
  2. package/dist/cjs/dev/AccountOpener.js +7 -13
  3. package/dist/cjs/history/classifyMulticallOperations.js +2 -0
  4. package/dist/cjs/history/mapOperations.js +7 -0
  5. package/dist/cjs/plugins/adapters/abi/iConvexV1BoosterAdapter.js +143 -0
  6. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  7. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +36 -0
  8. package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +66 -0
  9. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +19 -0
  10. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +15 -0
  11. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +20 -0
  12. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +18 -0
  13. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +28 -2
  14. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -7
  15. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -7
  16. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -7
  17. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  18. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -7
  19. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -7
  20. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +14 -0
  21. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +15 -0
  22. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +14 -0
  23. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +15 -0
  24. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +21 -0
  25. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +10 -0
  26. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +11 -0
  27. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +15 -0
  28. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +15 -0
  29. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +11 -0
  30. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +10 -0
  31. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +12 -0
  32. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +58 -0
  33. package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +11 -0
  34. package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +22 -1
  35. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +17 -0
  36. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +10 -0
  37. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +10 -0
  38. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -0
  39. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +15 -0
  40. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +14 -0
  41. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +10 -0
  42. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +15 -0
  43. package/dist/cjs/preview/index.js +2 -4
  44. package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
  45. package/dist/cjs/preview/parse/errors.js +5 -2
  46. package/dist/cjs/preview/parse/index.js +2 -2
  47. package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +5 -12
  48. package/dist/cjs/preview/parse/parseOperationCalldata.js +40 -1
  49. package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +14 -2
  50. package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +104 -0
  51. package/dist/cjs/preview/parse/types-rwa.js +16 -0
  52. package/dist/cjs/preview/parse/types.js +9 -2
  53. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +13 -13
  54. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +32 -14
  55. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +66 -0
  56. package/dist/cjs/preview/prerequisites/buildPrerequisites.js +124 -14
  57. package/dist/cjs/preview/prerequisites/index.js +2 -0
  58. package/dist/cjs/preview/preview/applyInnerOperations.js +130 -0
  59. package/dist/cjs/preview/preview/errors.js +52 -0
  60. package/dist/cjs/preview/preview/index.js +30 -0
  61. package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +90 -0
  62. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +67 -0
  63. package/dist/cjs/preview/preview/previewOperation.js +45 -0
  64. package/dist/cjs/preview/preview/previewPoolOperation.js +75 -0
  65. package/dist/cjs/preview/preview/types.js +16 -0
  66. package/dist/cjs/{sdk/market/zapper/Zapper.js → preview/preview/unwrapNativeCollateral.js} +20 -22
  67. package/dist/cjs/preview/simulate/errors.js +0 -7
  68. package/dist/cjs/preview/simulate/index.js +5 -5
  69. package/dist/cjs/preview/simulate/simulateOperation.js +4 -0
  70. package/dist/cjs/preview/simulate/simulatePoolOperation.js +60 -31
  71. package/dist/cjs/preview/simulate/{constants.js → simulateRWAOperation.js} +8 -6
  72. package/dist/cjs/sdk/MultichainSDK.js +1 -0
  73. package/dist/cjs/sdk/OnchainSDK.js +7 -3
  74. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +53 -23
  75. package/dist/cjs/sdk/base/BaseContract.js +4 -2
  76. package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
  77. package/dist/cjs/sdk/market/MarketRegister.js +10 -5
  78. package/dist/cjs/sdk/market/ZapperRegister.js +54 -0
  79. package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +30 -0
  80. package/dist/cjs/sdk/market/rwa/types.js +5 -2
  81. package/dist/cjs/sdk/market/zapper/IERC20ZapperContract.js +3 -38
  82. package/dist/cjs/sdk/market/zapper/IETHZapperContract.js +3 -38
  83. package/dist/cjs/sdk/market/zapper/ZapperContract.js +106 -0
  84. package/dist/cjs/sdk/market/zapper/createZapper.js +12 -4
  85. package/dist/cjs/{preview/simulate/holders.js → sdk/market/zapper/errors.js} +13 -21
  86. package/dist/cjs/sdk/market/zapper/index.js +6 -2
  87. package/dist/cjs/sdk/market/zapper/types.js +16 -0
  88. package/dist/cjs/sdk/options.js +41 -17
  89. package/dist/cjs/sdk/router/AbstractRouterContract.js +21 -27
  90. package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
  91. package/dist/cjs/sdk/router/helpers.js +0 -5
  92. package/dist/cjs/sdk/utils/AddressMap.js +6 -0
  93. package/dist/cjs/sdk/utils/AssetsMap.js +97 -0
  94. package/dist/cjs/sdk/utils/index.js +2 -0
  95. package/dist/esm/abi/iZapper.js +62 -24
  96. package/dist/esm/dev/AccountOpener.js +8 -13
  97. package/dist/esm/history/classifyMulticallOperations.js +2 -0
  98. package/dist/esm/history/mapOperations.js +7 -0
  99. package/dist/esm/plugins/adapters/abi/iConvexV1BoosterAdapter.js +119 -0
  100. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  101. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +36 -0
  102. package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +42 -0
  103. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +22 -1
  104. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +18 -1
  105. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +23 -1
  106. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +22 -1
  107. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +30 -2
  108. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -7
  109. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -7
  110. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -7
  111. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  112. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -7
  113. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -7
  114. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +17 -1
  115. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +19 -1
  116. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +17 -1
  117. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +18 -1
  118. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +24 -1
  119. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +13 -1
  120. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +14 -1
  121. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +18 -1
  122. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +18 -1
  123. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +14 -1
  124. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +13 -1
  125. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +15 -1
  126. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +61 -1
  127. package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +14 -1
  128. package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +25 -2
  129. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +20 -1
  130. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +13 -1
  131. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +10 -0
  132. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -0
  133. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +18 -1
  134. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +17 -1
  135. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +13 -1
  136. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +18 -1
  137. package/dist/esm/preview/index.js +1 -2
  138. package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
  139. package/dist/esm/preview/parse/errors.js +3 -1
  140. package/dist/esm/preview/parse/index.js +1 -1
  141. package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +5 -12
  142. package/dist/esm/preview/parse/parseOperationCalldata.js +43 -2
  143. package/dist/esm/preview/parse/parsePoolOperationCalldata.js +14 -2
  144. package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +85 -0
  145. package/dist/esm/preview/parse/types-rwa.js +0 -0
  146. package/dist/esm/preview/parse/types.js +6 -1
  147. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +13 -13
  148. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +32 -14
  149. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +42 -0
  150. package/dist/esm/preview/prerequisites/buildPrerequisites.js +130 -14
  151. package/dist/esm/preview/prerequisites/index.js +1 -0
  152. package/dist/esm/preview/preview/applyInnerOperations.js +108 -0
  153. package/dist/esm/preview/preview/errors.js +27 -0
  154. package/dist/esm/preview/preview/index.js +5 -0
  155. package/dist/esm/preview/preview/previewAdjustCreditAccount.js +74 -0
  156. package/dist/esm/preview/preview/previewOpenCreditAccount.js +49 -0
  157. package/dist/esm/preview/preview/previewOperation.js +21 -0
  158. package/dist/esm/preview/preview/previewPoolOperation.js +53 -0
  159. package/dist/esm/preview/preview/types.js +0 -0
  160. package/dist/esm/preview/preview/unwrapNativeCollateral.js +21 -0
  161. package/dist/esm/preview/simulate/errors.js +0 -6
  162. package/dist/esm/preview/simulate/index.js +3 -3
  163. package/dist/esm/preview/simulate/simulateOperation.js +8 -1
  164. package/dist/esm/preview/simulate/simulatePoolOperation.js +61 -35
  165. package/dist/esm/preview/simulate/simulateRWAOperation.js +6 -0
  166. package/dist/esm/sdk/MultichainSDK.js +1 -0
  167. package/dist/esm/sdk/OnchainSDK.js +7 -3
  168. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +54 -24
  169. package/dist/esm/sdk/base/BaseContract.js +4 -2
  170. package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
  171. package/dist/esm/sdk/market/MarketRegister.js +10 -5
  172. package/dist/esm/sdk/market/ZapperRegister.js +54 -0
  173. package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +33 -1
  174. package/dist/esm/sdk/market/rwa/types.js +5 -2
  175. package/dist/esm/sdk/market/zapper/IERC20ZapperContract.js +3 -38
  176. package/dist/esm/sdk/market/zapper/IETHZapperContract.js +3 -38
  177. package/dist/esm/sdk/market/zapper/ZapperContract.js +82 -0
  178. package/dist/esm/sdk/market/zapper/createZapper.js +12 -4
  179. package/dist/esm/sdk/market/zapper/errors.js +13 -0
  180. package/dist/esm/sdk/market/zapper/index.js +3 -1
  181. package/dist/esm/sdk/market/zapper/types.js +0 -0
  182. package/dist/esm/sdk/options.js +39 -15
  183. package/dist/esm/sdk/router/AbstractRouterContract.js +25 -29
  184. package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
  185. package/dist/esm/sdk/router/helpers.js +0 -4
  186. package/dist/esm/sdk/utils/AddressMap.js +6 -0
  187. package/dist/esm/sdk/utils/AssetsMap.js +73 -0
  188. package/dist/esm/sdk/utils/index.js +1 -0
  189. package/dist/types/abi/iERC20Zapper.d.ts +91 -23
  190. package/dist/types/abi/iETHZapper.d.ts +91 -23
  191. package/dist/types/abi/iZapper.d.ts +91 -23
  192. package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +1 -1
  193. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
  194. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
  195. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
  196. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
  197. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
  198. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
  199. package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
  200. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
  201. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
  202. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
  203. package/dist/types/history/types.d.ts +4 -4
  204. package/dist/types/plugins/adapters/abi/iConvexV1BoosterAdapter.d.ts +204 -0
  205. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  206. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +21 -3
  207. package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +18 -0
  208. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +4 -2
  209. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +4 -2
  210. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +4 -2
  211. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +4 -2
  212. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +8 -6
  213. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +3 -6
  214. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +3 -6
  215. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +3 -6
  216. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
  217. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +3 -6
  218. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +3 -6
  219. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +4 -2
  220. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +4 -2
  221. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +4 -2
  222. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +4 -2
  223. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +4 -2
  224. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +4 -2
  225. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +4 -2
  226. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +4 -2
  227. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +4 -2
  228. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +4 -2
  229. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +4 -2
  230. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +4 -2
  231. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +4 -2
  232. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +4 -2
  233. package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +15 -3
  234. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +4 -2
  235. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +4 -2
  236. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -1
  237. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -1
  238. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +4 -2
  239. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +4 -2
  240. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +4 -2
  241. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +4 -2
  242. package/dist/types/plugins/adapters/types.d.ts +10 -0
  243. package/dist/types/preview/index.d.ts +1 -2
  244. package/dist/types/preview/parse/classifyInnerOperations.d.ts +0 -2
  245. package/dist/types/preview/parse/errors.d.ts +1 -0
  246. package/dist/types/preview/parse/index.d.ts +1 -1
  247. package/dist/types/preview/parse/parseOperationCalldata.d.ts +3 -3
  248. package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +22 -0
  249. package/dist/types/preview/parse/types-adapters.d.ts +5 -1
  250. package/dist/types/preview/parse/types-facades.d.ts +23 -34
  251. package/dist/types/preview/parse/types-pools.d.ts +90 -2
  252. package/dist/types/preview/parse/types-rwa.d.ts +48 -0
  253. package/dist/types/preview/parse/types.d.ts +11 -6
  254. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +1 -3
  255. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +9 -6
  256. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +36 -0
  257. package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +15 -6
  258. package/dist/types/preview/prerequisites/index.d.ts +1 -0
  259. package/dist/types/preview/prerequisites/types.d.ts +10 -8
  260. package/dist/types/preview/preview/applyInnerOperations.d.ts +77 -0
  261. package/dist/types/preview/preview/errors.d.ts +21 -0
  262. package/dist/types/preview/preview/index.d.ts +5 -0
  263. package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +11 -0
  264. package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +4 -0
  265. package/dist/types/preview/preview/previewOperation.d.ts +7 -0
  266. package/dist/types/preview/preview/previewPoolOperation.d.ts +5 -0
  267. package/dist/types/preview/preview/types.d.ts +177 -0
  268. package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +20 -0
  269. package/dist/types/preview/simulate/errors.d.ts +6 -12
  270. package/dist/types/preview/simulate/index.d.ts +3 -2
  271. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +0 -2
  272. package/dist/types/preview/simulate/simulateOperation.d.ts +0 -2
  273. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +9 -3
  274. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +23 -0
  275. package/dist/types/preview/simulate/types.d.ts +12 -39
  276. package/dist/types/sdk/MultichainSDK.d.ts +5 -0
  277. package/dist/types/sdk/OnchainSDK.d.ts +4 -0
  278. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +11 -3
  279. package/dist/types/sdk/accounts/types.d.ts +66 -8
  280. package/dist/types/sdk/base/BaseContract.d.ts +1 -1
  281. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  282. package/dist/types/sdk/base/types.d.ts +18 -0
  283. package/dist/types/sdk/market/MarketRegister.d.ts +15 -6
  284. package/dist/types/sdk/market/ZapperRegister.d.ts +25 -4
  285. package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +6 -1
  286. package/dist/types/sdk/market/rwa/types.d.ts +13 -5
  287. package/dist/types/sdk/market/zapper/IERC20ZapperContract.d.ts +93 -39
  288. package/dist/types/sdk/market/zapper/IETHZapperContract.d.ts +93 -39
  289. package/dist/types/sdk/market/zapper/ZapperContract.d.ts +35 -0
  290. package/dist/types/sdk/market/zapper/createZapper.d.ts +2 -4
  291. package/dist/types/sdk/market/zapper/errors.d.ts +10 -0
  292. package/dist/types/sdk/market/zapper/index.d.ts +3 -1
  293. package/dist/types/sdk/market/zapper/types.d.ts +64 -0
  294. package/dist/types/sdk/options.d.ts +10 -5
  295. package/dist/types/sdk/pools/types.d.ts +4 -4
  296. package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
  297. package/dist/types/sdk/router/helpers.d.ts +1 -2
  298. package/dist/types/sdk/router/types.d.ts +1 -15
  299. package/dist/types/sdk/types/state-human.d.ts +9 -0
  300. package/dist/types/sdk/types/state.d.ts +7 -0
  301. package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
  302. package/dist/types/sdk/utils/AssetsMap.d.ts +44 -0
  303. package/dist/types/sdk/utils/index.d.ts +1 -0
  304. package/package.json +3 -3
  305. package/dist/cjs/preview/parse/extractExpectedBalanceChanges.js +0 -48
  306. package/dist/cjs/preview/simulate/extractERC20Transfers.js +0 -47
  307. package/dist/cjs/preview/simulate/simulatePoolOpMulticall.js +0 -155
  308. package/dist/cjs/preview/simulate/simulatePoolOpV1.js +0 -106
  309. package/dist/esm/preview/parse/extractExpectedBalanceChanges.js +0 -24
  310. package/dist/esm/preview/simulate/constants.js +0 -4
  311. package/dist/esm/preview/simulate/extractERC20Transfers.js +0 -23
  312. package/dist/esm/preview/simulate/holders.js +0 -21
  313. package/dist/esm/preview/simulate/simulatePoolOpMulticall.js +0 -130
  314. package/dist/esm/preview/simulate/simulatePoolOpV1.js +0 -82
  315. package/dist/esm/sdk/market/zapper/Zapper.js +0 -23
  316. package/dist/types/preview/parse/extractExpectedBalanceChanges.d.ts +0 -22
  317. package/dist/types/preview/simulate/constants.d.ts +0 -6
  318. package/dist/types/preview/simulate/extractERC20Transfers.d.ts +0 -11
  319. package/dist/types/preview/simulate/holders.d.ts +0 -7
  320. package/dist/types/preview/simulate/simulatePoolOpMulticall.d.ts +0 -28
  321. package/dist/types/preview/simulate/simulatePoolOpV1.d.ts +0 -14
  322. package/dist/types/sdk/market/zapper/Zapper.d.ts +0 -13
@@ -0,0 +1,177 @@
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
+ };
55
+ export interface PoolOperationPreview {
56
+ operation: PoolOperationType;
57
+ /**
58
+ * Pool address
59
+ */
60
+ pool: Address;
61
+ /**
62
+ * Token that goes from user to pool
63
+ * In case of deposit, underlying for direct deposit, zapper input for zapper-routed deposit
64
+ * In case of withdraw, pool shares (diesel token) for direct withdraw or zapper token out
65
+ *
66
+ * For mint/withdraw the amount of tokenIn cannot be determined from
67
+ * transaction calldata alone and requires an additional async call
68
+ * (previewMint/previewWithdraw). In case of error only the token address is
69
+ * returned.
70
+ */
71
+ tokenIn: PreviewedAsset;
72
+ /**
73
+ * Token that goes from pool to user
74
+ * In case of deposit, pool shares (diesel token) for direct deposit or zapper token out
75
+ * In case of withdraw, underlying for direct withdraw or zapper token in
76
+ *
77
+ * For deposit/redeem the amount of tokenOut cannot be determined from
78
+ * transaction calldata alone and requires an additional async call
79
+ * (previewDeposit/previewRedeem). In case of error only the token address is
80
+ * returned.
81
+ */
82
+ tokenOut: PreviewedAsset;
83
+ }
84
+ export interface OpenCreditAccountPreview {
85
+ operation: "OpenCreditAccount" | "SecuritizeOpenCreditAccount";
86
+ /**
87
+ * Credit manager the account is opened in
88
+ */
89
+ creditManager: Address;
90
+ /**
91
+ * Target token of strategy: the first quoted token, with its balance taken
92
+ * from `assets`. Undefined when nothing is quoted.
93
+ */
94
+ target?: Asset;
95
+ /**
96
+ * Tokens that were added as collateral during account opening.
97
+ *
98
+ * When the transaction has native value attached, it is represented as a
99
+ * `NATIVE_ADDRESS` entry, with the wrapped native token amount reduced
100
+ * accordingly (omitted entirely when it reaches zero).
101
+ */
102
+ collateral: Asset[];
103
+ /**
104
+ * Sum of collateral tokens in underlying
105
+ */
106
+ collateralValue: bigint;
107
+ /**
108
+ * Borrowed amount in underlying
109
+ */
110
+ debt: bigint;
111
+ /**
112
+ * Desired quotas
113
+ */
114
+ quotas: Asset[];
115
+ /**
116
+ * Minimum amount of assets on credit account after it's opened,
117
+ * as estimated by router
118
+ */
119
+ assets: Asset[];
120
+ }
121
+ export interface AdjustCreditAccountPreview {
122
+ operation: "AdjustCreditAccount";
123
+ /**
124
+ * Credit manager the account is opened in
125
+ */
126
+ creditManager: Address;
127
+ /**
128
+ * Credit account that is being adjusted
129
+ */
130
+ creditAccount: Address;
131
+ /**
132
+ * Tokens that were added as collateral during account opening.
133
+ *
134
+ * When the transaction has native value attached, it is represented as a
135
+ * `NATIVE_ADDRESS` entry, with the wrapped native token amount reduced
136
+ * accordingly (omitted entirely when it reaches zero).
137
+ */
138
+ collateralAdded: Asset[];
139
+ /**
140
+ * Tokens that were withdrawn as collateral during account adjustment.
141
+ */
142
+ collateralWithdrawn: Asset[];
143
+ /**
144
+ * Sum of collateral tokens in underlying
145
+ */
146
+ totalValue: bigint;
147
+ /**
148
+ * Borrowed amount in underlying
149
+ */
150
+ debt: bigint;
151
+ /**
152
+ * Debt after minus debt before
153
+ */
154
+ debtChange: bigint;
155
+ /**
156
+ * Desired quotas
157
+ */
158
+ quotas: Asset[];
159
+ /**
160
+ * Quotas after minus quotas before
161
+ */
162
+ quotasChange: Asset[];
163
+ /**
164
+ * Minimum amount of assets on credit account after the operation,
165
+ * as estimated by router
166
+ */
167
+ assets: Asset[];
168
+ /**
169
+ * Assets after minus assets before
170
+ */
171
+ assetsChange: Asset[];
172
+ }
173
+ /**
174
+ * Result of previewing a raw operation calldata: currently pool operations and
175
+ * credit account opening are supported.
176
+ */
177
+ export type OperationPreview = PoolOperationPreview | OpenCreditAccountPreview | AdjustCreditAccountPreview;
@@ -0,0 +1,20 @@
1
+ import type { Address } from "viem";
2
+ import { type Asset } from "../../sdk/index.js";
3
+ /**
4
+ * Represents the transaction's attached native value as a `NATIVE_ADDRESS`
5
+ * entry in the collateral list.
6
+ *
7
+ * The credit facade wraps `msg.value` into WETH before `AddCollateral(WETH)`
8
+ * pulls it, so the WETH collateral amount already includes the attached native
9
+ * value. This helper splits the WETH entry back: the native amount is shown as
10
+ * `NATIVE_ADDRESS` and the WETH entry is reduced accordingly (dropped when it
11
+ * reaches zero). Other entries are preserved.
12
+ *
13
+ * @param collateral - Collateral assets as declared by the multicall.
14
+ * @param nativeAmount - Transaction `msg.value`.
15
+ * @param wethToken - Wrapped native token address.
16
+ * @returns Collateral with the native amount unwrapped from the WETH entry.
17
+ * @throws InvalidTransactionValueError when `nativeAmount` is positive but the
18
+ * WETH collateral is missing or smaller than it.
19
+ */
20
+ export declare function unwrapNativeCollateral(collateral: Asset[], nativeAmount: bigint, wethToken: Address): Asset[];
@@ -1,17 +1,14 @@
1
1
  import { BaseError, type Hex } from "viem";
2
2
  /** Which simulation flow produced a failure. */
3
- export type SimulationFlowSource = "eth_simulateV1" | "multicall" | "unknown";
3
+ export type SimulationFlowSource = "multicall" | "unknown";
4
4
  /** A single flow failure with its decoded revert detail. */
5
5
  export interface SimulationFlowFailure {
6
6
  source: SimulationFlowSource;
7
7
  detail: SimulationError;
8
8
  }
9
9
  /**
10
- * Error returned by the pool simulation when all attempted flows fail.
11
- *
12
- * On a single-flow failure it wraps that flow's decoded revert reason; when both
13
- * the `eth_simulateV1` and multicall flows fail, it carries the details of both
14
- * (see {@link failures}).
10
+ * Error returned by the pool simulation when it fails. It wraps the flow's
11
+ * decoded revert reason (see {@link failures}).
15
12
  */
16
13
  export declare class PreviewSimulationError extends BaseError {
17
14
  name: string;
@@ -24,8 +21,6 @@ export declare class PreviewSimulationError extends BaseError {
24
21
  * Pass-through when it already is one; otherwise decodes it under `source`.
25
22
  */
26
23
  export declare function asPreviewSimulationError(reason: unknown, source: SimulationFlowSource): PreviewSimulationError;
27
- /** Merges several {@link PreviewSimulationError}s into one carrying all failures. */
28
- export declare function combinePreviewSimulationErrors(...errors: (PreviewSimulationError | undefined)[]): PreviewSimulationError;
29
24
  /** Decoded revert of the simulated transaction. */
30
25
  export interface SimulationError {
31
26
  /** Human-readable revert reason / error name. */
@@ -33,17 +28,16 @@ export interface SimulationError {
33
28
  /** Original error, kept for debugging. */
34
29
  cause?: unknown;
35
30
  }
36
- /** Per-call slice of a `simulateCalls` failure we need to decode. */
31
+ /** Per-call slice of a multicall failure we need to decode. */
37
32
  export interface SimulationRevert {
38
33
  error?: Error;
39
34
  /** Raw revert return data, when present. */
40
35
  data?: Hex;
41
36
  }
42
37
  /**
43
- * Decodes a simulated transaction revert into a {@link SimulationError}.
38
+ * Decodes a simulated call revert into a {@link SimulationError}.
44
39
  *
45
- * The simulated call is raw calldata (no ABI), so viem cannot decode the revert
46
- * itself. We first try to decode the raw return bytes against the SDK's
40
+ * We first try to decode any raw return bytes against the SDK's
47
41
  * {@link errorAbis} (Gearbox protocol exceptions plus standard ERC-20 custom
48
42
  * errors); failing that, we walk viem's error chain for a
49
43
  * {@link ContractFunctionRevertedError} (covers `Error(string)` / `Panic`).
@@ -1,4 +1,3 @@
1
- export { ETH_SIMULATE_V1_NETWORKS } from "./constants.js";
2
1
  export type { SimulationError, SimulationFlowFailure, SimulationFlowSource, } from "./errors.js";
3
2
  export { PreviewSimulationError } from "./errors.js";
4
3
  export type { SimulateFacadeOperationInput } from "./simulateFacadeOperation.js";
@@ -6,4 +5,6 @@ export { simulateFacadeOperation } from "./simulateFacadeOperation.js";
6
5
  export type { SimulateOperationInput } from "./simulateOperation.js";
7
6
  export { simulateOperation } from "./simulateOperation.js";
8
7
  export { simulatePoolOperation } from "./simulatePoolOperation.js";
9
- export type { AddressBalanceChanges, OperationSimulationOptions, PoolOperationSimulation, PoolOperationSimulationInput, PoolOperationSimulationResult, TokenBalanceChange, } from "./types.js";
8
+ export type { SimulateRWAOperationInput } from "./simulateRWAOperation.js";
9
+ export { simulateRWAOperation } from "./simulateRWAOperation.js";
10
+ export type { OperationSimulationOptions, PoolOperationSimulation, PoolOperationSimulationInput, PoolOperationSimulationResult, } from "./types.js";
@@ -11,8 +11,6 @@ export interface SimulateFacadeOperationInput {
11
11
  to: Address;
12
12
  /** Raw credit-facade calldata to simulate. */
13
13
  calldata: Hex;
14
- /** Wallet whose balance changes and transfers we track. */
15
- wallet: Address;
16
14
  }
17
15
  /**
18
16
  * Simulates a credit-facade operation.
@@ -11,8 +11,6 @@ export interface SimulateOperationInput {
11
11
  to: Address;
12
12
  /** Raw operation calldata to simulate. */
13
13
  calldata: Hex;
14
- /** Wallet whose balance changes and transfers we track. */
15
- wallet: Address;
16
14
  }
17
15
  /**
18
16
  * Simulates a parsed pool or credit account operation {@link Operation}
@@ -1,8 +1,14 @@
1
1
  import type { OperationSimulationOptions, PoolOperationSimulation, PoolOperationSimulationInput } from "./types.js";
2
2
  /**
3
- * Simulates a pool deposit/mint/withdraw/redeem and returns the resulting
4
- * balance changes (and, when available, ERC-20 transfers), or a decoded failure.
3
+ * 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.
5
5
  *
6
- * @throws {@link PreviewSimulationError} when the simulation fails.
6
+ * Performs the matching preview read (the pool's ERC4626
7
+ * `previewDeposit`/`previewMint`/`previewWithdraw`/`previewRedeem`, or the
8
+ * zapper's `previewDeposit`/`previewRedeem`) to convert the calldata-known
9
+ * amount into its counterpart. It works on every network the SDK supports.
10
+ *
11
+ * It does not execute the calldata, so it ignores balance/allowance
12
+ * prerequisites (preview reads succeed regardless).
7
13
  */
8
14
  export declare function simulatePoolOperation(input: PoolOperationSimulationInput, options?: OperationSimulationOptions): Promise<PoolOperationSimulation>;
@@ -0,0 +1,23 @@
1
+ import type { Address, Hex } from "viem";
2
+ import type { OnchainSDK } from "../../sdk/index.js";
3
+ 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
+ }
15
+ /**
16
+ * Simulates an RWA-factory operation.
17
+ *
18
+ * Not yet implemented: like credit-facade simulation, it requires
19
+ * multicall-aware balance/transfer accounting that the pool simulation does
20
+ * not cover. The signature mirrors {@link simulatePoolOperation} so the
21
+ * {@link simulateOperation} wrapper can delegate uniformly once implemented.
22
+ */
23
+ export declare function simulateRWAOperation(_input: SimulateRWAOperationInput, _options?: OperationSimulationOptions): Promise<PoolOperationSimulation>;
@@ -1,27 +1,8 @@
1
1
  import type { Address, Hex } from "viem";
2
2
  import type { OnchainSDK } from "../../sdk/index.js";
3
3
  import type { ILogger } from "../../sdk/types/logger.js";
4
- import type { PoolOperation, TokenTransfer } from "../parse/index.js";
4
+ import type { PoolOperation } from "../parse/index.js";
5
5
  import type { PreviewSimulationError } from "./errors.js";
6
- /**
7
- * Change in an address's balance of a single token over the simulated call.
8
- * `delta` is `after - before` (negative when the address spent the token).
9
- */
10
- export interface TokenBalanceChange {
11
- token: Address;
12
- before: bigint;
13
- after: bigint;
14
- delta: bigint;
15
- }
16
- /**
17
- * Balance changes for a single watched address (e.g. the wallet or the
18
- * operation recipient). Keyed purely by address; UI labeling is resolved
19
- * separately by the presentation layer.
20
- */
21
- export interface AddressBalanceChanges {
22
- address: Address;
23
- changes: TokenBalanceChange[];
24
- }
25
6
  export interface PoolOperationSimulationInput {
26
7
  /** Only `client`/`networkType` are used, so any OnchainSDK works. */
27
8
  sdk: OnchainSDK;
@@ -31,40 +12,32 @@ export interface PoolOperationSimulationInput {
31
12
  to: Address;
32
13
  /** Raw deposit/mint/withdraw/redeem calldata to simulate. */
33
14
  calldata: Hex;
34
- /** Wallet whose balance changes and transfers we track. */
35
- wallet: Address;
36
15
  }
37
16
  export interface OperationSimulationOptions {
38
17
  /** Block to simulate at; defaults to latest. */
39
18
  blockNumber?: bigint;
40
- /**
41
- * Whether to run the `eth_simulateV1` flow (preferred, recovers transfers).
42
- * When `undefined`, defaults to whether the SDK's network is in
43
- * {@link ETH_SIMULATE_V1_NETWORKS}.
44
- */
45
- useSimulateV1?: boolean;
46
19
  /**
47
20
  * Optional logger.
48
21
  **/
49
22
  logger?: ILogger;
50
23
  }
51
24
  /**
52
- * Successful simulation of a pool operation: the balance changes grouped by
53
- * watched address and, when available, the wallet-filtered ERC-20 transfers.
54
- * This is the success payload of {@link PoolOperationSimulation} without the
55
- * `status` discriminant.
25
+ * Successful simulation of a pool operation: the amounts of tokens going in
26
+ * 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.
56
29
  */
57
30
  export interface PoolOperationSimulationResult {
58
31
  /**
59
- * Balance changes grouped by watched address (wallet, recipient, owner).
32
+ * Amount of tokens going from the user to the pool (underlying or zapper
33
+ * input token for deposit/mint, pool shares for withdraw/redeem).
60
34
  **/
61
- balanceChanges: AddressBalanceChanges[];
35
+ amountIn: bigint;
62
36
  /**
63
- * ERC-20 transfers involving the watched addresses.
64
- *
65
- * NOTE: transfers are **not guaranteed** to be returned.
66
- */
67
- transfers?: TokenTransfer[];
37
+ * Amount of tokens going from the pool to the user (pool shares or zapper
38
+ * output token for deposit/mint, underlying for withdraw/redeem).
39
+ **/
40
+ amountOut: bigint;
68
41
  }
69
42
  /**
70
43
  * Outcome of simulating a pool operation. On success it carries a
@@ -55,6 +55,11 @@ export interface MultichainAttachOptions {
55
55
  * Options for Pyth price-feed updates (shared cache across chains).
56
56
  **/
57
57
  pyth?: PythOptions;
58
+ /**
59
+ * When `true`, automatically load zappers after markets are loaded during
60
+ * attach on every chain.
61
+ **/
62
+ loadZappers?: boolean;
58
63
  }
59
64
  /**
60
65
  * Options for {@link MultichainSDK.hydrate}.
@@ -117,6 +117,10 @@ export interface AttachOptions {
117
117
  * Options for Pyth price-feed updates.
118
118
  **/
119
119
  pyth?: PythOptions;
120
+ /**
121
+ * When `true`, automatically call {@link MarketRegister.loadZappers} during attach.
122
+ **/
123
+ loadZappers?: boolean;
120
124
  }
121
125
  /**
122
126
  * Options accepted by {@link OnchainSDK.hydrate}.
@@ -4,9 +4,9 @@ import { SDKConstruct } from "../base/index.js";
4
4
  import { type PriceUpdate } from "../market/index.js";
5
5
  import type { RWAOpenAccountRequirements } from "../market/rwa/index.js";
6
6
  import type { OnchainSDK } from "../OnchainSDK.js";
7
- import { type RouterCASlice } from "../router/index.js";
7
+ import type { RouterCASlice } from "../router/index.js";
8
8
  import type { MultiCall, RawTx } from "../types/index.js";
9
- import type { AccountToCheck, AddCollateralProps, AssembleCaUpdateCallsProps, 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, 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";
10
10
  /**
11
11
  * Options for configuring the credit account service.
12
12
  **/
@@ -79,6 +79,10 @@ export declare class CreditAccountsServiceV310 extends SDKConstruct implements I
79
79
  * {@inheritDoc ICreditAccountsService.closeCreditAccount}
80
80
  **/
81
81
  closeCreditAccount({ operation, assetsToWithdraw, creditAccount: ca, to, slippage, closePath, }: CloseCreditAccountProps): Promise<CloseCreditAccountResult>;
82
+ /**
83
+ * {@inheritDoc ICreditAccountsService.assembleCloseCreditAccountCalls}
84
+ */
85
+ assembleCloseCreditAccountCalls({ creditAccount: ca, routerCalls, assetsToWithdraw, to, }: AssembleCloseCreditAccountCallsProps): Promise<Array<MultiCall>>;
82
86
  /**
83
87
  * {@inheritDoc ICreditAccountsService.updateQuotas}
84
88
  **/
@@ -178,7 +182,11 @@ export declare class CreditAccountsServiceV310 extends SDKConstruct implements I
178
182
  /**
179
183
  * {@inheritDoc ICreditAccountsService.repayCreditAccount}
180
184
  */
181
- repayCreditAccount({ operation, collateralAssets, assetsToWithdraw, creditAccount: ca, permits, to, tokensToClaim, calls: wrapCalls, }: RepayCreditAccountProps): Promise<CreditAccountOperationResult>;
185
+ repayCreditAccount(props: RepayCreditAccountProps): Promise<CreditAccountOperationResult>;
186
+ /**
187
+ * {@inheritDoc ICreditAccountsService.assembleRepayCreditAccountCalls}
188
+ */
189
+ assembleRepayCreditAccountCalls({ collateralAssets, assetsToWithdraw, creditAccount: ca, permits, to, tokensToClaim, calls: wrapCalls, }: AssembleRepayCreditAccountCallsProps): Promise<Array<MultiCall>>;
182
190
  /**
183
191
  * {@inheritDoc ICreditAccountsService.repayAndLiquidateCreditAccount}
184
192
  */
@@ -1,11 +1,11 @@
1
1
  import type { Address, ContractFunctionArgs, GetContractReturnType, Hex, PublicClient } from "viem";
2
2
  import type { creditAccountCompressorAbi } from "../../abi/compressors/creditAccountCompressor.js";
3
3
  import type { iWithdrawalCompressorV310Abi } from "../../abi/IWithdrawalCompressorV310.js";
4
- import type { ConnectedBotData, Construct, CreditAccountData } from "../base/index.js";
4
+ import type { Asset, ConnectedBotData, Construct, CreditAccountData } from "../base/index.js";
5
5
  import type { CreditSuite, PriceUpdate, RWAOperationParams } from "../market/index.js";
6
6
  import type { RWAOpenAccountRequirements } from "../market/rwa/index.js";
7
7
  import type { OnchainSDK } from "../OnchainSDK.js";
8
- import type { Asset, RouterCASlice, RouterCloseResult } from "../router/index.js";
8
+ import type { RouterCASlice, RouterCloseResult } from "../router/index.js";
9
9
  import type { MultiCall, RawTx } from "../types/index.js";
10
10
  /**
11
11
  * @internal
@@ -182,16 +182,27 @@ export interface CloseCreditAccountProps {
182
182
  */
183
183
  closePath?: RouterCloseResult;
184
184
  }
185
- export interface RepayCreditAccountProps extends RepayAndLiquidateCreditAccountProps {
185
+ /**
186
+ * Input for {@link ICreditAccountsService.assembleCloseCreditAccountCalls}.
187
+ */
188
+ export type AssembleCloseCreditAccountCallsProps = {
186
189
  /**
187
- * Swap calls for repay
190
+ * Minimal credit account data on which operation is performed.
188
191
  */
189
- calls?: Array<MultiCall>;
192
+ creditAccount: RouterCASlice;
190
193
  /**
191
- * close or zeroDebt
194
+ * Pathfinder close router calls (`closePath.calls`).
192
195
  */
193
- operation: CloseOptions;
194
- }
196
+ routerCalls: Array<MultiCall>;
197
+ /**
198
+ * Tokens to withdraw from credit account after close path swaps.
199
+ */
200
+ assetsToWithdraw: Array<Address>;
201
+ /**
202
+ * Wallet address to withdraw tokens to.
203
+ */
204
+ to: Address;
205
+ };
195
206
  export interface RepayAndLiquidateCreditAccountProps {
196
207
  /**
197
208
  * Tokens to repay debt.
@@ -220,6 +231,31 @@ export interface RepayAndLiquidateCreditAccountProps {
220
231
  permits: Record<string, PermitResult>;
221
232
  tokensToClaim: Asset[];
222
233
  }
234
+ /**
235
+ * Input for {@link ICreditAccountsService.assembleRepayCreditAccountCalls}.
236
+ */
237
+ export type AssembleRepayCreditAccountCallsProps = {
238
+ collateralAssets: Array<Asset>;
239
+ assetsToWithdraw: Array<Asset>;
240
+ creditAccount: RouterCASlice;
241
+ to: Address;
242
+ permits: Record<string, PermitResult>;
243
+ tokensToClaim: Asset[];
244
+ /**
245
+ * RWA wrap multicall entries (from getRWAWrapCalls).
246
+ */
247
+ calls?: Array<MultiCall>;
248
+ };
249
+ export interface RepayCreditAccountProps extends RepayAndLiquidateCreditAccountProps {
250
+ /**
251
+ * RWA wrap multicall entries (from getRWAWrapCalls).
252
+ */
253
+ calls?: Array<MultiCall>;
254
+ /**
255
+ * close or zeroDebt
256
+ */
257
+ operation: CloseOptions;
258
+ }
223
259
  export interface PrepareUpdateQuotasProps {
224
260
  /**
225
261
  * average quota for desired token
@@ -798,6 +834,17 @@ export interface ICreditAccountsService extends Construct {
798
834
  * @returns Raw transaction ready to be signed and sent
799
835
  */
800
836
  partiallyLiquidate(props: PartiallyLiquidateProps): Promise<RawTx>;
837
+ /**
838
+ * Builds close multicall calls without price feed updates.
839
+ *
840
+ * Same operation sequence as {@link closeCreditAccount} (close path swaps,
841
+ * disable quotas, decrease debt, withdraw assets), but does not prepend
842
+ * price updates and does not build the facade transaction.
843
+ *
844
+ * @param props - {@link AssembleCloseCreditAccountCallsProps}
845
+ * @returns Raw facade multicall payload for close (before price feed updates)
846
+ */
847
+ assembleCloseCreditAccountCalls(props: AssembleCloseCreditAccountCallsProps): Promise<Array<MultiCall>>;
801
848
  /**
802
849
  * Closes credit account or closes credit account and keeps it open with zero debt.
803
850
  * - Ca is closed in the following order: price update -> close path to swap all tokens into underlying ->
@@ -1009,6 +1056,17 @@ export interface ICreditAccountsService extends Construct {
1009
1056
  * @return All necessary data to execute the transaction (call, credit facade)
1010
1057
  */
1011
1058
  withdrawCollateral(props: WithdrawCollateralProps): Promise<CreditAccountOperationResult>;
1059
+ /**
1060
+ * Builds repay multicall calls without price feed updates.
1061
+ *
1062
+ * Same operation sequence as {@link repayCreditAccount} (add collateral, wrap calls,
1063
+ * disable quotas, decrease debt, redeem/unwrap, claim rewards, withdraw assets),
1064
+ * but does not prepend price updates and does not build the facade transaction.
1065
+ *
1066
+ * @param props - {@link AssembleRepayCreditAccountCallsProps}
1067
+ * @returns Raw facade multicall payload for repay (before price feed updates)
1068
+ */
1069
+ assembleRepayCreditAccountCalls(props: AssembleRepayCreditAccountCallsProps): Promise<Array<MultiCall>>;
1012
1070
  /**
1013
1071
  * Fully repays credit account or repays credit account and keeps it open with zero debt
1014
1072
  * - Repays in the following order: price update -> add collateral to cover the debt ->
@@ -151,7 +151,7 @@ export declare class BaseContract<abi extends Abi | readonly unknown[]> extends
151
151
  * @param strict - propagated from parseFunctionDataV2 for recursive parsing
152
152
  */
153
153
  protected parseFunctionParamsV2(params: DecodeFunctionDataReturnType<abi>, _strict?: boolean): Record<string, unknown>;
154
- protected wrapParseCallV2(functionName: string, rawArgs: Record<string, unknown>): ParsedCallV2;
154
+ protected wrapParseCallV2(functionName: string, calldata: Hex, rawArgs: Record<string, unknown>): ParsedCallV2;
155
155
  /**
156
156
  * Creates a raw transaction for a function in this contract
157
157
  * @param parameters
@@ -1,5 +1,5 @@
1
1
  import type { Address, Chain, PublicClient, Transport } from "viem";
2
- import type { Asset } from "../router/index.js";
2
+ import type { Asset } from "../index.js";
3
3
  import type { ILogger } from "../types/logger.js";
4
4
  import { AddressMap } from "../utils/index.js";
5
5
  import type { PhantomTokenMeta, RWATokenMeta, TokenMetaData } from "./token-types.js";
@@ -87,6 +87,20 @@ export interface TokenInfo {
87
87
  **/
88
88
  success: boolean;
89
89
  }
90
+ /**
91
+ * A token address paired with a balance, used throughout the SDK to
92
+ * represent holdings, collateral inputs, and leftover targets.
93
+ **/
94
+ export interface Asset {
95
+ /**
96
+ * ERC-20 token address.
97
+ **/
98
+ token: Address;
99
+ /**
100
+ * Token amount in the token's native decimals.
101
+ **/
102
+ balance: bigint;
103
+ }
90
104
  /**
91
105
  * Compile-time assertion: `U` must be assignable to `T`.
92
106
  *
@@ -337,6 +351,10 @@ export interface ParsedCallV2 {
337
351
  * For unknown selectors: `"unknown function 0x1a2b3c4d"`
338
352
  */
339
353
  functionName: string;
354
+ /**
355
+ * Raw ABI-encoded calldata this call was parsed from.
356
+ **/
357
+ calldata: Hex;
340
358
  /**
341
359
  * Named arguments with their original types (bigint, Address, etc.).
342
360
  **/