@eulerxyz/euler-v2-sdk 0.2.2-beta → 0.2.4-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 (137) hide show
  1. package/README.md +14 -11
  2. package/dist/src/entities/Account.d.ts +1 -1
  3. package/dist/src/entities/Account.d.ts.map +1 -1
  4. package/dist/src/entities/Account.js +28 -38
  5. package/dist/src/entities/Account.js.map +1 -1
  6. package/dist/src/entities/ERC4626Vault.d.ts +8 -0
  7. package/dist/src/entities/ERC4626Vault.d.ts.map +1 -1
  8. package/dist/src/entities/ERC4626Vault.js +4 -0
  9. package/dist/src/entities/ERC4626Vault.js.map +1 -1
  10. package/dist/src/entities/EVault.d.ts +6 -0
  11. package/dist/src/entities/EVault.d.ts.map +1 -1
  12. package/dist/src/entities/EVault.js +11 -0
  13. package/dist/src/entities/EVault.js.map +1 -1
  14. package/dist/src/entities/Portfolio.d.ts +3 -3
  15. package/dist/src/entities/Portfolio.d.ts.map +1 -1
  16. package/dist/src/entities/Portfolio.js +8 -4
  17. package/dist/src/entities/Portfolio.js.map +1 -1
  18. package/dist/src/entities/SecuritizeCollateralVault.d.ts +2 -0
  19. package/dist/src/entities/SecuritizeCollateralVault.d.ts.map +1 -1
  20. package/dist/src/entities/SecuritizeCollateralVault.js +4 -0
  21. package/dist/src/entities/SecuritizeCollateralVault.js.map +1 -1
  22. package/dist/src/index.d.ts +2 -0
  23. package/dist/src/index.d.ts.map +1 -1
  24. package/dist/src/index.js +2 -0
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/sdk/buildSDK.d.ts +8 -0
  27. package/dist/src/sdk/buildSDK.d.ts.map +1 -1
  28. package/dist/src/sdk/buildSDK.js +309 -101
  29. package/dist/src/sdk/buildSDK.js.map +1 -1
  30. package/dist/src/sdk/config.d.ts +8 -2
  31. package/dist/src/sdk/config.d.ts.map +1 -1
  32. package/dist/src/sdk/config.js +6 -1
  33. package/dist/src/sdk/config.js.map +1 -1
  34. package/dist/src/sdk/sdk.d.ts +3 -0
  35. package/dist/src/sdk/sdk.d.ts.map +1 -1
  36. package/dist/src/sdk/sdk.js +2 -0
  37. package/dist/src/sdk/sdk.js.map +1 -1
  38. package/dist/src/services/accountService/accountServiceConfig.d.ts +2 -2
  39. package/dist/src/services/accountService/accountServiceConfig.d.ts.map +1 -1
  40. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts +2 -2
  41. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts.map +1 -1
  42. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js +3 -3
  43. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js.map +1 -1
  44. package/dist/src/services/executionService/abis/cowSwapWrapperAbi.d.ts +199 -0
  45. package/dist/src/services/executionService/abis/cowSwapWrapperAbi.d.ts.map +1 -0
  46. package/dist/src/services/executionService/abis/cowSwapWrapperAbi.js +95 -0
  47. package/dist/src/services/executionService/abis/cowSwapWrapperAbi.js.map +1 -0
  48. package/dist/src/services/executionService/cowExecutor.d.ts +53 -0
  49. package/dist/src/services/executionService/cowExecutor.d.ts.map +1 -0
  50. package/dist/src/services/executionService/cowExecutor.js +390 -0
  51. package/dist/src/services/executionService/cowExecutor.js.map +1 -0
  52. package/dist/src/services/executionService/cowSwapHelpers.d.ts +254 -0
  53. package/dist/src/services/executionService/cowSwapHelpers.d.ts.map +1 -0
  54. package/dist/src/services/executionService/cowSwapHelpers.js +524 -0
  55. package/dist/src/services/executionService/cowSwapHelpers.js.map +1 -0
  56. package/dist/src/services/executionService/execute.d.ts +18 -3
  57. package/dist/src/services/executionService/execute.d.ts.map +1 -1
  58. package/dist/src/services/executionService/execute.js +9 -2
  59. package/dist/src/services/executionService/execute.js.map +1 -1
  60. package/dist/src/services/executionService/executionService.d.ts +53 -2
  61. package/dist/src/services/executionService/executionService.d.ts.map +1 -1
  62. package/dist/src/services/executionService/executionService.js +368 -15
  63. package/dist/src/services/executionService/executionService.js.map +1 -1
  64. package/dist/src/services/executionService/executionServiceTypes.d.ts +130 -3
  65. package/dist/src/services/executionService/executionServiceTypes.d.ts.map +1 -1
  66. package/dist/src/services/executionService/executionServiceTypes.js +13 -0
  67. package/dist/src/services/executionService/executionServiceTypes.js.map +1 -1
  68. package/dist/src/services/executionService/index.d.ts +5 -3
  69. package/dist/src/services/executionService/index.d.ts.map +1 -1
  70. package/dist/src/services/executionService/index.js +3 -2
  71. package/dist/src/services/executionService/index.js.map +1 -1
  72. package/dist/src/services/executionService/simulate.d.ts +1 -1
  73. package/dist/src/services/executionService/simulate.d.ts.map +1 -1
  74. package/dist/src/services/executionService/simulate.js +25 -9
  75. package/dist/src/services/executionService/simulate.js.map +1 -1
  76. package/dist/src/services/priceService/backendClient.d.ts +3 -1
  77. package/dist/src/services/priceService/backendClient.d.ts.map +1 -1
  78. package/dist/src/services/priceService/backendClient.js +30 -12
  79. package/dist/src/services/priceService/backendClient.js.map +1 -1
  80. package/dist/src/services/reulLockService/index.d.ts +3 -0
  81. package/dist/src/services/reulLockService/index.d.ts.map +1 -0
  82. package/dist/src/services/reulLockService/index.js +2 -0
  83. package/dist/src/services/reulLockService/index.js.map +1 -0
  84. package/dist/src/services/reulLockService/reulLockService.d.ts +82 -0
  85. package/dist/src/services/reulLockService/reulLockService.d.ts.map +1 -0
  86. package/dist/src/services/reulLockService/reulLockService.js +120 -0
  87. package/dist/src/services/reulLockService/reulLockService.js.map +1 -0
  88. package/dist/src/services/reulLockService/reulLockServiceTypes.d.ts +41 -0
  89. package/dist/src/services/reulLockService/reulLockServiceTypes.d.ts.map +1 -0
  90. package/dist/src/services/reulLockService/reulLockServiceTypes.js +2 -0
  91. package/dist/src/services/reulLockService/reulLockServiceTypes.js.map +1 -0
  92. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts.map +1 -1
  93. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js +93 -5
  94. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js.map +1 -1
  95. package/dist/src/services/rewardsService/rewardsService.d.ts +1 -7
  96. package/dist/src/services/rewardsService/rewardsService.d.ts.map +1 -1
  97. package/dist/src/services/rewardsService/rewardsService.js +5 -130
  98. package/dist/src/services/rewardsService/rewardsService.js.map +1 -1
  99. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +13 -2
  100. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts.map +1 -1
  101. package/dist/src/services/swapService/index.d.ts +2 -2
  102. package/dist/src/services/swapService/index.d.ts.map +1 -1
  103. package/dist/src/services/swapService/index.js.map +1 -1
  104. package/dist/src/services/swapService/swapService.d.ts +15 -0
  105. package/dist/src/services/swapService/swapService.d.ts.map +1 -1
  106. package/dist/src/services/swapService/swapService.js +217 -7
  107. package/dist/src/services/swapService/swapService.js.map +1 -1
  108. package/dist/src/services/swapService/swapServiceTypes.d.ts +33 -0
  109. package/dist/src/services/swapService/swapServiceTypes.d.ts.map +1 -1
  110. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts.map +1 -1
  111. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js +103 -140
  112. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js.map +1 -1
  113. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.d.ts +33 -33
  114. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.d.ts.map +1 -1
  115. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts +2 -2
  116. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts.map +1 -1
  117. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts +9 -9
  118. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts.map +1 -1
  119. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js +10 -10
  120. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js.map +1 -1
  121. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts +2 -2
  122. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts.map +1 -1
  123. package/dist/src/utils/accountComputations.d.ts.map +1 -1
  124. package/dist/src/utils/accountComputations.js +4 -2
  125. package/dist/src/utils/accountComputations.js.map +1 -1
  126. package/dist/src/utils/eulerLabels.d.ts.map +1 -1
  127. package/dist/src/utils/eulerLabels.js +4 -1
  128. package/dist/src/utils/eulerLabels.js.map +1 -1
  129. package/dist/src/utils/fallbackAdapter.d.ts +69 -0
  130. package/dist/src/utils/fallbackAdapter.d.ts.map +1 -0
  131. package/dist/src/utils/fallbackAdapter.js +139 -0
  132. package/dist/src/utils/fallbackAdapter.js.map +1 -0
  133. package/dist/src/utils/parsing.d.ts +17 -1
  134. package/dist/src/utils/parsing.d.ts.map +1 -1
  135. package/dist/src/utils/parsing.js +39 -0
  136. package/dist/src/utils/parsing.js.map +1 -1
  137. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cowSwapHelpers.d.ts","sourceRoot":"","sources":["../../../../src/services/executionService/cowSwapHelpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,524 @@
