@debridge-finance/borderless-validation-sdk 0.5.2 → 0.6.0
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/dist/cjs/helpers/address.js +7 -0
- package/dist/cjs/helpers/address.js.map +1 -1
- package/dist/cjs/helpers/evm-intent-id.js +2 -1
- package/dist/cjs/helpers/evm-intent-id.js.map +1 -1
- package/dist/cjs/helpers/execution-metadata.js +122 -0
- package/dist/cjs/helpers/execution-metadata.js.map +1 -0
- package/dist/cjs/helpers/solana-instruction.js +7 -1
- package/dist/cjs/helpers/solana-instruction.js.map +1 -1
- package/dist/cjs/helpers/solana-intent-id.js +46 -20
- package/dist/cjs/helpers/solana-intent-id.js.map +1 -1
- package/dist/cjs/types/request.js +1 -1
- package/dist/cjs/types/request.js.map +1 -1
- package/dist/cjs/types/response.js +44 -3
- package/dist/cjs/types/response.js.map +1 -1
- package/dist/cjs/types/validation.js +35 -2
- package/dist/cjs/types/validation.js.map +1 -1
- package/dist/cjs/validations/dln-metadata.js +6 -0
- package/dist/cjs/validations/dln-metadata.js.map +1 -1
- package/dist/cjs/validations/evm-permit.js +13 -4
- package/dist/cjs/validations/evm-permit.js.map +1 -1
- package/dist/cjs/validations/execution-metadata.js +163 -0
- package/dist/cjs/validations/execution-metadata.js.map +1 -0
- package/dist/cjs/validations/intent.js +0 -15
- package/dist/cjs/validations/intent.js.map +1 -1
- package/dist/cjs/validations/low-input-sweep-bundle.js +33 -14
- package/dist/cjs/validations/low-input-sweep-bundle.js.map +1 -1
- package/dist/cjs/validations/low-input-sweep-consolidation.js +75 -0
- package/dist/cjs/validations/low-input-sweep-consolidation.js.map +1 -0
- package/dist/cjs/validations/low-input-sweep.js +19 -13
- package/dist/cjs/validations/low-input-sweep.js.map +1 -1
- package/dist/cjs/validations/solana-compute-budget.js +111 -0
- package/dist/cjs/validations/solana-compute-budget.js.map +1 -0
- package/dist/cjs/validations/solana-op-budget.js +1 -1
- package/dist/cjs/validations/solana-op-budget.js.map +1 -1
- package/dist/cjs/validations/solana-op-wrap.js +1 -1
- package/dist/cjs/validations/solana-op-wrap.js.map +1 -1
- package/dist/cjs/validations/solana-preparation.js +193 -0
- package/dist/cjs/validations/solana-preparation.js.map +1 -0
- package/dist/cjs/validations/solana-required-actions.js +65 -29
- package/dist/cjs/validations/solana-required-actions.js.map +1 -1
- package/dist/cjs/validations/solana-transaction.js +35 -67
- package/dist/cjs/validations/solana-transaction.js.map +1 -1
- package/dist/cjs/validations/trade-grouping.js +6 -8
- package/dist/cjs/validations/trade-grouping.js.map +1 -1
- package/dist/cjs/validations/trade-index-matching.js +110 -0
- package/dist/cjs/validations/trade-index-matching.js.map +1 -0
- package/dist/cjs/validations/trade-matching.js +10 -5
- package/dist/cjs/validations/trade-matching.js.map +1 -1
- package/dist/cjs/validator.js +4 -0
- package/dist/cjs/validator.js.map +1 -1
- package/dist/cjs/whitelists/environment-config.js +2 -0
- package/dist/cjs/whitelists/environment-config.js.map +1 -1
- package/dist/esm/helpers/address.js +6 -0
- package/dist/esm/helpers/address.js.map +1 -1
- package/dist/esm/helpers/evm-intent-id.js +2 -1
- package/dist/esm/helpers/evm-intent-id.js.map +1 -1
- package/dist/esm/helpers/execution-metadata.js +114 -0
- package/dist/esm/helpers/execution-metadata.js.map +1 -0
- package/dist/esm/helpers/solana-instruction.js +6 -0
- package/dist/esm/helpers/solana-instruction.js.map +1 -1
- package/dist/esm/helpers/solana-intent-id.js +47 -21
- package/dist/esm/helpers/solana-intent-id.js.map +1 -1
- package/dist/esm/types/request.js +1 -1
- package/dist/esm/types/request.js.map +1 -1
- package/dist/esm/types/response.js +45 -4
- package/dist/esm/types/response.js.map +1 -1
- package/dist/esm/types/validation.js +35 -2
- package/dist/esm/types/validation.js.map +1 -1
- package/dist/esm/validations/dln-metadata.js +5 -0
- package/dist/esm/validations/dln-metadata.js.map +1 -1
- package/dist/esm/validations/evm-permit.js +13 -4
- package/dist/esm/validations/evm-permit.js.map +1 -1
- package/dist/esm/validations/execution-metadata.js +160 -0
- package/dist/esm/validations/execution-metadata.js.map +1 -0
- package/dist/esm/validations/intent.js +1 -16
- package/dist/esm/validations/intent.js.map +1 -1
- package/dist/esm/validations/low-input-sweep-bundle.js +33 -14
- package/dist/esm/validations/low-input-sweep-bundle.js.map +1 -1
- package/dist/esm/validations/low-input-sweep-consolidation.js +72 -0
- package/dist/esm/validations/low-input-sweep-consolidation.js.map +1 -0
- package/dist/esm/validations/low-input-sweep.js +19 -13
- package/dist/esm/validations/low-input-sweep.js.map +1 -1
- package/dist/esm/validations/solana-compute-budget.js +107 -0
- package/dist/esm/validations/solana-compute-budget.js.map +1 -0
- package/dist/esm/validations/solana-op-budget.js +1 -1
- package/dist/esm/validations/solana-op-budget.js.map +1 -1
- package/dist/esm/validations/solana-op-wrap.js +1 -1
- package/dist/esm/validations/solana-op-wrap.js.map +1 -1
- package/dist/esm/validations/solana-preparation.js +190 -0
- package/dist/esm/validations/solana-preparation.js.map +1 -0
- package/dist/esm/validations/solana-required-actions.js +65 -29
- package/dist/esm/validations/solana-required-actions.js.map +1 -1
- package/dist/esm/validations/solana-transaction.js +35 -67
- package/dist/esm/validations/solana-transaction.js.map +1 -1
- package/dist/esm/validations/trade-grouping.js +8 -10
- package/dist/esm/validations/trade-grouping.js.map +1 -1
- package/dist/esm/validations/trade-index-matching.js +107 -0
- package/dist/esm/validations/trade-index-matching.js.map +1 -0
- package/dist/esm/validations/trade-matching.js +10 -5
- package/dist/esm/validations/trade-matching.js.map +1 -1
- package/dist/esm/validator.js +4 -0
- package/dist/esm/validator.js.map +1 -1
- package/dist/esm/whitelists/environment-config.js +2 -0
- package/dist/esm/whitelists/environment-config.js.map +1 -1
- package/dist/types/helpers/address.d.ts +1 -0
- package/dist/types/helpers/address.d.ts.map +1 -1
- package/dist/types/helpers/evm-intent-id.d.ts.map +1 -1
- package/dist/types/helpers/execution-metadata.d.ts +38 -0
- package/dist/types/helpers/execution-metadata.d.ts.map +1 -0
- package/dist/types/helpers/solana-instruction.d.ts +4 -0
- package/dist/types/helpers/solana-instruction.d.ts.map +1 -1
- package/dist/types/helpers/solana-intent-id.d.ts.map +1 -1
- package/dist/types/types/request.d.ts +1 -2
- package/dist/types/types/request.d.ts.map +1 -1
- package/dist/types/types/response.d.ts +53 -24
- package/dist/types/types/response.d.ts.map +1 -1
- package/dist/types/types/validation.d.ts +32 -1
- package/dist/types/types/validation.d.ts.map +1 -1
- package/dist/types/validations/dln-metadata.d.ts +1 -0
- package/dist/types/validations/dln-metadata.d.ts.map +1 -1
- package/dist/types/validations/evm-permit.d.ts.map +1 -1
- package/dist/types/validations/execution-metadata.d.ts +3 -0
- package/dist/types/validations/execution-metadata.d.ts.map +1 -0
- package/dist/types/validations/low-input-sweep-bundle.d.ts.map +1 -1
- package/dist/types/validations/low-input-sweep-consolidation.d.ts +5 -0
- package/dist/types/validations/low-input-sweep-consolidation.d.ts.map +1 -0
- package/dist/types/validations/low-input-sweep.d.ts.map +1 -1
- package/dist/types/validations/solana-compute-budget.d.ts +5 -0
- package/dist/types/validations/solana-compute-budget.d.ts.map +1 -0
- package/dist/types/validations/solana-preparation.d.ts +3 -0
- package/dist/types/validations/solana-preparation.d.ts.map +1 -0
- package/dist/types/validations/solana-required-actions.d.ts.map +1 -1
- package/dist/types/validations/solana-transaction.d.ts.map +1 -1
- package/dist/types/validations/trade-index-matching.d.ts +4 -0
- package/dist/types/validations/trade-index-matching.d.ts.map +1 -0
- package/dist/types/validations/trade-matching.d.ts.map +1 -1
- package/dist/types/validator.d.ts.map +1 -1
- package/dist/types/whitelists/environment-config.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -15,8 +15,8 @@ export function validateLowInputSweeps(request, response, quoteMode) {
|
|
|
15
15
|
sweeps: [],
|
|
16
16
|
violations: validateLowInputSweepBundle(request, response, quoteMode),
|
|
17
17
|
};
|
|
18
|
-
// Safe skip: prohibited modes or missing surviving trades/intents
|
|
19
|
-
// reported above. Their metadata cannot remove request trades from the
|
|
18
|
+
// Safe skip: missing consent, prohibited modes or missing surviving trades/intents
|
|
19
|
+
// are reported above. Their metadata cannot remove request trades from the
|
|
20
20
|
// ordinary validation flow.
|
|
21
21
|
if (result.violations.length > 0)
|
|
22
22
|
return result;
|
|
@@ -32,7 +32,7 @@ export function validateLowInputSweeps(request, response, quoteMode) {
|
|
|
32
32
|
}
|
|
33
33
|
// Only entries without metadata/amount violations become sweep contexts.
|
|
34
34
|
// Their transfer hooks and recipients are validated in a separate pass.
|
|
35
|
-
const entry = validateSweepTrade(sweep, request.trades[sweep.tradeIndex], i);
|
|
35
|
+
const entry = validateSweepTrade(sweep, request.trades[sweep.tradeIndex], i, request.totalDstAmount !== undefined);
|
|
36
36
|
result.violations.push(...entry.violations);
|
|
37
37
|
result.sweeps.push(...entry.sweeps);
|
|
38
38
|
}
|
|
@@ -67,7 +67,7 @@ function validateSweepIndex(tradeIndex, tradeCount, seen, sweepIndex) {
|
|
|
67
67
|
}
|
|
68
68
|
// Binds one sweep entry to its original request trade and parses its transfer amount.
|
|
69
69
|
// Returns no sweep context when any check fails, so the trade remains in ordinary validation.
|
|
70
|
-
function validateSweepTrade(sweep, trade, sweepIndex) {
|
|
70
|
+
function validateSweepTrade(sweep, trade, sweepIndex, consolidationMode) {
|
|
71
71
|
const violations = [];
|
|
72
72
|
const realChainId = resolveChainId(trade.srcChainId);
|
|
73
73
|
const destinationChainId = resolveChainId(trade.dstChainId);
|
|
@@ -82,7 +82,7 @@ function validateSweepTrade(sweep, trade, sweepIndex) {
|
|
|
82
82
|
});
|
|
83
83
|
return { sweeps: [], violations };
|
|
84
84
|
}
|
|
85
|
-
violations.push(...validateSweepIdentity(sweep, trade, realChainId, destinationChainId, basePath));
|
|
85
|
+
violations.push(...validateSweepIdentity(sweep, trade, realChainId, destinationChainId, basePath, consolidationMode));
|
|
86
86
|
violations.push(...validateSweepSourceAuthority(trade, realChainId, basePath));
|
|
87
87
|
const amount = validateSweepAmount(sweep, trade, realChainId, basePath, violations);
|
|
88
88
|
if (violations.length > 0
|
|
@@ -121,7 +121,7 @@ function validateSweepSourceAuthority(trade, realChainId, basePath) {
|
|
|
121
121
|
}
|
|
122
122
|
// Compares duplicated sweep metadata with the request, using chain-aware address
|
|
123
123
|
// comparison and field-specific equivalence rules for the originalTrade echo.
|
|
124
|
-
function validateSweepIdentity(sweep, trade, sourceChainId, destinationChainId, basePath) {
|
|
124
|
+
function validateSweepIdentity(sweep, trade, sourceChainId, destinationChainId, basePath, consolidationMode) {
|
|
125
125
|
const violations = [];
|
|
126
126
|
// CRITICAL: the duplicated metadata cannot redefine the asset or source chain.
|
|
127
127
|
if (sweep.chainId !== trade.srcChainId) {
|
|
@@ -132,18 +132,14 @@ function validateSweepIdentity(sweep, trade, sourceChainId, destinationChainId,
|
|
|
132
132
|
}
|
|
133
133
|
return [
|
|
134
134
|
...violations,
|
|
135
|
-
...validateOriginalTrade(sweep, trade, sourceChainId, destinationChainId, basePath),
|
|
135
|
+
...validateOriginalTrade(sweep, trade, sourceChainId, destinationChainId, basePath, consolidationMode),
|
|
136
136
|
];
|
|
137
137
|
}
|
|
138
138
|
// CRITICAL: preserve every request field except the explicitly supported
|
|
139
139
|
// amount/default normalization.
|
|
140
|
-
function validateOriginalTrade(sweep, trade, sourceChainId, destinationChainId, basePath) {
|
|
140
|
+
function validateOriginalTrade(sweep, trade, sourceChainId, destinationChainId, basePath, consolidationMode) {
|
|
141
141
|
const violations = [];
|
|
142
|
-
|
|
143
|
-
// no longer prepended to that trade. All other fields retain their request values.
|
|
144
|
-
const expectedTrade = isMaxAmountMode(trade.srcChainTokenInAmount)
|
|
145
|
-
? { ...trade, srcChainTokenInAmount: sweep.amount, prependOperatingExpenses: false }
|
|
146
|
-
: trade;
|
|
142
|
+
const expectedTrade = getExpectedOriginalTrade(trade, sweep.amount, consolidationMode);
|
|
147
143
|
// Inspect fields from both objects so an added response field is not silently ignored.
|
|
148
144
|
// A sweep replaces the whole trade, including its trade-level calls. Echoing
|
|
149
145
|
// those calls does not authorize executing them: the hook matcher accepts only
|
|
@@ -159,6 +155,16 @@ function validateOriginalTrade(sweep, trade, sourceChainId, destinationChainId,
|
|
|
159
155
|
}
|
|
160
156
|
return violations;
|
|
161
157
|
}
|
|
158
|
+
// Max-like amounts are resolved before sweep planning. Non-consolidation also
|
|
159
|
+
// disables prepended expenses; consolidation preserves the original flag in
|
|
160
|
+
// the sweep echo. This echo does not authorize adding expenses to the transfer.
|
|
161
|
+
function getExpectedOriginalTrade(trade, amount, consolidationMode) {
|
|
162
|
+
if (!isMaxAmountMode(trade.srcChainTokenInAmount))
|
|
163
|
+
return trade;
|
|
164
|
+
return consolidationMode
|
|
165
|
+
? { ...trade, srcChainTokenInAmount: amount }
|
|
166
|
+
: { ...trade, srcChainTokenInAmount: amount, prependOperatingExpenses: false };
|
|
167
|
+
}
|
|
162
168
|
const SOURCE_ADDRESS_FIELDS = [
|
|
163
169
|
"srcChainTokenIn", "srcChainAuthorityAddress", "srcAllowedCancelBeneficiary",
|
|
164
170
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"low-input-sweep.js","sourceRoot":"","sources":["../../../src/validations/low-input-sweep.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAC7C,OAAO,EAGH,WAAW,EAIX,aAAa,EAEb,aAAa,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAiBvE,kFAAkF;AAClF,8EAA8E;AAC9E,0EAA0E;AAC1E,MAAM,UAAU,sBAAsB,CAClC,OAA8B,EAC9B,QAAgC,EAChC,SAAkB;IAElB,MAAM,MAAM,GAAwB;QAChC,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;KACxE,CAAC;IAEF,sEAAsE;IACtE,uEAAuE;IACvE,4BAA4B;IAC5B,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAEhD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC;IAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE3B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;YACtC,SAAS;QACb,CAAC;QAED,yEAAyE;QACzE,wEAAwE;QACxE,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7E,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,gFAAgF;AAChF,+EAA+E;AAC/E,SAAS,kBAAkB,CACvB,UAAkB,EAClB,UAAkB,EAClB,IAAyB,EACzB,UAAkB;IAElB,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,2BAA2B,UAAU,cAAc,CAAC;IAEjE,4EAA4E;IAC5E,IACI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;WAC9B,UAAU,GAAG,CAAC;WACd,UAAU,IAAI,UAAU,EAC7B,CAAC;QACC,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,8BAA8B;YAClD,OAAO,EAAE,mEAAmE;YAC5E,IAAI;YACJ,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE;YAC9C,MAAM,EAAE,UAAU;SACrB,CAAC,CAAC;IACP,CAAC;SAAM,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,2BAA2B;YAC/C,OAAO,EAAE,kDAAkD;YAC3D,IAAI;YACJ,MAAM,EAAE,UAAU;SACrB,CAAC,CAAC;IACP,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,sFAAsF;AACtF,8FAA8F;AAC9F,SAAS,kBAAkB,CACvB,KAA4B,EAC5B,KAAmB,EACnB,UAAkB;IAElB,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,2BAA2B,UAAU,GAAG,CAAC;IAE1D,qFAAqF;IACrF,IAAI,WAAW,KAAK,SAAS,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAChE,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,qBAAqB;YACzC,OAAO,EAAE,6EAA6E;YACtF,IAAI,EAAE,kBAAkB,KAAK,CAAC,UAAU,GAAG;YAC3C,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE;SACzE,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;IACtC,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnG,UAAU,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEpF,IACI,UAAU,CAAC,MAAM,GAAG,CAAC;WAClB,MAAM,KAAK,SAAS;WACpB,KAAK,CAAC,wBAAwB,KAAK,SAAS,EACjD,CAAC;QACC,yEAAyE;QACzE,qDAAqD;QACrD,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;IACtC,CAAC;IAED,OAAO;QACH,MAAM,EAAE,CAAC;gBACL,UAAU;gBACV,YAAY,EAAE,KAAK,CAAC,UAAU;gBAC9B,WAAW;gBACX,KAAK;gBACL,MAAM,EAAE,KAAK,CAAC,wBAAwB;gBACtC,MAAM;aACT,CAAC;QACF,UAAU;KACb,CAAC;AACN,CAAC;AAED,0DAA0D;AAC1D,SAAS,4BAA4B,CACjC,KAAmB,EACnB,WAAoB,EACpB,QAAgB;IAEhB,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,kFAAkF;IAClF,IACI,KAAK,CAAC,wBAAwB,KAAK,SAAS;WACzC,CAAC,oCAAoC,CAAC,WAAW,EAAE,KAAK,CAAC,wBAAwB,CAAC,EACvF,CAAC;QACC,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,mCAAmC;YACvD,OAAO,EAAE,kDAAkD;YAC3D,IAAI,EAAE,GAAG,QAAQ,yCAAyC;YAC1D,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,wBAAwB,EAAE,WAAW,EAAE;SACnE,CAAC,CAAC;IACP,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,iFAAiF;AACjF,8EAA8E;AAC9E,SAAS,qBAAqB,CAC1B,KAA4B,EAC5B,KAAmB,EACnB,aAAsB,EACtB,kBAA2B,EAC3B,QAAgB;IAEhB,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,+EAA+E;IAC/E,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;QACrC,UAAU,CAAC,IAAI,CAAC,aAAa,CACzB,aAAa,CAAC,4BAA4B,EAC1C,GAAG,QAAQ,UAAU,EACrB,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,OAAO,CAChB,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3E,UAAU,CAAC,IAAI,CAAC,aAAa,CACzB,aAAa,CAAC,iCAAiC,EAC/C,GAAG,QAAQ,eAAe,EAC1B,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,YAAY,CACrB,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,GAAG,UAAU;QACb,GAAG,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,CAAC;KACtF,CAAC;AACN,CAAC;AAED,yEAAyE;AACzE,gCAAgC;AAChC,SAAS,qBAAqB,CAC1B,KAA4B,EAC5B,KAAmB,EACnB,aAAsB,EACtB,kBAA2B,EAC3B,QAAgB;IAEhB,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,+EAA+E;IAC/E,mFAAmF;IACnF,MAAM,aAAa,GAAiB,eAAe,CAAC,KAAK,CAAC,qBAAqB,CAAC;QAC5E,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,qBAAqB,EAAE,KAAK,CAAC,MAAM,EAAE,wBAAwB,EAAE,KAAK,EAAE;QACpF,CAAC,CAAC,KAAK,CAAC;IAEZ,uFAAuF;IACvF,6EAA6E;IAC7E,+EAA+E;IAC/E,uFAAuF;IACvF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAqB;QACvC,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAA2B;QACvD,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAA2B;KAChE,CAAC,CAAC;IAEH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,yBAAyB,CAC1B,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,aAAa,EAAE,kBAAkB,CAC/E,EAAE,CAAC;YACA,UAAU,CAAC,IAAI,CAAC,aAAa,CACzB,aAAa,CAAC,kCAAkC,EAChD,GAAG,QAAQ,kBAAkB,KAAK,EAAE,EACpC,aAAa,CAAC,KAAK,CAAC,EACpB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAC7B,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,MAAM,qBAAqB,GAAoC;IAC3D,iBAAiB,EAAE,0BAA0B,EAAE,6BAA6B;CAC/E,CAAC;AACF,MAAM,0BAA0B,GAAoC;IAChE,kBAAkB,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,cAAc;CAC9F,CAAC;AAEF,kFAAkF;AAClF,uFAAuF;AACvF,SAAS,yBAAyB,CAC9B,KAAyB,EACzB,YAA0B,EAC1B,aAA2B,EAC3B,aAAsB,EACtB,kBAA2B;IAE3B,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAEpC,oFAAoF;IACpF,IAAI,KAAK,KAAK,0BAA0B,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QAC1D,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,KAAK,KAAK,iBAAiB,IAAI,KAAK,KAAK,kBAAkB,EAAE,CAAC;QAC9D,OAAO,iBAAiB,CAAC,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,sFAAsF;IACtF,IAAI,KAAK,KAAK,wBAAwB,EAAE,CAAC;QACrC,OAAO,sBAAsB,CACzB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAC9D,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAC7D,CAAC;IACN,CAAC;IAED,oFAAoF;IACpF,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,QAAQ,KAAK,MAAM,CAAC;IAE/E,IAAI,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,0BAA0B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtF,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC3F,OAAO,OAAO,QAAQ,KAAK,QAAQ;eAC5B,OAAO,MAAM,KAAK,QAAQ;eAC1B,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,KAAK,KAAK,uBAAuB,EAAE,CAAC;QACpC,OAAO,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,KAAK,KAAK,aAAa;QAAE,OAAO,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzF,OAAO,QAAQ,KAAK,MAAM,CAAC;AAC/B,CAAC;AAED,6EAA6E;AAC7E,iEAAiE;AACjE,SAAS,sBAAsB,CAAC,QAAgB,EAAE,MAAc;IAC5D,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAErC,IAAI,CAAC;QACD,OAAO,kBAAkB,CAAC,QAAQ,CAAC,KAAK,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACL,gEAAgE;QAChE,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,wFAAwF;AACxF,6FAA6F;AAC7F,+FAA+F;AAC/F,SAAS,mBAAmB,CACxB,KAA4B,EAC5B,KAAmB,EACnB,WAAoB,EACpB,QAAgB,EAChB,UAAuB;IAEvB,mEAAmE;IACnE,IAAI,KAAK,CAAC,qBAAqB,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;QACrD,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,iCAAiC;YACrD,OAAO,EAAE,kEAAkE;YAC3E,IAAI,EAAE,kBAAkB,KAAK,CAAC,UAAU,yBAAyB;YACjE,MAAM,EAAE,KAAK,CAAC,qBAAqB;SACtC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,SAAS,EAAE,UAAU,CAAC,CAAC;IAErG,iFAAiF;IACjF,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE3C,0EAA0E;IAC1E,uEAAuE;IACvE,sFAAsF;IACtF,IAAI,eAAe,CAAC,KAAK,CAAC,qBAAqB,CAAC;QAAE,OAAO,MAAM,CAAC;IAEhE,UAAU,CAAC,IAAI,CAAC,GAAG,wBAAwB,CACvC,MAAM,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,CACpE,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,oFAAoF;AACpF,SAAS,wBAAwB,CAC7B,KAAa,EACb,WAAoB,EACpB,IAAY,EACZ,UAAuB;IAEvB,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACzC,4EAA4E;QAC5E,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,KAAK,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAE5F,oFAAoF;QACpF,IAAI,MAAM,GAAG,EAAE,IAAI,MAAM,IAAI,OAAO;YAAE,OAAO,MAAM,CAAC;QAEpD,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,6BAA6B;YACjD,OAAO,EAAE,6DAA6D;YACtE,IAAI;YACJ,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE;YAC/C,MAAM,EAAE,KAAK;SAChB,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,6BAA6B;YACjD,OAAO,EAAE,2BAA2B;YACpC,IAAI;YACJ,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,KAAK;SACjB,CAAC,CAAC;IACP,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,mFAAmF;AACnF,6EAA6E;AAC7E,SAAS,wBAAwB,CAC7B,MAAc,EACd,aAAqB,EACrB,KAA4B,EAC5B,WAAoB,EACpB,QAAgB;IAEhB,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,wBAAwB,CACtC,aAAa,EAAE,WAAW,EAAE,kBAAkB,KAAK,CAAC,UAAU,yBAAyB,EAAE,UAAU,CACtG,CAAC;IAEF,wEAAwE;IACxE,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAE/C,8DAA8D;IAC9D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,2BAA2B;YAC/C,OAAO,EAAE,yDAAyD;YAClE,IAAI,EAAE,GAAG,QAAQ,SAAS;YAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE;YAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;SACvB,CAAC,CAAC;IACP,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,aAAa,CAClB,IAEsD,EACtD,IAAY,EACZ,QAAiB,EACjB,MAAe,EACf,OAAO,GAAG,gEAAgE;IAE1E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACrD,CAAC"}
|
|
1
|
+
{"version":3,"file":"low-input-sweep.js","sourceRoot":"","sources":["../../../src/validations/low-input-sweep.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { ViolationCode } from "../types/index.js";
|
|
2
|
+
import { COMPUTE_UNIT_LIMIT_DISCRIMINATOR, COMPUTE_UNIT_PRICE_DISCRIMINATOR, COMPUTE_UNIT_LIMIT_DATA_LENGTH, COMPUTE_UNIT_PRICE_DATA_LENGTH, isComputeBudget, } from "../helpers/solana-instruction.js";
|
|
3
|
+
// Only the unit limit and unit price belong to the supported intent transaction
|
|
4
|
+
// format; heap-frame requests and deprecated operations are not authorized.
|
|
5
|
+
const SUPPORTED_COMPUTE_BUDGET_LAYOUTS = [
|
|
6
|
+
{ discriminator: COMPUTE_UNIT_LIMIT_DISCRIMINATOR, dataLength: COMPUTE_UNIT_LIMIT_DATA_LENGTH, accountCount: 0 },
|
|
7
|
+
{ discriminator: COMPUTE_UNIT_PRICE_DISCRIMINATOR, dataLength: COMPUTE_UNIT_PRICE_DATA_LENGTH, accountCount: 0 },
|
|
8
|
+
];
|
|
9
|
+
export function isSolanaComputeBudgetAllowed(request) {
|
|
10
|
+
return !request.enableAccountAbstraction && request.intentOnChainSubmission !== true;
|
|
11
|
+
}
|
|
12
|
+
// CRITICAL: the request determines whether ComputeBudget is permitted, not the
|
|
13
|
+
// response action's type or operation labels. This also covers split preparation.
|
|
14
|
+
// In the allowed mode, the request supplies no priority-fee spending limit.
|
|
15
|
+
// These structural checks therefore do not protect against an excessive price;
|
|
16
|
+
// neither response costs nor the service's fee settings are trusted fee caps.
|
|
17
|
+
export function validateSolanaComputeBudgetInstructions(instructions, actionPath, request, requireComputeBudget) {
|
|
18
|
+
const computeInstructions = instructions.filter(isComputeBudget);
|
|
19
|
+
if (!isSolanaComputeBudgetAllowed(request)) {
|
|
20
|
+
return validateComputeBudgetAbsent(computeInstructions, actionPath);
|
|
21
|
+
}
|
|
22
|
+
return [
|
|
23
|
+
...validateComputeBudgetOrder(instructions, actionPath),
|
|
24
|
+
...computeInstructions.flatMap(instruction => validateComputeBudgetStructure(instruction, actionPath)),
|
|
25
|
+
...validateComputeBudgetDuplicates(computeInstructions, actionPath),
|
|
26
|
+
...validateComputeBudgetPresence(computeInstructions, actionPath, requireComputeBudget),
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
// CRITICAL: no ComputeBudget instruction is authorized for AA or explicitly
|
|
30
|
+
// requested on-chain submission, including otherwise well-formed price changes.
|
|
31
|
+
function validateComputeBudgetAbsent(instructions, actionPath) {
|
|
32
|
+
if (instructions.length === 0)
|
|
33
|
+
return [];
|
|
34
|
+
return [{
|
|
35
|
+
code: ViolationCode.SolanaComputeBudgetForbidden,
|
|
36
|
+
message: "ComputeBudget is forbidden for AA or explicitly requested on-chain intent submission",
|
|
37
|
+
path: `${actionPath}.data.data`,
|
|
38
|
+
expected: { computeBudgetInstructionCount: 0 },
|
|
39
|
+
actual: { computeBudgetInstructionCount: instructions.length },
|
|
40
|
+
}];
|
|
41
|
+
}
|
|
42
|
+
// HIGH: ComputeBudget instructions form a prefix, with either ordering of the
|
|
43
|
+
// supported price and limit instructions accepted.
|
|
44
|
+
function validateComputeBudgetOrder(instructions, actionPath) {
|
|
45
|
+
const actual = instructions.flatMap((instruction, index) => isComputeBudget(instruction) ? [index] : []);
|
|
46
|
+
const expected = actual.map((_, index) => index);
|
|
47
|
+
if (actual.every((index, position) => index === expected[position]))
|
|
48
|
+
return [];
|
|
49
|
+
return [{
|
|
50
|
+
code: ViolationCode.SolanaComputeBudgetOrderInvalid,
|
|
51
|
+
message: "ComputeBudget instructions must precede all other instructions",
|
|
52
|
+
path: `${actionPath}.data.data`,
|
|
53
|
+
expected,
|
|
54
|
+
actual,
|
|
55
|
+
}];
|
|
56
|
+
}
|
|
57
|
+
// HIGH: reject unknown operations, truncated/trailing bytes and account operands.
|
|
58
|
+
// Reading the discriminator and byte lengths does not require a throwing decoder.
|
|
59
|
+
function validateComputeBudgetStructure(instruction, actionPath) {
|
|
60
|
+
const format = SUPPORTED_COMPUTE_BUDGET_LAYOUTS.find(layout => layout.discriminator === instruction.data[0]);
|
|
61
|
+
const actual = {
|
|
62
|
+
discriminator: instruction.data[0],
|
|
63
|
+
dataLength: instruction.data.length,
|
|
64
|
+
accountCount: instruction.accountKeys.length,
|
|
65
|
+
};
|
|
66
|
+
if (format && actual.dataLength === format.dataLength && actual.accountCount === 0)
|
|
67
|
+
return [];
|
|
68
|
+
return [{
|
|
69
|
+
code: ViolationCode.SolanaComputeBudgetInstructionInvalid,
|
|
70
|
+
message: "ComputeBudget must be an exactly encoded unit limit or unit price with no account operands",
|
|
71
|
+
path: `${actionPath}.data.data`,
|
|
72
|
+
expected: SUPPORTED_COMPUTE_BUDGET_LAYOUTS.map(layout => ({ ...layout })),
|
|
73
|
+
actual: [actual],
|
|
74
|
+
}];
|
|
75
|
+
}
|
|
76
|
+
// HIGH: repeated operations must not hide a second price or limit setting.
|
|
77
|
+
function validateComputeBudgetDuplicates(instructions, actionPath) {
|
|
78
|
+
const actual = instructions.map(instruction => instruction.data[0]);
|
|
79
|
+
const expected = [...new Set(actual)];
|
|
80
|
+
if (actual.length === expected.length)
|
|
81
|
+
return [];
|
|
82
|
+
return [{
|
|
83
|
+
code: ViolationCode.SolanaComputeBudgetDuplicate,
|
|
84
|
+
message: "ComputeBudget operations must not be duplicated within a transaction",
|
|
85
|
+
path: `${actionPath}.data.data`,
|
|
86
|
+
expected,
|
|
87
|
+
actual,
|
|
88
|
+
}];
|
|
89
|
+
}
|
|
90
|
+
// HIGH: the initial ordinary transaction and each ordinary embedded Intent need
|
|
91
|
+
// both settings. Later split preparation may omit both, but not just one setting.
|
|
92
|
+
function validateComputeBudgetPresence(instructions, actionPath, requireComputeBudget) {
|
|
93
|
+
if (!requireComputeBudget && instructions.length === 0)
|
|
94
|
+
return [];
|
|
95
|
+
const expected = SUPPORTED_COMPUTE_BUDGET_LAYOUTS.map(layout => layout.discriminator);
|
|
96
|
+
const actual = instructions.map(instruction => instruction.data[0]);
|
|
97
|
+
if (expected.every(discriminator => actual.includes(discriminator)))
|
|
98
|
+
return [];
|
|
99
|
+
return [{
|
|
100
|
+
code: ViolationCode.SolanaTransactionComputeBudgetMissing,
|
|
101
|
+
message: "Transaction must contain both ComputeBudget unit limit and unit price instructions",
|
|
102
|
+
path: `${actionPath}.data.data`,
|
|
103
|
+
expected,
|
|
104
|
+
actual,
|
|
105
|
+
}];
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=solana-compute-budget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana-compute-budget.js","sourceRoot":"","sources":["../../../src/validations/solana-compute-budget.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ const TOKEN_PROGRAMS = new Set([SPL_TOKEN_PROGRAM, SPL_TOKEN_2022_PROGRAM]);
|
|
|
10
10
|
// Entry point
|
|
11
11
|
// =============================================
|
|
12
12
|
// Validates Budget (approve) instructions within a decoded Solana transaction.
|
|
13
|
-
// Called for both Transaction
|
|
13
|
+
// Called for both Transaction and SignTransaction, including non-AA on-chain submission.
|
|
14
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"
|
|
@@ -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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"}
|
|
@@ -7,7 +7,7 @@ import { parseIntegerString } from "../helpers/integer.js";
|
|
|
7
7
|
// Entry point
|
|
8
8
|
// =============================================
|
|
9
9
|
// Validates Wrap (SOL → wSOL) instructions within a decoded Solana transaction.
|
|
10
|
-
// Called for both Transaction
|
|
10
|
+
// Called for both Transaction and SignTransaction, including non-AA on-chain submission.
|
|
11
11
|
export function validateSolanaWrapInstructions(action, resolvedInstructions, actionPath, inputTokens, realChainId, quoteMode, srcChainAuthorityAddress, quoteTradeSubsetUnverifiable) {
|
|
12
12
|
if (!action.actions.includes(SolanaActionOperation.Wrap))
|
|
13
13
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana-op-wrap.js","sourceRoot":"","sources":["../../../src/validations/solana-op-wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAEb,qBAAqB,GAGxB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,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,
|
|
1
|
+
{"version":3,"file":"solana-op-wrap.js","sourceRoot":"","sources":["../../../src/validations/solana-op-wrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { SolanaActionKind, ViolationCode } from "../types/index.js";
|
|
2
|
+
import { getAddressIdentityKey } from "../helpers/address.js";
|
|
3
|
+
import { decodeSolanaVersionedTransaction } from "../helpers/solana-transaction-decode.js";
|
|
4
|
+
import { CUSTOM_APPROVE_FIRST_ATA_INDEX, decodeClassicApprove, decodeCustomApprove, isClassicApprove, isCustomApprove, isSystemTransfer, resolveInstructions, } from "../helpers/solana-instruction.js";
|
|
5
|
+
// CRITICAL: all transactions for one intent share the same preparation budget.
|
|
6
|
+
// Count actual instructions across preparations and the combined Intent action,
|
|
7
|
+
// regardless of operation labels, action IDs, AA, or unlimited approval mode.
|
|
8
|
+
// Per-transaction validators still check amounts, recipients, owners and labels.
|
|
9
|
+
export function validateSolanaPreparationActions(actions, basePath, realChainId, intentProgram) {
|
|
10
|
+
const effects = actions.map((action, index) => readActionEffects(action, `${basePath}.requiredActions[${index}]`, intentProgram));
|
|
11
|
+
return [
|
|
12
|
+
...effects.flatMap(effect => effect.violations),
|
|
13
|
+
...validateUniqueWrap(effects.flatMap(effect => effect.wraps)),
|
|
14
|
+
...validateUniqueApprovals(effects.flatMap(effect => effect.approvals), realChainId),
|
|
15
|
+
];
|
|
16
|
+
}
|
|
17
|
+
// A separate message signature has no transaction preparation to inspect.
|
|
18
|
+
// Decode failures remain violations; they are not evidence of absent effects.
|
|
19
|
+
function readActionEffects(action, actionPath, intentProgram) {
|
|
20
|
+
if (action.type !== SolanaActionKind.Transaction && action.type !== SolanaActionKind.SignTransaction) {
|
|
21
|
+
return { wraps: [], approvals: [], violations: [] };
|
|
22
|
+
}
|
|
23
|
+
const decoded = decodeSolanaVersionedTransaction(action.data.data, `${actionPath}.data.data`, ViolationCode.SolanaTransactionDecodeError, ViolationCode.SolanaTransactionVersionInvalid);
|
|
24
|
+
if (!decoded.ok)
|
|
25
|
+
return { wraps: [], approvals: [], violations: decoded.violations };
|
|
26
|
+
return readTransactionEffects(decoded.transaction, actionPath, intentProgram);
|
|
27
|
+
}
|
|
28
|
+
function readTransactionEffects(transaction, actionPath, intentProgram) {
|
|
29
|
+
const effects = { wraps: [], approvals: [], violations: [] };
|
|
30
|
+
const accountKeys = transaction.message.staticAccountKeys.map(key => key.toBase58());
|
|
31
|
+
const instructions = transaction.message.compiledInstructions;
|
|
32
|
+
for (let i = 0; i < instructions.length; i++) {
|
|
33
|
+
const location = { actionPath, instructionIndex: i };
|
|
34
|
+
// Resolve one instruction at a time to retain its original index even
|
|
35
|
+
// when another instruction references a program outside static keys.
|
|
36
|
+
const [instruction] = resolveInstructions([instructions[i]], accountKeys);
|
|
37
|
+
if (instruction === undefined) {
|
|
38
|
+
effects.violations.push(unresolvedPreparationProgram(location, instructions[i].programIdIndex));
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
if (isSystemTransfer(instruction))
|
|
42
|
+
effects.wraps.push(location);
|
|
43
|
+
const approvals = readApprovalTargets(instruction, location, intentProgram);
|
|
44
|
+
effects.approvals.push(...approvals.targets);
|
|
45
|
+
effects.violations.push(...approvals.violations);
|
|
46
|
+
}
|
|
47
|
+
return effects;
|
|
48
|
+
}
|
|
49
|
+
// CRITICAL: unresolved programs cannot be assumed to have no preparation effects.
|
|
50
|
+
function unresolvedPreparationProgram(location, programIdIndex) {
|
|
51
|
+
return {
|
|
52
|
+
code: ViolationCode.SolanaPreparationProgramUnresolved,
|
|
53
|
+
message: "cannot resolve an instruction program for intent preparation validation",
|
|
54
|
+
path: `${location.actionPath}.data.data`,
|
|
55
|
+
actual: { ...location, programIdIndex },
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
// Decode both approval forms using the shared decoders. Unknown instructions
|
|
59
|
+
// remain subject to the transaction's program and instruction allowlists.
|
|
60
|
+
function readApprovalTargets(instruction, location, intentProgram) {
|
|
61
|
+
try {
|
|
62
|
+
if (isClassicApprove(instruction)) {
|
|
63
|
+
return { targets: [readClassicApprovalTarget(instruction, location)], violations: [] };
|
|
64
|
+
}
|
|
65
|
+
if (isCustomApprove(instruction, intentProgram)) {
|
|
66
|
+
return readCustomApprovalTargets(instruction, location);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
return {
|
|
71
|
+
targets: [],
|
|
72
|
+
violations: [{
|
|
73
|
+
code: ViolationCode.SolanaPreparationApprovalDecodeError,
|
|
74
|
+
message: "cannot decode an approval for intent preparation validation",
|
|
75
|
+
path: `${location.actionPath}.data.data`,
|
|
76
|
+
actual: location,
|
|
77
|
+
details: error,
|
|
78
|
+
}],
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
return { targets: [], violations: [] };
|
|
82
|
+
}
|
|
83
|
+
function readClassicApprovalTarget(instruction, location) {
|
|
84
|
+
const approval = decodeClassicApprove(instruction);
|
|
85
|
+
return {
|
|
86
|
+
owner: approval.owner,
|
|
87
|
+
tokenProgramId: approval.tokenProgramId,
|
|
88
|
+
tokenAccount: approval.ataAddress,
|
|
89
|
+
// Classic SPL Approve: the source token account is operand 0.
|
|
90
|
+
location: { ...location, accountIndex: 0 },
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
// HIGH: an empty custom approval is not meaningful preparation. Every amount
|
|
94
|
+
// must have a corresponding account before duplicate targets can be checked.
|
|
95
|
+
// Decoder exceptions are caught locally by readApprovalTargets.
|
|
96
|
+
function readCustomApprovalTargets(instruction, location) {
|
|
97
|
+
const approval = decodeCustomApprove(instruction);
|
|
98
|
+
if (approval.ataAddresses.length === 0 || approval.vecLength !== approval.ataAddresses.length) {
|
|
99
|
+
return {
|
|
100
|
+
targets: [],
|
|
101
|
+
violations: [{
|
|
102
|
+
code: ViolationCode.SolanaPreparationApprovalAccountsInvalid,
|
|
103
|
+
message: "custom approval must contain a nonempty account list paired with its amounts",
|
|
104
|
+
path: `${location.actionPath}.data.data`,
|
|
105
|
+
actual: { ...location, amountCount: approval.vecLength, accountCount: approval.ataAddresses.length },
|
|
106
|
+
}],
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
targets: approval.ataAddresses.map((tokenAccount, index) => ({
|
|
111
|
+
owner: approval.maker,
|
|
112
|
+
tokenProgramId: approval.tokenProgramId,
|
|
113
|
+
tokenAccount,
|
|
114
|
+
location: { ...location, accountIndex: CUSTOM_APPROVE_FIRST_ATA_INDEX + index },
|
|
115
|
+
})),
|
|
116
|
+
violations: [],
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
// CRITICAL: a Wrap transfer already covers the full canonical native budget.
|
|
120
|
+
// A second transfer repeats that expense, including across transaction kinds.
|
|
121
|
+
function validateUniqueWrap(locations) {
|
|
122
|
+
if (locations.length <= 1)
|
|
123
|
+
return [];
|
|
124
|
+
return [{
|
|
125
|
+
code: ViolationCode.SolanaPreparationWrapDuplicate,
|
|
126
|
+
message: "the intent must not wrap its native input budget more than once",
|
|
127
|
+
path: `${locations[1].actionPath}.data.data`,
|
|
128
|
+
expected: { transferCount: 1 },
|
|
129
|
+
actual: { transferCount: locations.length },
|
|
130
|
+
details: { occurrences: locations },
|
|
131
|
+
}];
|
|
132
|
+
}
|
|
133
|
+
// CRITICAL: one token account cannot be prepared twice for the same intent.
|
|
134
|
+
// This includes classic/custom mixtures and unlimited approvals. Different token
|
|
135
|
+
// accounts may still be prepared in separate transactions; amounts stay local.
|
|
136
|
+
function validateUniqueApprovals(targets, realChainId) {
|
|
137
|
+
const targetsByAccount = new Map();
|
|
138
|
+
const violations = [];
|
|
139
|
+
for (const target of targets) {
|
|
140
|
+
const key = getApprovalIdentityKey(target, realChainId);
|
|
141
|
+
if (key === undefined) {
|
|
142
|
+
violations.push(invalidApprovalIdentity(target));
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
const accountTargets = targetsByAccount.get(key) ?? [];
|
|
146
|
+
accountTargets.push(target);
|
|
147
|
+
targetsByAccount.set(key, accountTargets);
|
|
148
|
+
}
|
|
149
|
+
// Report each account once after collecting all occurrences. Copying the
|
|
150
|
+
// growing list for every repeat would produce quadratic diagnostic output.
|
|
151
|
+
for (const accountTargets of targetsByAccount.values()) {
|
|
152
|
+
// The second approval is the first repeat and supplies the violation path.
|
|
153
|
+
const repeatedTarget = accountTargets[1];
|
|
154
|
+
if (repeatedTarget === undefined)
|
|
155
|
+
continue;
|
|
156
|
+
const locations = accountTargets.map(target => target.location);
|
|
157
|
+
violations.push(duplicateApprovalViolation(repeatedTarget, locations));
|
|
158
|
+
}
|
|
159
|
+
return violations;
|
|
160
|
+
}
|
|
161
|
+
// The approval kind is deliberately absent from the key: switching between a
|
|
162
|
+
// custom delta and a classic absolute approval must not authorize another action.
|
|
163
|
+
function getApprovalIdentityKey(target, realChainId) {
|
|
164
|
+
const addresses = [target.owner, target.tokenProgramId, target.tokenAccount];
|
|
165
|
+
const keys = addresses.map(address => typeof address === "string" ? getAddressIdentityKey(realChainId, address) : undefined);
|
|
166
|
+
if (keys.some(key => key === undefined))
|
|
167
|
+
return undefined;
|
|
168
|
+
return keys.join(":");
|
|
169
|
+
}
|
|
170
|
+
// HIGH: missing or lookup-table operands cannot establish a valid account identity.
|
|
171
|
+
function invalidApprovalIdentity(target) {
|
|
172
|
+
return {
|
|
173
|
+
code: ViolationCode.SolanaPreparationApprovalAddressInvalid,
|
|
174
|
+
message: "cannot resolve the owner, token program or token account of an approval",
|
|
175
|
+
path: `${target.location.actionPath}.data.data`,
|
|
176
|
+
actual: target,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
function duplicateApprovalViolation(target, locations) {
|
|
180
|
+
const account = { owner: target.owner, tokenProgramId: target.tokenProgramId, tokenAccount: target.tokenAccount };
|
|
181
|
+
return {
|
|
182
|
+
code: ViolationCode.SolanaPreparationApprovalDuplicate,
|
|
183
|
+
message: "the intent must not approve the same source token account more than once",
|
|
184
|
+
path: `${target.location.actionPath}.data.data`,
|
|
185
|
+
expected: { ...account, approvalCount: 1 },
|
|
186
|
+
actual: { ...account, approvalCount: locations.length },
|
|
187
|
+
details: { occurrences: locations },
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=solana-preparation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana-preparation.js","sourceRoot":"","sources":["../../../src/validations/solana-preparation.ts"],"names":[],"mappings":"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"}
|