@eulerxyz/euler-v2-sdk 0.2.7-beta → 0.2.8-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 (112) hide show
  1. package/dist/src/entities/Account.d.ts +10 -2
  2. package/dist/src/entities/Account.d.ts.map +1 -1
  3. package/dist/src/entities/Account.js +15 -2
  4. package/dist/src/entities/Account.js.map +1 -1
  5. package/dist/src/entities/Portfolio.d.ts +143 -18
  6. package/dist/src/entities/Portfolio.d.ts.map +1 -1
  7. package/dist/src/entities/Portfolio.js +240 -36
  8. package/dist/src/entities/Portfolio.js.map +1 -1
  9. package/dist/src/plugins/keyring/keyringPlugin.d.ts.map +1 -1
  10. package/dist/src/plugins/keyring/keyringPlugin.js +67 -17
  11. package/dist/src/plugins/keyring/keyringPlugin.js.map +1 -1
  12. package/dist/src/plugins/pyth/pythPlugin.d.ts +3 -1
  13. package/dist/src/plugins/pyth/pythPlugin.d.ts.map +1 -1
  14. package/dist/src/plugins/pyth/pythPlugin.js +101 -6
  15. package/dist/src/plugins/pyth/pythPlugin.js.map +1 -1
  16. package/dist/src/plugins/types.d.ts +38 -2
  17. package/dist/src/plugins/types.d.ts.map +1 -1
  18. package/dist/src/plugins/types.js.map +1 -1
  19. package/dist/src/sdk/buildSDK.d.ts.map +1 -1
  20. package/dist/src/sdk/buildSDK.js +3 -2
  21. package/dist/src/sdk/buildSDK.js.map +1 -1
  22. package/dist/src/sdk/sdk.d.ts +15 -4
  23. package/dist/src/sdk/sdk.d.ts.map +1 -1
  24. package/dist/src/sdk/sdk.js +40 -3
  25. package/dist/src/sdk/sdk.js.map +1 -1
  26. package/dist/src/services/accountService/accountService.d.ts +7 -1
  27. package/dist/src/services/accountService/accountService.d.ts.map +1 -1
  28. package/dist/src/services/accountService/accountService.js +55 -1
  29. package/dist/src/services/accountService/accountService.js.map +1 -1
  30. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts.map +1 -1
  31. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js +2 -2
  32. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js.map +1 -1
  33. package/dist/src/services/accountService/index.d.ts +1 -1
  34. package/dist/src/services/accountService/index.d.ts.map +1 -1
  35. package/dist/src/services/executionService/cowExecutor.d.ts +3 -0
  36. package/dist/src/services/executionService/cowExecutor.d.ts.map +1 -1
  37. package/dist/src/services/executionService/cowExecutor.js.map +1 -1
  38. package/dist/src/services/executionService/execute.d.ts +8 -0
  39. package/dist/src/services/executionService/execute.d.ts.map +1 -1
  40. package/dist/src/services/executionService/execute.js.map +1 -1
  41. package/dist/src/services/executionService/executionService.d.ts +69 -7
  42. package/dist/src/services/executionService/executionService.d.ts.map +1 -1
  43. package/dist/src/services/executionService/executionService.js +266 -122
  44. package/dist/src/services/executionService/executionService.js.map +1 -1
  45. package/dist/src/services/executionService/executionServiceTypes.d.ts +4 -0
  46. package/dist/src/services/executionService/executionServiceTypes.d.ts.map +1 -1
  47. package/dist/src/services/executionService/simulate.d.ts +29 -0
  48. package/dist/src/services/executionService/simulate.d.ts.map +1 -1
  49. package/dist/src/services/executionService/simulate.js +42 -5
  50. package/dist/src/services/executionService/simulate.js.map +1 -1
  51. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts +2 -1
  52. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts.map +1 -1
  53. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js +2 -2
  54. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js.map +1 -1
  55. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts +2 -1
  56. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts.map +1 -1
  57. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js +11 -2
  58. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js.map +1 -1
  59. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts +4 -0
  60. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts.map +1 -1
  61. package/dist/src/services/rewardsService/index.d.ts +4 -1
  62. package/dist/src/services/rewardsService/index.d.ts.map +1 -1
  63. package/dist/src/services/rewardsService/index.js +2 -0
  64. package/dist/src/services/rewardsService/index.js.map +1 -1
  65. package/dist/src/services/rewardsService/rewardCampaignEligibility.d.ts +32 -0
  66. package/dist/src/services/rewardsService/rewardCampaignEligibility.d.ts.map +1 -0
  67. package/dist/src/services/rewardsService/rewardCampaignEligibility.js +21 -0
  68. package/dist/src/services/rewardsService/rewardCampaignEligibility.js.map +1 -0
  69. package/dist/src/services/rewardsService/rewardsService.d.ts +6 -0
  70. package/dist/src/services/rewardsService/rewardsService.d.ts.map +1 -1
  71. package/dist/src/services/rewardsService/rewardsService.js +20 -3
  72. package/dist/src/services/rewardsService/rewardsService.js.map +1 -1
  73. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +8 -5
  74. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts.map +1 -1
  75. package/dist/src/services/rewardsService/rewardsServiceTypes.js +1 -1
  76. package/dist/src/services/rewardsService/rewardsServiceTypes.js.map +1 -1
  77. package/dist/src/services/rewardsService/vaultRewardInfo.d.ts +25 -0
  78. package/dist/src/services/rewardsService/vaultRewardInfo.d.ts.map +1 -0
  79. package/dist/src/services/rewardsService/vaultRewardInfo.js +39 -0
  80. package/dist/src/services/rewardsService/vaultRewardInfo.js.map +1 -0
  81. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts.map +1 -1
  82. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js +52 -17
  83. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js.map +1 -1
  84. package/dist/src/utils/accountComputations.d.ts +41 -8
  85. package/dist/src/utils/accountComputations.d.ts.map +1 -1
  86. package/dist/src/utils/accountComputations.js +127 -77
  87. package/dist/src/utils/accountComputations.js.map +1 -1
  88. package/dist/src/utils/oracle.d.ts +16 -0
  89. package/dist/src/utils/oracle.d.ts.map +1 -1
  90. package/dist/src/utils/oracle.js +98 -0
  91. package/dist/src/utils/oracle.js.map +1 -1
  92. package/dist/src/utils/stateOverrides/approvalOverrides.d.ts +25 -8
  93. package/dist/src/utils/stateOverrides/approvalOverrides.d.ts.map +1 -1
  94. package/dist/src/utils/stateOverrides/approvalOverrides.js +76 -16
  95. package/dist/src/utils/stateOverrides/approvalOverrides.js.map +1 -1
  96. package/dist/src/utils/stateOverrides/balanceOverrides.d.ts +26 -7
  97. package/dist/src/utils/stateOverrides/balanceOverrides.d.ts.map +1 -1
  98. package/dist/src/utils/stateOverrides/balanceOverrides.js +72 -13
  99. package/dist/src/utils/stateOverrides/balanceOverrides.js.map +1 -1
  100. package/dist/src/utils/stateOverrides/getStateOverrides.d.ts +38 -0
  101. package/dist/src/utils/stateOverrides/getStateOverrides.d.ts.map +1 -1
  102. package/dist/src/utils/stateOverrides/getStateOverrides.js +14 -4
  103. package/dist/src/utils/stateOverrides/getStateOverrides.js.map +1 -1
  104. package/dist/src/utils/stateOverrides/index.d.ts +3 -2
  105. package/dist/src/utils/stateOverrides/index.d.ts.map +1 -1
  106. package/dist/src/utils/stateOverrides/index.js +2 -1
  107. package/dist/src/utils/stateOverrides/index.js.map +1 -1
  108. package/dist/src/utils/stateOverrides/slotHints.d.ts +78 -0
  109. package/dist/src/utils/stateOverrides/slotHints.d.ts.map +1 -0
  110. package/dist/src/utils/stateOverrides/slotHints.js +152 -0
  111. package/dist/src/utils/stateOverrides/slotHints.js.map +1 -0
  112. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"executionService.d.ts","sourceRoot":"","sources":["../../../../src/services/executionService/executionService.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,GAAG,EACR,KAAK,OAAO,EAKZ,KAAK,GAAG,EAGR,KAAK,aAAa,EAClB,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAGX,gBAAgB,EAEhB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAMlE,OAAO,EACN,KAAK,iBAAiB,EAEtB,KAAK,WAAW,EAChB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAEX,cAAc,EACd,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EACN,KAAK,qCAAqC,EAC1C,KAAK,iCAAiC,EAEtC,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EACN,KAAK,kCAAkC,EACvC,KAAK,0BAA0B,EAG/B,KAAK,8BAA8B,EACnC,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAEX,qBAAqB,EACrB,oBAAoB,EAKpB,gBAAgB,EAChB,iBAAiB,EACjB,mCAAmC,EACnC,qBAAqB,EACrB,oCAAoC,EACpC,8BAA8B,EAC9B,cAAc,EACd,2BAA2B,EAC3B,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,iCAAiC,EACjC,gCAAgC,EAChC,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,uBAAuB,EAEvB,qBAAqB,EACrB,cAAc,EACd,kCAAkC,EAClC,eAAe,EACf,4BAA4B,EAC5B,eAAe,EACf,iCAAiC,EACjC,mBAAmB,EACnB,kCAAkC,EAClC,4BAA4B,EAC5B,YAAY,EACZ,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,+BAA+B,EAC/B,8BAA8B,EAC9B,sBAAsB,EACtB,6BAA6B,EAC7B,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAEhB,4BAA4B,EAC5B,sCAAsC,EACtC,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAEN,KAAK,oCAAoC,EAGzC,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EAEnC,MAAM,eAAe,CAAC;AAqWvB,MAAM,WAAW,iBAAiB,CACjC,YAAY,SAAS,WAAW,GAAG,WAAW;IAE9C,oBAAoB,CACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE,8BAA8B,GACtC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,uBAAuB,CACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,EACzB,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9C,+BAA+B,CAC9B,QAAQ,EAAE,uBAAuB,EACjC,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9C,6BAA6B,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,EACzB,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE,oCAAoC,GAC5C,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,kCAAkC,CACjC,IAAI,EAAE,sCAAsC,GAC1C,eAAe,CAAC;IACnB,wBAAwB,CACvB,IAAI,EAAE,4BAA4B,GAChC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B;;;;OAIG;IACH,sBAAsB,CAAC,IAAI,EAAE;QAC5B,IAAI,EAAE,eAAe,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,gBAAgB,CAAC;QAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC5B,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACrC,sBAAsB,CACrB,IAAI,EAAE,0BAA0B,GAC9B,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC3C,8BAA8B,CAC7B,IAAI,EAAE,kCAAkC,GACtC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC3C,6BAA6B,CAC5B,IAAI,EAAE,iCAAiC,GACrC,OAAO,CAAC,qCAAqC,CAAC,CAAC;IAElD,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,6BAA6B,CAC5B,IAAI,EAAE,iCAAiC,GACrC,YAAY,EAAE,CAAC;IAClB,4BAA4B,CAC3B,IAAI,EAAE,gCAAgC,GACpC,YAAY,EAAE,CAAC;IAClB,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,YAAY,EAAE,CAAC;IACvE,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,YAAY,EAAE,CAAC;IACnE,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,YAAY,EAAE,CAAC;IACrE,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAAC;IACzD,gCAAgC,CAC/B,IAAI,EAAE,oCAAoC,GACxC,YAAY,EAAE,CAAC;IAClB,0BAA0B,CACzB,IAAI,EAAE,8BAA8B,GAClC,YAAY,EAAE,CAAC;IAClB,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,sBAAsB,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,GACZ,YAAY,CAAC;IAChB,uBAAuB,CACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,GACZ,YAAY,CAAC;IAChB,sBAAsB,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,GACZ,YAAY,CAAC;IAChB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,YAAY,CAAC;IACxE,8IAA8I;IAC9I,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAAC;IACpD,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,2BAA2B,CAC1B,IAAI,EAAE,+BAA+B,GACnC,eAAe,CAAC;IACnB,0BAA0B,CACzB,IAAI,EAAE,8BAA8B,GAClC,eAAe,CAAC;IACnB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,eAAe,CAAC;IACpE,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,eAAe,CAAC;IAChE,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,eAAe,CAAC;IAClE,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAAC;IACtD,8BAA8B,CAC7B,IAAI,EAAE,kCAAkC,GACtC,eAAe,CAAC;IACnB,wBAAwB,CAAC,IAAI,EAAE,4BAA4B,GAAG,eAAe,CAAC;IAC9E,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,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,GAAG,eAAe,CAAC;IAC5E,wBAAwB,CAAC,IAAI,EAAE,4BAA4B,GAAG,eAAe,CAAC;IAC9E,8BAA8B,CAC7B,IAAI,EAAE,kCAAkC,GACtC,eAAe,CAAC;IACnB,yBAAyB,CACxB,IAAI,EAAE,6BAA6B,GACjC,eAAe,CAAC;IACnB,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,eAAe,CAAC;IAExE,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,qBAAqB,CAAC;IAC1E,aAAa,CACZ,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,SAAS,CAAC,EAAE,GAAG,EAAE,GACf,oBAAoB,EAAE,CAAC;IAC1B,aAAa,CACZ,KAAK,EAAE,SAAS,aAAa,EAAE,EAC/B,SAAS,CAAC,EAAE,GAAG,EAAE,GACf,qBAAqB,EAAE,CAAC;IAC3B,mJAAmJ;IACnJ,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC;IACtD,iGAAiG;IACjG,uBAAuB,CACtB,KAAK,EAAE,YAAY,EAAE,EACrB,aAAa,CAAC,EAAE,MAAM,GACpB,eAAe,CAAC;IACnB,6FAA6F;IAC7F,kBAAkB,CACjB,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,YAAY,GAChB,eAAe,CAAC;CACnB;AAED,MAAM,MAAM,kBAAkB,GAAG,CAChC,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,MAAM,KACX,OAAO,CAAC,eAAe,CAAC,CAAC;AAK9B,qBAAa,gBAAgB,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,CAC3E,YAAW,iBAAiB,CAAC,YAAY,CAAC;IAazC,OAAO,CAAC,iBAAiB;IAX1B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,aAAa,CAAC,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,gBAAgB,CAAC,CAAkC;IAC3D,OAAO,CAAC,YAAY,CAAC,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAC,CAAkB;IACzC,OAAO,CAAC,mBAAmB,CAAC,CAAuB;IACnD,OAAO,CAAC,kBAAkB,CAAC,CAAsB;IACjD,OAAO,CAAC,cAAc,CAAC,CAAqB;gBAGnC,iBAAiB,EAAE,kBAAkB,EAC7C,aAAa,CAAC,EAAE,cAAc,EAC9B,eAAe,CAAC,EAAE,eAAe,EACjC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,EAClD,YAAY,CAAC,EAAE,aAAa,EAC5B,cAAc,CAAC,EAAE,eAAe,EAChC,mBAAmB,CAAC,EAAE,oBAAoB,EAC1C,kBAAkB,CAAC,EAAE,mBAAmB;IAWzC,gBAAgB,CAAC,aAAa,EAAE,cAAc,GAAG,IAAI;IAIrD,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAI1D,mBAAmB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,YAAY,CAAC,GAAG,IAAI;IAI5E,eAAe,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI;IAIlD,iBAAiB,CAAC,cAAc,EAAE,eAAe,GAAG,IAAI;IAIxD,sBAAsB,CAAC,mBAAmB,EAAE,oBAAoB,GAAG,IAAI;IAIvE,qBAAqB,CAAC,kBAAkB,EAAE,mBAAmB,GAAG,IAAI;IAIpE,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI;IAIxC,kBAAkB,CAAC,cAAc,EAAE,kBAAkB,GAAG,IAAI;IAI5D,8FAA8F;IACxF,oBAAoB,CACzB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE,8BAA8B,GACtC,OAAO,CAAC,aAAa,CAAC;IAWzB,0GAA0G;IACpG,uBAAuB,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,EACzB,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAiB7C;;;;;OAKG;IACG,+BAA+B,CACpC,QAAQ,EAAE,uBAAuB,EACjC,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAY7C;;;;;OAKG;IACG,sBAAsB,CAAC,IAAI,EAAE;QAClC,IAAI,EAAE,eAAe,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,gBAAgB,CAAC;QAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC5B,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAgCpC,iHAAiH;IAC3G,6BAA6B,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,EACzB,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE,oCAAoC,GAC5C,OAAO,CAAC,MAAM,CAAC;IAiBlB,mFAAmF;IAC7E,sBAAsB,CAC3B,IAAI,EAAE,0BAA0B,GAC9B,OAAO,CAAC,8BAA8B,CAAC;IA2B1C;;;;OAIG;IACG,8BAA8B,CACnC,IAAI,EAAE,kCAAkC,GACtC,OAAO,CAAC,8BAA8B,CAAC;IA0BpC,6BAA6B,CAClC,IAAI,EAAE,iCAAiC,GACrC,OAAO,CAAC,qCAAqC,CAAC;IAmBjD,OAAO,CAAC,oBAAoB;YAcd,kBAAkB;IAUhC,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,gBAAgB;IAIxB;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,GAAG;IAIvC;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,iBAAiB,GAAG,YAAY,EAAE;IAKtE;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,GAAG,YAAY,EAAE;IAKhE;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,kBAAkB,GAAG,YAAY,EAAE;IAKxE;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,gBAAgB,GAAG,YAAY,EAAE;IAKpE;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,EAAE;IAKpD;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,CAAC,EACjB,OAAO,EACP,GAAG,IAAI,EACP,EAAE,qBAAqB,GAAG,YAAY,EAAE;IAKzC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,kBAAkB,GAAG,YAAY,EAAE;IAKxE;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,sBAAsB,CAAC,IAAI,EAAE,0BAA0B,GAAG,YAAY,EAAE;IAKxE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,GAAG,YAAY,EAAE;IAK1E;;;;;;;;;;;;;OAaG;IACH,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,YAAY,EAAE;IAKtE;;;;;;;;;;;;;;;;;OAiBG;IACH,sBAAsB,CAAC,IAAI,EAAE,0BAA0B,GAAG,YAAY,EAAE;IAIxE;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,YAAY,EAAE;IAIlE;;;;;;;;;;;OAWG;IACH,+BAA+B,CAC9B,IAAI,EAAE,mCAAmC,GACvC,YAAY,EAAE;IAKjB;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,YAAY,EAAE;IAIpE,6BAA6B,CAC5B,IAAI,EAAE,iCAAiC,GACrC,YAAY,EAAE;IAKjB,4BAA4B,CAC3B,IAAI,EAAE,gCAAgC,GACpC,YAAY,EAAE;IAIjB,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,YAAY,EAAE;IAItE,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,YAAY,EAAE;IAIlE;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,YAAY,EAAE;IAKpE;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,YAAY,EAAE;IAKxD;;;;;;;;;;;;;;;;OAgBG;IACH,gCAAgC,CAC/B,IAAI,EAAE,oCAAoC,GACxC,YAAY,EAAE;IAKjB;;;;;;;;;;;;;;;;OAgBG;IACH,0BAA0B,CACzB,IAAI,EAAE,8BAA8B,GAClC,YAAY,EAAE;IAKjB;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,kBAAkB,GAAG,YAAY,EAAE;IAKxE;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,YAAY;IAK5D,sBAAsB,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,GACZ,YAAY;IAKf,uBAAuB,CACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,GACZ,YAAY;IAKf,sBAAsB,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,GACZ,YAAY;IAKf,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,YAAY;IAIvE;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,qBAAqB;IAKzE;;;;;;;;;;;;OAYG;IACH,aAAa,CACZ,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,SAAS,CAAC,EAAE,GAAG,EAAE,GACf,oBAAoB,EAAE;IACzB,aAAa,CACZ,KAAK,EAAE,SAAS,aAAa,EAAE,EAC/B,SAAS,CAAC,EAAE,GAAG,EAAE,GACf,qBAAqB,EAAE;IA6F1B;;;;;;;;OAQG;IACH,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,eAAe;IAkDrD;;;OAGG;IACH,kBAAkB,CACjB,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,YAAY,GAChB,eAAe;IAalB;;;;;;;OAOG;IACH,uBAAuB,CACtB,KAAK,EAAE,YAAY,EAAE,EACrB,aAAa,CAAC,EAAE,MAAM,GACpB,eAAe;IAalB,OAAO,CAAC,qBAAqB;IAQ7B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAyE7B;;;;;;;;;;;;OAYG;IACH,kCAAkC,CACjC,IAAI,EAAE,sCAAsC,GAC1C,mBAAmB,EAAE;IA6IxB;;;;;;;;;;;OAWG;IACG,wBAAwB,CAC7B,IAAI,EAAE,4BAA4B,GAChC,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAkEjC;;;;;;;;;OASG;IACH,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe;IAqDnD;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,mBAAmB,EAAE;IA0CzD;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe;IA+C7C;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe;IA8BrD;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe;IAwBjD,OAAO,CAAC,mBAAmB;IAqB3B;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe;IAuEjD;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;IAmD3D;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,eAAe;IA0DnE;;;;;;;;;;;;;;;;;;OAkBG;IACH,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,eAAe;IAoGrE;;;;;;;;;OASG;IACH,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,eAAe;IAuD/D,wBAAwB,CACvB,IAAI,EAAE,4BAA4B,GAChC,eAAe;IAwDlB,8BAA8B,CAC7B,IAAI,EAAE,kCAAkC,GACtC,eAAe;IAiClB;;;;;;;;;;;;OAYG;IACH,6BAA6B,CAC5B,IAAI,EAAE,iCAAiC,GACrC,eAAe;IAgDlB;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,eAAe;IA0BjE,2BAA2B,CAC1B,IAAI,EAAE,+BAA+B,GACnC,eAAe;IAuDlB,0BAA0B,CACzB,IAAI,EAAE,8BAA8B,GAClC,eAAe;IA4DlB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,eAAe;IAenE,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,eAAe;IAe/D;;;;;;;OAOG;IACH,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,eAAe;IA0CjE,yBAAyB,CACxB,IAAI,EAAE,6BAA6B,GACjC,eAAe;IAiDlB;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe;IAiCrD;;;;;;;;;;;;;;;;OAgBG;IACH,8BAA8B,CAC7B,IAAI,EAAE,kCAAkC,GACtC,eAAe;IAyDlB;;;;;;;;;;;;;;;OAeG;IACH,wBAAwB,CACvB,IAAI,EAAE,4BAA4B,GAChC,eAAe;IAsElB;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe;IAgCrD;;;;;;;;;;OAUG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe;IAuBrD;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,eAAe;IAgGrE,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,GAAG,eAAe;IAqD3E;;;;;;;;;;;;;;OAcG;IACH,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,eAAe;CAiFvE"}
