@eulerxyz/euler-v2-sdk 0.1.2-beta → 0.2.0-beta

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 (235) hide show
  1. package/README.md +24 -25
  2. package/dist/src/entities/Account.d.ts +48 -47
  3. package/dist/src/entities/Account.d.ts.map +1 -1
  4. package/dist/src/entities/Account.js +85 -64
  5. package/dist/src/entities/Account.js.map +1 -1
  6. package/dist/src/entities/ERC4626Vault.d.ts +6 -5
  7. package/dist/src/entities/ERC4626Vault.d.ts.map +1 -1
  8. package/dist/src/entities/ERC4626Vault.js +13 -6
  9. package/dist/src/entities/ERC4626Vault.js.map +1 -1
  10. package/dist/src/entities/EVault.d.ts +30 -15
  11. package/dist/src/entities/EVault.d.ts.map +1 -1
  12. package/dist/src/entities/EVault.js +66 -14
  13. package/dist/src/entities/EVault.js.map +1 -1
  14. package/dist/src/entities/EulerEarn.d.ts +3 -0
  15. package/dist/src/entities/EulerEarn.d.ts.map +1 -1
  16. package/dist/src/entities/EulerEarn.js +12 -3
  17. package/dist/src/entities/EulerEarn.js.map +1 -1
  18. package/dist/src/entities/EulerLabels.d.ts +74 -0
  19. package/dist/src/entities/EulerLabels.d.ts.map +1 -1
  20. package/dist/src/entities/Portfolio.d.ts +38 -17
  21. package/dist/src/entities/Portfolio.d.ts.map +1 -1
  22. package/dist/src/entities/Portfolio.js +71 -23
  23. package/dist/src/entities/Portfolio.js.map +1 -1
  24. package/dist/src/entities/Wallet.d.ts +1 -0
  25. package/dist/src/entities/Wallet.d.ts.map +1 -1
  26. package/dist/src/entities/Wallet.js +2 -2
  27. package/dist/src/entities/Wallet.js.map +1 -1
  28. package/dist/src/index.d.ts +5 -2
  29. package/dist/src/index.d.ts.map +1 -1
  30. package/dist/src/index.js +5 -2
  31. package/dist/src/index.js.map +1 -1
  32. package/dist/src/plugins/keyring/keyringPlugin.d.ts +1 -1
  33. package/dist/src/plugins/keyring/keyringPlugin.d.ts.map +1 -1
  34. package/dist/src/plugins/keyring/keyringPlugin.js +70 -12
  35. package/dist/src/plugins/keyring/keyringPlugin.js.map +1 -1
  36. package/dist/src/plugins/pyth/pythPlugin.d.ts.map +1 -1
  37. package/dist/src/plugins/pyth/pythPlugin.js +132 -11
  38. package/dist/src/plugins/pyth/pythPlugin.js.map +1 -1
  39. package/dist/src/plugins/types.d.ts +4 -7
  40. package/dist/src/plugins/types.d.ts.map +1 -1
  41. package/dist/src/plugins/types.js.map +1 -1
  42. package/dist/src/sdk/buildSDK.d.ts +11 -7
  43. package/dist/src/sdk/buildSDK.d.ts.map +1 -1
  44. package/dist/src/sdk/buildSDK.js +369 -116
  45. package/dist/src/sdk/buildSDK.js.map +1 -1
  46. package/dist/src/sdk/config.d.ts +74 -0
  47. package/dist/src/sdk/config.d.ts.map +1 -0
  48. package/dist/src/sdk/config.js +187 -0
  49. package/dist/src/sdk/config.js.map +1 -0
  50. package/dist/src/sdk/defaultConfig.d.ts +5 -2
  51. package/dist/src/sdk/defaultConfig.d.ts.map +1 -1
  52. package/dist/src/sdk/defaultConfig.js +21 -18
  53. package/dist/src/sdk/defaultConfig.js.map +1 -1
  54. package/dist/src/sdk/sdk.d.ts +6 -8
  55. package/dist/src/sdk/sdk.d.ts.map +1 -1
  56. package/dist/src/sdk/sdk.js +2 -6
  57. package/dist/src/sdk/sdk.js.map +1 -1
  58. package/dist/src/services/accountService/accountService.d.ts.map +1 -1
  59. package/dist/src/services/accountService/accountService.js +10 -7
  60. package/dist/src/services/accountService/accountService.js.map +1 -1
  61. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts +2 -2
  62. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts.map +1 -1
  63. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js +22 -17
  64. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js.map +1 -1
  65. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts +1 -1
  66. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts.map +1 -1
  67. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js +16 -17
  68. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js.map +1 -1
  69. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts +7 -1
  70. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts.map +1 -1
  71. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js +141 -54
  72. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js.map +1 -1
  73. package/dist/src/services/deploymentService/deploymentService.d.ts +1 -0
  74. package/dist/src/services/deploymentService/deploymentService.d.ts.map +1 -1
  75. package/dist/src/services/deploymentService/deploymentService.js.map +1 -1
  76. package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts +18 -1
  77. package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts.map +1 -1
  78. package/dist/src/services/eulerLabelsService/eulerLabelsService.js +373 -30
  79. package/dist/src/services/eulerLabelsService/eulerLabelsService.js.map +1 -1
  80. package/dist/src/services/executionService/encode.d.ts +30 -0
  81. package/dist/src/services/executionService/encode.d.ts.map +1 -0
  82. package/dist/src/services/executionService/encode.js +841 -0
  83. package/dist/src/services/executionService/encode.js.map +1 -0
  84. package/dist/src/services/executionService/execute.d.ts +65 -0
  85. package/dist/src/services/executionService/execute.d.ts.map +1 -0
  86. package/dist/src/services/executionService/execute.js +185 -0
  87. package/dist/src/services/executionService/execute.js.map +1 -0
  88. package/dist/src/services/executionService/executionService.d.ts +169 -37
  89. package/dist/src/services/executionService/executionService.d.ts.map +1 -1
  90. package/dist/src/services/executionService/executionService.js +510 -893
  91. package/dist/src/services/executionService/executionService.js.map +1 -1
  92. package/dist/src/services/executionService/executionServiceTypes.d.ts +93 -9
  93. package/dist/src/services/executionService/executionServiceTypes.d.ts.map +1 -1
  94. package/dist/src/services/executionService/executionServiceTypes.js +6 -0
  95. package/dist/src/services/executionService/executionServiceTypes.js.map +1 -1
  96. package/dist/src/services/executionService/index.d.ts +5 -2
  97. package/dist/src/services/executionService/index.d.ts.map +1 -1
  98. package/dist/src/services/executionService/index.js +3 -1
  99. package/dist/src/services/executionService/index.js.map +1 -1
  100. package/dist/src/services/{simulationService/simulationService.d.ts → executionService/simulate.d.ts} +26 -40
  101. package/dist/src/services/executionService/simulate.d.ts.map +1 -0
  102. package/dist/src/services/executionService/simulate.js +532 -0
  103. package/dist/src/services/executionService/simulate.js.map +1 -0
  104. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.d.ts +1 -1
  105. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.d.ts.map +1 -1
  106. package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts +5 -0
  107. package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts.map +1 -1
  108. package/dist/src/services/oracleAdapterService/oracleAdapterService.js +38 -11
  109. package/dist/src/services/oracleAdapterService/oracleAdapterService.js.map +1 -1
  110. package/dist/src/services/priceService/backendClient.d.ts +7 -13
  111. package/dist/src/services/priceService/backendClient.d.ts.map +1 -1
  112. package/dist/src/services/priceService/backendClient.js +7 -14
  113. package/dist/src/services/priceService/backendClient.js.map +1 -1
  114. package/dist/src/services/priceService/index.d.ts +2 -2
  115. package/dist/src/services/priceService/index.d.ts.map +1 -1
  116. package/dist/src/services/priceService/index.js +1 -1
  117. package/dist/src/services/priceService/index.js.map +1 -1
  118. package/dist/src/services/priceService/priceService.d.ts +19 -17
  119. package/dist/src/services/priceService/priceService.d.ts.map +1 -1
  120. package/dist/src/services/priceService/priceService.js +53 -76
  121. package/dist/src/services/priceService/priceService.js.map +1 -1
  122. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts.map +1 -1
  123. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js +26 -13
  124. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js.map +1 -1
  125. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts +10 -10
  126. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts.map +1 -1
  127. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +1 -1
  128. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts.map +1 -1
  129. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts +1 -1
  130. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts.map +1 -1
  131. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js +6 -13
  132. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js.map +1 -1
  133. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts +1 -1
  134. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts.map +1 -1
  135. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js +69 -51
  136. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js.map +1 -1
  137. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts +6 -2
  138. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts.map +1 -1
  139. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js +70 -21
  140. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js.map +1 -1
  141. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts +1 -1
  142. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts.map +1 -1
  143. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js +106 -111
  144. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js.map +1 -1
  145. package/dist/src/services/vaults/eVaultService/eVaultService.d.ts +4 -4
  146. package/dist/src/services/vaults/eVaultService/eVaultService.d.ts.map +1 -1
  147. package/dist/src/services/vaults/eVaultService/eVaultService.js +56 -57
  148. package/dist/src/services/vaults/eVaultService/eVaultService.js.map +1 -1
  149. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts +1 -1
  150. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts.map +1 -1
  151. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts +1 -1
  152. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts.map +1 -1
  153. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js +22 -21
  154. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js.map +1 -1
  155. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts.map +1 -1
  156. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js +27 -32
  157. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js.map +1 -1
  158. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts +1 -1
  159. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts.map +1 -1
  160. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js +113 -72
  161. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js.map +1 -1
  162. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts +5 -5
  163. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts.map +1 -1
  164. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js +30 -28
  165. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js.map +1 -1
  166. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts +1 -1
  167. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts.map +1 -1
  168. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts +1 -1
  169. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts.map +1 -1
  170. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js +10 -7
  171. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js.map +1 -1
  172. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.d.ts.map +1 -1
  173. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js +6 -8
  174. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js.map +1 -1
  175. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts +2 -2
  176. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts.map +1 -1
  177. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js +13 -18
  178. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js.map +1 -1
  179. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.d.ts +1 -1
  180. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.d.ts.map +1 -1
  181. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts +3 -3
  182. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts.map +1 -1
  183. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js +31 -32
  184. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js.map +1 -1
  185. package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts +5 -1
  186. package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts.map +1 -1
  187. package/dist/src/services/walletService/adapters/walletOnchainAdapter.js +181 -40
  188. package/dist/src/services/walletService/adapters/walletOnchainAdapter.js.map +1 -1
  189. package/dist/src/services/walletService/walletService.d.ts +1 -1
  190. package/dist/src/services/walletService/walletService.d.ts.map +1 -1
  191. package/dist/src/services/walletService/walletService.js +4 -3
  192. package/dist/src/services/walletService/walletService.js.map +1 -1
  193. package/dist/src/utils/accountComputations.d.ts +42 -12
  194. package/dist/src/utils/accountComputations.d.ts.map +1 -1
  195. package/dist/src/utils/accountComputations.js +142 -40
  196. package/dist/src/utils/accountComputations.js.map +1 -1
  197. package/dist/src/utils/accountPositionClassification.d.ts +15 -0
  198. package/dist/src/utils/accountPositionClassification.d.ts.map +1 -0
  199. package/dist/src/utils/accountPositionClassification.js +27 -0
  200. package/dist/src/utils/accountPositionClassification.js.map +1 -0
  201. package/dist/src/utils/buildQuery.d.ts +1 -0
  202. package/dist/src/utils/buildQuery.d.ts.map +1 -1
  203. package/dist/src/utils/buildQuery.js +1 -1
  204. package/dist/src/utils/buildQuery.js.map +1 -1
  205. package/dist/src/utils/entityDiagnostics.d.ts +75 -12
  206. package/dist/src/utils/entityDiagnostics.d.ts.map +1 -1
  207. package/dist/src/utils/entityDiagnostics.js +85 -19
  208. package/dist/src/utils/entityDiagnostics.js.map +1 -1
  209. package/dist/src/utils/eulerLabels.d.ts +34 -0
  210. package/dist/src/utils/eulerLabels.d.ts.map +1 -0
  211. package/dist/src/utils/eulerLabels.js +156 -0
  212. package/dist/src/utils/eulerLabels.js.map +1 -0
  213. package/dist/src/utils/healthCheckSets.d.ts +14 -0
  214. package/dist/src/utils/healthCheckSets.d.ts.map +1 -0
  215. package/dist/src/utils/healthCheckSets.js +174 -0
  216. package/dist/src/utils/healthCheckSets.js.map +1 -0
  217. package/dist/src/utils/normalization.d.ts +10 -4
  218. package/dist/src/utils/normalization.d.ts.map +1 -1
  219. package/dist/src/utils/normalization.js +38 -11
  220. package/dist/src/utils/normalization.js.map +1 -1
  221. package/dist/src/utils/oracle.d.ts.map +1 -1
  222. package/dist/src/utils/oracle.js +12 -1
  223. package/dist/src/utils/oracle.js.map +1 -1
  224. package/dist/src/utils/parsing.d.ts +2 -2
  225. package/dist/src/utils/parsing.d.ts.map +1 -1
  226. package/dist/src/utils/parsing.js +12 -22
  227. package/dist/src/utils/parsing.js.map +1 -1
  228. package/package.json +2 -2
  229. package/dist/src/services/simulationService/index.d.ts +0 -3
  230. package/dist/src/services/simulationService/index.d.ts.map +0 -1
  231. package/dist/src/services/simulationService/index.js +0 -2
  232. package/dist/src/services/simulationService/index.js.map +0 -1
  233. package/dist/src/services/simulationService/simulationService.d.ts.map +0 -1
  234. package/dist/src/services/simulationService/simulationService.js +0 -533
  235. package/dist/src/services/simulationService/simulationService.js.map +0 -1
