@debridge-finance/borderless-validation-sdk 0.0.4 → 0.0.6

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 (139) hide show
  1. package/dist/cjs/helpers/evm-action.js +6 -4
  2. package/dist/cjs/helpers/evm-action.js.map +1 -1
  3. package/dist/cjs/helpers/evm-trade-amounts.js +24 -43
  4. package/dist/cjs/helpers/evm-trade-amounts.js.map +1 -1
  5. package/dist/cjs/helpers/expected-delegate.js +44 -0
  6. package/dist/cjs/helpers/expected-delegate.js.map +1 -0
  7. package/dist/cjs/types/request.js +2 -0
  8. package/dist/cjs/types/request.js.map +1 -1
  9. package/dist/cjs/types/response.js +1 -0
  10. package/dist/cjs/types/response.js.map +1 -1
  11. package/dist/cjs/types/validation.js +35 -0
  12. package/dist/cjs/types/validation.js.map +1 -1
  13. package/dist/cjs/validations/accumulative-token.js +271 -0
  14. package/dist/cjs/validations/accumulative-token.js.map +1 -0
  15. package/dist/cjs/validations/cost-token.js +56 -0
  16. package/dist/cjs/validations/cost-token.js.map +1 -0
  17. package/dist/cjs/validations/evm-op-budget.js +4 -4
  18. package/dist/cjs/validations/evm-op-budget.js.map +1 -1
  19. package/dist/cjs/validations/evm-op-hook.js +60 -4
  20. package/dist/cjs/validations/evm-op-hook.js.map +1 -1
  21. package/dist/cjs/validations/evm-op-wrap.js +4 -4
  22. package/dist/cjs/validations/evm-op-wrap.js.map +1 -1
  23. package/dist/cjs/validations/evm-required-actions.js +9 -4
  24. package/dist/cjs/validations/evm-required-actions.js.map +1 -1
  25. package/dist/cjs/validations/evm-sign712-metamask.js +46 -2
  26. package/dist/cjs/validations/evm-sign712-metamask.js.map +1 -1
  27. package/dist/cjs/validations/intent-tokens.js +32 -26
  28. package/dist/cjs/validations/intent-tokens.js.map +1 -1
  29. package/dist/cjs/validations/intent.js +44 -10
  30. package/dist/cjs/validations/intent.js.map +1 -1
  31. package/dist/cjs/validations/ptp.js +156 -0
  32. package/dist/cjs/validations/ptp.js.map +1 -0
  33. package/dist/cjs/validations/solana-hook.js +10 -0
  34. package/dist/cjs/validations/solana-hook.js.map +1 -1
  35. package/dist/cjs/validations/solana-op-budget.js +18 -39
  36. package/dist/cjs/validations/solana-op-budget.js.map +1 -1
  37. package/dist/cjs/validations/solana-op-wrap.js +26 -32
  38. package/dist/cjs/validations/solana-op-wrap.js.map +1 -1
  39. package/dist/cjs/validations/solana-transaction.js +29 -4
  40. package/dist/cjs/validations/solana-transaction.js.map +1 -1
  41. package/dist/cjs/validations/total-dst-amount.js +418 -0
  42. package/dist/cjs/validations/total-dst-amount.js.map +1 -0
  43. package/dist/cjs/validations/trade-grouping.js +8 -2
  44. package/dist/cjs/validations/trade-grouping.js.map +1 -1
  45. package/dist/cjs/validations/trades.js +329 -36
  46. package/dist/cjs/validations/trades.js.map +1 -1
  47. package/dist/cjs/validator.js +10 -1
  48. package/dist/cjs/validator.js.map +1 -1
  49. package/dist/cjs/whitelists/environment-config.js +21 -0
  50. package/dist/cjs/whitelists/environment-config.js.map +1 -1
  51. package/dist/cjs/whitelists/types.js.map +1 -1
  52. package/dist/esm/helpers/evm-action.js +6 -4
  53. package/dist/esm/helpers/evm-action.js.map +1 -1
  54. package/dist/esm/helpers/evm-trade-amounts.js +25 -44
  55. package/dist/esm/helpers/evm-trade-amounts.js.map +1 -1
  56. package/dist/esm/helpers/expected-delegate.js +39 -0
  57. package/dist/esm/helpers/expected-delegate.js.map +1 -0
  58. package/dist/esm/types/request.js +2 -0
  59. package/dist/esm/types/request.js.map +1 -1
  60. package/dist/esm/types/response.js +1 -0
  61. package/dist/esm/types/response.js.map +1 -1
  62. package/dist/esm/types/validation.js +35 -0
  63. package/dist/esm/types/validation.js.map +1 -1
  64. package/dist/esm/validations/accumulative-token.js +268 -0
  65. package/dist/esm/validations/accumulative-token.js.map +1 -0
  66. package/dist/esm/validations/cost-token.js +53 -0
  67. package/dist/esm/validations/cost-token.js.map +1 -0
  68. package/dist/esm/validations/evm-op-budget.js +4 -4
  69. package/dist/esm/validations/evm-op-budget.js.map +1 -1
  70. package/dist/esm/validations/evm-op-hook.js +60 -4
  71. package/dist/esm/validations/evm-op-hook.js.map +1 -1
  72. package/dist/esm/validations/evm-op-wrap.js +4 -4
  73. package/dist/esm/validations/evm-op-wrap.js.map +1 -1
  74. package/dist/esm/validations/evm-required-actions.js +9 -4
  75. package/dist/esm/validations/evm-required-actions.js.map +1 -1
  76. package/dist/esm/validations/evm-sign712-metamask.js +46 -2
  77. package/dist/esm/validations/evm-sign712-metamask.js.map +1 -1
  78. package/dist/esm/validations/intent-tokens.js +33 -27
  79. package/dist/esm/validations/intent-tokens.js.map +1 -1
  80. package/dist/esm/validations/intent.js +44 -10
  81. package/dist/esm/validations/intent.js.map +1 -1
  82. package/dist/esm/validations/ptp.js +153 -0
  83. package/dist/esm/validations/ptp.js.map +1 -0
  84. package/dist/esm/validations/solana-hook.js +11 -1
  85. package/dist/esm/validations/solana-hook.js.map +1 -1
  86. package/dist/esm/validations/solana-op-budget.js +19 -40
  87. package/dist/esm/validations/solana-op-budget.js.map +1 -1
  88. package/dist/esm/validations/solana-op-wrap.js +27 -33
  89. package/dist/esm/validations/solana-op-wrap.js.map +1 -1
  90. package/dist/esm/validations/solana-transaction.js +29 -4
  91. package/dist/esm/validations/solana-transaction.js.map +1 -1
  92. package/dist/esm/validations/total-dst-amount.js +415 -0
  93. package/dist/esm/validations/total-dst-amount.js.map +1 -0
  94. package/dist/esm/validations/trade-grouping.js +8 -2
  95. package/dist/esm/validations/trade-grouping.js.map +1 -1
  96. package/dist/esm/validations/trades.js +329 -36
  97. package/dist/esm/validations/trades.js.map +1 -1
  98. package/dist/esm/validator.js +10 -1
  99. package/dist/esm/validator.js.map +1 -1
  100. package/dist/esm/whitelists/environment-config.js +21 -0
  101. package/dist/esm/whitelists/environment-config.js.map +1 -1
  102. package/dist/esm/whitelists/types.js.map +1 -1
  103. package/dist/types/helpers/evm-action.d.ts.map +1 -1
  104. package/dist/types/helpers/evm-trade-amounts.d.ts +1 -1
  105. package/dist/types/helpers/evm-trade-amounts.d.ts.map +1 -1
  106. package/dist/types/helpers/expected-delegate.d.ts +7 -0
  107. package/dist/types/helpers/expected-delegate.d.ts.map +1 -0
  108. package/dist/types/types/request.d.ts +2 -0
  109. package/dist/types/types/request.d.ts.map +1 -1
  110. package/dist/types/types/response.d.ts +1 -0
  111. package/dist/types/types/response.d.ts.map +1 -1
  112. package/dist/types/types/validation.d.ts +31 -0
  113. package/dist/types/types/validation.d.ts.map +1 -1
  114. package/dist/types/validations/accumulative-token.d.ts +3 -0
  115. package/dist/types/validations/accumulative-token.d.ts.map +1 -0
  116. package/dist/types/validations/cost-token.d.ts +3 -0
  117. package/dist/types/validations/cost-token.d.ts.map +1 -0
  118. package/dist/types/validations/evm-op-hook.d.ts.map +1 -1
  119. package/dist/types/validations/evm-required-actions.d.ts.map +1 -1
  120. package/dist/types/validations/evm-sign712-metamask.d.ts +1 -1
  121. package/dist/types/validations/evm-sign712-metamask.d.ts.map +1 -1
  122. package/dist/types/validations/intent-tokens.d.ts.map +1 -1
  123. package/dist/types/validations/intent.d.ts.map +1 -1
  124. package/dist/types/validations/ptp.d.ts +3 -0
  125. package/dist/types/validations/ptp.d.ts.map +1 -0
  126. package/dist/types/validations/solana-hook.d.ts.map +1 -1
  127. package/dist/types/validations/solana-op-budget.d.ts.map +1 -1
  128. package/dist/types/validations/solana-op-wrap.d.ts.map +1 -1
  129. package/dist/types/validations/solana-transaction.d.ts.map +1 -1
  130. package/dist/types/validations/total-dst-amount.d.ts +3 -0
  131. package/dist/types/validations/total-dst-amount.d.ts.map +1 -0
  132. package/dist/types/validations/trade-grouping.d.ts +1 -1
  133. package/dist/types/validations/trade-grouping.d.ts.map +1 -1
  134. package/dist/types/validations/trades.d.ts.map +1 -1
  135. package/dist/types/validator.d.ts.map +1 -1
  136. package/dist/types/whitelists/environment-config.d.ts.map +1 -1
  137. package/dist/types/whitelists/types.d.ts +1 -0
  138. package/dist/types/whitelists/types.d.ts.map +1 -1
  139. package/package.json +1 -1
