@debridge-finance/borderless-validation-sdk 0.0.10 → 0.0.12
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.
- package/README.md +11 -4
- package/dist/cjs/graylists/evm/token-permit-metadata.js +39 -6
- package/dist/cjs/graylists/evm/token-permit-metadata.js.map +1 -1
- package/dist/cjs/helpers/quote-mode.js +23 -0
- package/dist/cjs/helpers/quote-mode.js.map +1 -0
- package/dist/cjs/helpers/synthetic-native-wrap.js +13 -13
- package/dist/cjs/helpers/synthetic-native-wrap.js.map +1 -1
- package/dist/cjs/helpers/zod.js +42 -0
- package/dist/cjs/helpers/zod.js.map +1 -1
- package/dist/cjs/types/request.js +42 -36
- package/dist/cjs/types/request.js.map +1 -1
- package/dist/cjs/types/response.js +23 -23
- package/dist/cjs/types/response.js.map +1 -1
- package/dist/cjs/types/validation.js +24 -2
- package/dist/cjs/types/validation.js.map +1 -1
- package/dist/cjs/validations/accumulative-token.js +7 -1
- package/dist/cjs/validations/accumulative-token.js.map +1 -1
- package/dist/cjs/validations/evm-op-budget.js +10 -3
- package/dist/cjs/validations/evm-op-budget.js.map +1 -1
- package/dist/cjs/validations/evm-op-wrap.js +8 -3
- package/dist/cjs/validations/evm-op-wrap.js.map +1 -1
- package/dist/cjs/validations/evm-permit.js +4 -3
- package/dist/cjs/validations/evm-permit.js.map +1 -1
- package/dist/cjs/validations/evm-required-actions.js +3 -3
- package/dist/cjs/validations/evm-required-actions.js.map +1 -1
- package/dist/cjs/validations/evm-sign712-metamask.js +4 -3
- package/dist/cjs/validations/evm-sign712-metamask.js.map +1 -1
- package/dist/cjs/validations/external-call.js +13 -22
- package/dist/cjs/validations/external-call.js.map +1 -1
- package/dist/cjs/validations/hooks-common.js +82 -26
- package/dist/cjs/validations/hooks-common.js.map +1 -1
- package/dist/cjs/validations/intent-tokens.js +4 -0
- package/dist/cjs/validations/intent-tokens.js.map +1 -1
- package/dist/cjs/validations/refill.js +587 -0
- package/dist/cjs/validations/refill.js.map +1 -0
- package/dist/cjs/validations/required-actions.js +2 -2
- package/dist/cjs/validations/required-actions.js.map +1 -1
- package/dist/cjs/validations/solana-hook.js +35 -14
- package/dist/cjs/validations/solana-hook.js.map +1 -1
- package/dist/cjs/validations/solana-op-budget.js +20 -10
- package/dist/cjs/validations/solana-op-budget.js.map +1 -1
- package/dist/cjs/validations/solana-op-wrap.js +8 -3
- package/dist/cjs/validations/solana-op-wrap.js.map +1 -1
- package/dist/cjs/validations/solana-required-actions.js +3 -3
- package/dist/cjs/validations/solana-required-actions.js.map +1 -1
- package/dist/cjs/validations/solana-transaction.js +81 -45
- package/dist/cjs/validations/solana-transaction.js.map +1 -1
- package/dist/cjs/validations/trade-grouping.js +11 -0
- package/dist/cjs/validations/trade-grouping.js.map +1 -1
- package/dist/cjs/validator.js +43 -20
- package/dist/cjs/validator.js.map +1 -1
- package/dist/cjs/whitelists/environment-config.js +89 -56
- package/dist/cjs/whitelists/environment-config.js.map +1 -1
- package/dist/cjs/whitelists/evm/index.js +3 -1
- package/dist/cjs/whitelists/evm/index.js.map +1 -1
- package/dist/cjs/whitelists/solana/intent-signature.js +6 -10
- package/dist/cjs/whitelists/solana/intent-signature.js.map +1 -1
- package/dist/esm/graylists/evm/token-permit-metadata.js +39 -6
- package/dist/esm/graylists/evm/token-permit-metadata.js.map +1 -1
- package/dist/esm/helpers/quote-mode.js +17 -0
- package/dist/esm/helpers/quote-mode.js.map +1 -0
- package/dist/esm/helpers/synthetic-native-wrap.js +13 -13
- package/dist/esm/helpers/synthetic-native-wrap.js.map +1 -1
- package/dist/esm/helpers/zod.js +36 -0
- package/dist/esm/helpers/zod.js.map +1 -1
- package/dist/esm/types/request.js +43 -37
- package/dist/esm/types/request.js.map +1 -1
- package/dist/esm/types/response.js +24 -24
- package/dist/esm/types/response.js.map +1 -1
- package/dist/esm/types/validation.js +24 -2
- package/dist/esm/types/validation.js.map +1 -1
- package/dist/esm/validations/accumulative-token.js +7 -1
- package/dist/esm/validations/accumulative-token.js.map +1 -1
- package/dist/esm/validations/evm-op-budget.js +10 -3
- package/dist/esm/validations/evm-op-budget.js.map +1 -1
- package/dist/esm/validations/evm-op-wrap.js +8 -3
- package/dist/esm/validations/evm-op-wrap.js.map +1 -1
- package/dist/esm/validations/evm-permit.js +4 -3
- package/dist/esm/validations/evm-permit.js.map +1 -1
- package/dist/esm/validations/evm-required-actions.js +3 -3
- package/dist/esm/validations/evm-required-actions.js.map +1 -1
- package/dist/esm/validations/evm-sign712-metamask.js +1 -1
- package/dist/esm/validations/evm-sign712-metamask.js.map +1 -1
- package/dist/esm/validations/external-call.js +13 -22
- package/dist/esm/validations/external-call.js.map +1 -1
- package/dist/esm/validations/hooks-common.js +83 -27
- package/dist/esm/validations/hooks-common.js.map +1 -1
- package/dist/esm/validations/intent-tokens.js +4 -0
- package/dist/esm/validations/intent-tokens.js.map +1 -1
- package/dist/esm/validations/refill.js +584 -0
- package/dist/esm/validations/refill.js.map +1 -0
- package/dist/esm/validations/required-actions.js +2 -2
- package/dist/esm/validations/required-actions.js.map +1 -1
- package/dist/esm/validations/solana-hook.js +35 -14
- package/dist/esm/validations/solana-hook.js.map +1 -1
- package/dist/esm/validations/solana-op-budget.js +20 -10
- package/dist/esm/validations/solana-op-budget.js.map +1 -1
- package/dist/esm/validations/solana-op-wrap.js +8 -3
- package/dist/esm/validations/solana-op-wrap.js.map +1 -1
- package/dist/esm/validations/solana-required-actions.js +3 -3
- package/dist/esm/validations/solana-required-actions.js.map +1 -1
- package/dist/esm/validations/solana-transaction.js +81 -45
- package/dist/esm/validations/solana-transaction.js.map +1 -1
- package/dist/esm/validations/trade-grouping.js +11 -0
- package/dist/esm/validations/trade-grouping.js.map +1 -1
- package/dist/esm/validator.js +44 -21
- package/dist/esm/validator.js.map +1 -1
- package/dist/esm/whitelists/environment-config.js +84 -52
- package/dist/esm/whitelists/environment-config.js.map +1 -1
- package/dist/esm/whitelists/evm/index.js +1 -0
- package/dist/esm/whitelists/evm/index.js.map +1 -1
- package/dist/esm/whitelists/solana/intent-signature.js +4 -9
- package/dist/esm/whitelists/solana/intent-signature.js.map +1 -1
- package/dist/types/graylists/evm/token-permit-metadata.d.ts +2 -2
- package/dist/types/graylists/evm/token-permit-metadata.d.ts.map +1 -1
- package/dist/types/helpers/quote-mode.d.ts +6 -0
- package/dist/types/helpers/quote-mode.d.ts.map +1 -0
- package/dist/types/helpers/synthetic-native-wrap.d.ts.map +1 -1
- package/dist/types/helpers/zod.d.ts +6 -0
- package/dist/types/helpers/zod.d.ts.map +1 -1
- package/dist/types/types/request.d.ts +88 -88
- package/dist/types/types/request.d.ts.map +1 -1
- package/dist/types/types/response.d.ts +71 -71
- package/dist/types/types/response.d.ts.map +1 -1
- package/dist/types/types/validation.d.ts +23 -2
- package/dist/types/types/validation.d.ts.map +1 -1
- package/dist/types/validations/accumulative-token.d.ts +1 -1
- package/dist/types/validations/accumulative-token.d.ts.map +1 -1
- package/dist/types/validations/evm-op-budget.d.ts +1 -1
- package/dist/types/validations/evm-op-budget.d.ts.map +1 -1
- package/dist/types/validations/evm-op-wrap.d.ts +1 -1
- package/dist/types/validations/evm-op-wrap.d.ts.map +1 -1
- package/dist/types/validations/evm-required-actions.d.ts +1 -1
- package/dist/types/validations/evm-required-actions.d.ts.map +1 -1
- package/dist/types/validations/evm-sign712-metamask.d.ts +1 -0
- package/dist/types/validations/evm-sign712-metamask.d.ts.map +1 -1
- package/dist/types/validations/external-call.d.ts +2 -2
- package/dist/types/validations/external-call.d.ts.map +1 -1
- package/dist/types/validations/hooks-common.d.ts.map +1 -1
- package/dist/types/validations/refill.d.ts +4 -0
- package/dist/types/validations/refill.d.ts.map +1 -0
- package/dist/types/validations/required-actions.d.ts.map +1 -1
- package/dist/types/validations/solana-op-budget.d.ts +1 -1
- package/dist/types/validations/solana-op-budget.d.ts.map +1 -1
- package/dist/types/validations/solana-op-wrap.d.ts +1 -1
- package/dist/types/validations/solana-op-wrap.d.ts.map +1 -1
- package/dist/types/validations/solana-required-actions.d.ts +1 -1
- package/dist/types/validations/solana-required-actions.d.ts.map +1 -1
- package/dist/types/validations/solana-transaction.d.ts +2 -2
- package/dist/types/validations/solana-transaction.d.ts.map +1 -1
- package/dist/types/validations/trade-grouping.d.ts +2 -0
- package/dist/types/validations/trade-grouping.d.ts.map +1 -1
- package/dist/types/validator.d.ts.map +1 -1
- package/dist/types/whitelists/environment-config.d.ts +17 -0
- package/dist/types/whitelists/environment-config.d.ts.map +1 -1
- package/dist/types/whitelists/evm/index.d.ts +1 -0
- package/dist/types/whitelists/evm/index.d.ts.map +1 -1
- package/dist/types/whitelists/solana/intent-signature.d.ts +1 -0
- package/dist/types/whitelists/solana/intent-signature.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -103,7 +103,7 @@ function validateSolanaGasCompensationAction(action, actionPath, quoteMode, srcC
|
|
|
103
103
|
// CRITICAL: must have exactly one transfer, rest must be memos
|
|
104
104
|
violations.push(...validateGasCompensationInstructions(resolved, actionPath, gasCompensationTokenAddresses, realChainId, currentGasCompensationInfo, envConfig));
|
|
105
105
|
// HIGH (execution): fee payer must not be the user
|
|
106
|
-
violations.push(...validateGasCompensationFeePayer(transaction, actionPath, quoteMode, srcChainAuthorityAddress, realChainId));
|
|
106
|
+
violations.push(...validateGasCompensationFeePayer(transaction, actionPath, quoteMode, srcChainAuthorityAddress, currentGasCompensationInfo, realChainId));
|
|
107
107
|
return violations;
|
|
108
108
|
}
|
|
109
109
|
// CRITICAL: only allowed programs
|
|
@@ -267,23 +267,44 @@ function safeDeriveAta(owner, mint, tokenProgramId) {
|
|
|
267
267
|
return undefined;
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
|
-
|
|
271
|
-
function validateGasCompensationFeePayer(transaction, actionPath, quoteMode, srcChainAuthorityAddress, realChainId) {
|
|
272
|
-
if (quoteMode || !srcChainAuthorityAddress)
|
|
273
|
-
return [];
|
|
270
|
+
function validateGasCompensationFeePayer(transaction, actionPath, quoteMode, srcChainAuthorityAddress, currentGasCompensationInfo, realChainId) {
|
|
274
271
|
const keys = transaction.message.staticAccountKeys;
|
|
275
272
|
if (keys.length === 0)
|
|
276
273
|
return [];
|
|
277
274
|
const feePayer = keys[0].toBase58();
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
275
|
+
return [
|
|
276
|
+
...validateGasCompensationFeePayerMatchesSender(feePayer, actionPath, currentGasCompensationInfo, realChainId),
|
|
277
|
+
...validateGasCompensationFeePayerIsNotUser(feePayer, actionPath, quoteMode, srcChainAuthorityAddress, realChainId),
|
|
278
|
+
];
|
|
279
|
+
}
|
|
280
|
+
// CRITICAL: compensation fee payer must match the request sender
|
|
281
|
+
function validateGasCompensationFeePayerMatchesSender(feePayer, actionPath, currentGasCompensationInfo, realChainId) {
|
|
282
|
+
if (currentGasCompensationInfo === undefined)
|
|
283
|
+
return [];
|
|
284
|
+
if (addressEquals(realChainId, feePayer, currentGasCompensationInfo.sender))
|
|
285
|
+
return [];
|
|
286
|
+
return [{
|
|
287
|
+
code: ViolationCode.SolanaGasCompensationFeePayerMismatch,
|
|
288
|
+
message: "GasCompensation fee payer must match gasCompensationInfo.sender",
|
|
289
|
+
path: `${actionPath}.data.data`,
|
|
290
|
+
expected: currentGasCompensationInfo.sender,
|
|
291
|
+
actual: feePayer,
|
|
292
|
+
}];
|
|
293
|
+
}
|
|
294
|
+
// HIGH: fee payer must not be the user when independently known
|
|
295
|
+
function validateGasCompensationFeePayerIsNotUser(feePayer, actionPath, quoteMode, srcChainAuthorityAddress, realChainId) {
|
|
296
|
+
// Safe skip: quote mode has placeholder fee-payer semantics; when no trade
|
|
297
|
+
// source authority is available, `feePayer == sender` remains checked above.
|
|
298
|
+
if (quoteMode || srcChainAuthorityAddress === undefined)
|
|
299
|
+
return [];
|
|
300
|
+
if (!addressEquals(realChainId, feePayer, srcChainAuthorityAddress))
|
|
301
|
+
return [];
|
|
302
|
+
return [{
|
|
303
|
+
code: ViolationCode.SolanaGasCompensationFeePayerIsUser,
|
|
304
|
+
message: "GasCompensation fee payer must not be the user",
|
|
305
|
+
path: `${actionPath}.data.data`,
|
|
306
|
+
actual: feePayer,
|
|
307
|
+
}];
|
|
287
308
|
}
|
|
288
309
|
// =============================================
|
|
289
310
|
// Helpers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana-hook.js","sourceRoot":"","sources":["../../../src/validations/solana-hook.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"solana-hook.js","sourceRoot":"","sources":["../../../src/validations/solana-hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ const TOKEN_PROGRAMS = new Set([SPL_TOKEN_PROGRAM, SPL_TOKEN_2022_PROGRAM]);
|
|
|
11
11
|
// =============================================
|
|
12
12
|
// Validates Budget (approve) instructions within a decoded Solana transaction.
|
|
13
13
|
// Called for both Transaction (AA=false) and SignTransaction (AA=true) actions.
|
|
14
|
-
export function validateSolanaBudgetInstructions(action, resolvedInstructions, actionPath, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig) {
|
|
14
|
+
export function validateSolanaBudgetInstructions(action, resolvedInstructions, actionPath, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig, quoteTradeSubsetUnverifiable) {
|
|
15
15
|
const hasBudgetAction = action.actions.includes(SolanaActionOperation.Budget);
|
|
16
16
|
// CRITICAL: Budget forbidden when approveAmountFlag === "none"
|
|
17
17
|
if (hasBudgetAction && request.approveAmountFlag === ApproveAmountFlag.None) {
|
|
@@ -39,16 +39,16 @@ export function validateSolanaBudgetInstructions(action, resolvedInstructions, a
|
|
|
39
39
|
const approve = approveInstructions[i];
|
|
40
40
|
const ixLabel = `approve instruction #${i}`;
|
|
41
41
|
if (approve.kind === ApproveKind.Classic) {
|
|
42
|
-
violations.push(...validateClassicApprove(approve, actionPath, ixLabel, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig));
|
|
42
|
+
violations.push(...validateClassicApprove(approve, actionPath, ixLabel, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig, quoteTradeSubsetUnverifiable));
|
|
43
43
|
}
|
|
44
44
|
else {
|
|
45
|
-
violations.push(...validateCustomApprove(approve, actionPath, ixLabel, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig));
|
|
45
|
+
violations.push(...validateCustomApprove(approve, actionPath, ixLabel, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig, quoteTradeSubsetUnverifiable));
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
violations.push(...validateCustomApproveAggregates(approveInstructions, actionPath, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress));
|
|
48
|
+
violations.push(...validateCustomApproveAggregates(approveInstructions, actionPath, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, quoteTradeSubsetUnverifiable));
|
|
49
49
|
return violations;
|
|
50
50
|
}
|
|
51
|
-
function validateCustomApproveAggregates(approveInstructions, actionPath, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress) {
|
|
51
|
+
function validateCustomApproveAggregates(approveInstructions, actionPath, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, quoteTradeSubsetUnverifiable) {
|
|
52
52
|
if (request.approveAmountFlag === ApproveAmountFlag.Unlimited)
|
|
53
53
|
return [];
|
|
54
54
|
const totals = collectCustomApproveTotals(approveInstructions, quoteMode, srcChainAuthorityAddress, realChainId);
|
|
@@ -57,6 +57,11 @@ function validateCustomApproveAggregates(approveInstructions, actionPath, reques
|
|
|
57
57
|
if (entry.count > 1) {
|
|
58
58
|
violations.push(customDuplicateAtaViolation(actionPath, entry.ata, entry.count));
|
|
59
59
|
}
|
|
60
|
+
// MEDIUM: aggregate custom approve amount is unverifiable for partial
|
|
61
|
+
// quote groups because public response fields cannot identify the
|
|
62
|
+
// hidden trade subset. Duplicate ATA checks above remain active.
|
|
63
|
+
if (quoteTradeSubsetUnverifiable)
|
|
64
|
+
continue;
|
|
60
65
|
const tradeIndices = findTradeIndicesForAta(entry.ata, trades, entry.owner, entry.tokenProgramId, realChainId);
|
|
61
66
|
if (tradeIndices === undefined)
|
|
62
67
|
continue;
|
|
@@ -132,7 +137,7 @@ function collectApproveInstructions(instructions, intentProgram) {
|
|
|
132
137
|
// =============================================
|
|
133
138
|
// Classic SPL Token Approve validation
|
|
134
139
|
// =============================================
|
|
135
|
-
function validateClassicApprove(approve, actionPath, ixLabel, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig) {
|
|
140
|
+
function validateClassicApprove(approve, actionPath, ixLabel, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig, quoteTradeSubsetUnverifiable) {
|
|
136
141
|
const violations = [];
|
|
137
142
|
// CRITICAL: programId (SPL Token or Token-2022) and discriminator (4 = Approve)
|
|
138
143
|
// are already verified by isClassicApprove() before this function is called.
|
|
@@ -176,7 +181,7 @@ function validateClassicApprove(approve, actionPath, ixLabel, request, trades, r
|
|
|
176
181
|
if (tradeIndices !== undefined) {
|
|
177
182
|
const tradesForMint = tradeIndices.map(i => trades[i]);
|
|
178
183
|
const responseTradesForMint = tradeIndices.map(i => responseTrades[i]);
|
|
179
|
-
violations.push(...validateApproveAmount(approve.amount, actionPath, ixLabel, request, tradesForMint, responseTradesForMint, realChainId, ViolationCode.SolanaBudgetClassicAmountMismatch, false));
|
|
184
|
+
violations.push(...validateApproveAmount(approve.amount, actionPath, ixLabel, request, tradesForMint, responseTradesForMint, realChainId, ViolationCode.SolanaBudgetClassicAmountMismatch, false, quoteTradeSubsetUnverifiable));
|
|
180
185
|
}
|
|
181
186
|
return violations;
|
|
182
187
|
}
|
|
@@ -239,7 +244,7 @@ function validateClassicAta(approve, actionPath, ixLabel, trades, realChainId, s
|
|
|
239
244
|
// =============================================
|
|
240
245
|
// Custom approve (approveProtocolTransfers) validation
|
|
241
246
|
// =============================================
|
|
242
|
-
function validateCustomApprove(approve, actionPath, ixLabel, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig) {
|
|
247
|
+
function validateCustomApprove(approve, actionPath, ixLabel, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig, quoteTradeSubsetUnverifiable) {
|
|
243
248
|
const violations = [];
|
|
244
249
|
// CRITICAL: programId (DEBRIDGE_INTENT_PROGRAM) and discriminator (8-byte Anchor hash)
|
|
245
250
|
// are already verified by isCustomApprove() before this function is called.
|
|
@@ -306,7 +311,7 @@ function validateCustomApprove(approve, actionPath, ixLabel, request, trades, re
|
|
|
306
311
|
continue;
|
|
307
312
|
const tradesForMint = tradeIndices.map(j => trades[j]);
|
|
308
313
|
const responseTradesForMint = tradeIndices.map(j => responseTrades[j]);
|
|
309
|
-
violations.push(...validateApproveAmount(approve.amounts[i], actionPath, `${ixLabel} amounts[${i}]`, request, tradesForMint, responseTradesForMint, realChainId, ViolationCode.SolanaBudgetCustomAmountMismatch, true));
|
|
314
|
+
violations.push(...validateApproveAmount(approve.amounts[i], actionPath, `${ixLabel} amounts[${i}]`, request, tradesForMint, responseTradesForMint, realChainId, ViolationCode.SolanaBudgetCustomAmountMismatch, true, quoteTradeSubsetUnverifiable));
|
|
310
315
|
}
|
|
311
316
|
return violations;
|
|
312
317
|
}
|
|
@@ -361,7 +366,7 @@ function validateCustomAtas(approve, actionPath, ixLabel, trades, realChainId, s
|
|
|
361
366
|
//
|
|
362
367
|
// The checked sum is the post-mutation source amount exposed in response
|
|
363
368
|
// trades, which is also what the API uses for `intent.inputToken[].constraintBudget`.
|
|
364
|
-
function validateApproveAmount(amount, actionPath, ixLabel, request, trades, responseTrades, realChainId, violationCode, allowDelta) {
|
|
369
|
+
function validateApproveAmount(amount, actionPath, ixLabel, request, trades, responseTrades, realChainId, violationCode, allowDelta, quoteTradeSubsetUnverifiable) {
|
|
365
370
|
const flag = request.approveAmountFlag;
|
|
366
371
|
// unlimited: must be max u64
|
|
367
372
|
if (flag === ApproveAmountFlag.Unlimited) {
|
|
@@ -377,6 +382,11 @@ function validateApproveAmount(amount, actionPath, ixLabel, request, trades, res
|
|
|
377
382
|
}
|
|
378
383
|
return [];
|
|
379
384
|
}
|
|
385
|
+
// MEDIUM: exact approve amount is unverifiable for partial quote groups
|
|
386
|
+
// because public response fields cannot identify this intent's hidden
|
|
387
|
+
// trade subset. Instruction shape and authority checks remain active.
|
|
388
|
+
if (quoteTradeSubsetUnverifiable)
|
|
389
|
+
return [];
|
|
380
390
|
// exactApproveAmount (or undefined): check against response-side trade amounts
|
|
381
391
|
const sumResult = sumSolanaTradeAmounts(trades, responseTrades, realChainId);
|
|
382
392
|
if (sumResult.skip)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana-op-budget.js","sourceRoot":"","sources":["../../../src/validations/solana-op-budget.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"solana-op-budget.js","sourceRoot":"","sources":["../../../src/validations/solana-op-budget.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { parseIntegerString } from "../helpers/integer.js";
|
|
|
8
8
|
// =============================================
|
|
9
9
|
// Validates Wrap (SOL → wSOL) instructions within a decoded Solana transaction.
|
|
10
10
|
// Called for both Transaction (AA=false) and SignTransaction (AA=true) actions.
|
|
11
|
-
export function validateSolanaWrapInstructions(action, resolvedInstructions, actionPath, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress) {
|
|
11
|
+
export function validateSolanaWrapInstructions(action, resolvedInstructions, actionPath, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, quoteTradeSubsetUnverifiable) {
|
|
12
12
|
if (!action.actions.includes(SolanaActionOperation.Wrap))
|
|
13
13
|
return [];
|
|
14
14
|
const violations = [];
|
|
@@ -67,7 +67,7 @@ export function validateSolanaWrapInstructions(action, resolvedInstructions, act
|
|
|
67
67
|
}
|
|
68
68
|
// Validate SystemProgram.Transfer
|
|
69
69
|
for (const ix of transferIxs) {
|
|
70
|
-
violations.push(...validateTransferInstruction(ix, actionPath, realChainId, trades, responseTrades, expectedWsolAta));
|
|
70
|
+
violations.push(...validateTransferInstruction(ix, actionPath, realChainId, trades, responseTrades, expectedWsolAta, quoteTradeSubsetUnverifiable));
|
|
71
71
|
}
|
|
72
72
|
// Validate SyncNative
|
|
73
73
|
for (const ix of syncNativeIxs) {
|
|
@@ -136,7 +136,7 @@ function validateCreateAtaInstruction(ix, actionPath, realChainId, quoteMode, sr
|
|
|
136
136
|
// =============================================
|
|
137
137
|
// SystemProgram.Transfer validation
|
|
138
138
|
// =============================================
|
|
139
|
-
function validateTransferInstruction(ix, actionPath, realChainId, trades, responseTrades, expectedWsolAta) {
|
|
139
|
+
function validateTransferInstruction(ix, actionPath, realChainId, trades, responseTrades, expectedWsolAta, quoteTradeSubsetUnverifiable) {
|
|
140
140
|
const violations = [];
|
|
141
141
|
// CRITICAL (execution): transfer.to (accounts[1]) must be wSOL ATA.
|
|
142
142
|
// Skipped in quote mode: expectedWsolAta is undefined because srcChainAuthorityAddress is a placeholder.
|
|
@@ -154,6 +154,11 @@ function validateTransferInstruction(ix, actionPath, realChainId, trades, respon
|
|
|
154
154
|
// that the API uses for `intent.inputToken[].constraintBudget`. This already
|
|
155
155
|
// includes operating expenses / prepend mutations and consolidation balancing
|
|
156
156
|
// changes.
|
|
157
|
+
// MEDIUM: exact transfer amount is unverifiable for partial quote groups
|
|
158
|
+
// because public response fields cannot identify this intent's hidden
|
|
159
|
+
// trade subset. Destination and instruction-shape checks remain active.
|
|
160
|
+
if (quoteTradeSubsetUnverifiable)
|
|
161
|
+
return violations;
|
|
157
162
|
const lamports = readU64LE(ix.data, 4);
|
|
158
163
|
const expectedResult = sumNativeSolTradeAmounts(trades, responseTrades, realChainId);
|
|
159
164
|
if (expectedResult.violations) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana-op-wrap.js","sourceRoot":"","sources":["../../../src/validations/solana-op-wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAGb,qBAAqB,GAGxB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAEH,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,GACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,iBAAiB,EACjB,eAAe,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,gDAAgD;AAChD,cAAc;AACd,gDAAgD;AAEhD,gFAAgF;AAChF,gFAAgF;AAChF,MAAM,UAAU,8BAA8B,CAC1C,MAA4B,EAC5B,oBAA2C,EAC3C,UAAkB,EAClB,MAAsB,EACtB,cAA6C,EAC7C,WAAoB,EACpB,SAAkB,EAClB,wBAA4C;
|
|
1
|
+
{"version":3,"file":"solana-op-wrap.js","sourceRoot":"","sources":["../../../src/validations/solana-op-wrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { ViolationCode, SolanaActionKind, SolanaActionOperation, } from "../types/index.js";
|
|
2
2
|
import { validateSolanaTransactionActions, validateSolanaSignTransactionActions, } from "./solana-transaction.js";
|
|
3
3
|
import { validateSolanaSignActions } from "./solana-sign.js";
|
|
4
|
-
export function validateSolanaRequiredActions(request, actions, basePath, realChainId, quoteMode, trades, responseTrades, srcChainAuthorityAddress, intent, envConfig) {
|
|
4
|
+
export function validateSolanaRequiredActions(request, actions, basePath, realChainId, quoteMode, trades, responseTrades, srcChainAuthorityAddress, intent, envConfig, quoteTradeSubsetUnverifiable) {
|
|
5
5
|
return [
|
|
6
6
|
...validateUniqueActionIds(actions, basePath),
|
|
7
7
|
...validateRequiredActionsOrder(actions, basePath, quoteMode),
|
|
8
8
|
...validateAAConstraints(request, actions, basePath),
|
|
9
9
|
...validateNoOperationActions(actions, basePath),
|
|
10
10
|
...validateNoCompensationActions(actions, basePath),
|
|
11
|
-
...validateSolanaTransactionActions(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, responseTrades, envConfig),
|
|
12
|
-
...validateSolanaSignTransactionActions(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, responseTrades, envConfig),
|
|
11
|
+
...validateSolanaTransactionActions(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, responseTrades, envConfig, quoteTradeSubsetUnverifiable),
|
|
12
|
+
...validateSolanaSignTransactionActions(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, responseTrades, envConfig, quoteTradeSubsetUnverifiable),
|
|
13
13
|
...validateSolanaSignActions(actions, basePath, realChainId, quoteMode, intent, envConfig),
|
|
14
14
|
];
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana-required-actions.js","sourceRoot":"","sources":["../../../src/validations/solana-required-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAGb,gBAAgB,EAChB,qBAAqB,GAKxB,MAAM,UAAU,CAAC;AAClB,OAAO,EACH,gCAAgC,EAChC,oCAAoC,GACvC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAG1D,MAAM,UAAU,6BAA6B,CACzC,OAA8B,EAC9B,OAA+B,EAC/B,QAAgB,EAChB,WAAoB,EACpB,SAAkB,EAClB,MAAsB,EACtB,cAA6C,EAC7C,wBAA4C,EAC5C,MAAsB,EACtB,SAA4B;
|
|
1
|
+
{"version":3,"file":"solana-required-actions.js","sourceRoot":"","sources":["../../../src/validations/solana-required-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,11 +10,14 @@ const ALLOWED_TX_ACTIONS = new Set([
|
|
|
10
10
|
SolanaActionOperation.Budget,
|
|
11
11
|
]);
|
|
12
12
|
// Validates Transaction actions (AA=false)
|
|
13
|
-
export function validateSolanaTransactionActions(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, responseTrades, envConfig) {
|
|
13
|
+
export function validateSolanaTransactionActions(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, responseTrades, envConfig, quoteTradeSubsetUnverifiable) {
|
|
14
14
|
const violations = [];
|
|
15
|
+
let transactionActionIndex = 0;
|
|
15
16
|
for (let i = 0; i < actions.length; i++) {
|
|
16
17
|
if (actions[i].type !== SolanaActionKind.Transaction)
|
|
17
18
|
continue;
|
|
19
|
+
const isFirstTransactionAction = transactionActionIndex === 0;
|
|
20
|
+
transactionActionIndex++;
|
|
18
21
|
const action = actions[i];
|
|
19
22
|
const actionPath = `${basePath}.requiredActions[${i}]`;
|
|
20
23
|
violations.push(...validateActionsList(action, actionPath), ...validateWrapRequiresNativeToken(action, actionPath, trades, realChainId));
|
|
@@ -25,12 +28,12 @@ export function validateSolanaTransactionActions(actions, basePath, realChainId,
|
|
|
25
28
|
}
|
|
26
29
|
const accountKeys = getStaticAccountKeys(decoded.transaction);
|
|
27
30
|
const resolved = resolveInstructions(decoded.transaction.message.compiledInstructions, accountKeys);
|
|
28
|
-
violations.push(...validateTransactionFeePayer(decoded.transaction, actionPath, realChainId, quoteMode, srcChainAuthorityAddress), ...validateTransactionComputeBudget(decoded.transaction, actionPath), ...validateAllowedInstructions(decoded.transaction, actionPath, envConfig.solanaTransactionAllowedPrograms, ViolationCode.SolanaTransactionForbiddenInstruction, "Transaction"), ...validateDeclaredOperationsForInstructions(resolved, action, actionPath, envConfig), ...validateSolanaBudgetInstructions(action, resolved, actionPath, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig), ...validateSolanaWrapInstructions(action, resolved, actionPath, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress), ...validateNoUnclassifiedInstructions(resolved, actionPath, buildClassifiers(envConfig.solanaIntentProgram, isComputeBudget)));
|
|
31
|
+
violations.push(...validateTransactionFeePayer(decoded.transaction, actionPath, realChainId, quoteMode, srcChainAuthorityAddress), ...validateTransactionComputeBudget(decoded.transaction, actionPath, isFirstTransactionAction), ...validateAllowedInstructions(decoded.transaction, actionPath, envConfig.solanaTransactionAllowedPrograms, ViolationCode.SolanaTransactionForbiddenInstruction, "Transaction"), ...validateDeclaredOperationsForInstructions(resolved, action, actionPath, envConfig), ...validateSolanaBudgetInstructions(action, resolved, actionPath, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig, quoteTradeSubsetUnverifiable), ...validateSolanaWrapInstructions(action, resolved, actionPath, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, quoteTradeSubsetUnverifiable), ...validateNoUnclassifiedInstructions(resolved, actionPath, buildClassifiers(envConfig.solanaIntentProgram, isComputeBudget)));
|
|
29
32
|
}
|
|
30
33
|
return violations;
|
|
31
34
|
}
|
|
32
35
|
// Validates SignTransaction actions (AA=true)
|
|
33
|
-
export function validateSolanaSignTransactionActions(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, responseTrades, envConfig) {
|
|
36
|
+
export function validateSolanaSignTransactionActions(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, responseTrades, envConfig, quoteTradeSubsetUnverifiable) {
|
|
34
37
|
const violations = [];
|
|
35
38
|
const expectedDelegate = request.enableAccountAbstraction
|
|
36
39
|
? trades.find(t => t.srcAllowedSender !== undefined)?.srcAllowedSender
|
|
@@ -48,7 +51,7 @@ export function validateSolanaSignTransactionActions(actions, basePath, realChai
|
|
|
48
51
|
}
|
|
49
52
|
const accountKeys = getStaticAccountKeys(decoded.transaction);
|
|
50
53
|
const resolved = resolveInstructions(decoded.transaction.message.compiledInstructions, accountKeys);
|
|
51
|
-
violations.push(...validateSignTransactionFeePayer(decoded.transaction, actionPath, realChainId, quoteMode, srcChainAuthorityAddress, expectedDelegate), ...validateAllowedInstructions(decoded.transaction, actionPath, envConfig.solanaSignTransactionAllowedPrograms, ViolationCode.SolanaSignTransactionForbiddenInstruction, "SignTransaction"), ...validateDeclaredOperationsForInstructions(resolved, action, actionPath, envConfig), ...validateSolanaBudgetInstructions(action, resolved, actionPath, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig), ...validateSolanaWrapInstructions(action, resolved, actionPath, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress), ...validateNoUnclassifiedInstructions(resolved, actionPath, buildClassifiers(envConfig.solanaIntentProgram, isMemo)));
|
|
54
|
+
violations.push(...validateSignTransactionFeePayer(decoded.transaction, actionPath, realChainId, quoteMode, srcChainAuthorityAddress, expectedDelegate), ...validateAllowedInstructions(decoded.transaction, actionPath, envConfig.solanaSignTransactionAllowedPrograms, ViolationCode.SolanaSignTransactionForbiddenInstruction, "SignTransaction"), ...validateDeclaredOperationsForInstructions(resolved, action, actionPath, envConfig), ...validateSolanaBudgetInstructions(action, resolved, actionPath, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig, quoteTradeSubsetUnverifiable), ...validateSolanaWrapInstructions(action, resolved, actionPath, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, quoteTradeSubsetUnverifiable), ...validateNoUnclassifiedInstructions(resolved, actionPath, buildClassifiers(envConfig.solanaIntentProgram, isMemo)));
|
|
52
55
|
}
|
|
53
56
|
return violations;
|
|
54
57
|
}
|
|
@@ -135,33 +138,55 @@ function validateTransactionFeePayer(transaction, actionPath, realChainId, quote
|
|
|
135
138
|
}
|
|
136
139
|
return [];
|
|
137
140
|
}
|
|
138
|
-
// HIGH:
|
|
139
|
-
|
|
141
|
+
// HIGH: the first Transaction must contain at least 2 leading ComputeBudget
|
|
142
|
+
// instructions. Later split Transaction actions may omit ComputeBudget entirely;
|
|
143
|
+
// when present, ComputeBudget must still stay at the beginning.
|
|
144
|
+
function validateTransactionComputeBudget(transaction, actionPath, isFirstTransactionAction) {
|
|
140
145
|
const instructions = transaction.message.compiledInstructions;
|
|
141
146
|
const accountKeys = getStaticAccountKeys(transaction);
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
147
|
+
const computeBudgetIndices = getComputeBudgetInstructionIndices(instructions, accountKeys);
|
|
148
|
+
const leadingComputeBudgetCount = countLeadingComputeBudgetInstructions(instructions, accountKeys);
|
|
149
|
+
if (!isFirstTransactionAction && computeBudgetIndices.length === 0)
|
|
150
|
+
return [];
|
|
151
|
+
if (leadingComputeBudgetCount < computeBudgetIndices.length) {
|
|
152
|
+
return [{
|
|
153
|
+
code: ViolationCode.SolanaTransactionComputeBudgetMissing,
|
|
154
|
+
message: "ComputeBudget instructions must be at the beginning of Transaction",
|
|
155
|
+
path: `${actionPath}.data.data`,
|
|
156
|
+
expected: computeBudgetIndices.map((_, i) => i),
|
|
157
|
+
actual: computeBudgetIndices,
|
|
158
|
+
}];
|
|
153
159
|
}
|
|
154
|
-
if (
|
|
160
|
+
if (leadingComputeBudgetCount < 2) {
|
|
155
161
|
return [{
|
|
156
162
|
code: ViolationCode.SolanaTransactionComputeBudgetMissing,
|
|
157
163
|
message: "Transaction must have at least 2 ComputeBudget instructions at the beginning",
|
|
158
164
|
path: `${actionPath}.data.data`,
|
|
159
165
|
expected: 2,
|
|
160
|
-
actual:
|
|
166
|
+
actual: leadingComputeBudgetCount,
|
|
161
167
|
}];
|
|
162
168
|
}
|
|
163
169
|
return [];
|
|
164
170
|
}
|
|
171
|
+
function getComputeBudgetInstructionIndices(instructions, accountKeys) {
|
|
172
|
+
const indices = [];
|
|
173
|
+
for (let i = 0; i < instructions.length; i++) {
|
|
174
|
+
const programId = accountKeys[instructions[i].programIdIndex];
|
|
175
|
+
if (programId === COMPUTE_BUDGET_PROGRAM)
|
|
176
|
+
indices.push(i);
|
|
177
|
+
}
|
|
178
|
+
return indices;
|
|
179
|
+
}
|
|
180
|
+
function countLeadingComputeBudgetInstructions(instructions, accountKeys) {
|
|
181
|
+
let count = 0;
|
|
182
|
+
for (let i = 0; i < instructions.length; i++) {
|
|
183
|
+
const programId = accountKeys[instructions[i].programIdIndex];
|
|
184
|
+
if (programId !== COMPUTE_BUDGET_PROGRAM)
|
|
185
|
+
break;
|
|
186
|
+
count++;
|
|
187
|
+
}
|
|
188
|
+
return count;
|
|
189
|
+
}
|
|
165
190
|
// CRITICAL: no instructions from disallowed programs
|
|
166
191
|
function validateAllowedInstructions(transaction, actionPath, allowedPrograms, violationCode, label) {
|
|
167
192
|
const accountKeys = getStaticAccountKeys(transaction);
|
|
@@ -209,32 +234,43 @@ function validateSignTransactionFeePayer(transaction, actionPath, realChainId, q
|
|
|
209
234
|
const feePayer = getFeePayer(transaction);
|
|
210
235
|
if (!feePayer)
|
|
211
236
|
return [];
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
237
|
+
const delegateMatchesSourceAuthority = expectedDelegate !== undefined
|
|
238
|
+
&& addressEquals(realChainId, expectedDelegate, srcChainAuthorityAddress);
|
|
239
|
+
return [
|
|
240
|
+
...validatePinnedSignTransactionFeePayer(feePayer, actionPath, realChainId, expectedDelegate),
|
|
241
|
+
...validateSignTransactionFeePayerIsNotUser(feePayer, actionPath, realChainId, srcChainAuthorityAddress, delegateMatchesSourceAuthority),
|
|
242
|
+
];
|
|
243
|
+
}
|
|
244
|
+
// CRITICAL: `feePayer` must equal the user-controlled delegate
|
|
245
|
+
function validatePinnedSignTransactionFeePayer(feePayer, actionPath, realChainId, expectedDelegate) {
|
|
246
|
+
if (expectedDelegate === undefined)
|
|
247
|
+
return [];
|
|
248
|
+
if (addressEquals(realChainId, feePayer, expectedDelegate))
|
|
249
|
+
return [];
|
|
250
|
+
return [{
|
|
251
|
+
code: ViolationCode.IntentDelegateMismatch,
|
|
252
|
+
message: "SignTransaction feePayer must equal the delegate from"
|
|
253
|
+
+ " request.trades[].srcAllowedSender",
|
|
254
|
+
path: `${actionPath}.data.data`,
|
|
255
|
+
expected: expectedDelegate,
|
|
256
|
+
actual: feePayer,
|
|
257
|
+
}];
|
|
258
|
+
}
|
|
259
|
+
// CRITICAL: `feePayer` must NOT be the user
|
|
260
|
+
function validateSignTransactionFeePayerIsNotUser(feePayer, actionPath, realChainId, srcChainAuthorityAddress, delegateMatchesSourceAuthority) {
|
|
261
|
+
// Safe skip: the explicit request-pinned self-delegate branch is checked
|
|
262
|
+
// by `validatePinnedSignTransactionFeePayer` above.
|
|
263
|
+
if (delegateMatchesSourceAuthority)
|
|
264
|
+
return [];
|
|
265
|
+
if (!addressEquals(realChainId, feePayer, srcChainAuthorityAddress))
|
|
266
|
+
return [];
|
|
267
|
+
return [{
|
|
268
|
+
code: ViolationCode.SolanaSignTransactionFeePayerIsUser,
|
|
269
|
+
message: "SignTransaction feePayer must NOT be the user"
|
|
270
|
+
+ " (request.trades[].srcChainAuthorityAddress)",
|
|
271
|
+
path: `${actionPath}.data.data`,
|
|
272
|
+
actual: feePayer,
|
|
273
|
+
}];
|
|
238
274
|
}
|
|
239
275
|
// Builds classifiers for validateNoUnclassifiedInstructions.
|
|
240
276
|
// `leadClassifier` is isComputeBudget for Transaction, isMemo for SignTransaction.
|