@@ -1,9 +1,24 @@
1
- import { type Hex, type Address, type Abi } from "viem";
2
- import type { DeploymentService } from "../deploymentService/index.js";
3
- import type { IWalletService } from "../walletService/index.js";
1
+ import { type Abi, type Address, type Hex, type StateOverride } from "viem";
2
+ import type { AddressOrAccount } from "../../entities/Account.js";
4
3
  import type { EulerPlugin } from "../../plugins/types.js";
5
- import { type EVCBatchItem, type EncodeDepositArgs, type EncodeMintArgs, type EncodeWithdrawArgs, type EncodeRedeemArgs, type EncodeBorrowArgs, type EncodeLiquidationArgs, type EncodePullDebtArgs, type EncodeRepayWithSwapArgs, type EncodeRepayFromWalletArgs, type EncodeRepayFromDepositArgs, type EncodeSwapDebtArgs, type EncodeTransferArgs, type EncodeDepositWithSwapFromWalletArgs, type EncodeSwapFromWalletArgs, type EncodeSwapCollateralArgs, type EncodePermit2CallArgs, type GetPermit2TypedDataArgs, type TransactionPlanItem, type TransactionPlan, type PlanDepositArgs, type PlanMintArgs, type PlanWithdrawArgs, type PlanRedeemArgs, type PlanBorrowArgs, type PlanLiquidationArgs, type PlanRepayFromWalletArgs, type PlanRepayFromDepositArgs, type PlanRepayWithSwapArgs, type PlanDepositWithSwapFromWalletArgs, type PlanSwapFromWalletArgs, type PlanSwapCollateralArgs, type PlanSwapDebtArgs, type PlanTransferArgs, type PlanPullDebtArgs, type BatchItemDescription, type EncodeMultiplyWithSwapArgs, type EncodeMultiplySameAssetArgs, type PlanMultiplyWithSwapArgs, type PlanMultiplySameAssetArgs, type PermitSingleTypedData, type ResolveRequiredApprovalsArgs, type ResolveRequiredApprovalsWithWalletArgs } from "./executionServiceTypes.js";
6
- export interface IExecutionService {
4
+ import type { IDeploymentService } from "../deploymentService/index.js";
5
+ import type { IEulerLabelsService } from "../eulerLabelsService/index.js";
6
+ import type { IIntrinsicApyService } from "../intrinsicApyService/index.js";
7
+ import type { IPriceService } from "../priceService/index.js";
8
+ import type { ProviderService } from "../providerService/index.js";
9
+ import type { IRewardsService } from "../rewardsService/index.js";
10
+ import type { IVaultMetaService, VaultEntity } from "../vaults/vaultMetaService/index.js";
11
+ import type { IWalletService } from "../walletService/index.js";
12
+ import type { BatchEntryDescription, BatchItemDescription, EncodeBorrowArgs, EncodeDepositArgs, EncodeDepositWithSwapFromWalletArgs, EncodeLiquidationArgs, EncodeMigrateSameAssetCollateralArgs, EncodeMigrateSameAssetDebtArgs, EncodeMintArgs, EncodeMultiplySameAssetArgs, EncodeMultiplyWithSwapArgs, EncodePermit2CallArgs, EncodePullDebtArgs, EncodeRedeemArgs, EncodeRepayFromDepositArgs, EncodeRepayFromWalletArgs, EncodeRepayWithSwapArgs, EncodeSwapCollateralArgs, EncodeSwapDebtArgs, EncodeSwapFromWalletArgs, EncodeTransferArgs, EncodeWithdrawArgs, EVCBatchEntry, EVCBatchItem, GetPermit2TypedDataArgs, PermitSingleTypedData, PlanBorrowArgs, PlanDepositArgs, PlanDepositWithSwapFromWalletArgs, PlanLiquidationArgs, PlanMigrateSameAssetCollateralArgs, PlanMigrateSameAssetDebtArgs, PlanMintArgs, PlanMultiplySameAssetArgs, PlanMultiplyWithSwapArgs, PlanPullDebtArgs, PlanRedeemArgs, PlanRepayFromDepositArgs, PlanRepayFromWalletArgs, PlanRepayWithSwapArgs, PlanSwapCollateralArgs, PlanSwapDebtArgs, PlanSwapFromWalletArgs, PlanTransferArgs, PlanWithdrawArgs, ResolveRequiredApprovalsArgs, ResolveRequiredApprovalsWithWalletArgs, TransactionPlan, TransactionPlanItem } from "./executionServiceTypes.js";
13
+ import { type ExecuteTransactionPlanArgs, type TransactionPlanExecutionResult } from "./execute.js";
14
+ import { type EstimateGasForTransactionPlanOptions, type SimulateBatchOptions, type SimulateBatchResult, type SimulationStateOverrideOptions } from "./simulate.js";
15
+ export interface IExecutionService<TVaultEntity extends VaultEntity = VaultEntity> {
16
+ deriveStateOverrides(chainId: number, account: Address, transactionPlan: TransactionPlan, options?: SimulationStateOverrideOptions): Promise<StateOverride>;
17
+ simulateTransactionPlan(chainId: number, account: AddressOrAccount, transactionPlan: TransactionPlan, options?: SimulateBatchOptions): Promise<SimulateBatchResult<TVaultEntity>>;
18
+ estimateGasForTransactionPlan(chainId: number, account: AddressOrAccount, transactionPlan: TransactionPlan, options?: EstimateGasForTransactionPlanOptions): Promise<bigint>;
19
+ resolveRequiredApprovalsWithWallet(args: ResolveRequiredApprovalsWithWalletArgs): TransactionPlan;
20
+ resolveRequiredApprovals(args: ResolveRequiredApprovalsArgs): Promise<TransactionPlan>;
21
+ executeTransactionPlan(args: ExecuteTransactionPlanArgs): Promise<TransactionPlanExecutionResult>;
7
22
  encodeBatch(items: EVCBatchItem[]): Hex;
8
23
  encodeDeposit(args: EncodeDepositArgs): EVCBatchItem[];
9
24
  encodeMint(args: EncodeMintArgs): EVCBatchItem[];
@@ -19,6 +34,8 @@ export interface IExecutionService {
19
34
  encodeSwapFromWallet(args: EncodeSwapFromWalletArgs): EVCBatchItem[];
20
35
  encodeSwapCollateral(args: EncodeSwapCollateralArgs): EVCBatchItem[];
21
36
  encodeSwapDebt(args: EncodeSwapDebtArgs): EVCBatchItem[];
37
+ encodeMigrateSameAssetCollateral(args: EncodeMigrateSameAssetCollateralArgs): EVCBatchItem[];
38
+ encodeMigrateSameAssetDebt(args: EncodeMigrateSameAssetDebtArgs): EVCBatchItem[];
22
39
  encodeTransfer(args: EncodeTransferArgs): EVCBatchItem[];
23
40
  encodeMultiplyWithSwap(args: EncodeMultiplyWithSwapArgs): EVCBatchItem[];
24
41
  encodeMultiplySameAsset(args: EncodeMultiplySameAssetArgs): EVCBatchItem[];
@@ -37,26 +54,56 @@ export interface IExecutionService {
37
54
  planSwapFromWallet(args: PlanSwapFromWalletArgs): TransactionPlan;
38
55
  planSwapCollateral(args: PlanSwapCollateralArgs): TransactionPlan;
39
56
  planSwapDebt(args: PlanSwapDebtArgs): TransactionPlan;
57
+ planMigrateSameAssetCollateral(args: PlanMigrateSameAssetCollateralArgs): TransactionPlan;
58
+ planMigrateSameAssetDebt(args: PlanMigrateSameAssetDebtArgs): TransactionPlan;
40
59
  planTransfer(args: PlanTransferArgs): TransactionPlan;
41
60
  planPullDebt(args: PlanPullDebtArgs): TransactionPlan;
42
61
  planMultiplyWithSwap(args: PlanMultiplyWithSwapArgs): TransactionPlan;
43
62
  planMultiplySameAsset(args: PlanMultiplySameAssetArgs): TransactionPlan;
44
- resolveRequiredApprovalsWithWallet(args: ResolveRequiredApprovalsWithWalletArgs): TransactionPlan;
45
- resolveRequiredApprovals(args: ResolveRequiredApprovalsArgs): Promise<TransactionPlan>;
46
63
  getPermit2TypedData(args: GetPermit2TypedDataArgs): PermitSingleTypedData;
47
- describeBatch(batch: EVCBatchItem[], extraAbis?: Abi[]): BatchItemDescription[];
48
- /** Merges multiple plans into one: required approvals for the same (token, owner, spender) are summed; executable items are preserved in order and adjacent EVC batches are concatenated. */
64
+ describeBatch(batch: readonly EVCBatchItem[], extraAbis?: Abi[]): BatchItemDescription[];
65
+ describeBatch(batch: readonly EVCBatchEntry[], extraAbis?: Abi[]): BatchEntryDescription[];
66
+ /** Merges multiple plans into one: required approvals are summed, adjacent EVC batches are concatenated, and operation groupings are preserved. */
49
67
  mergePlans(plans: TransactionPlan[]): TransactionPlan;
50
68
  /** Converts EVC batch items into a transaction plan (single evcBatch, no required approvals). */
51
- convertBatchItemsToPlan(items: EVCBatchItem[]): TransactionPlan;
69
+ convertBatchItemsToPlan(items: EVCBatchItem[], operationName?: string): TransactionPlan;
70
+ /** Appends a single batch item to the last EVC batch in the plan, creating one if needed. */
71
+ addBatchItemToPlan(plan: TransactionPlan, item: EVCBatchItem): TransactionPlan;
52
72
  }
53
- export declare class ExecutionService implements IExecutionService {
73
+ export type ProcessPlanPlugins = (plan: TransactionPlan, account: AddressOrAccount, chainId: number) => Promise<TransactionPlan>;
74
+ export declare class ExecutionService<TVaultEntity extends VaultEntity = VaultEntity> implements IExecutionService<TVaultEntity> {
54
75
  private deploymentService;
55
- private walletService;
56
76
  private plugins;
57
- constructor(deploymentService: DeploymentService, walletService: IWalletService);
77
+ private walletService?;
78
+ private providerService?;
79
+ private vaultMetaService?;
80
+ private priceService?;
81
+ private rewardsService?;
82
+ private intrinsicApyService?;
83
+ private eulerLabelsService?;
84
+ private processPlugins?;
85
+ constructor(deploymentService: IDeploymentService, walletService?: IWalletService, providerService?: ProviderService, vaultMetaService?: IVaultMetaService<TVaultEntity>, priceService?: IPriceService, rewardsService?: IRewardsService, intrinsicApyService?: IIntrinsicApyService, eulerLabelsService?: IEulerLabelsService);
58
86
  setWalletService(walletService: IWalletService): void;
87
+ setProviderService(providerService: ProviderService): void;
88
+ setVaultMetaService(vaultMetaService: IVaultMetaService<TVaultEntity>): void;
89
+ setPriceService(priceService: IPriceService): void;
90
+ setRewardsService(rewardsService: IRewardsService): void;
91
+ setIntrinsicApyService(intrinsicApyService: IIntrinsicApyService): void;
92
+ setEulerLabelsService(eulerLabelsService: IEulerLabelsService): void;
59
93
  setPlugins(plugins: EulerPlugin[]): void;
94
+ setPluginProcessor(processPlugins: ProcessPlanPlugins): void;
95
+ /** Derive storage overrides needed to simulate the plan against the current account state. */
96
+ deriveStateOverrides(chainId: number, account: Address, transactionPlan: TransactionPlan, options?: SimulationStateOverrideOptions): Promise<StateOverride>;
97
+ /** Simulate the full transaction plan, including approval resolution and plugin-aware batch execution. */
98
+ simulateTransactionPlan(chainId: number, account: AddressOrAccount, transactionPlan: TransactionPlan, options?: SimulateBatchOptions): Promise<SimulateBatchResult<TVaultEntity>>;
99
+ /** Estimate gas for the full transaction plan after applying the same simulation pipeline used for execution. */
100
+ estimateGasForTransactionPlan(chainId: number, account: AddressOrAccount, transactionPlan: TransactionPlan, options?: EstimateGasForTransactionPlanOptions): Promise<bigint>;
101
+ /** Execute a transaction plan using caller-provided signing and send callbacks. */
102
+ executeTransactionPlan(args: ExecuteTransactionPlanArgs): Promise<TransactionPlanExecutionResult>;
103
+ private getSimulationContext;
104
+ private processPlanPlugins;
105
+ private getAccountOwner;
106
+ private getCoreAddresses;
60
107
  /**
61
108
  * Encodes an array of EVC batch items into a single calldata hex for `EVC.batch()`.
62
109
  *
@@ -77,7 +124,7 @@ export declare class ExecutionService implements IExecutionService {
77
124
  * @param args.permit2 - Optional Permit2 message + signature; if set, prepends a permit2 permit call so transferFrom can be used
78
125
  * @returns Array of EVC batch items (optional permit2, optional enableCollateral, deposit)
79
126
  */
80
- encodeDeposit({ chainId, vault, amount, receiver, owner, enableCollateral, permit2, }: EncodeDepositArgs): EVCBatchItem[];
127
+ encodeDeposit({ chainId, ...args }: EncodeDepositArgs): EVCBatchItem[];
81
128
  /**
82
129
  * Encodes EVC batch items for minting vault shares by depositing underlying assets.
83
130
  *
@@ -91,7 +138,7 @@ export declare class ExecutionService implements IExecutionService {
91
138
  * @param args.permit2 - Optional Permit2 message + signature for transferFrom
92
139
  * @returns Array of EVC batch items (optional permit2, optional enableCollateral, mint)
93
140
  */
94
- encodeMint({ chainId, vault, shares, receiver, owner, enableCollateral, permit2, }: EncodeMintArgs): EVCBatchItem[];
141
+ encodeMint({ chainId, ...args }: EncodeMintArgs): EVCBatchItem[];
95
142
  /**
96
143
  * Encodes EVC batch items for withdrawing underlying assets from a vault (burns shares).
97
144
  *
@@ -104,7 +151,7 @@ export declare class ExecutionService implements IExecutionService {
104
151
  * @param args.disableCollateral - If true, appends disableCollateral( owner, vault ) via EVC before withdraw
105
152
  * @returns Array of EVC batch items (optional disableCollateral, withdraw)
106
153
  */
107
- encodeWithdraw({ chainId, vault, assets, receiver, owner, disableCollateral, }: EncodeWithdrawArgs): EVCBatchItem[];
154
+ encodeWithdraw({ chainId, ...args }: EncodeWithdrawArgs): EVCBatchItem[];
108
155
  /**
109
156
  * Encodes EVC batch items for redeeming vault shares for underlying assets.
110
157
  *
@@ -117,7 +164,7 @@ export declare class ExecutionService implements IExecutionService {
117
164
  * @param args.disableCollateral - If true, prepends disableCollateral( owner, vault ) via EVC
118
165
  * @returns Array of EVC batch items (optional disableCollateral, redeem)
119
166
  */
120
- encodeRedeem({ chainId, vault, shares, receiver, owner, disableCollateral, }: EncodeRedeemArgs): EVCBatchItem[];
167
+ encodeRedeem({ chainId, ...args }: EncodeRedeemArgs): EVCBatchItem[];
121
168
  /**
122
169
  * Encodes EVC batch items for borrowing from a liability vault, optionally depositing collateral in the same batch.
123
170
  *
@@ -152,7 +199,7 @@ export declare class ExecutionService implements IExecutionService {
152
199
  * @param args.enableCollateral - If true, enables collateral vault for liquidator sub-account after liquidate (default true)
153
200
  * @returns Array of EVC batch items (optional enableController, liquidate, optional enableCollateral)
154
201
  */
155
- encodeLiquidation({ chainId, vault, violator, collateral, repayAssets, minYieldBalance, liquidatorSubAccountAddress, enableCollateral, enableController, }: EncodeLiquidationArgs): EVCBatchItem[];
202
+ encodeLiquidation({ chainId, ...args }: EncodeLiquidationArgs): EVCBatchItem[];
156
203
  /**
157
204
  * Encodes EVC batch items for pulling debt from one sub-account to another on the same liability vault.
158
205
  *
@@ -165,7 +212,7 @@ export declare class ExecutionService implements IExecutionService {
165
212
  * @param args.enableController - If true, enables vault as controller for `to` via EVC before pullDebt (default true)
166
213
  * @returns Array of EVC batch items (optional enableController, pullDebt)
167
214
  */
168
- encodePullDebt({ chainId, vault, amount, from, to, enableController, }: EncodePullDebtArgs): EVCBatchItem[];
215
+ encodePullDebt({ chainId, ...args }: EncodePullDebtArgs): EVCBatchItem[];
169
216
  /**
170
217
  * Encodes EVC batch items for a multiply/leverage operation when liability and long asset differ (swap required).
171
218
  * Order: optional permit2 → optional deposit + enable collateral → optional disableController → enableController → borrow → swap → verify/skim → optional enableCollateral on long vault.
@@ -226,10 +273,11 @@ export declare class ExecutionService implements IExecutionService {
226
273
  encodeRepayFromWallet(args: EncodeRepayFromWalletArgs): EVCBatchItem[];
227
274
  /**
228
275
  * Encodes EVC batch items for repaying debt from a deposit (same-asset only).
229
- * Path 1: same asset and same vault → repayWithShares. Path 2: same asset, different vault → withdraw then repay/skim/repayWithShares as needed.
276
+ * Path 1: same asset and same vault → repayWithShares.
277
+ * Path 2: same asset, different vault → withdraw to liability vault, skim, then repayWithShares.
230
278
  *
231
279
  * @param args - Repay-from-deposit encoding arguments
232
- * @param args.chainId - Chain ID (used for EVC and optional permit2)
280
+ * @param args.chainId - Chain ID used for EVC controller calls
233
281
  * @param args.liabilityVault - Vault (liability) to repay debt to
234
282
  * @param args.liabilityAsset - Underlying asset address of the liability vault
235
283
  * @param args.liabilityAmount - Amount of liability to repay (maxUint256 with isMax for full repay)
@@ -307,7 +355,43 @@ export declare class ExecutionService implements IExecutionService {
307
355
  * @param args.isMax - If true, treats as full debt swap (can trigger disableControllerOnMax)
308
356
  * @returns Array of EVC batch items (optional enableController, borrow, swap, verify/repay, optional disableController)
309
357
  */
310
- encodeSwapDebt({ chainId, swapQuote, enableController, disableControllerOnMax, isMax, }: EncodeSwapDebtArgs): EVCBatchItem[];
358
+ encodeSwapDebt(args: EncodeSwapDebtArgs): EVCBatchItem[];
359
+ /**
360
+ * Encodes EVC batch items for migrating a supplied/collateral position between two same-asset vaults.
361
+ * Partial migration uses withdraw(amount, toVault, account) then skim(amount, account).
362
+ * Max migration uses redeem(maxShares || maxUint256, toVault, account) then skim(amount, account).
363
+ *
364
+ * @param args - Same-asset collateral migration encoding arguments
365
+ * @param args.chainId - Chain ID (used for EVC enable/disable collateral)
366
+ * @param args.fromVault - Source vault holding the supplied shares
367
+ * @param args.toVault - Destination vault with the same underlying asset
368
+ * @param args.amount - Asset amount expected to arrive at the destination vault and be skimmed
369
+ * @param args.account - Sub-account that owns the source shares and receives destination shares
370
+ * @param args.isMax - If true, redeems shares instead of withdrawing assets
371
+ * @param args.maxShares - Optional exact share amount for max migration; defaults to maxUint256
372
+ * @param args.enableCollateralTo - If true, enables the destination vault as collateral after skim
373
+ * @param args.disableCollateralFrom - If true, disables the source vault as collateral after enabling the destination
374
+ * @returns Array of EVC batch items
375
+ */
376
+ encodeMigrateSameAssetCollateral(args: EncodeMigrateSameAssetCollateralArgs): EVCBatchItem[];
377
+ /**
378
+ * Encodes EVC batch items for migrating a full debt position between two same-asset liability vaults.
379
+ * Flow: enable new controller → borrow with interest cushion to old vault → skim → repay old debt with shares
380
+ * → disable old controller → optionally sweep cushion to the new vault → optionally transfer remaining new-vault shares.
381
+ *
382
+ * @param args - Same-asset debt migration encoding arguments
383
+ * @param args.chainId - Chain ID (used for EVC enable controller)
384
+ * @param args.oldLiabilityVault - Existing debt vault to fully repay and disable
385
+ * @param args.newLiabilityVault - New same-asset debt vault to borrow from
386
+ * @param args.amount - Current debt amount before applying the 0.01% interest cushion
387
+ * @param args.account - Sub-account that owns the debt position
388
+ * @param args.enableController - If true, enables the new liability vault as controller first
389
+ * @param args.disableController - If true, disables the old liability vault after repayment
390
+ * @param args.sweepExcess - If true, redeems any old-vault cushion shares back to the new vault and skims them
391
+ * @param args.transferRemainingSharesTo - If set, transfers all new-vault shares from the sub-account to this address
392
+ * @returns Array of EVC batch items
393
+ */
394
+ encodeMigrateSameAssetDebt(args: EncodeMigrateSameAssetDebtArgs): EVCBatchItem[];
311
395
  /**
312
396
  * Encodes EVC batch items for transferring vault shares between sub-accounts.
313
397
  *
@@ -321,7 +405,7 @@ export declare class ExecutionService implements IExecutionService {
321
405
  * @param args.disableCollateralFrom - If true, prepends disableCollateral( from, vault ) via EVC before transfer
322
406
  * @returns Array of EVC batch items (optional disableCollateralFrom, transfer, optional enableCollateralTo)
323
407
  */
324
- encodeTransfer({ chainId, vault, to, amount, from, enableCollateralTo, disableCollateralFrom, }: EncodeTransferArgs): EVCBatchItem[];
408
+ encodeTransfer({ chainId, ...args }: EncodeTransferArgs): EVCBatchItem[];
325
409
  /**
326
410
  * Encodes a single EVC batch item that calls Permit2's `permit` with the given message and signature.
327
411
  * Used to authorize a token transfer for a subsequent contract call in the same batch.
@@ -354,29 +438,35 @@ export declare class ExecutionService implements IExecutionService {
354
438
  */
355
439
  getPermit2TypedData(args: GetPermit2TypedDataArgs): PermitSingleTypedData;
356
440
  /**
357
- * Decodes EVC batch items into human-readable function names and named arguments.
441
+ * Decodes EVC batch entries into human-readable function names and named arguments.
358
442
  * Tries known ABIs (EVC, eVault, Permit2, swapper, swapVerifier) to decode each item's data.
359
443
  *
360
- * @param batch - Array of EVC batch items (targetContract, onBehalfOfAccount, value, data) to decode
444
+ * @param batch - Array of EVC batch entries to decode. Operation entries are preserved with decoded child items.
361
445
  * @param extraAbis - Optional extra ABIs to try first when decoding unknown batch items.
362
- * @returns Array of decoded items with targetContract, onBehalfOfAccount, functionName, and args (record of param name to value). Throws if any item cannot be decoded.
446
+ * @returns Array matching the input batch-entry shape, with raw items decoded.
363
447
  * @example
364
448
  * const batchItems = executionService.encodeDeposit({ ... });
365
449
  * const described = executionService.describeBatch(batchItems);
366
450
  * console.log(described[0].functionName); // "deposit"
367
451
  * console.log(described[0].args); // { amount: 1000n, receiver: "0x..." }
368
452
  */
369
- describeBatch(batch: EVCBatchItem[], extraAbis?: Abi[]): BatchItemDescription[];
453
+ describeBatch(batch: readonly EVCBatchItem[], extraAbis?: Abi[]): BatchItemDescription[];
454
+ describeBatch(batch: readonly EVCBatchEntry[], extraAbis?: Abi[]): BatchEntryDescription[];
370
455
  /**
371
456
  * Merges multiple transaction plans into a single plan.
372
457
  * Required approvals for the same (token, owner, spender) are summed.
373
- * Executable items are preserved in order; adjacent EVC batch items are concatenated.
458
+ * Executable items are preserved in order; adjacent EVC batches are concatenated without flattening operation groupings.
374
459
  * Can be used to construct a transaction queue.
375
460
  *
376
461
  * @param plans - Array of transaction plans to merge
377
462
  * @returns Single plan: summed required approvals first, followed by executable items in order
378
463
  */
379
464
  mergePlans(plans: TransactionPlan[]): TransactionPlan;
465
+ /**
466
+ * Appends a raw batch item to the last EVC batch in the plan, or creates one.
467
+ * Mutates and returns the provided plan.
468
+ */
469
+ addBatchItemToPlan(plan: TransactionPlan, item: EVCBatchItem): TransactionPlan;
380
470
  /**
381
471
  * Converts EVC batch items into a transaction plan.
382
472
  * Returns a plan with a single evcBatch containing the given items (no required approvals).
@@ -385,15 +475,14 @@ export declare class ExecutionService implements IExecutionService {
385
475
  * @param items - EVC batch items to wrap in a plan
386
476
  * @returns Transaction plan containing one evcBatch with the items
387
477
  */
388
- convertBatchItemsToPlan(items: EVCBatchItem[]): TransactionPlan;
389
- /**
390
- * Encodes batch items for repaying with shares from the same asset and vault
391
- */
392
- private encodeRepayWithSharesSameAssetAndVault;
478
+ convertBatchItemsToPlan(items: EVCBatchItem[], operationName?: string): TransactionPlan;
479
+ private encodeTransferFromMax;
393
480
  /**
394
- * Encodes batch items for repaying with shares from same asset but different vault
481
+ * Appends post-full-repay cleanup calls owned by plan builders:
482
+ * disable each active collateral used by the repaid borrow, transfer those collateral shares to the owner,
483
+ * and, when a source deposit funded the repay, transfer any remaining source-vault shares to the owner.
395
484
  */
396
- private encodeRepayWithSharesSameAssetDifferentVault;
485
+ private appendMaxRepayCleanup;
397
486
  /**
398
487
  * Resolves RequiredApproval items in a transaction plan by filling in each item's `resolved` field.
399
488
  * Uses wallet allowances (and optional Permit2 state) to decide whether to add approve/permit2 steps.
@@ -517,12 +606,18 @@ export declare class ExecutionService implements IExecutionService {
517
606
  * @param args.liabilityAmount - Amount of liability asset to repay (use maxUint256 for "repay all")
518
607
  * @param args.receiver - Sub-account address whose debt is being repaid
519
608
  * @param args.account - Account entity; used for chainId, owner, and position (to resolve liability asset)
609
+ * @param args.cleanupOnMax - When true and liabilityAmount is maxUint256, the batch disables active collaterals on the repaid sub-account and transfers their shares to the owner account (default false)
520
610
  * @returns Array of transaction plan items (approval + EVC batch)
521
611
  */
522
612
  planRepayFromWallet(args: PlanRepayFromWalletArgs): TransactionPlan;
523
613
  /**
524
614
  * Builds a transaction plan for repaying debt using assets from another vault deposit (same asset only).
525
- * Use `maxUint256` for `liabilityAmount` to repay all available debt or up to the available deposit.
615
+ * Use `maxUint256` for `liabilityAmount` to perform a full repay.
616
+ * Full repay can opt into cleanup. For different-vault full repays, cleanup only redeems
617
+ * liability-vault shares left from the repay cushion when the account snapshot shows no pre-existing liability-vault deposit;
618
+ * otherwise those shares are preserved in the liability vault instead of being migrated to the source vault.
619
+ * Cleanup also disables active collaterals on the repaid sub-account, transfers those collateral shares to the owner
620
+ * account, and transfers any remaining source-vault shares from the source sub-account to the owner account.
526
621
  *
527
622
  * @param args - Repay-from-deposit plan arguments
528
623
  * @param args.liabilityVault - Address of the liability vault (debt is repaid to this vault)
@@ -531,7 +626,8 @@ export declare class ExecutionService implements IExecutionService {
531
626
  * @param args.fromVault - Vault to withdraw assets from (must be same underlying asset as liability for this plan)
532
627
  * @param args.fromAccount - Sub-account that holds the deposit in `fromVault`
533
628
  * @param args.account - Account entity; used for chainId, owner, and positions (to resolve assets and eligibility)
534
- * @returns Array of transaction plan items (optional approval + EVC batch). Throws if asset differs between fromVault and liabilityVault; use planRepayWithSwap for cross-asset.
629
+ * @param args.cleanupOnMax - Whether max repay should append repay-cushion, collateral, and source-share cleanup (default false)
630
+ * @returns Array of transaction plan items (EVC batch only). Throws if asset differs between fromVault and liabilityVault; use planRepayWithSwap for cross-asset.
535
631
  */
536
632
  planRepayFromDeposit(args: PlanRepayFromDepositArgs): TransactionPlan;
537
633
  /**
@@ -541,6 +637,7 @@ export declare class ExecutionService implements IExecutionService {
541
637
  * @param args - Repay-with-swap plan arguments
542
638
  * @param args.swapQuote - Quote from swap service (e.g. fetchRepayQuotes); defines vaultIn, accountIn, accountOut, receiver, swap and verify steps
543
639
  * @param args.account - Account entity; used for chainId and positions (to compute isMax and maxWithdraw)
640
+ * @param args.cleanupOnMax - When true and the quote repays the full debt, the batch disables active collaterals on the repaid sub-account, transfers their shares to the owner account, and transfers remaining source-vault shares to the owner account (default false)
544
641
  * @returns Array of transaction plan items (EVC batch: withdraw, swap, verify/repay). Throws if positions not found or liability is zero.
545
642
  */
546
643
  planRepayWithSwap(args: PlanRepayWithSwapArgs): TransactionPlan;
@@ -588,6 +685,41 @@ export declare class ExecutionService implements IExecutionService {
588
685
  * @returns Array of transaction plan items (EVC batch: enableController, borrow, swap, verify/repay, optional disableController)
589
686
  */
590
687
  planSwapDebt(args: PlanSwapDebtArgs): TransactionPlan;
688
+ /**
689
+ * Builds a transaction plan for migrating a supplied/collateral position between two same-asset vaults.
690
+ * This is the no-swap path for moving shares from one vault to another vault with the same underlying asset.
691
+ *
692
+ * @param args - Same-asset collateral migration plan arguments
693
+ * @param args.fromVault - Source vault holding the supplied shares
694
+ * @param args.toVault - Destination vault with the same underlying asset
695
+ * @param args.amount - Asset amount to withdraw/redeem and skim into the destination vault
696
+ * @param args.positionAccount - Sub-account that owns the source shares and receives destination shares
697
+ * @param args.fromAsset - Optional source underlying asset; defaults to the account position asset
698
+ * @param args.toAsset - Destination underlying asset, used to verify this is a same-asset migration
699
+ * @param args.isMax - If true, redeems shares instead of withdrawing assets
700
+ * @param args.maxShares - Optional exact share amount for max migration
701
+ * @param args.enableCollateralTo - Optional override for enabling destination collateral
702
+ * @param args.disableCollateralFrom - Optional override for disabling source collateral
703
+ * @returns Array of transaction plan items (EVC batch; no token approvals)
704
+ */
705
+ planMigrateSameAssetCollateral(args: PlanMigrateSameAssetCollateralArgs): TransactionPlan;
706
+ /**
707
+ * Builds a transaction plan for migrating a full same-asset debt position from one liability vault to another.
708
+ * This is the no-swap path for debt vault migration and repays the old vault with shares after borrowing
709
+ * slightly more from the new vault to cover interest accrual.
710
+ *
711
+ * @param args - Same-asset debt migration plan arguments
712
+ * @param args.oldLiabilityVault - Existing debt vault to fully repay and disable
713
+ * @param args.newLiabilityVault - New same-asset debt vault to borrow from
714
+ * @param args.liabilityAccount - Sub-account that owns the debt position
715
+ * @param args.liabilityAmount - Current debt amount; defaults to the old-vault borrowed amount in account data
716
+ * @param args.oldLiabilityAsset - Optional old liability asset; defaults to the old-vault account position asset
717
+ * @param args.newLiabilityAsset - New liability underlying asset, used to verify this is a same-asset migration
718
+ * @param args.sweepExcess - Whether to redeem and skim the migration cushion back into the new vault (default true)
719
+ * @param args.transferRemainingSharesToOwner - Whether to transfer new-vault shares to the owner when liabilityAccount differs from owner (default true)
720
+ * @returns Array of transaction plan items (EVC batch; no token approvals)
721
+ */
722
+ planMigrateSameAssetDebt(args: PlanMigrateSameAssetDebtArgs): TransactionPlan;
591
723
  /**
592
724
  * Builds a transaction plan for transferring vault shares between sub-accounts.
593
725
  *
@@ -1 +1 @@
1
- {"version":3,"file":"executionService.d.ts","sourceRoot":"","sources":["../../../../src/services/executionService/executionService.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,GAAG,EAER,KAAK,OAAO,EAMZ,KAAK,GAAG,EACR,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAMvE,OAAO,KAAK,EAEX,cAAc,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mCAAmC,EACxC,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAE1B,KAAK,uBAAuB,EAE5B,KAAK,mBAAmB,EACxB,KAAK,eAAe,EAGpB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,iCAAiC,EACtC,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAG1B,KAAK,4BAA4B,EACjC,KAAK,sCAAsC,EAC3C,MAAM,4BAA4B,CAAC;AAcpC,MAAM,WAAW,iBAAiB;IACjC,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC;IACxC,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,YAAY,EAAE,CAAC;IACvD,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,YAAY,EAAE,CAAC;IACjD,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAAC;IACzD,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,EAAE,CAAC;IACrD,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,EAAE,CAAC;IACrD,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,YAAY,EAAE,CAAC;IAC/D,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAAC;IACzD,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,YAAY,EAAE,CAAC;IACvE,sBAAsB,CAAC,IAAI,EAAE,0BAA0B,GAAG,YAAY,EAAE,CAAC;IACzE,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,YAAY,EAAE,CAAC;IACnE,+BAA+B,CAC9B,IAAI,EAAE,mCAAmC,GACvC,YAAY,EAAE,CAAC;IAClB,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,YAAY,EAAE,CAAC;IACrE,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,YAAY,EAAE,CAAC;IACrE,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAAC;IACzD,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAAC;IACzD,sBAAsB,CAAC,IAAI,EAAE,0BAA0B,GAAG,YAAY,EAAE,CAAC;IACzE,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,GAAG,YAAY,EAAE,CAAC;IAC3E,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,YAAY,CAAC;IAC7D,8IAA8I;IAC9I,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe,CAAC;IAC9C,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAAC;IACtD,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe,CAAC;IAClD,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe,CAAC;IAClD,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,CAAC;IAC5D,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,eAAe,CAAC;IACpE,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,eAAe,CAAC;IACtE,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,eAAe,CAAC;IAChE,6BAA6B,CAC5B,IAAI,EAAE,iCAAiC,GACrC,eAAe,CAAC;IACnB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,eAAe,CAAC;IAClE,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,eAAe,CAAC;IAClE,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAAC;IACtD,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAAC;IACtD,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAAC;IACtD,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,eAAe,CAAC;IACtE,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,eAAe,CAAC;IAExE,kCAAkC,CACjC,IAAI,EAAE,sCAAsC,GAC1C,eAAe,CAAC;IACnB,wBAAwB,CACvB,IAAI,EAAE,4BAA4B,GAChC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,qBAAqB,CAAC;IAC1E,aAAa,CACZ,KAAK,EAAE,YAAY,EAAE,EACrB,SAAS,CAAC,EAAE,GAAG,EAAE,GACf,oBAAoB,EAAE,CAAC;IAC1B,6LAA6L;IAC7L,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC;IACtD,iGAAiG;IACjG,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;CAChE;AAOD,qBAAa,gBAAiB,YAAW,iBAAiB;IAIxD,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,aAAa;IAJtB,OAAO,CAAC,OAAO,CAAqB;gBAG3B,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,cAAc;IAGtC,gBAAgB,CAAC,aAAa,EAAE,cAAc,GAAG,IAAI;IAIrD,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI;IAIxC;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,GAAG;IAQvC;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EACb,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,OAAO,GACP,EAAE,iBAAiB,GAAG,YAAY,EAAE;IAiCrC;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,OAAO,GACP,EAAE,cAAc,GAAG,YAAY,EAAE;IAiClC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EACd,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,EACR,KAAK,EACL,iBAAiB,GACjB,EAAE,kBAAkB,GAAG,YAAY,EAAE;IAuBtC;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EACZ,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,EACR,KAAK,EACL,iBAAiB,GACjB,EAAE,gBAAgB,GAAG,YAAY,EAAE;IAuBpC;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,EAAE;IA6DpD;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,CAAC,EACjB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,UAAU,EACV,WAAW,EACX,eAAe,EACf,2BAA2B,EAC3B,gBAAuB,EACvB,gBAAuB,GACvB,EAAE,qBAAqB,GAAG,YAAY,EAAE;IAwCzC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EACd,OAAO,EACP,KAAK,EACL,MAAM,EACN,IAAI,EACJ,EAAE,EACF,gBAAuB,GACvB,EAAE,kBAAkB,GAAG,YAAY,EAAE;IAuBtC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,sBAAsB,CAAC,IAAI,EAAE,0BAA0B,GAAG,YAAY,EAAE;IAuGxE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,GAAG,YAAY,EAAE;IA+F1E;;;;;;;;;;;;;OAaG;IACH,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,YAAY,EAAE;IA6CtE;;;;;;;;;;;;;;;;OAgBG;IACH,sBAAsB,CAAC,IAAI,EAAE,0BAA0B,GAAG,YAAY,EAAE;IA0CxE;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,YAAY,EAAE;IA8DlE;;;;;;;;;;;OAWG;IACH,+BAA+B,CAC9B,IAAI,EAAE,mCAAmC,GACvC,YAAY,EAAE;IAyDjB;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,YAAY,EAAE;IA0CpE;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,YAAY,EAAE;IA0EpE;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EACd,OAAO,EACP,SAAS,EACT,gBAAuB,EACvB,sBAA6B,EAC7B,KAAa,GACb,EAAE,kBAAkB,GAAG,YAAY,EAAE;IAwDtC;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EACd,OAAO,EACP,KAAK,EACL,EAAE,EACF,MAAM,EACN,IAAI,EACJ,kBAAkB,EAClB,qBAAqB,GACrB,EAAE,kBAAkB,GAAG,YAAY,EAAE;IA4BtC;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,YAAY;IAiB5D,sBAAsB,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,GACZ,YAAY;IAef,uBAAuB,CACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,GACZ,YAAY;IAef,sBAAsB,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,GACZ,YAAY;IAef,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,YAAY;IAavE;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,qBAAqB;IA+BzE;;;;;;;;;;;;OAYG;IACH,aAAa,CACZ,KAAK,EAAE,YAAY,EAAE,EACrB,SAAS,CAAC,EAAE,GAAG,EAAE,GACf,oBAAoB,EAAE;IAiFzB;;;;;;;;OAQG;IACH,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,eAAe;IAgCrD;;;;;;;OAOG;IACH,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,eAAe;IAK/D;;OAEG;IACH,OAAO,CAAC,sCAAsC;IAqC9C;;OAEG;IACH,OAAO,CAAC,4CAA4C;IAoHpD;;;;;;;;;;;;OAYG;IACH,kCAAkC,CACjC,IAAI,EAAE,sCAAsC,GAC1C,mBAAmB,EAAE;IAkJxB;;;;;;;;;;;OAWG;IACG,wBAAwB,CAC7B,IAAI,EAAE,4BAA4B,GAChC,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAqDjC;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,mBAAmB,EAAE;IAoCzD;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe;IAgD7C;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe;IAiCrD;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe;IAiCjD;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe;IAsDjD;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;IAsD3D;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,eAAe;IAyCnE;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,eAAe;IA+DrE;;;;;;;;OAQG;IACH,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,eAAe;IAyC/D;;;;;;;;;;;;OAYG;IACH,6BAA6B,CAC5B,IAAI,EAAE,iCAAiC,GACrC,eAAe;IAwClB;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,eAAe;IA2BjE;;;;;;;OAOG;IACH,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,eAAe;IAuCjE;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe;IAmCrD;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe;IAmCrD;;;;;;;;;;OAUG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe;IA0BrD;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,eAAe;IAmErE;;;;;;;;;;;;;;OAcG;IACH,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,eAAe;CA6DvE"}
1
+ {"version":3,"file":"executionService.d.ts","sourceRoot":"","sources":["../../../../src/services/executionService/executionService.ts"],"names":[],"mappings":"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"}