1
+ import { BaseError, compactSignatureToSignature, concat, encodeAbiParameters, getAddress, keccak256, parseCompactSignature, parseSignature, serializeSignature, toHex, } from "viem";
2
+ import { CLOSE_POSITION_PARAMS_COMPONENTS, COLLATERAL_SWAP_PARAMS_COMPONENTS, OPEN_POSITION_PARAMS_COMPONENTS, } from "./abis/cowSwapWrapperAbi.js";
3
+ export const COWSWAP_APPDATA_VERSION = "0.9.0";
4
+ export const COWSWAP_ORDER_POLL_INTERVAL_MS = 3_000;
5
+ export const COWSWAP_ORDER_POLL_MAX_DURATION_MS = 16 * 60 * 1_000;
6
+ export const INBOX_DOMAIN_NAME = "Inbox";
7
+ export const INBOX_DOMAIN_VERSION = "1";
8
+ const OMITTED_PERMIT_SIGNATURE = "0x";
9
+ export const COWSWAP_CHAIN_CONFIG = {
10
+ 1: {
11
+ orderbookUrl: "https://api.cow.fi/mainnet",
12
+ settlementContract: "0x9008D19f58AAbD9eD0D60971565AA8510560ab41",
13
+ vaultRelayer: "0xC92E8bdf79f0507f65a392b0ab4667716BFE0110",
14
+ openPositionWrapper: "0x59684A689D4a1CAc0f0632F54ec8cDd42612D728",
15
+ closePositionWrapper: "0xa18c87849eF90190117FF1E1e8b4acE6Dac7A54b",
16
+ collateralSwapWrapper: "0x175FBD01874e92C9b081F493371fEFE009760a42",
17
+ },
18
+ };
19
+ export function getCowSwapChainConfig(chainId) {
20
+ return COWSWAP_CHAIN_CONFIG[chainId];
21
+ }
22
+ export function getCowSwapOrderExplorerUrl(orderUid) {
23
+ return `https://explorer.cow.fi/orders/${orderUid}`;
24
+ }
25
+ function requireCowSwapChainConfig(chainId) {
26
+ const config = getCowSwapChainConfig(chainId);
27
+ if (!config)
28
+ throw new Error(`CoW swap is not configured for chain ${chainId}`);
29
+ return config;
30
+ }
31
+ const EVC_PERMIT_TYPES = {
32
+ Permit: [
33
+ { name: "signer", type: "address" },
34
+ { name: "sender", type: "address" },
35
+ { name: "nonceNamespace", type: "uint256" },
36
+ { name: "nonce", type: "uint256" },
37
+ { name: "deadline", type: "uint256" },
38
+ { name: "value", type: "uint256" },
39
+ { name: "data", type: "bytes" },
40
+ ],
41
+ };
42
+ const COW_ORDER_TYPES = {
43
+ Order: [
44
+ { name: "sellToken", type: "address" },
45
+ { name: "buyToken", type: "address" },
46
+ { name: "receiver", type: "address" },
47
+ { name: "sellAmount", type: "uint256" },
48
+ { name: "buyAmount", type: "uint256" },
49
+ { name: "validTo", type: "uint32" },
50
+ { name: "appData", type: "bytes32" },
51
+ { name: "feeAmount", type: "uint256" },
52
+ { name: "kind", type: "string" },
53
+ { name: "partiallyFillable", type: "bool" },
54
+ { name: "sellTokenBalance", type: "string" },
55
+ { name: "buyTokenBalance", type: "string" },
56
+ ],
57
+ };
58
+ const OPEN_POSITION_WRAPPER_DATA_ABI = [
59
+ { type: "tuple", components: OPEN_POSITION_PARAMS_COMPONENTS },
60
+ { type: "bytes" },
61
+ ];
62
+ const COLLATERAL_SWAP_WRAPPER_DATA_ABI = [
63
+ { type: "tuple", components: COLLATERAL_SWAP_PARAMS_COMPONENTS },
64
+ { type: "bytes" },
65
+ ];
66
+ const CLOSE_POSITION_WRAPPER_DATA_ABI = [
67
+ { type: "tuple", components: CLOSE_POSITION_PARAMS_COMPONENTS },
68
+ { type: "bytes" },
69
+ ];
70
+ export function computeNonceNamespace(sender) {
71
+ return BigInt(sender);
72
+ }
73
+ export function buildEvcPermitTypedData(params) {
74
+ return {
75
+ domain: {
76
+ name: "Ethereum Vault Connector",
77
+ chainId: BigInt(params.chainId),
78
+ verifyingContract: params.evcAddress,
79
+ },
80
+ types: EVC_PERMIT_TYPES,
81
+ primaryType: "Permit",
82
+ message: {
83
+ signer: params.signer,
84
+ sender: params.sender,
85
+ nonceNamespace: params.nonceNamespace,
86
+ nonce: params.nonce,
87
+ deadline: BigInt(params.deadline),
88
+ value: params.value ?? 0n,
89
+ data: params.data,
90
+ },
91
+ };
92
+ }
93
+ export function buildOpenPositionWrapperData(params, permitSignature) {
94
+ return encodeAbiParameters(OPEN_POSITION_WRAPPER_DATA_ABI, [
95
+ {
96
+ owner: params.owner,
97
+ account: params.account,
98
+ deadline: BigInt(params.deadline),
99
+ collateralVault: params.collateralVault,
100
+ borrowVault: params.borrowVault,
101
+ collateralAmount: params.collateralAmount,
102
+ borrowAmount: params.borrowAmount,
103
+ },
104
+ permitSignature,
105
+ ]);
106
+ }
107
+ export function buildCollateralSwapWrapperData(params, permitSignature) {
108
+ return encodeAbiParameters(COLLATERAL_SWAP_WRAPPER_DATA_ABI, [
109
+ {
110
+ owner: params.owner,
111
+ account: params.account,
112
+ deadline: BigInt(params.deadline),
113
+ fromVault: params.fromVault,
114
+ toVault: params.toVault,
115
+ fromAmount: params.fromAmount,
116
+ disableSourceCollateral: params.disableSourceCollateral,
117
+ },
118
+ permitSignature,
119
+ ]);
120
+ }
121
+ export function buildClosePositionWrapperData(params, permitSignature) {
122
+ return encodeAbiParameters(CLOSE_POSITION_WRAPPER_DATA_ABI, [
123
+ {
124
+ owner: params.owner,
125
+ account: params.account,
126
+ deadline: BigInt(params.deadline),
127
+ borrowVault: params.borrowVault,
128
+ collateralVault: params.collateralVault,
129
+ collateralAmount: params.collateralAmount,
130
+ },
131
+ permitSignature,
132
+ ]);
133
+ }
134
+ export function buildCowSwapAppData(wrapperData, wrapperAddress, slippageBips, appCode = "euler_position_open") {
135
+ const appData = {
136
+ appCode,
137
+ version: COWSWAP_APPDATA_VERSION,
138
+ metadata: {
139
+ orderClass: { orderClass: "market" },
140
+ quote: { slippageBips, smartSlippage: false },
141
+ wrappers: [
142
+ {
143
+ address: wrapperAddress,
144
+ data: wrapperData,
145
+ isOmittable: false,
146
+ },
147
+ ],
148
+ },
149
+ };
150
+ const appDataString = JSON.stringify(appData);
151
+ return { appDataString, appDataHash: keccak256(toHex(appDataString)) };
152
+ }
153
+ export function buildOpenPositionQuoteAppData(params, wrapperAddress, slippageBips) {
154
+ return buildCowSwapAppData(buildOpenPositionWrapperData(params, OMITTED_PERMIT_SIGNATURE), wrapperAddress, slippageBips).appDataString;
155
+ }
156
+ export function buildCollateralSwapQuoteAppData(params, wrapperAddress, slippageBips) {
157
+ return buildCowSwapAppData(buildCollateralSwapWrapperData(params, OMITTED_PERMIT_SIGNATURE), wrapperAddress, slippageBips, "euler_position_collateral_swap").appDataString;
158
+ }
159
+ export function buildClosePositionQuoteAppData(params, wrapperAddress, slippageBips) {
160
+ return buildCowSwapAppData(buildClosePositionWrapperData(params, OMITTED_PERMIT_SIGNATURE), wrapperAddress, slippageBips, "euler_position_close").appDataString;
161
+ }
162
+ export function buildCowSwapOrderTypedData(params) {
163
+ const domain = {
164
+ name: params.domainName ?? "Gnosis Protocol",
165
+ version: params.domainVersion ?? "v2",
166
+ chainId: BigInt(params.chainId),
167
+ verifyingContract: getAddress(params.verifyingContract ?? params.settlementContract),
168
+ };
169
+ const message = {
170
+ sellToken: params.sellToken,
171
+ buyToken: params.buyToken,
172
+ receiver: params.receiver,
173
+ sellAmount: params.sellAmount,
174
+ buyAmount: params.buyAmount,
175
+ validTo: params.validTo,
176
+ appData: params.appDataHash,
177
+ feeAmount: 0n,
178
+ kind: params.kind ?? "sell",
179
+ partiallyFillable: false,
180
+ sellTokenBalance: "erc20",
181
+ buyTokenBalance: "erc20",
182
+ };
183
+ return {
184
+ domain,
185
+ types: COW_ORDER_TYPES,
186
+ primaryType: "Order",
187
+ message,
188
+ };
189
+ }
190
+ export function buildCowSwapOrderPayload(typedData, signature, from, appDataString, appDataHash, options) {
191
+ const { message } = typedData;
192
+ return {
193
+ sellToken: message.sellToken,
194
+ buyToken: message.buyToken,
195
+ from,
196
+ receiver: message.receiver,
197
+ sellAmount: message.sellAmount.toString(),
198
+ buyAmount: message.buyAmount.toString(),
199
+ feeAmount: message.feeAmount.toString(),
200
+ kind: message.kind,
201
+ partiallyFillable: message.partiallyFillable,
202
+ validTo: message.validTo,
203
+ sellTokenBalance: message.sellTokenBalance,
204
+ buyTokenBalance: message.buyTokenBalance,
205
+ signature,
206
+ signingScheme: options?.signingScheme ?? "eip712",
207
+ onchainOrder: false,
208
+ appData: appDataString,
209
+ appDataHash,
210
+ quoteId: options?.quoteId,
211
+ };
212
+ }
213
+ const COW_CANCEL_TYPES = {
214
+ OrderCancellations: [{ name: "orderUids", type: "bytes[]" }],
215
+ };
216
+ export function buildCowSwapCancelOrderTypedData(params) {
217
+ const settlementContract = params.settlementContract ??
218
+ requireCowSwapChainConfig(params.chainId).settlementContract;
219
+ return {
220
+ domain: {
221
+ name: "Gnosis Protocol",
222
+ version: "v2",
223
+ chainId: BigInt(params.chainId),
224
+ verifyingContract: settlementContract,
225
+ },
226
+ types: COW_CANCEL_TYPES,
227
+ primaryType: "OrderCancellations",
228
+ message: {
229
+ orderUids: [params.orderUid],
230
+ },
231
+ };
232
+ }
233
+ const STANDARD_SIGNATURE_HEX_LENGTH = 132;
234
+ const COMPACT_SIGNATURE_HEX_LENGTH = 130;
235
+ export function normalizeCowSignature(signature) {
236
+ if (signature.length === STANDARD_SIGNATURE_HEX_LENGTH) {
237
+ return serializeSignature(parseSignature(signature));
238
+ }
239
+ if (signature.length === COMPACT_SIGNATURE_HEX_LENGTH) {
240
+ return serializeSignature(compactSignatureToSignature(parseCompactSignature(signature)));
241
+ }
242
+ throw new Error(`Unsupported signature length: ${signature.length}`);
243
+ }
244
+ const KIND_SELL = keccak256(toHex("sell"));
245
+ const KIND_BUY = keccak256(toHex("buy"));
246
+ const BALANCE_ERC20 = keccak256(toHex("erc20"));
247
+ const ORDER_ENCODE_DATA_ABI = [
248
+ { type: "address" },
249
+ { type: "address" },
250
+ { type: "address" },
251
+ { type: "uint256" },
252
+ { type: "uint256" },
253
+ { type: "uint32" },
254
+ { type: "bytes32" },
255
+ { type: "uint256" },
256
+ { type: "bytes32" },
257
+ { type: "bool" },
258
+ { type: "bytes32" },
259
+ { type: "bytes32" },
260
+ ];
261
+ export function encodeOrderDataForInbox(order) {
262
+ return encodeAbiParameters(ORDER_ENCODE_DATA_ABI, [
263
+ order.sellToken,
264
+ order.buyToken,
265
+ order.receiver,
266
+ order.sellAmount,
267
+ order.buyAmount,
268
+ order.validTo,
269
+ order.appData,
270
+ order.feeAmount,
271
+ order.kind === "sell" ? KIND_SELL : KIND_BUY,
272
+ order.partiallyFillable,
273
+ BALANCE_ERC20,
274
+ BALANCE_ERC20,
275
+ ]);
276
+ }
277
+ export function buildInboxSignature(ecdsaSignature, orderEncodeData) {
278
+ return concat([ecdsaSignature, orderEncodeData]);
279
+ }
280
+ export function verifyInboxDomainSeparator(inboxAddress, chainId, expectedDomainSep) {
281
+ const domainTypeHash = keccak256(toHex("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"));
282
+ const nameHash = keccak256(toHex(INBOX_DOMAIN_NAME));
283
+ const versionHash = keccak256(toHex(INBOX_DOMAIN_VERSION));
284
+ const computed = keccak256(encodeAbiParameters([
285
+ { type: "bytes32" },
286
+ { type: "bytes32" },
287
+ { type: "bytes32" },
288
+ { type: "uint256" },
289
+ { type: "address" },
290
+ ], [
291
+ domainTypeHash,
292
+ nameHash,
293
+ versionHash,
294
+ BigInt(chainId),
295
+ getAddress(inboxAddress),
296
+ ]));
297
+ if (computed !== expectedDomainSep) {
298
+ throw new Error(`Inbox domain separator mismatch: computed ${computed}, expected ${expectedDomainSep}`);
299
+ }
300
+ }
301
+ export async function submitCowSwapOrder(payload, orderbookUrl) {
302
+ const res = await fetch(`${orderbookUrl}/api/v1/orders`, {
303
+ method: "POST",
304
+ headers: { Accept: "application/json", "Content-Type": "application/json" },
305
+ body: JSON.stringify(payload),
306
+ });
307
+ if (!res.ok) {
308
+ const text = await res.text();
309
+ throw new Error(`CoW API ${res.status}: ${text.slice(0, 500)}`);
310
+ }
311
+ const data = await res.json();
312
+ if (typeof data === "string")
313
+ return data;
314
+ if (data && typeof data === "object" && "uid" in data) {
315
+ const uid = data.uid;
316
+ if (typeof uid === "string")
317
+ return uid;
318
+ }
319
+ throw new Error("Unexpected CoW order response format");
320
+ }
321
+ const COMPETITION_STATUS_TYPES = new Set([
322
+ "open",
323
+ "scheduled",
324
+ "active",
325
+ "solved",
326
+ "executing",
327
+ "traded",
328
+ "cancelled",
329
+ ]);
330
+ const ORDER_STATUS_TYPES = new Set([
331
+ "presignaturePending",
332
+ "open",
333
+ "fulfilled",
334
+ "cancelled",
335
+ "expired",
336
+ ]);
337
+ const TERMINAL_STATUS_TYPES = new Set([
338
+ "traded",
339
+ "fulfilled",
340
+ "cancelled",
341
+ "expired",
342
+ ]);
343
+ function normalizeCowSwapCompetitionStatus(type) {
344
+ if (typeof type !== "string")
345
+ return undefined;
346
+ return COMPETITION_STATUS_TYPES.has(type)
347
+ ? type
348
+ : undefined;
349
+ }
350
+ function normalizeCowSwapLifecycleStatus(status) {
351
+ if (typeof status !== "string")
352
+ return undefined;
353
+ return ORDER_STATUS_TYPES.has(status)
354
+ ? status
355
+ : undefined;
356
+ }
357
+ export function resolveCowSwapOrderStatusType(params) {
358
+ if (params.competitionType === "traded")
359
+ return "traded";
360
+ if (params.orderType === "fulfilled")
361
+ return "fulfilled";
362
+ if (params.orderType === "cancelled")
363
+ return "cancelled";
364
+ if (params.orderType === "expired")
365
+ return "expired";
366
+ if (params.competitionType === "cancelled")
367
+ return "cancelled";
368
+ if (params.orderType)
369
+ return params.orderType;
370
+ if (params.competitionType)
371
+ return params.competitionType;
372
+ return "unknown";
373
+ }
374
+ export function isCowSwapTerminalOrderStatus(type) {
375
+ if (!type)
376
+ return false;
377
+ return TERMINAL_STATUS_TYPES.has(type);
378
+ }
379
+ function getCowSwapOrderbookUrl(args) {
380
+ if (args.orderbookUrl)
381
+ return args.orderbookUrl;
382
+ if (args.chainId == null) {
383
+ throw new Error("CoW orderbook URL requires orderbookUrl or chainId");
384
+ }
385
+ return requireCowSwapChainConfig(args.chainId).orderbookUrl;
386
+ }
387
+ async function fetchCowSwapJson(url, signal) {
388
+ const res = await fetch(url, {
389
+ headers: { Accept: "application/json" },
390
+ signal,
391
+ });
392
+ if (!res.ok) {
393
+ const text = await res.text();
394
+ throw new Error(`CoW API ${res.status}: ${text.slice(0, 300)}`);
395
+ }
396
+ return (await res.json());
397
+ }
398
+ export async function fetchCowSwapOrderStatus(args) {
399
+ const orderbookUrl = getCowSwapOrderbookUrl(args);
400
+ const [competitionResult, orderResult] = await Promise.allSettled([
401
+ fetchCowSwapJson(`${orderbookUrl}/api/v1/orders/${args.orderUid}/status`, args.signal),
402
+ fetchCowSwapJson(`${orderbookUrl}/api/v1/orders/${args.orderUid}`, args.signal),
403
+ ]);
404
+ if (competitionResult.status === "rejected" &&
405
+ orderResult.status === "rejected") {
406
+ throw new Error(`Failed to fetch CoW order status for ${args.orderUid}`);
407
+ }
408
+ const competitionType = competitionResult.status === "fulfilled"
409
+ ? normalizeCowSwapCompetitionStatus(competitionResult.value.type)
410
+ : undefined;
411
+ const orderType = orderResult.status === "fulfilled"
412
+ ? normalizeCowSwapLifecycleStatus(orderResult.value.status)
413
+ : undefined;
414
+ const type = resolveCowSwapOrderStatusType({ competitionType, orderType });
415
+ return {
416
+ type,
417
+ competitionType,
418
+ orderType,
419
+ terminal: isCowSwapTerminalOrderStatus(type),
420
+ };
421
+ }
422
+ function throwIfAborted(signal) {
423
+ if (!signal?.aborted)
424
+ return;
425
+ const error = new Error("CoW order status polling aborted");
426
+ error.name = "AbortError";
427
+ throw error;
428
+ }
429
+ async function delay(ms, signal) {
430
+ throwIfAborted(signal);
431
+ await new Promise((resolve, reject) => {
432
+ const timeout = setTimeout(resolve, ms);
433
+ signal?.addEventListener("abort", () => {
434
+ clearTimeout(timeout);
435
+ const error = new Error("CoW order status polling aborted");
436
+ error.name = "AbortError";
437
+ reject(error);
438
+ }, { once: true });
439
+ });
440
+ }
441
+ export async function pollCowSwapOrderStatus(args) {
442
+ const intervalMs = args.intervalMs ?? COWSWAP_ORDER_POLL_INTERVAL_MS;
443
+ const timeoutMs = args.timeoutMs ?? COWSWAP_ORDER_POLL_MAX_DURATION_MS;
444
+ const startedAt = Date.now();
445
+ for (;;) {
446
+ throwIfAborted(args.signal);
447
+ const status = await fetchCowSwapOrderStatus(args);
448
+ args.onStatus?.(status);
449
+ if (status.terminal)
450
+ return status;
451
+ if (Date.now() - startedAt >= timeoutMs) {
452
+ throw new Error(`Timed out polling CoW order ${args.orderUid} after ${timeoutMs}ms`);
453
+ }
454
+ await delay(intervalMs, args.signal);
455
+ }
456
+ }
457
+ const MAX_CANCEL_ERROR_MESSAGE_LENGTH = 180;
458
+ const MAX_COW_SWAP_ERROR_MESSAGE_LENGTH = 180;
459
+ function trimCowSwapDiagnosticDetails(message) {
460
+ const diagnosticIndex = [
461
+ "Request Arguments:",
462
+ "Contract Call:",
463
+ "Details:",
464
+ "Version:",
465
+ ]
466
+ .map((marker) => message.indexOf(marker))
467
+ .filter((index) => index >= 0)
468
+ .sort((a, b) => a - b)[0];
469
+ return (diagnosticIndex === undefined ? message : message.slice(0, diagnosticIndex)).trim();
470
+ }
471
+ function truncateCowSwapMessage(message) {
472
+ if (message.length <= MAX_COW_SWAP_ERROR_MESSAGE_LENGTH)
473
+ return message;
474
+ return `${message.slice(0, MAX_COW_SWAP_ERROR_MESSAGE_LENGTH).trimEnd()}...`;
475
+ }
476
+ export function formatCowSwapExecutionErrorMessage(error) {
477
+ const shortMessage = error instanceof BaseError ? error.shortMessage : error.message;
478
+ const cleaned = trimCowSwapDiagnosticDetails(shortMessage || error.message);
479
+ return truncateCowSwapMessage(cleaned || "Something went wrong");
480
+ }
481
+ function truncateCowSwapErrorMessage(message) {
482
+ if (message.length <= MAX_CANCEL_ERROR_MESSAGE_LENGTH)
483
+ return message;
484
+ return `${message.slice(0, MAX_CANCEL_ERROR_MESSAGE_LENGTH).trimEnd()}...`;
485
+ }
486
+ function extractCowSwapErrorMessage(text) {
487
+ try {
488
+ const parsed = JSON.parse(text);
489
+ if (parsed && typeof parsed === "object") {
490
+ const record = parsed;
491
+ const type = typeof record.errorType === "string" ? record.errorType : undefined;
492
+ const detail = [record.description, record.message, record.error].find((value) => typeof value === "string");
493
+ return [type, detail].filter(Boolean).join(": ") || text;
494
+ }
495
+ }
496
+ catch {
497
+ return text;
498
+ }
499
+ return text;
500
+ }
501
+ export async function cancelCowSwapOrder(args) {
502
+ const orderbookUrl = getCowSwapOrderbookUrl(args);
503
+ const typedData = buildCowSwapCancelOrderTypedData({
504
+ orderUid: args.orderUid,
505
+ chainId: args.chainId,
506
+ settlementContract: args.settlementContract,
507
+ });
508
+ const signature = await args.signTypedData(typedData);
509
+ const res = await fetch(`${orderbookUrl}/api/v1/orders`, {
510
+ method: "DELETE",
511
+ headers: { Accept: "application/json", "Content-Type": "application/json" },
512
+ body: JSON.stringify({
513
+ orderUids: [args.orderUid],
514
+ signature,
515
+ signingScheme: "eip712",
516
+ }),
517
+ signal: args.signal,
518
+ });
519
+ if (!res.ok) {
520
+ const text = await res.text();
521
+ throw new Error(`CoW cancel API ${res.status}: ${truncateCowSwapErrorMessage(extractCowSwapErrorMessage(text))}`);
522
+ }
523
+ }
524
+ //# sourceMappingURL=cowSwapHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cowSwapHelpers.js","sourceRoot":"","sources":["../../../../src/services/executionService/cowSwapHelpers.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { type Address, type Hash, type Hex, type TransactionReceipt } from "viem";
2
+ import type { AddressOrAccount } from "../../entities/Account.js";
3
+ import { type DecodedSmartContractError } from "../../utils/decodeSmartContractErrors.js";
2
4
  import type { IDeploymentService } from "../deploymentService/index.js";