@@ -0,0 +1,268 @@
1
+ import { ViolationCode, } from "../types/index.js";
2
+ import { resolveChainId } from "../whitelists/subscription-to-chain-id.js";
3
+ import { addressEquals } from "../helpers/address.js";
4
+ // CRITICAL: `accumulativeTokenInput[]` must be a faithful recomputation of
5
+ // `response.trades[]` grouped by (`chainId`, `tokenAddress`, `srcChainAuthorityAddress`).
6
+ // CRITICAL: `accumulativeTokenOutput[]` must be a faithful recomputation of
7
+ // `response.trades[]` grouped by (`chainId`, `tokenAddress`, `dstChainTokenOutRecipient`).
8
+ // In quote mode authority/recipient is absent from response — SDK groups by
9
+ // (`chainId`, `tokenAddress`) only and skips spender/recipient comparison.
10
+ export function validateAccumulativeTokens(response, quoteMode) {
11
+ return [
12
+ ...validateAccumulativeTokenInput(response, quoteMode),
13
+ ...validateAccumulativeTokenOutput(response, quoteMode),
14
+ ];
15
+ }
16
+ function validateAccumulativeTokenInput(response, quoteMode) {
17
+ const violations = [];
18
+ const groups = buildInputGroups(response.trades, quoteMode, violations);
19
+ if (violations.length > 0) {
20
+ // Amount parse error — skip the rest of the recomputation; the per-trade
21
+ // amount validation produces its own report on the same root cause.
22
+ return violations;
23
+ }
24
+ const actual = response.accumulativeTokenInput;
25
+ // CRITICAL: element count equals number of unique groups
26
+ if (actual.length !== groups.length) {
27
+ violations.push({
28
+ code: ViolationCode.AccumulativeTokenInputCountMismatch,
29
+ message: "response.accumulativeTokenInput.length"
30
+ + " does not match the number of unique trade groups",
31
+ path: "response.accumulativeTokenInput",
32
+ expected: groups.length,
33
+ actual: actual.length,
34
+ });
35
+ }
36
+ for (const group of groups) {
37
+ const found = findInputMatch(group, actual, quoteMode);
38
+ if (found === undefined) {
39
+ violations.push({
40
+ code: ViolationCode.AccumulativeTokenInputGroupNotFound,
41
+ message: "no accumulativeTokenInput entry matches a"
42
+ + " (chainId, tokenAddress" + (quoteMode ? "" : ", spenderAddress") + ") group",
43
+ path: "response.accumulativeTokenInput",
44
+ expected: {
45
+ chainId: group.chainId,
46
+ tokenAddress: group.tokenAddress,
47
+ spenderAddress: group.spenderAddress,
48
+ },
49
+ });
50
+ continue;
51
+ }
52
+ violations.push(...validateInputEntry(group, actual[found], found));
53
+ }
54
+ return violations;
55
+ }
56
+ function buildInputGroups(trades, quoteMode, violations) {
57
+ const groups = [];
58
+ for (let i = 0; i < trades.length; i++) {
59
+ const trade = trades[i];
60
+ const token = trade.srcChainTokenIn;
61
+ const realChainId = resolveChainId(token.chainId);
62
+ // Safe skip: unknown subscriptionId already reported as UnknownSubscriptionId.
63
+ if (realChainId === undefined)
64
+ continue;
65
+ let amount;
66
+ try {
67
+ amount = BigInt(token.amount);
68
+ }
69
+ catch (error) {
70
+ violations.push({
71
+ code: ViolationCode.AccumulativeTokenInputAmountInvalid,
72
+ message: "srcChainTokenIn.amount is not a valid integer",
73
+ path: `response.trades[${i}].srcChainTokenIn.amount`,
74
+ actual: token.amount,
75
+ details: error,
76
+ });
77
+ continue;
78
+ }
79
+ const spenderAddress = quoteMode ? undefined : trade.srcChainAuthorityAddress;
80
+ const existing = groups.find(g => g.chainId === token.chainId
81
+ && addressEquals(realChainId, g.tokenAddress, token.address)
82
+ && (quoteMode
83
+ || addressEquals(realChainId, g.spenderAddress ?? "", spenderAddress ?? "")));
84
+ if (existing) {
85
+ existing.sum += amount;
86
+ }
87
+ else {
88
+ groups.push({
89
+ chainId: token.chainId,
90
+ tokenAddress: token.address,
91
+ spenderAddress,
92
+ sum: amount,
93
+ });
94
+ }
95
+ }
96
+ return groups;
97
+ }
98
+ function findInputMatch(group, actual, quoteMode) {
99
+ const realChainId = resolveChainId(group.chainId);
100
+ // Safe skip: unknown subscriptionId already reported as UnknownSubscriptionId.
101
+ if (realChainId === undefined)
102
+ return undefined;
103
+ for (let i = 0; i < actual.length; i++) {
104
+ const entry = actual[i];
105
+ if (entry.chainId !== group.chainId)
106
+ continue;
107
+ if (!addressEquals(realChainId, entry.tokenAddress, group.tokenAddress))
108
+ continue;
109
+ if (!quoteMode) {
110
+ if (!addressEquals(realChainId, entry.spenderAddress ?? "", group.spenderAddress ?? ""))
111
+ continue;
112
+ }
113
+ return i;
114
+ }
115
+ return undefined;
116
+ }
117
+ function validateInputEntry(group, entry, entryIndex) {
118
+ const violations = [];
119
+ const path = `response.accumulativeTokenInput[${entryIndex}]`;
120
+ let actualAmount;
121
+ try {
122
+ actualAmount = BigInt(entry.amount);
123
+ }
124
+ catch (error) {
125
+ violations.push({
126
+ code: ViolationCode.AccumulativeTokenInputAmountInvalid,
127
+ message: "amount is not a valid integer",
128
+ path: `${path}.amount`,
129
+ actual: entry.amount,
130
+ details: error,
131
+ });
132
+ return violations;
133
+ }
134
+ if (actualAmount !== group.sum) {
135
+ violations.push({
136
+ code: ViolationCode.AccumulativeTokenInputAmountMismatch,
137
+ message: "amount does not match the sum of srcChainTokenIn.amount across the group",
138
+ path: `${path}.amount`,
139
+ expected: group.sum.toString(),
140
+ actual: entry.amount,
141
+ });
142
+ }
143
+ return violations;
144
+ }
145
+ function validateAccumulativeTokenOutput(response, quoteMode) {
146
+ const violations = [];
147
+ const groups = buildOutputGroups(response.trades, quoteMode, violations);
148
+ if (violations.length > 0)
149
+ return violations;
150
+ const actual = response.accumulativeTokenOutput;
151
+ if (actual.length !== groups.length) {
152
+ violations.push({
153
+ code: ViolationCode.AccumulativeTokenOutputCountMismatch,
154
+ message: "response.accumulativeTokenOutput.length"
155
+ + " does not match the number of unique trade groups",
156
+ path: "response.accumulativeTokenOutput",
157
+ expected: groups.length,
158
+ actual: actual.length,
159
+ });
160
+ }
161
+ for (const group of groups) {
162
+ const found = findOutputMatch(group, actual, quoteMode);
163
+ if (found === undefined) {
164
+ violations.push({
165
+ code: ViolationCode.AccumulativeTokenOutputGroupNotFound,
166
+ message: "no `accumulativeTokenOutput` entry matches a"
167
+ + " (chainId, tokenAddress" + (quoteMode ? "" : ", recipientAddress") + ") group",
168
+ path: "response.accumulativeTokenOutput",
169
+ expected: {
170
+ chainId: group.chainId,
171
+ tokenAddress: group.tokenAddress,
172
+ recipientAddress: group.recipientAddress,
173
+ },
174
+ });
175
+ continue;
176
+ }
177
+ violations.push(...validateOutputEntry(group, actual[found], found));
178
+ }
179
+ return violations;
180
+ }
181
+ function buildOutputGroups(trades, quoteMode, violations) {
182
+ const groups = [];
183
+ for (let i = 0; i < trades.length; i++) {
184
+ const trade = trades[i];
185
+ const token = trade.dstChainTokenOut;
186
+ const realChainId = resolveChainId(token.chainId);
187
+ if (realChainId === undefined)
188
+ continue;
189
+ let amount;
190
+ try {
191
+ amount = BigInt(token.amount);
192
+ }
193
+ catch (error) {
194
+ violations.push({
195
+ code: ViolationCode.AccumulativeTokenOutputAmountInvalid,
196
+ message: "dstChainTokenOut.amount is not a valid integer",
197
+ path: `response.trades[${i}].dstChainTokenOut.amount`,
198
+ actual: token.amount,
199
+ details: error,
200
+ });
201
+ continue;
202
+ }
203
+ const recipientAddress = quoteMode ? undefined : trade.dstChainTokenOutRecipient;
204
+ const existing = groups.find(g => g.chainId === token.chainId
205
+ && addressEquals(realChainId, g.tokenAddress, token.address)
206
+ && (quoteMode
207
+ || addressEquals(realChainId, g.recipientAddress ?? "", recipientAddress ?? "")));
208
+ if (existing) {
209
+ existing.sum += amount;
210
+ }
211
+ else {
212
+ groups.push({
213
+ chainId: token.chainId,
214
+ tokenAddress: token.address,
215
+ recipientAddress,
216
+ sum: amount,
217
+ });
218
+ }
219
+ }
220
+ return groups;
221
+ }
222
+ function findOutputMatch(group, actual, quoteMode) {
223
+ const realChainId = resolveChainId(group.chainId);
224
+ if (realChainId === undefined)
225
+ return undefined;
226
+ for (let i = 0; i < actual.length; i++) {
227
+ const entry = actual[i];
228
+ if (entry.chainId !== group.chainId)
229
+ continue;
230
+ if (!addressEquals(realChainId, entry.tokenAddress, group.tokenAddress))
231
+ continue;
232
+ if (!quoteMode) {
233
+ if (!addressEquals(realChainId, entry.recipientAddress ?? "", group.recipientAddress ?? ""))
234
+ continue;
235
+ }
236
+ return i;
237
+ }
238
+ return undefined;
239
+ }
240
+ function validateOutputEntry(group, entry, entryIndex) {
241
+ const violations = [];
242
+ const path = `response.accumulativeTokenOutput[${entryIndex}]`;
243
+ let actualAmount;
244
+ try {
245
+ actualAmount = BigInt(entry.amount);
246
+ }
247
+ catch (error) {
248
+ violations.push({
249
+ code: ViolationCode.AccumulativeTokenOutputAmountInvalid,
250
+ message: "amount is not a valid integer",
251
+ path: `${path}.amount`,
252
+ actual: entry.amount,
253
+ details: error,
254
+ });
255
+ return violations;
256
+ }
257
+ if (actualAmount !== group.sum) {
258
+ violations.push({
259
+ code: ViolationCode.AccumulativeTokenOutputAmountMismatch,
260
+ message: "amount does not match the sum of dstChainTokenOut.amount across the group",
261
+ path: `${path}.amount`,
262
+ expected: group.sum.toString(),
263
+ actual: entry.amount,
264
+ });
265
+ }
266
+ return violations;
267
+ }
268
+ //# sourceMappingURL=accumulative-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accumulative-token.js","sourceRoot":"","sources":["../../../src/validations/accumulative-token.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { ViolationCode, } from "../types/index.js";
2
+ import { resolveChainId } from "../whitelists/subscription-to-chain-id.js";
3
+ import { addressEquals } from "../helpers/address.js";
4
+ // CRITICAL: when `request.costToken` is set, every `bundleCosts[i]` element
5
+ // must be denominated in that token (costChainId + costTokenAddress) and
6
+ // carry `details.originalChainId` so the source of the original cost is
7
+ // recoverable.
8
+ export function validateCostToken(request, response) {
9
+ if (request.costToken === undefined)
10
+ return [];
11
+ const violations = [];
12
+ const expectedChainId = request.costToken.chainId;
13
+ const expectedTokenAddress = request.costToken.tokenAddress;
14
+ const expectedRealChainId = resolveChainId(expectedChainId);
15
+ for (let i = 0; i < response.bundleCosts.length; i++) {
16
+ const cost = response.bundleCosts[i];
17
+ const path = `response.bundleCosts[${i}]`;
18
+ if (cost.costChainId !== expectedChainId) {
19
+ violations.push({
20
+ code: ViolationCode.CostTokenChainIdMismatch,
21
+ message: "costChainId does not match request.costToken.chainId"
22
+ + " (all bundleCosts entries must be denominated in the requested cost token)",
23
+ path: `${path}.costChainId`,
24
+ expected: expectedChainId,
25
+ actual: cost.costChainId,
26
+ });
27
+ }
28
+ // Safe skip: unknown subscriptionId already reported as UnknownSubscriptionId.
29
+ if (expectedRealChainId !== undefined) {
30
+ if (!addressEquals(expectedRealChainId, cost.costTokenAddress, expectedTokenAddress)) {
31
+ violations.push({
32
+ code: ViolationCode.CostTokenAddressMismatch,
33
+ message: "costTokenAddress does not match request.costToken.tokenAddress"
34
+ + " (all bundleCosts entries must be denominated in the requested cost token)",
35
+ path: `${path}.costTokenAddress`,
36
+ expected: expectedTokenAddress,
37
+ actual: cost.costTokenAddress,
38
+ });
39
+ }
40
+ }
41
+ if (cost.details?.originalChainId === undefined) {
42
+ violations.push({
43
+ code: ViolationCode.CostTokenOriginalChainIdMissing,
44
+ message: "details.originalChainId is missing"
45
+ + " (API must record the source chainId before conversion to request.costToken)",
46
+ path: `${path}.details.originalChainId`,
47
+ actual: cost.details?.originalChainId,
48
+ });
49
+ }
50
+ }
51
+ return violations;
52
+ }
53
+ //# sourceMappingURL=cost-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost-token.js","sourceRoot":"","sources":["../../../src/validations/cost-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,GAGhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,4EAA4E;AAC5E,yEAAyE;AACzE,wEAAwE;AACxE,eAAe;AACf,MAAM,UAAU,iBAAiB,CAC7B,OAA8B,EAC9B,QAAgC;IAEhC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAE/C,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IAClD,MAAM,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;IAC5D,MAAM,mBAAmB,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;IAE5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,wBAAwB,CAAC,GAAG,CAAC;QAE1C,IAAI,IAAI,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;YACvC,UAAU,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa,CAAC,wBAAwB;gBAC5C,OAAO,EACH,sDAAsD;sBACpD,4EAA4E;gBAClF,IAAI,EAAE,GAAG,IAAI,cAAc;gBAC3B,QAAQ,EAAE,eAAe;gBACzB,MAAM,EAAE,IAAI,CAAC,WAAW;aAC3B,CAAC,CAAC;QACP,CAAC;QAED,+EAA+E;QAC/E,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,EAAE,CAAC;gBACnF,UAAU,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,aAAa,CAAC,wBAAwB;oBAC5C,OAAO,EACH,gEAAgE;0BAC9D,4EAA4E;oBAClF,IAAI,EAAE,GAAG,IAAI,mBAAmB;oBAChC,QAAQ,EAAE,oBAAoB;oBAC9B,MAAM,EAAE,IAAI,CAAC,gBAAgB;iBAChC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;YAC9C,UAAU,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa,CAAC,+BAA+B;gBACnD,OAAO,EACH,oCAAoC;sBAClC,8EAA8E;gBACpF,IAAI,EAAE,GAAG,IAAI,0BAA0B;gBACvC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,eAAe;aACxC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC"}
@@ -191,10 +191,10 @@ function validateBudgetResetCall(txCall, expectedSpender, calldataPath) {
191
191
  }