1
+ {"version":3,"file":"executionService.d.ts","sourceRoot":"","sources":["../../../../src/services/executionService/executionService.ts"],"names":[],"mappings":"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"}
@@ -253,6 +253,7 @@ export class ExecutionService {
253
253
  intrinsicApyService;
254
254
  eulerLabelsService;
255
255
  processPlugins;
256
+ prefetchPlugins;
256
257
  constructor(deploymentService, walletService, providerService, vaultMetaService, priceService, rewardsService, intrinsicApyService, eulerLabelsService) {
257
258
  this.deploymentService = deploymentService;
258
259
  this.walletService = walletService;
@@ -290,6 +291,9 @@ export class ExecutionService {
290
291
  setPluginProcessor(processPlugins) {
291
292
  this.processPlugins = processPlugins;
292
293
  }
294
+ setPluginPrefetcher(prefetchPlugins) {
295
+ this.prefetchPlugins = prefetchPlugins;
296
+ }
293
297
  /** Derive storage overrides needed to simulate the plan against the current account state. */
294
298
  async deriveStateOverrides(chainId, account, transactionPlan, options) {
295
299
  assertNoCowSwapPlanItems(transactionPlan, "deriveStateOverrides");
@@ -298,7 +302,7 @@ export class ExecutionService {
298
302
  /** Simulate the full transaction plan, including approval resolution and plugin-aware batch execution. */
299
303
  async simulateTransactionPlan(chainId, account, transactionPlan, options) {
300
304
  assertNoCowSwapPlanItems(transactionPlan, "simulateTransactionPlan");
301
- const processedPlan = await this.processPlanPlugins(transactionPlan, account, chainId);
305
+ const processedPlan = await this.processPlanPlugins(transactionPlan, account, chainId, options?.prefetch);
302
306
  const owner = this.getAccountOwner(account);
303
307
  return simulateTransactionPlan(this.getSimulationContext(), chainId, owner, processedPlan, options);
304
308
  }
@@ -320,9 +324,9 @@ export class ExecutionService {
320
324
  * wallet allowances.
321
325
  */
322
326
  async prepareTransactionPlan(args) {
323
- const { plan, chainId, account, usePermit2 = true, unlimitedApproval = false, } = args;
327
+ const { plan, chainId, account, usePermit2 = true, unlimitedApproval = false, prefetch, } = args;
324
328
  assertNoCowSwapPlanItems(plan, "prepareTransactionPlan");
325
- const processedPlan = await this.processPlanPlugins(plan, account, chainId);
329
+ const processedPlan = await this.processPlanPlugins(plan, account, chainId, prefetch);
326
330
  const owner = this.getAccountOwner(account);
327
331
  const resolvedPlan = await this.resolveRequiredApprovals({
328
332
  plan: processedPlan,
@@ -343,10 +347,24 @@ export class ExecutionService {
343
347
  /** Estimate gas for the full transaction plan after applying the same simulation pipeline used for execution. */
344
348
  async estimateGasForTransactionPlan(chainId, account, transactionPlan, options) {
345
349
  assertNoCowSwapPlanItems(transactionPlan, "estimateGasForTransactionPlan");
346
- const processedPlan = await this.processPlanPlugins(transactionPlan, account, chainId);
350
+ const processedPlan = await this.processPlanPlugins(transactionPlan, account, chainId, options?.prefetch);
347
351
  const owner = this.getAccountOwner(account);
348
352
  return estimateGasForTransactionPlan(this.getSimulationContext(), chainId, owner, processedPlan, options);
349
353
  }
354
+ /**
355
+ * Estimate gas for a {@link TransactionPlanPrepared} envelope. Plugins and
356
+ * approval resolution were already applied by {@link prepareTransactionPlan},
357
+ * so this skips the plugin pipeline (TOS / Keyring / Pyth) entirely — the
358
+ * plan's batch items are used as-is. Net effect: per-call gas estimate
359
+ * drops from "plugin pipeline + estimate" to just the estimate, mirroring
360
+ * the simulatePreparedTransactionPlan / executePreparedTransactionPlan
361
+ * pattern.
362
+ */
363
+ async estimateGasForPreparedTransactionPlan(prepared, options) {
364
+ assertNoCowSwapPlanItems(prepared.plan, "estimateGasForPreparedTransactionPlan");
365
+ const owner = this.getAccountOwner(prepared.account);
366
+ return estimateGasForTransactionPlan(this.getSimulationContext(), prepared.chainId, owner, prepared.plan, options);
367
+ }
350
368
  /** Execute a transaction plan using caller-provided signing and send callbacks. */
351
369
  async executeTransactionPlan(args) {
352
370
  const { providerService } = this;
@@ -354,7 +372,7 @@ export class ExecutionService {
354
372
  throw new Error("ExecutionService.executeTransactionPlan requires a providerService. Pass it to the ExecutionService constructor or call setProviderService().");
355
373
  }
356
374
  assertNoCowSwapPlanItems(args.plan, "executeTransactionPlan");
357
- const processedPlan = await this.processPlanPlugins(args.plan, args.account, args.chainId);
375
+ const processedPlan = await this.processPlanPlugins(args.plan, args.account, args.chainId, args.prefetch);
358
376
  assertNoCowSwapPlanItems(processedPlan, "executeTransactionPlan");
359
377
  const helperArgs = {
360
378
  ...args,
@@ -400,7 +418,7 @@ export class ExecutionService {
400
418
  }
401
419
  return executeCowSwapTransactionPlan({
402
420
  ...args,
403
- plan: await this.processPlanPlugins(args.plan, args.account, args.chainId),
421
+ plan: await this.processPlanPlugins(args.plan, args.account, args.chainId, args.prefetch),
404
422
  deploymentService: this.deploymentService,
405
423
  providerService,
406
424
  });
@@ -418,11 +436,31 @@ export class ExecutionService {
418
436
  describeBatch: (batch) => this.describeBatch(batch),
419
437
  };
420
438
  }
421
- async processPlanPlugins(plan, account, chainId) {
439
+ /**
440
+ * Run each plugin's processPlan in registration order. Plugins receive the
441
+ * plan as modified by previous plugins; errors are caught per-plugin so a
442
+ * single failing plugin can't poison the pipeline.
443
+ *
444
+ * `prefetch` carries form-level data each plugin pre-resolved via
445
+ * {@link prefetchPluginDataForPlan} — passing it lets the plugin skip its
446
+ * own network I/O (Hermes pulls, keyring hook reads, etc.).
447
+ */
448
+ async processPlanPlugins(plan, account, chainId, prefetch) {
422
449
  return this.processPlugins
423
- ? this.processPlugins(plan, account, chainId)
450
+ ? this.processPlugins(plan, account, chainId, prefetch)
424
451
  : plan;
425
452
  }
453
+ /**
454
+ * Resolve each plugin's prefetch payload for a given plan once, so per-quote
455
+ * prepare/estimate/simulate calls can reuse the data instead of refetching.
456
+ * Returns an open record keyed by plugin name — known SDK slots are typed
457
+ * (`pyth`, `keyring`); external plugins populate their own keys.
458
+ */
459
+ async prefetchPluginDataForPlan(plan, account, chainId) {
460
+ return this.prefetchPlugins
461
+ ? this.prefetchPlugins(plan, account, chainId)
462
+ : {};
463
+ }
426
464
  getAccountOwner(account) {
427
465
  return typeof account === "string" ? account : account.owner;
428
466
  }
@@ -1123,6 +1161,14 @@ export class ExecutionService {
1123
1161
  continue;
1124
1162
  }
1125
1163
  if (usePermit2) {
1164
+ // Skip Permit2 entirely when an existing direct token→vault
1165
+ // allowance already covers the requirement. Avoids prompting
1166
+ // the user for a Permit2 approve+signature when a prior
1167
+ // direct ERC-20 approval is sufficient.
1168
+ if (allowances.assetForVault >= amount) {
1169
+ approval.resolved = [];
1170
+ continue;
1171
+ }
1126
1172
  // Check permit2 allowances
1127
1173
  const assetForPermit2 = allowances.assetForPermit2;
1128
1174
  const assetForVaultInPermit2 = allowances.assetForVaultInPermit2;
@@ -1214,45 +1260,58 @@ export class ExecutionService {
1214
1260
  unlimitedApproval,
1215
1261
  });
1216
1262
  }
1217
- // ========== Transaction plan functions ==========
1218
- /**
1219
- * Builds a cleanup plan matching Lite's stale collateral/controller policy.
1220
- *
1221
- * Cleanup is derived from the provided account snapshot:
1222
- * - no enabled controllers: disable all enabled collaterals
1223
- * - enabled controllers but no active borrows: disable all collaterals, then controllers
1224
- * - active borrows: disable only enabled collaterals with no supplied position
1225
- *
1226
- * If the sub-account snapshot is unavailable, no cleanup is planned.
1227
- */
1228
- planCleanup(args) {
1229
- const { account, subAccount } = args;
1263
+ buildCleanupBatchItems(account, subAccount, options = {}) {
1264
+ const { skipCollateralCleanup = false, controllerToKeep } = options;
1265
+ const normalizedControllerToKeep = controllerToKeep
1266
+ ? getAddress(controllerToKeep)
1267
+ : undefined;
1268
+ const empty = () => ({
1269
+ items: [],
1270
+ disabledControllers: new Set(),
1271
+ disabledCollaterals: new Set(),
1272
+ });
1230
1273
  if (typeof account.getSubAccount !== "function")
1231
- return [];
1274
+ return empty();
1232
1275
  const subAccountSnapshot = account.getSubAccount(subAccount);
1233
1276
  if (!subAccountSnapshot)
1234
- return [];
1277
+ return empty();
1235
1278
  const collaterals = subAccountSnapshot.enabledCollaterals ?? [];
1236
1279
  const controllers = subAccountSnapshot.enabledControllers ?? [];
1237
1280
  if (collaterals.length === 0 && controllers.length === 0)
1238
- return [];
1281
+ return empty();
1239
1282
  const items = [];
1283
+ const disabledControllers = new Set();
1284
+ const disabledCollaterals = new Set();
1285
+ const disableCollateral = (collateral) => {
1286
+ if (skipCollateralCleanup)
1287
+ return;
1288
+ const normalizedCollateral = getAddress(collateral);
1289
+ disabledCollaterals.add(normalizedCollateral);
1290
+ items.push(this.encodeDisableCollateral(account.chainId, subAccount, normalizedCollateral));
1291
+ };
1240
1292
  const disableAllCollaterals = () => {
1241
1293
  for (const collateral of collaterals) {
1242
- items.push(this.encodeDisableCollateral(account.chainId, subAccount, collateral));
1294
+ disableCollateral(collateral);
1243
1295
  }
1244
1296
  };
1297
+ const disableController = (controller) => {
1298
+ const normalizedController = getAddress(controller);
1299
+ if (normalizedController === normalizedControllerToKeep)
1300
+ return;
1301
+ disabledControllers.add(normalizedController);
1302
+ items.push(this.encodeDisableController(normalizedController, subAccount));
1303
+ };
1245
1304
  if (controllers.length === 0) {
1246
1305
  disableAllCollaterals();
1247
- return this.convertBatchItemsToPlan(items, "cleanup");
1306
+ return { items, disabledControllers, disabledCollaterals };
1248
1307
  }
1249
1308
  const hasActiveBorrow = subAccountSnapshot.positions.some((position) => position.borrowed > 0n);
1250
1309
  if (!hasActiveBorrow) {
1251
1310
  disableAllCollaterals();
1252
1311
  for (const controller of controllers) {
1253
- items.push(this.encodeDisableController(controller, subAccount));
1312
+ disableController(controller);
1254
1313
  }
1255
- return this.convertBatchItemsToPlan(items, "cleanup");
1314
+ return { items, disabledControllers, disabledCollaterals };
1256
1315
  }
1257
1316
  const depositedVaults = new Set(subAccountSnapshot.positions
1258
1317
  .filter(hasSuppliedPosition)
@@ -1260,9 +1319,25 @@ export class ExecutionService {
1260
1319
  for (const collateral of collaterals) {
1261
1320
  if (depositedVaults.has(getAddress(collateral)))
1262
1321
  continue;
1263
- items.push(this.encodeDisableCollateral(account.chainId, subAccount, collateral));
1322
+ disableCollateral(collateral);
1264
1323
  }
1265
- return this.convertBatchItemsToPlan(items, "cleanup");
1324
+ return { items, disabledControllers, disabledCollaterals };
1325
+ }
1326
+ // ========== Transaction plan functions ==========
1327
+ /**
1328
+ * Builds a cleanup plan matching Lite's stale collateral/controller policy.
1329
+ *
1330
+ * Cleanup is derived from the provided account snapshot:
1331
+ * - no enabled controllers: disable all enabled collaterals
1332
+ * - enabled controllers but no active borrows: disable all collaterals, then controllers
1333
+ * - active borrows: disable only enabled collaterals with no supplied position
1334
+ *
1335
+ * If the sub-account snapshot is unavailable, no cleanup is planned.
1336
+ */
1337
+ planCleanup(args) {
1338
+ const { account, subAccount } = args;
1339
+ const cleanup = this.buildCleanupBatchItems(account, subAccount);
1340
+ return this.convertBatchItemsToPlan(cleanup.items, "cleanup");
1266
1341
  }
1267
1342
  /**
1268
1343
  * Builds a transaction plan for depositing assets into a vault.
@@ -1440,8 +1515,18 @@ export class ExecutionService {
1440
1515
  * @returns Array of transaction plan items (optional approval + EVC batch)
1441
1516
  */
1442
1517
  planBorrow(args) {
1443
- const { vault, amount, receiver, borrowAccount, account, collateral } = args;
1518
+ const { vault, amount, receiver, borrowAccount, account, collateral, skipCleanup = false, } = args;
1444
1519
  const plan = [];
1520
+ const cleanup = skipCleanup
1521
+ ? {
1522
+ items: [],
1523
+ disabledControllers: new Set(),
1524
+ disabledCollaterals: new Set(),
1525
+ }
1526
+ : this.buildCleanupBatchItems(account, borrowAccount, {
1527
+ skipCollateralCleanup: true,
1528
+ controllerToKeep: vault,
1529
+ });
1445
1530
  const savingsCollateral = isSavingsCollateral(collateral)
1446
1531
  ? collateral
1447
1532
  : undefined;
@@ -1449,13 +1534,19 @@ export class ExecutionService {
1449
1534
  ? collateral
1450
1535
  : undefined;
1451
1536
  const enableCollateral = collateral && collateral.amount > 0n
1452
- ? !(account?.isCollateralEnabled(borrowAccount, collateral.vault) ??
1453
- false)
1537
+ ? cleanup.disabledCollaterals.has(getAddress(collateral.vault)) ||
1538
+ !(account?.isCollateralEnabled(borrowAccount, collateral.vault) ??
1539
+ false)
1454
1540
  : false;
1455
1541
  // Check if controller needs to be enabled
1456
1542
  // Default: controller is not enabled when account/sub-account is not available
1457
- const currentController = account?.getCurrentController(borrowAccount);
1458
- const enableController = !(account?.isControllerEnabled(borrowAccount, vault) ?? false);
1543
+ const currentControllerBeforeCleanup = account?.getCurrentController(borrowAccount);
1544
+ const currentController = currentControllerBeforeCleanup &&
1545
+ !cleanup.disabledControllers.has(getAddress(currentControllerBeforeCleanup))
1546
+ ? currentControllerBeforeCleanup
1547
+ : undefined;
1548
+ const enableController = cleanup.disabledControllers.size > 0 ||
1549
+ !(account?.isControllerEnabled(borrowAccount, vault) ?? false);
1459
1550
  if (walletCollateral && walletCollateral.amount > 0n) {
1460
1551
  // Approval is needed from the account owner (who owns the wallet tokens)
1461
1552
  // Add approval requirement (will be resolved later with Wallet data)
@@ -1467,29 +1558,32 @@ export class ExecutionService {
1467
1558
  amount: walletCollateral.amount,
1468
1559
  });
1469
1560
  }
1470
- const batchItems = this.encodeBorrow({
1471
- chainId: account.chainId,
1472
- vault,
1473
- amount,
1474
- owner: account.owner,
1475
- borrowAccount,
1476
- receiver,
1477
- enableController,
1478
- currentController: currentController || undefined,
1479
- enableCollateral,
1480
- collateralVault: collateral?.vault,
1481
- collateralAmount: walletCollateral?.amount,
1482
- collateralWrappedNativeInfo: walletCollateral?.wrappedNativeInfo,
1483
- collateralShareSource: savingsCollateral
1484
- ? {
1485
- from: savingsCollateral.from,
1486
- shares: savingsCollateral.amount,
1487
- disableCollateralFrom: savingsCollateral.disableCollateralFrom &&
1488
- (account?.isCollateralEnabled(savingsCollateral.from, savingsCollateral.vault) ??
1489
- false),
1490
- }
1491
- : undefined,
1492
- });
1561
+ const batchItems = [
1562
+ ...cleanup.items,
1563
+ ...this.encodeBorrow({
1564
+ chainId: account.chainId,
1565
+ vault,
1566
+ amount,
1567
+ owner: account.owner,
1568
+ borrowAccount,
1569
+ receiver,
1570
+ enableController,
1571
+ currentController: currentController || undefined,
1572
+ enableCollateral,
1573
+ collateralVault: collateral?.vault,
1574
+ collateralAmount: walletCollateral?.amount,
1575
+ collateralWrappedNativeInfo: walletCollateral?.wrappedNativeInfo,
1576
+ collateralShareSource: savingsCollateral
1577
+ ? {
1578
+ from: savingsCollateral.from,
1579
+ shares: savingsCollateral.amount,
1580
+ disableCollateralFrom: savingsCollateral.disableCollateralFrom &&
1581
+ (account?.isCollateralEnabled(savingsCollateral.from, savingsCollateral.vault) ??
1582
+ false),
1583
+ }
1584
+ : undefined,
1585
+ }),
1586
+ ];
1493
1587
  plan.push(...this.convertBatchItemsToPlan(batchItems, "borrow"));
1494
1588
  return plan;
1495
1589
  }
@@ -1872,9 +1966,16 @@ export class ExecutionService {
1872
1966
  return plan;
1873
1967
  }
1874
1968
  planSwapAndBorrowFromWallet(args) {
1875
- const { swapQuote, amount, tokenIn, account, borrowVault, borrowAmount, borrowAccount = swapQuote.accountOut, receiver = account.owner, collateralVault = swapQuote.receiver, wrappedNativeInfo, } = args;
1969
+ const { swapQuote, amount, tokenIn, account, borrowVault, borrowAmount, borrowAccount = swapQuote.accountOut, receiver = account.owner, collateralVault = swapQuote.receiver, wrappedNativeInfo, skipCleanup = false, } = args;
1876
1970
  assertNonCowSwapQuote(swapQuote, "planSwapAndBorrowFromWallet");
1877
1971
  const plan = [];
1972
+ const cleanup = skipCleanup
1973
+ ? {
1974
+ items: [],
1975
+ disabledControllers: new Set(),
1976
+ disabledCollaterals: new Set(),
1977
+ }
1978
+ : this.buildCleanupBatchItems(account, borrowAccount);
1878
1979
  plan.push({
1879
1980
  type: "requiredApproval",
1880
1981
  token: tokenIn,
@@ -1882,24 +1983,33 @@ export class ExecutionService {
1882
1983
  spender: swapQuote.verify.verifierAddress,
1883
1984
  amount,
1884
1985
  });
1885
- const enableController = !(account?.isControllerEnabled(borrowAccount, borrowVault) ?? false);
1886
- const enableCollateral = !(account?.isCollateralEnabled(borrowAccount, collateralVault) ?? false);
1887
- const currentController = account?.getCurrentController(borrowAccount);
1888
- const batchItems = this.encodeSwapAndBorrowFromWallet({
1889
- chainId: account.chainId,
1890
- swapQuote,
1891
- amount,
1892
- sender: account.owner,
1893
- borrowAccount,
1894
- collateralVault,
1895
- borrowVault,
1896
- borrowAmount,
1897
- receiver,
1898
- currentController: currentController || undefined,
1899
- enableController,
1900
- enableCollateral,
1901
- wrappedNativeInfo,
1902
- });
1986
+ const enableController = cleanup.disabledControllers.size > 0 ||
1987
+ !(account?.isControllerEnabled(borrowAccount, borrowVault) ?? false);
1988
+ const enableCollateral = cleanup.disabledCollaterals.has(getAddress(collateralVault)) ||
1989
+ !(account?.isCollateralEnabled(borrowAccount, collateralVault) ?? false);
1990
+ const currentControllerBeforeCleanup = account?.getCurrentController(borrowAccount);
1991
+ const currentController = currentControllerBeforeCleanup &&
1992
+ !cleanup.disabledControllers.has(getAddress(currentControllerBeforeCleanup))
1993
+ ? currentControllerBeforeCleanup
1994
+ : undefined;
1995
+ const batchItems = [
1996
+ ...cleanup.items,
1997
+ ...this.encodeSwapAndBorrowFromWallet({
1998
+ chainId: account.chainId,
1999
+ swapQuote,
2000
+ amount,
2001
+ sender: account.owner,
2002
+ borrowAccount,
2003
+ collateralVault,
2004
+ borrowVault,
2005
+ borrowAmount,
2006
+ receiver,
2007
+ currentController: currentController || undefined,
2008
+ enableController,
2009
+ enableCollateral,
2010
+ wrappedNativeInfo,
2011
+ }),
2012
+ ];
1903
2013
  plan.push(...this.convertBatchItemsToPlan(batchItems, "swapAndBorrowFromWallet"));
1904
2014
  return plan;
1905
2015
  }
@@ -2239,7 +2349,7 @@ export class ExecutionService {
2239
2349
  * @returns Array of transaction plan items (optional approval + EVC batch). Throws if swapQuote.accountIn !== swapQuote.accountOut.
2240
2350
  */
2241
2351
  planMultiplyWithSwap(args) {
2242
- const { collateralVault, collateralAmount, collateralAsset, collateralShareSource, collateralWrappedNativeInfo, account, swapQuote, swapperMode, } = args;
2352
+ const { collateralVault, collateralAmount, collateralAsset, collateralShareSource, collateralWrappedNativeInfo, account, swapQuote, swapperMode, skipCleanup = false, } = args;
2243
2353
  assertNonCowSwapQuote(swapQuote, "planMultiplyWithSwap", "planOpenPositionWithCoW");
2244
2354
  const plan = [];
2245
2355
  // 1. Check if collateral approval is needed (only if depositing collateral)
@@ -2259,14 +2369,23 @@ export class ExecutionService {
2259
2369
  const receiver = swapQuote.accountIn;
2260
2370
  const liabilityVault = swapQuote.vaultIn;
2261
2371
  const longVault = swapQuote.receiver;
2372
+ const cleanup = skipCleanup
2373
+ ? {
2374
+ items: [],
2375
+ disabledControllers: new Set(),
2376
+ disabledCollaterals: new Set(),
2377
+ }
2378
+ : this.buildCleanupBatchItems(account, receiver);
2262
2379
  const liabilityAmount = getSwapInputAmount(swapQuote, swapperMode ?? SwapperMode.EXACT_IN);
2263
2380
  // 2. Determine if collateral needs to be enabled
2264
2381
  const hasCollateralInput = collateralShareSource
2265
2382
  ? collateralShareSource.shares > 0n
2266
2383
  : collateralAmount > 0n;
2267
2384
  const enableCollateral = hasCollateralInput &&
2268
- !(account?.isCollateralEnabled(receiver, collateralVault) ?? false);
2269
- const enableCollateralLong = !(account?.isCollateralEnabled(receiver, longVault) ?? false);
2385
+ (cleanup.disabledCollaterals.has(getAddress(collateralVault)) ||
2386
+ !(account?.isCollateralEnabled(receiver, collateralVault) ?? false));
2387
+ const enableCollateralLong = cleanup.disabledCollaterals.has(getAddress(longVault)) ||
2388
+ !(account?.isCollateralEnabled(receiver, longVault) ?? false);
2270
2389
  const resolvedCollateralShareSource = collateralShareSource
2271
2390
  ? {
2272
2391
  ...collateralShareSource,
@@ -2276,28 +2395,36 @@ export class ExecutionService {
2276
2395
  }
2277
2396
  : undefined;
2278
2397
  // 3. Determine if controller needs to be enabled
2279
- const enableController = !(account?.isControllerEnabled(receiver, liabilityVault) ?? false);
2398
+ const enableController = cleanup.disabledControllers.size > 0 ||
2399
+ !(account?.isControllerEnabled(receiver, liabilityVault) ?? false);
2280
2400
  // 4. Get current controller (may need to disable if different)
2281
- const currentController = account?.getCurrentController(receiver);
2401
+ const currentControllerBeforeCleanup = account?.getCurrentController(receiver);
2402
+ const currentController = currentControllerBeforeCleanup &&
2403
+ !cleanup.disabledControllers.has(getAddress(currentControllerBeforeCleanup))
2404
+ ? currentControllerBeforeCleanup
2405
+ : undefined;
2282
2406
  // 5. Build EVC batch items
2283
- const batchItems = this.encodeMultiplyWithSwap({
2284
- chainId: account.chainId,
2285
- collateralVault,
2286
- collateralAmount,
2287
- liabilityVault,
2288
- liabilityAmount,
2289
- longVault,
2290
- owner: account.owner,
2291
- receiver,
2292
- enableCollateral,
2293
- currentController: currentController || undefined,
2294
- enableController,
2295
- collateralShareSource: resolvedCollateralShareSource,
2296
- collateralWrappedNativeInfo,
2297
- swapQuote,
2298
- enableCollateralLong,
2299
- // Permit2 is handled separately in the plan
2300
- });
2407
+ const batchItems = [
2408
+ ...cleanup.items,
2409
+ ...this.encodeMultiplyWithSwap({
2410
+ chainId: account.chainId,
2411
+ collateralVault,
2412
+ collateralAmount,
2413
+ liabilityVault,
2414
+ liabilityAmount,
2415
+ longVault,
2416
+ owner: account.owner,
2417
+ receiver,
2418
+ enableCollateral,
2419
+ currentController: currentController || undefined,
2420
+ enableController,
2421
+ collateralShareSource: resolvedCollateralShareSource,
2422
+ collateralWrappedNativeInfo,
2423
+ swapQuote,
2424
+ enableCollateralLong,
2425
+ // Permit2 is handled separately in the plan
2426
+ }),
2427
+ ];
2301
2428
  plan.push(...this.convertBatchItemsToPlan(batchItems, "multiplyWithSwap"));
2302
2429
  return plan;
2303
2430
  }
@@ -2358,8 +2485,15 @@ export class ExecutionService {
2358
2485
  * @returns Array of transaction plan items (optional approval + EVC batch)
2359
2486
  */
2360
2487
  planMultiplySameAsset(args) {
2361
- const { collateralVault, collateralAmount, collateralAsset, collateralShareSource, collateralWrappedNativeInfo, liabilityVault, liabilityAmount, longVault, receiver, account, } = args;
2488
+ const { collateralVault, collateralAmount, collateralAsset, collateralShareSource, collateralWrappedNativeInfo, liabilityVault, liabilityAmount, longVault, receiver, account, skipCleanup = false, } = args;
2362
2489
  const plan = [];
2490
+ const cleanup = skipCleanup
2491
+ ? {
2492
+ items: [],
2493
+ disabledControllers: new Set(),
2494
+ disabledCollaterals: new Set(),
2495
+ }
2496
+ : this.buildCleanupBatchItems(account, receiver);
2363
2497
  // 1. Check if collateral approval is needed (only if depositing collateral)
2364
2498
  if (!collateralShareSource && collateralAmount > 0n) {
2365
2499
  // Add approval requirement (will be resolved later with Wallet data)
@@ -2376,8 +2510,10 @@ export class ExecutionService {
2376
2510
  ? collateralShareSource.shares > 0n
2377
2511
  : collateralAmount > 0n;
2378
2512
  const enableCollateral = hasCollateralInput &&
2379
- !(account?.isCollateralEnabled(receiver, collateralVault) ?? false);
2380
- const enableCollateralLong = !(account?.isCollateralEnabled(receiver, longVault) ?? false);
2513
+ (cleanup.disabledCollaterals.has(getAddress(collateralVault)) ||
2514
+ !(account?.isCollateralEnabled(receiver, collateralVault) ?? false));
2515
+ const enableCollateralLong = cleanup.disabledCollaterals.has(getAddress(longVault)) ||
2516
+ !(account?.isCollateralEnabled(receiver, longVault) ?? false);
2381
2517
  const resolvedCollateralShareSource = collateralShareSource
2382
2518
  ? {
2383
2519
  ...collateralShareSource,
@@ -2387,27 +2523,35 @@ export class ExecutionService {
2387
2523
  }
2388
2524
  : undefined;
2389
2525
  // 3. Determine if controller needs to be enabled
2390
- const enableController = !(account?.isControllerEnabled(receiver, liabilityVault) ?? false);
2526
+ const enableController = cleanup.disabledControllers.size > 0 ||
2527
+ !(account?.isControllerEnabled(receiver, liabilityVault) ?? false);
2391
2528
  // 4. Get current controller (may need to disable if different)
2392
- const currentController = account?.getCurrentController(receiver);
2529
+ const currentControllerBeforeCleanup = account?.getCurrentController(receiver);
2530
+ const currentController = currentControllerBeforeCleanup &&
2531
+ !cleanup.disabledControllers.has(getAddress(currentControllerBeforeCleanup))
2532
+ ? currentControllerBeforeCleanup
2533
+ : undefined;
2393
2534
  // 5. Build EVC batch items
2394
- const batchItems = this.encodeMultiplySameAsset({
2395
- chainId: account.chainId,
2396
- collateralVault,
2397
- collateralAmount,
2398
- liabilityVault,
2399
- liabilityAmount,
2400
- longVault,
2401
- owner: account.owner,
2402
- receiver,
2403
- enableCollateral,
2404
- currentController: currentController || undefined,
2405
- enableController,
2406
- collateralShareSource: resolvedCollateralShareSource,
2407
- collateralWrappedNativeInfo,
2408
- enableCollateralLong,
2409
- // Permit2 is handled separately in the plan
2410
- });
2535
+ const batchItems = [
2536
+ ...cleanup.items,
2537
+ ...this.encodeMultiplySameAsset({
2538
+ chainId: account.chainId,
2539
+ collateralVault,
2540
+ collateralAmount,
2541
+ liabilityVault,
2542
+ liabilityAmount,
2543
+ longVault,
2544
+ owner: account.owner,
2545
+ receiver,
2546
+ enableCollateral,
2547
+ currentController: currentController || undefined,
2548
+ enableController,
2549
+ collateralShareSource: resolvedCollateralShareSource,
2550
+ collateralWrappedNativeInfo,
2551
+ enableCollateralLong,
2552
+ // Permit2 is handled separately in the plan
2553
+ }),
2554
+ ];
2411
2555
  plan.push(...this.convertBatchItemsToPlan(batchItems, "multiplySameAsset"));
2412
2556
  return plan;
2413
2557
  }