3
5
  import type { ProviderService } from "../providerService/index.js";
4
6
  import type { IExecutionService } from "./executionService.js";
5
- import type { PermitSingleTypedData, TransactionPlan, TransactionPlanItem } from "./executionServiceTypes.js";
6
- import { type DecodedSmartContractError } from "../../utils/decodeSmartContractErrors.js";
7
- import type { AddressOrAccount } from "../../entities/Account.js";
7
+ import type { PermitSingleTypedData, TransactionPlan, TransactionPlanItem, TransactionPlanPrepared } from "./executionServiceTypes.js";
8
8
  export type TransactionPlanExecutionStatus = "approval" | "permit2Signature" | "evcBatch" | "contractCall" | "completed";
9
9
  export type TransactionPlanExecutionProgress = {
10
10
  completed: number;
@@ -42,11 +42,26 @@ export type ExecuteTransactionPlanArgs = {
42
42
  unlimitedApproval?: boolean;
43
43
  onProgress?: (progress: TransactionPlanExecutionProgress) => void;
44
44
  };
45
+ /**
46
+ * Execute against a {@link TransactionPlanPrepared} envelope produced by
47
+ * {@link IExecutionService.prepareTransactionPlan}. Plugins and required-approval
48
+ * resolution have already run, so execution skips them — the executor walks the
49
+ * envelope's plan as-is.
50
+ */
51
+ export type ExecutePreparedTransactionPlanArgs = {
52
+ prepared: TransactionPlanPrepared;
53
+ sendTransaction: (parameters: TransactionPlanTransactionRequest) => Promise<Hash>;
54
+ signTypedData?: (parameters: TransactionPlanSignTypedDataRequest) => Promise<Hex>;
55
+ onProgress?: (progress: TransactionPlanExecutionProgress) => void;
56
+ };
45
57
  export type ExecuteTransactionPlanInternalArgs = ExecuteTransactionPlanArgs & {
46
58
  plan: TransactionPlan;
47
59
  executionService: IExecutionService;
48
60
  deploymentService: IDeploymentService;
49
61
  providerService: ProviderService;
62
+ /** When true, skip wallet fetch + resolveRequiredApprovals — the plan's
63
+ * requiredApproval items already have `.resolved` populated. */
64
+ alreadyResolved?: boolean;
50
65
  };
51
66
  export declare class TransactionPlanExecutionError extends Error {
52
67
  readonly decodedErrors: DecodedSmartContractError[];
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../../src/services/executionService/execute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../../src/services/executionService/execute.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { encodeFunctionData, maxUint256, } from "viem";
2
- import { flattenBatchEntries } from "./executionServiceTypes.js";
3
2
  import { decodeSmartContractErrors, } from "../../utils/decodeSmartContractErrors.js";
3
+ import { assertNoCowSwapPlanItems, flattenBatchEntries, } from "./executionServiceTypes.js";
4
4
  const PERMIT2_ALLOWANCE_ABI = [
5
5
  {
6
6
  name: "allowance",
@@ -39,6 +39,7 @@ async function waitForSuccessfulReceipt(publicClient, hash) {
39
39
  return receipt;
40
40
  }
41
41
  async function maybeResolveApprovals(args) {
42
+ assertNoCowSwapPlanItems(args.plan, "executeTransactionPlan");
42
43
  const owner = typeof args.account === "string" ? args.account : args.account.owner;
43
44
  return args.executionService.resolveRequiredApprovals({
44
45
  plan: args.plan,
@@ -67,8 +68,11 @@ async function executeWithDecodedErrors(fn) {
67
68
  * during a `requiredApproval` are prepended to the next `evcBatch` item.
68
69
  */
69
70
  export async function executeTransactionPlan(args) {
71
+ assertNoCowSwapPlanItems(args.plan, "executeTransactionPlan");
70
72
  const publicClient = args.providerService.getProvider(args.chainId);
71
- const plan = await maybeResolveApprovals(args);
73
+ const plan = args.alreadyResolved
74
+ ? args.plan
75
+ : await maybeResolveApprovals(args);
72
76
  const hashes = [];
73
77
  const receipts = [];
74
78
  const permit2BatchItems = [];
@@ -157,6 +161,9 @@ export async function executeTransactionPlan(args) {
157
161
  emitProgress(item, "completed", hash);
158
162
  continue;
159
163
  }
164
+ if (item.type === "cowSwap") {
165
+ throw new Error("ExecutionService.executeTransactionPlan does not support CoW swap plans in the low-level executor. Use ExecutionService.executeCowSwapTransactionPlan.");
166
+ }
160
167
  if (item.chainId !== args.chainId) {
161
168
  throw new Error(`Plan item targets chain ${item.chainId}, but executor is configured for chain ${args.chainId}`);
162
169
  }