192
192
  return violations;
193
193
  }
194
- // CRITICAL: approve amount validation. When `prependOperatingExpenses=true` for
195
- // a trade, the API increases its contribution to the approve sum by
196
- // `response.trades[i].srcChainTokenIn.approximateOperatingExpense` — same
197
- // mechanism as the Wrap deposit value (the wrapped budget is the same number).
194
+ // CRITICAL: approve amount validation. The expected amount is
195
+ // `Σ response.trades[i].srcChainTokenIn.amount` over trades whose input
196
+ // token matches the Budget action's token — the same response-side number
197
+ // the API uses for `intent.inputToken[].constraintBudget` and Wrap.value.
198
198
  function validateBudgetAmount(approveAmount, actionPath, mainIndex, request, trades, responseTrades, action, realChainId) {
199
199
  const flag = request.approveAmountFlag;
200
200
  const dataPath = `${actionPath}.details.transactionCalls[${mainIndex}].data`;
@@ -1 +1 @@
1
- {"version":3,"file":"evm-op-budget.js","sourceRoot":"","sources":["../../../src/validations/evm-op-budget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm-op-budget.js","sourceRoot":"","sources":["../../../src/validations/evm-op-budget.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { HookMode, resolveEagerPlaceholders } from "../helpers/placeholder.js";
3
3
  import { extractGasCompensationGroups } from "../helpers/gas-compensation.js";
4
4
  import { validateEvmGasCompensationTx } from "../helpers/evm-gas-compensation-tx.js";
5
5
  import { addressEquals } from "../helpers/address.js";
6
+ import { getExpectedBundleHookDelegate } from "../helpers/expected-delegate.js";
6
7
  import { validateSign7702Action } from "./evm-sign7702.js";
7
8
  import { validateSign712DataPresent, validateSign712Domain, validateSign712Delegator, validateSign712Caveats, } from "./evm-sign712-shared.js";
8
9
  const SIGN712_HOOK_TYPES = [
@@ -20,7 +21,13 @@ export function validateEvmHookActions(hookPayload, requestHook, basePath, mode,
20
21
  violations.push(...validateDirectEvmHookActions(hookPayload, requestHook, basePath));
21
22
  }
22
23
  else { // BundleHookType.Delegated (default)
23
- violations.push(...validateDelegatedEvmHookActions(hookPayload, requestHook, basePath, realChainId, request.expirationTimestamp));
24
+ // Scoped delegate check: only when AA is on and a matching-chain
25
+ // trade specifies `srcAllowedSender`. Otherwise the API substitutes
26
+ // its own fallback delegate (no whitelist) → skip.
27
+ const expectedDelegate = request.enableAccountAbstraction
28
+ ? getExpectedBundleHookDelegate(request.trades, hookPayload.hook.chainId)
29
+ : undefined;
30
+ violations.push(...validateDelegatedEvmHookActions(hookPayload, requestHook, basePath, realChainId, request.expirationTimestamp, expectedDelegate));
24
31
  }
25
32
  violations.push(...validateHookActionCalldata(hookPayload, requestHook, basePath, mode, responseTrades, realChainId));
26
33
  violations.push(...validateHookActionTransactionCallsMatch(hookPayload, basePath));
@@ -99,7 +106,7 @@ function validateDirectAction(action, expectsTransaction, hookChainId, expectedD
99
106
  // `Sign712MetaMaskCaveatsWithPlaceholders` (when at least one deferred
100
107
  // placeholder is declared). transactionCalls form, placeholders match, and
101
108
  // EIP-712 content checks (domain, delegator, caveats) are checked per-action below.
102
- function validateDelegatedEvmHookActions(hookPayload, requestHook, basePath, realChainId, expirationTimestamp) {
109
+ function validateDelegatedEvmHookActions(hookPayload, requestHook, basePath, realChainId, expirationTimestamp, expectedDelegate) {
103
110
  const violations = [];
104
111
  const expectedDeferred = collectDeferredPlaceholders(requestHook);
105
112
  const hasDeferred = expectedDeferred.length > 0;
@@ -111,7 +118,11 @@ function validateDelegatedEvmHookActions(hookPayload, requestHook, basePath, rea
111
118
  hookFrom: hookPayload.hook.from,
112
119
  realChainId,
113
120
  expirationTimestamp,
121
+ expectedDelegate,
114
122
  };
123
+ // Collected `message.delegate` values across all delegated actions in this
124
+ // hook — checked for cross-action consistency after the loop.
125
+ const observedDelegates = [];
115
126
  for (let i = 0; i < hookPayload.requiredActions.length; i++) {
116
127
  const action = hookPayload.requiredActions[i];
117
128
  const actionPath = `${basePath}.requiredActions[${i}]`;
@@ -119,11 +130,29 @@ function validateDelegatedEvmHookActions(hookPayload, requestHook, basePath, rea
119
130
  // `validateHookSign7702Binding`.
120
131
  if (action.actions.includes(EvmActionOperation.Delegate))
121
132
  continue;
122
- violations.push(...validateDelegatedAction(action, actionPath, ctx));
133
+ violations.push(...validateDelegatedAction(action, actionPath, ctx, observedDelegates));
134
+ }
135
+ // CRITICAL: all delegated actions within one hook must share the same
136
+ // `message.delegate` value.
137
+ if (observedDelegates.length > 1) {
138
+ const first = observedDelegates[0];
139
+ for (let i = 1; i < observedDelegates.length; i++) {
140
+ const candidate = observedDelegates[i];
141
+ if (!addressEquals(realChainId, candidate.value, first.value)) {
142
+ violations.push({
143
+ code: ViolationCode.IntentDelegateMismatch,
144
+ message: "Sign712MetaMaskCaveats message.delegate differs between"
145
+ + " actions in the same hook — all must share one delegate",
146
+ path: candidate.path,
147
+ expected: first.value,
148
+ actual: candidate.value,
149
+ });
150
+ }
151
+ }
123
152
  }
124
153
  return violations;
125
154
  }
126
- function validateDelegatedAction(action, actionPath, ctx) {
155
+ function validateDelegatedAction(action, actionPath, ctx, observedDelegates) {
127
156
  if (action.type !== ctx.expectedType) {
128
157
  return [{
129
158
  code: ViolationCode.HookDelegatedActionTypeInvalid,
@@ -145,6 +174,33 @@ function validateDelegatedAction(action, actionPath, ctx) {
145
174
  return violations;
146
175
  }
147
176
  violations.push(...validateSign712Domain(data, actionPath, ctx.realChainId), ...validateSign712Delegator(data, actionPath, ctx.realChainId, ctx.hookFrom, "hook.from"));
177
+ // Scoped delegate check: applies only when the request explicitly
178
+ // pinned a delegate via `trade.srcAllowedSender` on a matching-chain
179
+ // trade (caller set `ctx.expectedDelegate`). Otherwise the API
180
+ // substitutes its own fallback delegate, for which we have no
181
+ // whitelist — the check is skipped.
182
+ if (ctx.expectedDelegate !== undefined) {
183
+ const actualDelegate = data.message.delegate;
184
+ if (typeof actualDelegate === "string") {
185
+ observedDelegates.push({
186
+ value: actualDelegate,
187
+ path: `${actionPath}.data.message.delegate`,
188
+ });
189
+ if (!addressEquals(ctx.realChainId, actualDelegate, ctx.expectedDelegate)) {
190
+ violations.push({
191
+ // CRITICAL: bundle-scope hook message.delegate must equal
192
+ // the user-controlled delegate.
193
+ code: ViolationCode.IntentDelegateMismatch,
194
+ message: "Delegated hook Sign712MetaMaskCaveats message.delegate"
195
+ + " must equal request.trades[].srcAllowedSender"
196
+ + " of a matching-chain trade",
197
+ path: `${actionPath}.data.message.delegate`,
198
+ expected: ctx.expectedDelegate,
199
+ actual: actualDelegate,
200
+ });
201
+ }
202
+ }
203
+ }
148
204
  const caveats = (data.message.caveats ?? []);
149
205
  const txCalls = action.details?.transactionCalls ?? [];
150
206
  violations.push(...validateSign712Caveats(caveats, action.actionId, txCalls, actionPath, ctx.realChainId, ctx.expirationTimestamp));
@@ -1 +1 @@
1
- {"version":3,"file":"evm-op-hook.js","sourceRoot":"","sources":["../../../src/validations/evm-op-hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm-op-hook.js","sourceRoot":"","sources":["../../../src/validations/evm-op-hook.ts"],"names":[],"mappings":"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"}
@@ -75,10 +75,10 @@ function validateWrapCalldata(txCall, actionPath) {
75
75
  }
76
76
  return [];
77
77
  }
78
- // CRITICAL: deposit amount (from value) must match sum of native trade amounts.
79
- // When `prependOperatingExpenses=true`, the API increases the wrapped budget by
80
- // `approximateOperatingExpense`, so the expected deposit amount is the sum of
81
- // `srcChainTokenInAmount + approximateOperatingExpense` over native trades.
78
+ // CRITICAL: Wrap deposit value must match `Σ response.trades[i].srcChainTokenIn
79
+ // .amount` over native trades (same response-side sum the API uses for
80
+ // `intent.inputToken[].constraintBudget` and Budget approve amount — the
81
+ // rebalanced/opEx-adjusted amount is already baked in).
82
82
  function validateWrapAmount(txCall, actionPath, trades, responseTrades, realChainId) {
83
83
  const sumResult = sumTradeAmounts(trades, zeroAddress, realChainId, responseTrades);
84
84
  if (sumResult.violations)
@@ -1 +1 @@
1
- {"version":3,"file":"evm-op-wrap.js","sourceRoot":"","sources":["../../../src/validations/evm-op-wrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm-op-wrap.js","sourceRoot":"","sources":["../../../src/validations/evm-op-wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAEb,kBAAkB,GAKrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,sBAAsB,CAClC,OAA4B,EAC5B,QAAgB,EAChB,MAAsB,EACtB,cAA6C,EAC7C,WAAoB;IAEpB,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAAE,SAAS;QAEhE,MAAM,UAAU,GAAG,GAAG,QAAQ,oBAAoB,CAAC,GAAG,CAAC;QACvD,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAE5C,6CAA6C;QAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,UAAU,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa,CAAC,2BAA2B;gBAC/C,OAAO,EAAE,6CAA6C;gBACtD,IAAI,EAAE,GAAG,UAAU,2BAA2B;gBAC9C,MAAM,EAAE,EAAE;aACb,CAAC,CAAC;YACH,SAAS;QACb,CAAC;QAED,iEAAiE;QACjE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,UAAU,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa,CAAC,2BAA2B;gBAC/C,OAAO,EAAE,0CAA0C;gBACnD,IAAI,EAAE,GAAG,UAAU,2BAA2B;gBAC9C,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,OAAO,CAAC,MAAM;aACzB,CAAC,CAAC;QACP,CAAC;QAED,UAAU,CAAC,IAAI,CACX,GAAG,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,EAC3D,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,EACtD,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAC/C,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,CACrF,CAAC;IACN,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,mDAAmD;AACnD,SAAS,uBAAuB,CAC5B,MAAsB,EACtB,UAAkB,EAClB,WAAoB;IAEpB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;IAClF,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,0BAA0B;gBAC9C,OAAO,EAAE,gDAAgD;gBACzD,IAAI,EAAE,GAAG,UAAU,UAAU;aAChC,CAAC,CAAC;IACP,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED,0DAA0D;AAC1D,SAAS,cAAc,CACnB,MAA0B,EAC1B,UAAkB,EAClB,WAAoB;IAEpB,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,aAAa;gBACjC,OAAO,EAAE,qDAAqD;gBAC9D,IAAI,EAAE,GAAG,UAAU,iCAAiC;gBACpD,MAAM,EAAE,MAAM,CAAC,EAAE;aACpB,CAAC,CAAC;IACP,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED,gDAAgD;AAChD,SAAS,oBAAoB,CACzB,MAA0B,EAC1B,UAAkB;IAElB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,mBAAmB;gBACvC,OAAO,EAAE,mDAAmD;gBAC5D,IAAI,EAAE,GAAG,UAAU,mCAAmC;gBACtD,QAAQ,EAAE,gBAAgB;gBAC1B,MAAM,EAAE,MAAM,CAAC,IAAI;aACtB,CAAC,CAAC;IACP,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,uEAAuE;AACvE,yEAAyE;AACzE,wDAAwD;AACxD,SAAS,kBAAkB,CACvB,MAA0B,EAC1B,UAAkB,EAClB,MAAsB,EACtB,cAA6C,EAC7C,WAAoB;IAEpB,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IACpF,IAAI,SAAS,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC,UAAU,CAAC;IACtD,IAAI,SAAS,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAE9B,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;IAC1B,IAAI,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,aAAa,KAAK,GAAG,EAAE,CAAC;YACxB,OAAO,CAAC;oBACJ,IAAI,EAAE,aAAa,CAAC,kBAAkB;oBACtC,OAAO,EAAE,gEAAgE;oBACzE,IAAI,EAAE,GAAG,UAAU,oCAAoC;oBACvD,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE;oBACxB,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE;iBACnC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,kBAAkB;gBACtC,OAAO,EAAE,0CAA0C;gBACnD,IAAI,EAAE,GAAG,UAAU,oCAAoC;gBACvD,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE;gBACxB,MAAM,EAAE,MAAM,CAAC,KAAK;aACvB,CAAC,CAAC;IACP,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC"}