@debridge-finance/borderless-validation-sdk 0.0.8 → 0.0.10
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 +10 -4
- package/dist/cjs/helpers/address.js +6 -0
- package/dist/cjs/helpers/address.js.map +1 -1
- package/dist/cjs/helpers/evm-intent-id.js +18 -14
- package/dist/cjs/helpers/evm-intent-id.js.map +1 -1
- package/dist/cjs/helpers/evm-trade-amounts.js +2 -1
- package/dist/cjs/helpers/evm-trade-amounts.js.map +1 -1
- package/dist/cjs/helpers/zod.js +29 -0
- package/dist/cjs/helpers/zod.js.map +1 -1
- package/dist/cjs/types/request.js +51 -42
- package/dist/cjs/types/request.js.map +1 -1
- package/dist/cjs/types/response.js +68 -66
- package/dist/cjs/types/response.js.map +1 -1
- package/dist/cjs/types/validation.js +2 -4
- package/dist/cjs/types/validation.js.map +1 -1
- package/dist/cjs/validations/cost-token.js +14 -4
- package/dist/cjs/validations/cost-token.js.map +1 -1
- package/dist/cjs/validations/echo-fields.js +8 -22
- package/dist/cjs/validations/echo-fields.js.map +1 -1
- package/dist/cjs/validations/evm-caveats.js +29 -17
- package/dist/cjs/validations/evm-caveats.js.map +1 -1
- package/dist/cjs/validations/evm-op-budget.js +4 -4
- package/dist/cjs/validations/evm-op-budget.js.map +1 -1
- package/dist/cjs/validations/evm-op-hook.js +24 -6
- package/dist/cjs/validations/evm-op-hook.js.map +1 -1
- package/dist/cjs/validations/evm-op-wrap.js +2 -1
- package/dist/cjs/validations/evm-op-wrap.js.map +1 -1
- package/dist/cjs/validations/evm-permit.js +13 -13
- package/dist/cjs/validations/evm-permit.js.map +1 -1
- package/dist/cjs/validations/evm-permit2.js +11 -11
- package/dist/cjs/validations/evm-permit2.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 +2 -2
- package/dist/cjs/validations/evm-sign712-metamask.js.map +1 -1
- package/dist/cjs/validations/evm-sign712-shared.js +18 -4
- package/dist/cjs/validations/evm-sign712-shared.js.map +1 -1
- package/dist/cjs/validations/evm-sign712.js +2 -2
- package/dist/cjs/validations/evm-sign712.js.map +1 -1
- package/dist/cjs/validations/evm-sign7702.js +2 -1
- package/dist/cjs/validations/evm-sign7702.js.map +1 -1
- package/dist/cjs/validations/external-call.js +2 -1
- package/dist/cjs/validations/external-call.js.map +1 -1
- package/dist/cjs/validations/hooks-common.js +12 -24
- package/dist/cjs/validations/hooks-common.js.map +1 -1
- package/dist/cjs/validations/intent-destinations.js +42 -16
- package/dist/cjs/validations/intent-destinations.js.map +1 -1
- package/dist/cjs/validations/intent-tokens.js +33 -25
- package/dist/cjs/validations/intent-tokens.js.map +1 -1
- package/dist/cjs/validations/intent.js +24 -10
- package/dist/cjs/validations/intent.js.map +1 -1
- package/dist/cjs/validations/solana-op-budget.js +8 -2
- package/dist/cjs/validations/solana-op-budget.js.map +1 -1
- package/dist/cjs/validations/solana-op-wrap.js +2 -2
- package/dist/cjs/validations/solana-op-wrap.js.map +1 -1
- package/dist/cjs/validations/trade-grouping.js +9 -3
- package/dist/cjs/validations/trade-grouping.js.map +1 -1
- package/dist/cjs/validations/trades.js +75 -109
- package/dist/cjs/validations/trades.js.map +1 -1
- package/dist/cjs/validator.js +58 -33
- package/dist/cjs/validator.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 +18 -14
- package/dist/esm/helpers/evm-intent-id.js.map +1 -1
- package/dist/esm/helpers/evm-trade-amounts.js +2 -1
- package/dist/esm/helpers/evm-trade-amounts.js.map +1 -1
- package/dist/esm/helpers/zod.js +23 -0
- package/dist/esm/helpers/zod.js.map +1 -1
- package/dist/esm/types/request.js +51 -42
- package/dist/esm/types/request.js.map +1 -1
- package/dist/esm/types/response.js +68 -66
- package/dist/esm/types/response.js.map +1 -1
- package/dist/esm/types/validation.js +2 -4
- package/dist/esm/types/validation.js.map +1 -1
- package/dist/esm/validations/cost-token.js +14 -4
- package/dist/esm/validations/cost-token.js.map +1 -1
- package/dist/esm/validations/echo-fields.js +8 -22
- package/dist/esm/validations/echo-fields.js.map +1 -1
- package/dist/esm/validations/evm-caveats.js +28 -17
- package/dist/esm/validations/evm-caveats.js.map +1 -1
- package/dist/esm/validations/evm-op-budget.js +4 -4
- package/dist/esm/validations/evm-op-budget.js.map +1 -1
- package/dist/esm/validations/evm-op-hook.js +24 -6
- package/dist/esm/validations/evm-op-hook.js.map +1 -1
- package/dist/esm/validations/evm-op-wrap.js +2 -1
- package/dist/esm/validations/evm-op-wrap.js.map +1 -1
- package/dist/esm/validations/evm-permit.js +13 -13
- package/dist/esm/validations/evm-permit.js.map +1 -1
- package/dist/esm/validations/evm-permit2.js +11 -11
- package/dist/esm/validations/evm-permit2.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 +2 -2
- package/dist/esm/validations/evm-sign712-metamask.js.map +1 -1
- package/dist/esm/validations/evm-sign712-shared.js +19 -5
- package/dist/esm/validations/evm-sign712-shared.js.map +1 -1
- package/dist/esm/validations/evm-sign712.js +2 -2
- package/dist/esm/validations/evm-sign712.js.map +1 -1
- package/dist/esm/validations/evm-sign7702.js +2 -1
- package/dist/esm/validations/evm-sign7702.js.map +1 -1
- package/dist/esm/validations/external-call.js +2 -1
- package/dist/esm/validations/external-call.js.map +1 -1
- package/dist/esm/validations/hooks-common.js +12 -24
- package/dist/esm/validations/hooks-common.js.map +1 -1
- package/dist/esm/validations/intent-destinations.js +43 -17
- package/dist/esm/validations/intent-destinations.js.map +1 -1
- package/dist/esm/validations/intent-tokens.js +33 -25
- package/dist/esm/validations/intent-tokens.js.map +1 -1
- package/dist/esm/validations/intent.js +24 -10
- package/dist/esm/validations/intent.js.map +1 -1
- package/dist/esm/validations/solana-op-budget.js +8 -2
- package/dist/esm/validations/solana-op-budget.js.map +1 -1
- package/dist/esm/validations/solana-op-wrap.js +2 -2
- package/dist/esm/validations/solana-op-wrap.js.map +1 -1
- package/dist/esm/validations/trade-grouping.js +10 -4
- package/dist/esm/validations/trade-grouping.js.map +1 -1
- package/dist/esm/validations/trades.js +75 -109
- package/dist/esm/validations/trades.js.map +1 -1
- package/dist/esm/validator.js +58 -33
- package/dist/esm/validator.js.map +1 -1
- package/dist/types/helpers/address.d.ts.map +1 -1
- package/dist/types/helpers/evm-trade-amounts.d.ts.map +1 -1
- package/dist/types/helpers/zod.d.ts +7 -0
- package/dist/types/helpers/zod.d.ts.map +1 -1
- package/dist/types/types/request.d.ts +112 -112
- package/dist/types/types/request.d.ts.map +1 -1
- package/dist/types/types/response.d.ts +427 -426
- package/dist/types/types/response.d.ts.map +1 -1
- package/dist/types/types/validation.d.ts +2 -3
- package/dist/types/types/validation.d.ts.map +1 -1
- package/dist/types/validations/cost-token.d.ts.map +1 -1
- package/dist/types/validations/echo-fields.d.ts.map +1 -1
- package/dist/types/validations/evm-caveats.d.ts +2 -1
- package/dist/types/validations/evm-caveats.d.ts.map +1 -1
- package/dist/types/validations/evm-op-hook.d.ts +1 -1
- package/dist/types/validations/evm-op-hook.d.ts.map +1 -1
- package/dist/types/validations/evm-permit.d.ts +1 -1
- package/dist/types/validations/evm-permit.d.ts.map +1 -1
- package/dist/types/validations/evm-permit2.d.ts +1 -1
- package/dist/types/validations/evm-permit2.d.ts.map +1 -1
- package/dist/types/validations/evm-required-actions.d.ts.map +1 -1
- package/dist/types/validations/evm-sign712-metamask.d.ts +1 -1
- package/dist/types/validations/evm-sign712-metamask.d.ts.map +1 -1
- package/dist/types/validations/evm-sign712-shared.d.ts +1 -1
- package/dist/types/validations/evm-sign712-shared.d.ts.map +1 -1
- package/dist/types/validations/evm-sign7702.d.ts.map +1 -1
- package/dist/types/validations/intent-destinations.d.ts +3 -3
- package/dist/types/validations/intent-destinations.d.ts.map +1 -1
- package/dist/types/validations/intent-tokens.d.ts.map +1 -1
- package/dist/types/validations/intent.d.ts +1 -1
- package/dist/types/validations/intent.d.ts.map +1 -1
- package/dist/types/validations/trade-grouping.d.ts.map +1 -1
- package/dist/types/validator.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import { ViolationCode, SpecialChainId, ChainEngine, } from "../types/index.js";
|
|
2
|
-
import { detectChainEngine,
|
|
2
|
+
import { detectChainEngine, addressToHex, addressToHexByValue, getChainEngine, } from "../helpers/address.js";
|
|
3
3
|
import { setsEqual } from "../helpers/sets.js";
|
|
4
4
|
import { resolveChainId } from "../whitelists/subscription-to-chain-id.js";
|
|
5
|
-
export function validateIntentDestinations(
|
|
5
|
+
export function validateIntentDestinations(ctx, basePath, quoteMode) {
|
|
6
6
|
// Safe skip: in quote mode receiverDetails/dstAuthorityAddress contain
|
|
7
7
|
// placeholder values per the API contract
|
|
8
8
|
if (quoteMode)
|
|
9
9
|
return [];
|
|
10
|
+
const intent = ctx.intentPayload.intent;
|
|
10
11
|
return [
|
|
11
|
-
...validateDestinationList(intent.receiverDetails,
|
|
12
|
+
...validateDestinationList(intent.receiverDetails, ctx, trade => trade.dstChainTokenOutRecipient, `${basePath}.receiverDetails`, {
|
|
12
13
|
addressInvalid: ViolationCode.IntentReceiverDetailsAddressInvalid,
|
|
13
14
|
chainIdsMismatch: ViolationCode.IntentReceiverDetailsChainIdsMismatch,
|
|
14
15
|
missing: ViolationCode.IntentReceiverDetailsMissing,
|
|
15
16
|
duplicate: ViolationCode.IntentReceiverDetailsDuplicate,
|
|
16
17
|
addressChainMismatch: ViolationCode.IntentReceiverDetailsAddressChainMismatch,
|
|
17
18
|
}, "receiverDetails"),
|
|
18
|
-
...validateDestinationList(intent.dstAuthorityAddress,
|
|
19
|
+
...validateDestinationList(intent.dstAuthorityAddress, ctx, trade => trade.dstChainAuthorityAddress, `${basePath}.dstAuthorityAddress`, {
|
|
19
20
|
addressInvalid: ViolationCode.IntentDstAuthorityAddressInvalid,
|
|
20
21
|
chainIdsMismatch: ViolationCode.IntentDstAuthorityChainIdsMismatch,
|
|
21
22
|
missing: ViolationCode.IntentDstAuthorityMissing,
|
|
@@ -25,12 +26,13 @@ export function validateIntentDestinations(intent, group, basePath, quoteMode) {
|
|
|
25
26
|
];
|
|
26
27
|
}
|
|
27
28
|
// CRITICAL: the set of unique addresses in intent.<field>[] must exactly match
|
|
28
|
-
// the set of unique addresses in request
|
|
29
|
-
// containing exactly the chainIds where that address
|
|
30
|
-
|
|
29
|
+
// the set of unique addresses in the concrete intent's request-trade subset,
|
|
30
|
+
// with destinationChainIds containing exactly the chainIds where that address
|
|
31
|
+
// was used.
|
|
32
|
+
function validateDestinationList(details, ctx, pick, basePath, codes, fieldLabel) {
|
|
31
33
|
const violations = [];
|
|
32
34
|
const list = details ?? [];
|
|
33
|
-
const expected = collectExpectedByAddress(
|
|
35
|
+
const expected = collectExpectedByAddress(ctx, pick);
|
|
34
36
|
for (let i = 0; i < list.length; i++) {
|
|
35
37
|
violations.push(...validateAddressChainConsistency(list[i], `${basePath}[${i}]`, codes.addressChainMismatch, fieldLabel));
|
|
36
38
|
}
|
|
@@ -39,12 +41,12 @@ function validateDestinationList(details, group, pick, basePath, codes, fieldLab
|
|
|
39
41
|
violations.push(...validateEntries(list, firstOccurrence, expected, basePath, codes, fieldLabel));
|
|
40
42
|
return violations;
|
|
41
43
|
}
|
|
42
|
-
// Builds address → chainIds map from request trades, mirroring the API's
|
|
43
|
-
// grouping by
|
|
44
|
-
//
|
|
45
|
-
function collectExpectedByAddress(
|
|
44
|
+
// Builds raw-address → chainIds map from request trades, mirroring the API's
|
|
45
|
+
// grouping by ChainAddress.toHexAddress(). This intentionally allows EVM and
|
|
46
|
+
// Tron human-readable strings for the same 20-byte address to share one entry.
|
|
47
|
+
function collectExpectedByAddress(ctx, pick) {
|
|
46
48
|
const byAddress = new Map();
|
|
47
|
-
for (const trade of
|
|
49
|
+
for (const trade of ctx.intentTrades) {
|
|
48
50
|
const address = pick(trade);
|
|
49
51
|
if (address === undefined)
|
|
50
52
|
continue;
|
|
@@ -52,7 +54,7 @@ function collectExpectedByAddress(group, pick) {
|
|
|
52
54
|
// Safe skip: unknown dstChainId is reported by validateTrades
|
|
53
55
|
if (dstRealChainId === undefined)
|
|
54
56
|
continue;
|
|
55
|
-
const normalized =
|
|
57
|
+
const normalized = addressToHex(dstRealChainId, address);
|
|
56
58
|
const existing = byAddress.get(normalized) ?? new Set();
|
|
57
59
|
existing.add(trade.dstChainId);
|
|
58
60
|
byAddress.set(normalized, existing);
|
|
@@ -65,7 +67,7 @@ function collectExpectedByAddress(group, pick) {
|
|
|
65
67
|
function buildFirstOccurrence(list, basePath, duplicateCode, fieldLabel, violations) {
|
|
66
68
|
const firstOccurrence = new Map();
|
|
67
69
|
for (let i = 0; i < list.length; i++) {
|
|
68
|
-
const normalized =
|
|
70
|
+
const normalized = getResponseAddressKey(list[i].address);
|
|
69
71
|
const earlier = firstOccurrence.get(normalized);
|
|
70
72
|
if (earlier === undefined) {
|
|
71
73
|
firstOccurrence.set(normalized, i);
|
|
@@ -81,6 +83,16 @@ function buildFirstOccurrence(list, basePath, duplicateCode, fieldLabel, violati
|
|
|
81
83
|
}
|
|
82
84
|
return firstOccurrence;
|
|
83
85
|
}
|
|
86
|
+
function getResponseAddressKey(address) {
|
|
87
|
+
try {
|
|
88
|
+
return addressToHexByValue(address);
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
// Safe fallback: malformed response addresses are reported by later
|
|
92
|
+
// address/intent-id validations; duplicate detection must not throw.
|
|
93
|
+
return `invalid:${address}`;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
84
96
|
function reportMissingAddresses(expected, firstOccurrence, basePath, missingCode, fieldLabel) {
|
|
85
97
|
const violations = [];
|
|
86
98
|
for (const address of expected.keys()) {
|
|
@@ -149,8 +161,9 @@ function validateEntryChainIds(entry, expectedChainIds, path, code, fieldLabel)
|
|
|
149
161
|
function sortChainIds(set) {
|
|
150
162
|
return Array.from(set).sort((a, b) => a - b);
|
|
151
163
|
}
|
|
152
|
-
// CRITICAL: all chainIds in destinationChainIds (unless set to "any") must
|
|
153
|
-
//
|
|
164
|
+
// CRITICAL: all chainIds in destinationChainIds (unless set to "any") must be
|
|
165
|
+
// compatible with one address format. EVM+Tron is the only mixed-engine
|
|
166
|
+
// exception: both use the same 20-byte raw address representation in the API.
|
|
154
167
|
// MITM could otherwise return, e.g., destinationChainIds=[Ethereum, Solana]
|
|
155
168
|
// with an EVM address, which is impossible because one string can't be valid on both.
|
|
156
169
|
function validateAddressChainConsistency(entry, basePath, code, fieldLabel) {
|
|
@@ -167,6 +180,14 @@ function validateAddressChainConsistency(entry, basePath, code, fieldLabel) {
|
|
|
167
180
|
if (engines.size === 0)
|
|
168
181
|
return [];
|
|
169
182
|
if (engines.size > 1) {
|
|
183
|
+
if (isEvmTronEngineSet(engines)) {
|
|
184
|
+
// EVM+Tron mixed-engine exception: both use the same 20-byte raw
|
|
185
|
+
// address representation in the API
|
|
186
|
+
const actualEngine = detectChainEngine(entry.address);
|
|
187
|
+
if (actualEngine === ChainEngine.EVM || actualEngine === ChainEngine.Tron) {
|
|
188
|
+
return [];
|
|
189
|
+
}
|
|
190
|
+
}
|
|
170
191
|
return [{
|
|
171
192
|
code,
|
|
172
193
|
message: `intent.${fieldLabel}[].destinationChainIds spans multiple`
|
|
@@ -191,4 +212,9 @@ function validateAddressChainConsistency(entry, basePath, code, fieldLabel) {
|
|
|
191
212
|
}
|
|
192
213
|
return [];
|
|
193
214
|
}
|
|
215
|
+
function isEvmTronEngineSet(engines) {
|
|
216
|
+
return engines.size === 2
|
|
217
|
+
&& engines.has(ChainEngine.EVM)
|
|
218
|
+
&& engines.has(ChainEngine.Tron);
|
|
219
|
+
}
|
|
194
220
|
//# sourceMappingURL=intent-destinations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent-destinations.js","sourceRoot":"","sources":["../../../src/validations/intent-destinations.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,
|
|
1
|
+
{"version":3,"file":"intent-destinations.js","sourceRoot":"","sources":["../../../src/validations/intent-destinations.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,32 +6,32 @@ import { SPL_NATIVE_MINT } from "../whitelists/solana/programs.js";
|
|
|
6
6
|
import { parseIntegerString } from "../helpers/integer.js";
|
|
7
7
|
export function validateIntentTokens(ctx, basePath) {
|
|
8
8
|
const intent = ctx.intentPayload.intent;
|
|
9
|
-
const
|
|
10
|
-
const resolution = resolveGroupInputTokens(group);
|
|
9
|
+
const resolution = resolveIntentInputTokens(ctx);
|
|
11
10
|
return [
|
|
12
11
|
...resolution.violations,
|
|
13
12
|
...validateInputTokens(intent.inputToken, ctx, resolution.expected, `${basePath}.inputToken`),
|
|
14
|
-
...validateGiveTokens(
|
|
15
|
-
...validateTakeTokens(
|
|
13
|
+
...validateGiveTokens(ctx, `${basePath}.giveToken`),
|
|
14
|
+
...validateTakeTokens(ctx, `${basePath}.takeToken`),
|
|
16
15
|
];
|
|
17
16
|
}
|
|
18
|
-
// Resolves every request trade's srcChainTokenIn to its expected
|
|
19
|
-
// address (wrapped mint for native tokens) and returns the deduplicated set.
|
|
17
|
+
// Resolves every concrete intent request trade's srcChainTokenIn to its expected
|
|
18
|
+
// on-chain address (wrapped mint for native tokens) and returns the deduplicated set.
|
|
20
19
|
// A trade fails to resolve when it specifies a native token for a chain that
|
|
21
20
|
// has no WETH mapping in our whitelist. Each failure emits a dedicated violation
|
|
22
21
|
// so the caller knows which trade is unverifiable.
|
|
23
|
-
function
|
|
22
|
+
function resolveIntentInputTokens(ctx) {
|
|
23
|
+
const group = ctx.tradeGroup;
|
|
24
24
|
const expected = new Set();
|
|
25
25
|
const violations = [];
|
|
26
|
-
for (let i = 0; i <
|
|
27
|
-
const trade =
|
|
26
|
+
for (let i = 0; i < ctx.intentTrades.length; i++) {
|
|
27
|
+
const trade = ctx.intentTrades[i];
|
|
28
28
|
const resolved = resolveWrappedTokenAddress(trade.srcChainTokenIn, group.realChainId);
|
|
29
29
|
if (resolved === undefined) {
|
|
30
30
|
violations.push({
|
|
31
31
|
code: ViolationCode.IntentInputTokenWrappedAddressUnknown,
|
|
32
32
|
message: "cannot resolve wrapped token address: native token on a"
|
|
33
33
|
+ " chain with no WETH mapping in the whitelist",
|
|
34
|
-
path: `request.trades[${group.tradeIndices[i]}].srcChainTokenIn`,
|
|
34
|
+
path: `request.trades[${group.tradeIndices[ctx.intentTradeIndices[i]]}].srcChainTokenIn`,
|
|
35
35
|
actual: trade.srcChainTokenIn,
|
|
36
36
|
});
|
|
37
37
|
continue;
|
|
@@ -41,7 +41,7 @@ function resolveGroupInputTokens(group) {
|
|
|
41
41
|
return { expected, violations };
|
|
42
42
|
}
|
|
43
43
|
// CRITICAL: intent.inputToken[] must represent exactly the set of unique
|
|
44
|
-
// srcChainTokenIn addresses from
|
|
44
|
+
// srcChainTokenIn addresses from this concrete intent's trades (native → wrapped).
|
|
45
45
|
// Missing expected addresses, duplicate entries, and unknown addresses are
|
|
46
46
|
// each reported as specific violations.
|
|
47
47
|
function validateInputTokens(inputTokens, ctx, expectedTokens, basePath) {
|
|
@@ -163,11 +163,13 @@ function validateConstraintBudget(inputToken, ctx, normalizedAddress, basePath)
|
|
|
163
163
|
}
|
|
164
164
|
// CRITICAL: each giveToken[].inputTokenAddress must equal one of
|
|
165
165
|
// intent.inputToken[].address that is used by at least one cross-chain trade
|
|
166
|
-
// in
|
|
166
|
+
// in this concrete intent. Same-chain trades do not produce giveToken entries.
|
|
167
167
|
// inputToken[] is separately validated against the request, so this rule
|
|
168
168
|
// forms a chain of trust: give → input → request.
|
|
169
|
-
function validateGiveTokens(
|
|
170
|
-
const
|
|
169
|
+
function validateGiveTokens(ctx, basePath) {
|
|
170
|
+
const intent = ctx.intentPayload.intent;
|
|
171
|
+
const group = ctx.tradeGroup;
|
|
172
|
+
const allowed = collectInputAddressesForCrossChainTrades(ctx);
|
|
171
173
|
const giveTokens = intent.giveToken ?? [];
|
|
172
174
|
if (allowed.size === 0) {
|
|
173
175
|
if (giveTokens.length > 0) {
|
|
@@ -217,10 +219,12 @@ function validateGiveTokens(intent, group, basePath) {
|
|
|
217
219
|
}
|
|
218
220
|
// Returns the subset of intent.inputToken[].address values that also appear
|
|
219
221
|
// as the (native-resolved) srcChainTokenIn of a cross-chain trade in the group.
|
|
220
|
-
function collectInputAddressesForCrossChainTrades(
|
|
222
|
+
function collectInputAddressesForCrossChainTrades(ctx) {
|
|
223
|
+
const intent = ctx.intentPayload.intent;
|
|
224
|
+
const group = ctx.tradeGroup;
|
|
221
225
|
const inputAddresses = new Set((intent.inputToken ?? []).map(t => normalizeAddress(group.realChainId, t.address)));
|
|
222
226
|
const result = new Set();
|
|
223
|
-
for (const trade of
|
|
227
|
+
for (const trade of ctx.intentTrades) {
|
|
224
228
|
if (!isCrossChain(trade))
|
|
225
229
|
continue;
|
|
226
230
|
const resolved = resolveWrappedTokenAddress(trade.srcChainTokenIn, group.realChainId);
|
|
@@ -239,15 +243,17 @@ function isCrossChain(trade) {
|
|
|
239
243
|
return trade.srcChainId !== trade.dstChainId;
|
|
240
244
|
}
|
|
241
245
|
// CRITICAL: intent.takeToken[] must cover the unique destination
|
|
242
|
-
// (dstChainId, dstChainTokenOut) pairs from
|
|
243
|
-
// actual take-token entries by source/from token plus destination token,
|
|
244
|
-
// duplicate detection uses the full
|
|
246
|
+
// (dstChainId, dstChainTokenOut) pairs from this concrete intent's trades. The
|
|
247
|
+
// API keys actual take-token entries by source/from token plus destination token,
|
|
248
|
+
// so duplicate detection uses the full
|
|
245
249
|
// (fromTokenAddress, takeTokenChainId, takeTokenAddress) identity.
|
|
246
250
|
// CRITICAL: fromTokenAddress must be in inputToken[] (same-chain) or giveToken[]
|
|
247
251
|
// (cross-chain).
|
|
248
|
-
function validateTakeTokens(
|
|
252
|
+
function validateTakeTokens(ctx, basePath) {
|
|
253
|
+
const intent = ctx.intentPayload.intent;
|
|
254
|
+
const group = ctx.tradeGroup;
|
|
249
255
|
const violations = [];
|
|
250
|
-
const expectedDestinations = buildExpectedTakeTokenDestinations(
|
|
256
|
+
const expectedDestinations = buildExpectedTakeTokenDestinations(ctx);
|
|
251
257
|
const actualKeys = intent.takeToken.map(takeToken => buildTakeTokenIdentityKey(takeToken, group.realChainId));
|
|
252
258
|
const actualDestinations = new Set(intent.takeToken.map(takeToken => buildTakeTokenDestinationKey(takeToken)));
|
|
253
259
|
const firstOccurrence = new Map();
|
|
@@ -303,9 +309,9 @@ function buildTakeTokenIdentityKey(takeToken, sourceRealChainId) {
|
|
|
303
309
|
const destinationKey = buildTakeTokenDestinationKey(takeToken);
|
|
304
310
|
return `${fromKey}->${destinationKey}`;
|
|
305
311
|
}
|
|
306
|
-
function buildExpectedTakeTokenDestinations(
|
|
312
|
+
function buildExpectedTakeTokenDestinations(ctx) {
|
|
307
313
|
const set = new Set();
|
|
308
|
-
for (const trade of
|
|
314
|
+
for (const trade of ctx.intentTrades) {
|
|
309
315
|
const dstRealChainId = resolveChainId(trade.dstChainId);
|
|
310
316
|
// Safe skip: unknown subscriptionId for dstChainId is reported elsewhere
|
|
311
317
|
// (validateTrades reports UnknownSubscriptionId for dstChainId)
|
|
@@ -356,8 +362,10 @@ function validateTakeTokenFromAddress(intent, takeToken, group, basePath) {
|
|
|
356
362
|
return [{
|
|
357
363
|
code: ViolationCode.IntentTakeTokenFromAddressInvalid,
|
|
358
364
|
message: isSameChain
|
|
359
|
-
? "intent.takeToken[].fromTokenAddress must be present
|
|
360
|
-
|
|
365
|
+
? "intent.takeToken[].fromTokenAddress must be present"
|
|
366
|
+
+ " in intent.inputToken[].address for same-chain trades"
|
|
367
|
+
: "intent.takeToken[].fromTokenAddress must be present"
|
|
368
|
+
+ " in intent.giveToken[].giveTokenAddress for cross-chain trades",
|
|
361
369
|
path: `${basePath}.fromTokenAddress`,
|
|
362
370
|
expected: Array.from(allowedSet),
|
|
363
371
|
actual: takeToken.fromTokenAddress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent-tokens.js","sourceRoot":"","sources":["../../../src/validations/intent-tokens.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"intent-tokens.js","sourceRoot":"","sources":["../../../src/validations/intent-tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,14 +11,14 @@ import { validateIntentDestinations } from "./intent-destinations.js";
|
|
|
11
11
|
import { dlnMetadataEquals, normalizeDlnMetadataKey, validateIntentDlnMetadataFormat, } from "./dln-metadata.js";
|
|
12
12
|
import { getResponseExternalCallHash, ResponseExternalCallHashKind } from "./external-call.js";
|
|
13
13
|
import { parseIntegerString } from "../helpers/integer.js";
|
|
14
|
-
export function validateIntents(contexts, quoteMode, envConfig, syntheticNativeWrapMode) {
|
|
14
|
+
export function validateIntents(contexts, quoteMode, envConfig, syntheticNativeWrapMode, validateSolverExecutorAddress) {
|
|
15
15
|
const violations = [];
|
|
16
16
|
for (const ctx of contexts) {
|
|
17
|
-
violations.push(...validateSingleIntent(ctx, quoteMode, envConfig, syntheticNativeWrapMode));
|
|
17
|
+
violations.push(...validateSingleIntent(ctx, quoteMode, envConfig, syntheticNativeWrapMode, validateSolverExecutorAddress));
|
|
18
18
|
}
|
|
19
19
|
return violations;
|
|
20
20
|
}
|
|
21
|
-
function validateSingleIntent(ctx, quoteMode, envConfig, syntheticNativeWrapMode) {
|
|
21
|
+
function validateSingleIntent(ctx, quoteMode, envConfig, syntheticNativeWrapMode, validateSolverExecutorAddress) {
|
|
22
22
|
const basePath = `response.intents[${ctx.intentIndex}].intent`;
|
|
23
23
|
const intent = ctx.intentPayload.intent;
|
|
24
24
|
const group = ctx.tradeGroup;
|
|
@@ -29,11 +29,11 @@ function validateSingleIntent(ctx, quoteMode, envConfig, syntheticNativeWrapMode
|
|
|
29
29
|
: [
|
|
30
30
|
...validateIntentDifferentiationFields(ctx, quoteMode, basePath),
|
|
31
31
|
...validateIntentTokens(ctx, basePath),
|
|
32
|
-
...validateIntentDestinations(
|
|
32
|
+
...validateIntentDestinations(ctx, basePath, quoteMode),
|
|
33
33
|
]),
|
|
34
34
|
];
|
|
35
35
|
if (!quoteMode && !syntheticNativeWrapMode) {
|
|
36
|
-
violations.push(...validateExecutionIdentity(intent, group, basePath, envConfig), ...validateAllowedCancelBeneficiary(intent, group, basePath), ...validateSrcAllowedSender(intent, ctx.intentTrades, group, basePath, envConfig));
|
|
36
|
+
violations.push(...validateExecutionIdentity(intent, group, basePath, envConfig), ...validateAllowedCancelBeneficiary(intent, ctx.intentTrades, group, basePath), ...validateSrcAllowedSender(intent, ctx.intentTrades, group, basePath, envConfig, validateSolverExecutorAddress));
|
|
37
37
|
}
|
|
38
38
|
return violations;
|
|
39
39
|
}
|
|
@@ -100,8 +100,17 @@ function validateIntentIdMatches(intent, group, basePath, envConfig) {
|
|
|
100
100
|
// CRITICAL (execution): allowedCancelBeneficiary must equal request
|
|
101
101
|
// srcAllowedCancelBeneficiary (if specified) or fall back to
|
|
102
102
|
// srcChainAuthorityAddress.
|
|
103
|
-
function validateAllowedCancelBeneficiary(intent, group, basePath) {
|
|
104
|
-
const
|
|
103
|
+
function validateAllowedCancelBeneficiary(intent, intentTrades, group, basePath) {
|
|
104
|
+
const firstIntentTrade = intentTrades[0];
|
|
105
|
+
if (firstIntentTrade === undefined) {
|
|
106
|
+
return [{
|
|
107
|
+
code: ViolationCode.IntentAllowedCancelBeneficiaryMismatch,
|
|
108
|
+
message: "cannot verify intent.allowedCancelBeneficiary: no request trade matched this intent",
|
|
109
|
+
path: `${basePath}.allowedCancelBeneficiary`,
|
|
110
|
+
actual: intent.allowedCancelBeneficiary,
|
|
111
|
+
}];
|
|
112
|
+
}
|
|
113
|
+
const requestValue = firstIntentTrade.srcAllowedCancelBeneficiary;
|
|
105
114
|
const expected = requestValue ?? group.srcChainAuthorityAddress;
|
|
106
115
|
const actual = intent.allowedCancelBeneficiary;
|
|
107
116
|
// Mixed-mode edge case: the group's authority is undefined AND the request
|
|
@@ -136,17 +145,22 @@ function validateAllowedCancelBeneficiary(intent, group, basePath) {
|
|
|
136
145
|
//
|
|
137
146
|
// Branch A (override): chain has a solver executor in our whitelist. API
|
|
138
147
|
// hardcodes `intent.srcAllowedSender` to that executor regardless of any
|
|
139
|
-
// request input.
|
|
140
|
-
//
|
|
148
|
+
// request input. The whitelist check is optional because the executor address
|
|
149
|
+
// can change independently from this SDK release.
|
|
141
150
|
//
|
|
142
151
|
// Branch B (selected delegate): chain has no solver executor override. The
|
|
143
152
|
// API emits exactly one delegate: the first `srcAllowedSender` among the
|
|
144
153
|
// trades folded into this intent, or a config fallback when none is specified.
|
|
145
154
|
// The fallback is not verified here because the SDK has no delegate whitelist.
|
|
146
|
-
function validateSrcAllowedSender(intent, intentTrades, group, basePath, envConfig) {
|
|
155
|
+
function validateSrcAllowedSender(intent, intentTrades, group, basePath, envConfig, validateSolverExecutorAddress) {
|
|
147
156
|
const actualList = intent.srcAllowedSender ?? [];
|
|
148
157
|
const path = `${basePath}.srcAllowedSender`;
|
|
149
158
|
if (hasSolverExecutorOverride(envConfig.solverExecutorContracts, group.realChainId)) {
|
|
159
|
+
// Safe skip: the configured solver executor address is API-controlled
|
|
160
|
+
// environment data. When the caller keeps the default compatibility mode,
|
|
161
|
+
// stale SDK whitelists must not produce false positives.
|
|
162
|
+
if (!validateSolverExecutorAddress)
|
|
163
|
+
return [];
|
|
150
164
|
const expected = envConfig.solverExecutorContracts[group.realChainId];
|
|
151
165
|
if (actualList.length !== 1) {
|
|
152
166
|
return [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent.js","sourceRoot":"","sources":["../../../src/validations/intent.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,GAKhB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACH,iBAAiB,EACjB,uBAAuB,EACvB,+BAA+B,GAClC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,UAAU,eAAe,CAC3B,QAAyB,EACzB,SAAkB,EAClB,SAA4B,EAC5B,uBAAgC;IAEhC,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,UAAU,CAAC,IAAI,CACX,GAAG,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,uBAAuB,CAAC,CAC9E,CAAC;IACN,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,oBAAoB,CACzB,GAAkB,EAClB,SAAkB,EAClB,SAA4B,EAC5B,uBAAgC;IAEhC,MAAM,QAAQ,GAAG,oBAAoB,GAAG,CAAC,WAAW,UAAU,CAAC;IAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC;IAE7B,MAAM,UAAU,GAAgB;QAC5B,GAAG,2BAA2B,CAAC,MAAM,EAAE,QAAQ,CAAC;QAChD,GAAG,CAAC,uBAAuB;YACvB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,GAAG,mCAAmC,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAChE,GAAG,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC;gBACtC,GAAG,0BAA0B,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC;aACpE,CAAC;KACT,CAAC;IAEF,IAAI,CAAC,SAAS,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACzC,UAAU,CAAC,IAAI,CACX,GAAG,yBAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAChE,GAAG,gCAAgC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,EAC5D,GAAG,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CACpF,CAAC;IACN,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,6FAA6F;AAC7F,0FAA0F;AAC1F,SAAS,yBAAyB,CAC9B,MAAsB,EACtB,KAAiB,EACjB,QAAgB,EAChB,SAA4B;IAE5B,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,aAAa,GAAG,KAAK,CAAC,wBAAwB,CAAC;IACrD,MAAM,iBAAiB,GAAG,aAAa,KAAK,SAAS,CAAC;IAEtD,IAAI,iBAAiB;WACd,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,EACzE,CAAC;QACC,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,mBAAmB;YACvC,OAAO,EAAE,iBAAiB;gBACtB,CAAC,CAAC,mGAAmG;gBACrG,CAAC,CAAC,wDAAwD;YAC9D,IAAI,EAAE,GAAG,QAAQ,cAAc;YAC/B,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,MAAM,CAAC,WAAW;SAC7B,CAAC,CAAC;IACP,CAAC;IAED,IAAI,iBAAiB;WACd,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,EAC7E,CAAC;QACC,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,uBAAuB;YAC3C,OAAO,EAAE,iBAAiB;gBACtB,CAAC,CAAC,4DAA4D;sBACxD,6CAA6C;gBACnD,CAAC,CAAC,4DAA4D;YAClE,IAAI,EAAE,GAAG,QAAQ,kBAAkB;YACnC,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,MAAM,CAAC,eAAe;SACjC,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAEhF,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,uBAAuB,CAC5B,MAAsB,EACtB,KAAiB,EACjB,QAAgB,EAChB,SAA4B;IAE5B,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACD,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,WAAW,CAAC,MAAM;YAC/D,CAAC,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,mBAAmB,CAAC;YACjF,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,oBAAoB;gBACxC,OAAO,EAAE,+CAA+C;gBACxD,IAAI,EAAE,GAAG,QAAQ,WAAW;gBAC5B,OAAO,EAAE,KAAK;aACjB,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,gBAAgB;gBACpC,OAAO,EAAE,8DAA8D;gBACvE,IAAI,EAAE,GAAG,QAAQ,WAAW;gBAC5B,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;IACP,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,oEAAoE;AACpE,6DAA6D;AAC7D,4BAA4B;AAC5B,SAAS,gCAAgC,CACrC,MAAsB,EACtB,KAAiB,EACjB,QAAgB;IAEhB,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC;IACjE,MAAM,QAAQ,GAAG,YAAY,IAAI,KAAK,CAAC,wBAAwB,CAAC;IAChE,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC;IAE/C,2EAA2E;IAC3E,qEAAqE;IACrE,mDAAmD;IACnD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,sCAAsC;gBAC1D,OAAO,EACH,8DAA8D;sBAC5D,uEAAuE;sBACvE,oBAAoB;gBAC1B,IAAI,EAAE,GAAG,QAAQ,2BAA2B;gBAC5C,QAAQ,EAAE,SAAS;gBACnB,MAAM;aACT,CAAC,CAAC;IACP,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9E,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,sCAAsC;gBAC1D,OAAO,EAAE,YAAY,KAAK,SAAS;oBAC/B,CAAC,CAAC,gFAAgF;oBAClF,CAAC,CAAC,4EAA4E;gBAClF,IAAI,EAAE,GAAG,QAAQ,2BAA2B;gBAC5C,QAAQ;gBACR,MAAM;aACT,CAAC,CAAC;IACP,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,yDAAyD;AACzD,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,wEAAwE;AACxE,aAAa;AACb,EAAE;AACF,2EAA2E;AAC3E,yEAAyE;AACzE,+EAA+E;AAC/E,+EAA+E;AAC/E,SAAS,wBAAwB,CAC7B,MAAsB,EACtB,YAAqC,EACrC,KAAiB,EACjB,QAAgB,EAChB,SAA4B;IAE5B,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,GAAG,QAAQ,mBAAmB,CAAC;IAE5C,IAAI,yBAAyB,CAAC,SAAS,CAAC,uBAAuB,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QAClF,MAAM,QAAQ,GAAG,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEtE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC;oBACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;oBAClD,OAAO,EACH,kEAAkE;0BAChE,+DAA+D;oBACrE,IAAI;oBACJ,QAAQ;oBACR,MAAM,EAAE,UAAU;iBACrB,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,aAAa,CACd,SAAS,CAAC,uBAAuB,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CACtE,EAAE,CAAC;YACA,OAAO,CAAC;oBACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;oBAClD,OAAO,EAAE,8DAA8D;oBACvE,IAAI;oBACJ,QAAQ;oBACR,MAAM,EAAE,UAAU;iBACrB,CAAC,CAAC;QACP,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAEjE,+DAA+D;IAC/D,gEAAgE;IAChE,IAAI,gBAAgB,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAE9C,IACI,UAAU,CAAC,MAAM,KAAK,CAAC;WACpB,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,EACvE,CAAC;QACC,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;gBAClD,OAAO,EACH,2DAA2D;sBACzD,oCAAoC;gBAC1C,IAAI;gBACJ,QAAQ,EAAE,CAAC,gBAAgB,CAAC;gBAC5B,MAAM,EAAE,UAAU;aACrB,CAAC,CAAC;IACP,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,uFAAuF;AACvF,kFAAkF;AAClF,sCAAsC;AACtC,SAAS,mCAAmC,CACxC,GAAkB,EAClB,SAAkB,EAClB,QAAgB;IAEhB,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;IAExC,OAAO;QACH,GAAG,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC9C,GAAG,+BAA+B,CAAC,MAAM,EAAE,QAAQ,CAAC;QACpD,GAAG,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;QAChD,GAAG,wBAAwB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;KACxD,CAAC;AACN,CAAC;AAED,0EAA0E;AAC1E,+BAA+B;AAC/B,oFAAoF;AACpF,SAAS,yBAAyB,CAC9B,MAAsB,EACtB,QAAgB;IAEhB,IAAI,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpD,OAAO,CAAC;YACJ,IAAI,EAAE,aAAa,CAAC,+BAA+B;YACnD,OAAO,EAAE,8EAA8E;YACvF,IAAI,EAAE,GAAG,QAAQ,oBAAoB;YACrC,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,MAAM,CAAC,iBAAiB;SACnC,CAAC,CAAC;AACP,CAAC;AAED,0EAA0E;AAC1E,kFAAkF;AAClF,mFAAmF;AACnF,YAAY;AACZ,SAAS,mBAAmB,CACxB,GAAkB,EAClB,SAAkB,EAClB,QAAgB;IAEhB,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;IAExC,MAAM,cAAc,GAAG,SAAS;QAC5B,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;QACvD,CAAC,CAAC,qCAAqC,CAAC,GAAG,CAAC,CAAC;IAEjD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,8DAA8D;QAC9D,wEAAwE;QACxE,qCAAqC;QACrC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,IAAI,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC;YAAE,OAAO,EAAE,CAAC;QAEzE,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,yBAAyB;gBAC7C,OAAO,EACH,iDAAiD;sBAC/C,2DAA2D;gBACjE,IAAI,EAAE,GAAG,QAAQ,cAAc;gBAC/B,QAAQ,EAAE,iBAAiB,CAAC,cAAc,CAAC;gBAC3C,MAAM,EAAE,MAAM,CAAC,WAAW;aAC7B,CAAC,CAAC;IACP,CAAC;IAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACzD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,yBAAyB;gBAC7C,OAAO,EACH,2EAA2E;gBAC/E,IAAI,EAAE,GAAG,QAAQ,cAAc;gBAC/B,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,MAAM,CAAC,WAAW;aAC7B,CAAC,CAAC;IACP,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IAE/D,OAAO,CAAC;YACJ,IAAI,EAAE,aAAa,CAAC,yBAAyB;YAC7C,OAAO,EACH,4DAA4D;kBAC1D,oCAAoC;YAC1C,IAAI,EAAE,GAAG,QAAQ,cAAc;YAC/B,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,WAAW;SAC7B,CAAC,CAAC;AACP,CAAC;AAED,SAAS,qBAAqB,CAC1B,MAA0B,EAC1B,cAAsC;IAEtC,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;QACpC,IAAI,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;IACzD,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,qCAAqC,CAAC,GAAkB;IAC7D,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC;IACnD,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,aAAa,EAAE,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA8B;IACrD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,0EAA0E;AAC1E,2EAA2E;AAC3E,+EAA+E;AAC/E,gCAAgC;AAChC,SAAS,wBAAwB,CAC7B,GAAkB,EAClB,SAAkB,EAClB,QAAgB;IAEhB,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;IAExC,MAAM,cAAc,GAAG,SAAS;QAC5B,CAAC,CAAC,8BAA8B,CAAC,GAAG,CAAC;QACrC,CAAC,CAAC,sCAAsC,CAAC,GAAG,CAAC,CAAC;IAElD,IAAI,cAAc,CAAC,uBAAuB,EAAE,CAAC;QACzC,wEAAwE;QACxE,+EAA+E;QAC/E,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,8DAA8D;QAC9D,wEAAwE;QACxE,qCAAqC;QACrC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,IAAI,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAEtF,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;gBAClD,OAAO,EACH,sDAAsD;sBACpD,iEAAiE;gBACvE,IAAI,EAAE,GAAG,QAAQ,mBAAmB;gBACpC,QAAQ,EAAE,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC;gBAC1C,MAAM,EAAE,MAAM,CAAC,gBAAgB;aAClC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;gBAClD,OAAO,EACH,gEAAgE;sBAC9D,0BAA0B;gBAChC,IAAI,EAAE,GAAG,QAAQ,mBAAmB;gBACpC,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,MAAM,CAAC,gBAAgB;aAClC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IAE5D,OAAO,CAAC;YACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;YAClD,OAAO,EACH,uEAAuE;kBACrE,yCAAyC;YAC/C,IAAI,EAAE,GAAG,QAAQ,mBAAmB;YACpC,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,gBAAgB;SAClC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,8BAA8B,CACnC,GAAkB;IAElB,OAAO,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,sCAAsC,CAC3C,GAAkB;IAElB,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC;IACnD,MAAM,cAAc,GAAG,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CACvD,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,eAAe,KAAK,QAAQ,CAC/D,CAAC;IAEF,OAAO,qBAAqB,CAAC,cAAc,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,qBAAqB,CAC1B,cAA6C;IAE7C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,uBAAuB,GAAG,KAAK,CAAC;IAEpC,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,2BAA2B,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,4BAA4B,CAAC,OAAO,EAAE,CAAC;YACvD,uBAAuB,GAAG,IAAI,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,MAA8B;IAC7C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAClB,MAA0B,EAC1B,QAAiC;IAEjC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,+DAA+D;AAC/D,SAAS,2BAA2B,CAChC,MAAsB,EACtB,QAAgB;IAEhB,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,MAAM,YAAY,GAAsC;QACpD,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,mBAAmB,EAAE;QAClE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE;KAC7D,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,YAAY,EAAE,CAAC;QACzC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACZ,UAAU,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa,CAAC,0BAA0B;gBAC9C,OAAO,EAAE,UAAU,IAAI,uBAAuB;gBAC9C,IAAI,EAAE,GAAG,QAAQ,IAAI,IAAI,EAAE;gBAC3B,MAAM,EAAE,KAAK;aAChB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAChC,MAAM,CAAC,UAAU,IAAI,EAAE,EACvB,GAAG,QAAQ,aAAa,EACxB,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAC/D,CAAC,CAAC;IACH,UAAU,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAChC,MAAM,CAAC,SAAS,IAAI,EAAE,EACtB,GAAG,QAAQ,YAAY,EACvB,CAAC,WAAW,EAAE,aAAa,CAAC,CAC/B,CAAC,CAAC;IACH,UAAU,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAChC,MAAM,CAAC,SAAS,EAChB,GAAG,QAAQ,YAAY,EACvB,CAAC,WAAW,EAAE,aAAa,CAAC,CAC/B,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACtB,CAAC;AAWD,SAAS,iBAAiB,CACtB,KAAmB,EACnB,QAAgB,EAChB,UAAiD;IAEjD,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAW,CAAC;YAC1C,IAAI,MAAc,CAAC;YACnB,IAAI,CAAC;gBACD,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,UAAU,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,aAAa,CAAC,yBAAyB;oBAC7C,OAAO,EAAE,GAAG,QAAQ,IAAI,CAAC,KAAK,SAAS,wBAAwB;oBAC/D,IAAI,EAAE,GAAG,QAAQ,IAAI,CAAC,KAAK,SAAS,EAAE;oBACtC,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,KAAK;iBACjB,CAAC,CAAC;gBACH,SAAS;YACb,CAAC;YAED,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;gBACd,UAAU,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,aAAa,CAAC,0BAA0B;oBAC9C,OAAO,EAAE,GAAG,QAAQ,IAAI,CAAC,KAAK,SAAS,uBAAuB;oBAC9D,IAAI,EAAE,GAAG,QAAQ,IAAI,CAAC,KAAK,SAAS,EAAE;oBACtC,MAAM,EAAE,GAAG;iBACd,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"intent.js","sourceRoot":"","sources":["../../../src/validations/intent.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,GAKhB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACH,iBAAiB,EACjB,uBAAuB,EACvB,+BAA+B,GAClC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,UAAU,eAAe,CAC3B,QAAyB,EACzB,SAAkB,EAClB,SAA4B,EAC5B,uBAAgC,EAChC,6BAAsC;IAEtC,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,UAAU,CAAC,IAAI,CACX,GAAG,oBAAoB,CACnB,GAAG,EACH,SAAS,EACT,SAAS,EACT,uBAAuB,EACvB,6BAA6B,CAChC,CACJ,CAAC;IACN,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,oBAAoB,CACzB,GAAkB,EAClB,SAAkB,EAClB,SAA4B,EAC5B,uBAAgC,EAChC,6BAAsC;IAEtC,MAAM,QAAQ,GAAG,oBAAoB,GAAG,CAAC,WAAW,UAAU,CAAC;IAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC;IAE7B,MAAM,UAAU,GAAgB;QAC5B,GAAG,2BAA2B,CAAC,MAAM,EAAE,QAAQ,CAAC;QAChD,GAAG,CAAC,uBAAuB;YACvB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,GAAG,mCAAmC,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAChE,GAAG,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC;gBACtC,GAAG,0BAA0B,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC;aAC1D,CAAC;KACT,CAAC;IAEF,IAAI,CAAC,SAAS,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACzC,UAAU,CAAC,IAAI,CACX,GAAG,yBAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAChE,GAAG,gCAAgC,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,EAC9E,GAAG,wBAAwB,CACvB,MAAM,EACN,GAAG,CAAC,YAAY,EAChB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,6BAA6B,CAChC,CACJ,CAAC;IACN,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,6FAA6F;AAC7F,0FAA0F;AAC1F,SAAS,yBAAyB,CAC9B,MAAsB,EACtB,KAAiB,EACjB,QAAgB,EAChB,SAA4B;IAE5B,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,aAAa,GAAG,KAAK,CAAC,wBAAwB,CAAC;IACrD,MAAM,iBAAiB,GAAG,aAAa,KAAK,SAAS,CAAC;IAEtD,IAAI,iBAAiB;WACd,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,EACzE,CAAC;QACC,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,mBAAmB;YACvC,OAAO,EAAE,iBAAiB;gBACtB,CAAC,CAAC,mGAAmG;gBACrG,CAAC,CAAC,wDAAwD;YAC9D,IAAI,EAAE,GAAG,QAAQ,cAAc;YAC/B,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,MAAM,CAAC,WAAW;SAC7B,CAAC,CAAC;IACP,CAAC;IAED,IAAI,iBAAiB;WACd,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,EAC7E,CAAC;QACC,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,uBAAuB;YAC3C,OAAO,EAAE,iBAAiB;gBACtB,CAAC,CAAC,4DAA4D;sBACxD,6CAA6C;gBACnD,CAAC,CAAC,4DAA4D;YAClE,IAAI,EAAE,GAAG,QAAQ,kBAAkB;YACnC,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,MAAM,CAAC,eAAe;SACjC,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAEhF,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,uBAAuB,CAC5B,MAAsB,EACtB,KAAiB,EACjB,QAAgB,EAChB,SAA4B;IAE5B,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACD,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,WAAW,CAAC,MAAM;YAC/D,CAAC,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,mBAAmB,CAAC;YACjF,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,oBAAoB;gBACxC,OAAO,EAAE,+CAA+C;gBACxD,IAAI,EAAE,GAAG,QAAQ,WAAW;gBAC5B,OAAO,EAAE,KAAK;aACjB,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,gBAAgB;gBACpC,OAAO,EAAE,8DAA8D;gBACvE,IAAI,EAAE,GAAG,QAAQ,WAAW;gBAC5B,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;IACP,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,oEAAoE;AACpE,6DAA6D;AAC7D,4BAA4B;AAC5B,SAAS,gCAAgC,CACrC,MAAsB,EACtB,YAAqC,EACrC,KAAiB,EACjB,QAAgB;IAEhB,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,sCAAsC;gBAC1D,OAAO,EAAE,qFAAqF;gBAC9F,IAAI,EAAE,GAAG,QAAQ,2BAA2B;gBAC5C,MAAM,EAAE,MAAM,CAAC,wBAAwB;aAC1C,CAAC,CAAC;IACP,CAAC;IAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,2BAA2B,CAAC;IAClE,MAAM,QAAQ,GAAG,YAAY,IAAI,KAAK,CAAC,wBAAwB,CAAC;IAChE,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC;IAE/C,2EAA2E;IAC3E,qEAAqE;IACrE,mDAAmD;IACnD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,sCAAsC;gBAC1D,OAAO,EACH,8DAA8D;sBAC5D,uEAAuE;sBACvE,oBAAoB;gBAC1B,IAAI,EAAE,GAAG,QAAQ,2BAA2B;gBAC5C,QAAQ,EAAE,SAAS;gBACnB,MAAM;aACT,CAAC,CAAC;IACP,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9E,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,sCAAsC;gBAC1D,OAAO,EAAE,YAAY,KAAK,SAAS;oBAC/B,CAAC,CAAC,gFAAgF;oBAClF,CAAC,CAAC,4EAA4E;gBAClF,IAAI,EAAE,GAAG,QAAQ,2BAA2B;gBAC5C,QAAQ;gBACR,MAAM;aACT,CAAC,CAAC;IACP,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,yDAAyD;AACzD,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,8EAA8E;AAC9E,kDAAkD;AAClD,EAAE;AACF,2EAA2E;AAC3E,yEAAyE;AACzE,+EAA+E;AAC/E,+EAA+E;AAC/E,SAAS,wBAAwB,CAC7B,MAAsB,EACtB,YAAqC,EACrC,KAAiB,EACjB,QAAgB,EAChB,SAA4B,EAC5B,6BAAsC;IAEtC,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,GAAG,QAAQ,mBAAmB,CAAC;IAE5C,IAAI,yBAAyB,CAAC,SAAS,CAAC,uBAAuB,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QAClF,sEAAsE;QACtE,0EAA0E;QAC1E,yDAAyD;QACzD,IAAI,CAAC,6BAA6B;YAAE,OAAO,EAAE,CAAC;QAE9C,MAAM,QAAQ,GAAG,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEtE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC;oBACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;oBAClD,OAAO,EACH,kEAAkE;0BAChE,+DAA+D;oBACrE,IAAI;oBACJ,QAAQ;oBACR,MAAM,EAAE,UAAU;iBACrB,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,aAAa,CACd,SAAS,CAAC,uBAAuB,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CACtE,EAAE,CAAC;YACA,OAAO,CAAC;oBACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;oBAClD,OAAO,EAAE,8DAA8D;oBACvE,IAAI;oBACJ,QAAQ;oBACR,MAAM,EAAE,UAAU;iBACrB,CAAC,CAAC;QACP,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAEjE,+DAA+D;IAC/D,gEAAgE;IAChE,IAAI,gBAAgB,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAE9C,IACI,UAAU,CAAC,MAAM,KAAK,CAAC;WACpB,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,EACvE,CAAC;QACC,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;gBAClD,OAAO,EACH,2DAA2D;sBACzD,oCAAoC;gBAC1C,IAAI;gBACJ,QAAQ,EAAE,CAAC,gBAAgB,CAAC;gBAC5B,MAAM,EAAE,UAAU;aACrB,CAAC,CAAC;IACP,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,uFAAuF;AACvF,kFAAkF;AAClF,sCAAsC;AACtC,SAAS,mCAAmC,CACxC,GAAkB,EAClB,SAAkB,EAClB,QAAgB;IAEhB,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;IAExC,OAAO;QACH,GAAG,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC9C,GAAG,+BAA+B,CAAC,MAAM,EAAE,QAAQ,CAAC;QACpD,GAAG,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;QAChD,GAAG,wBAAwB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;KACxD,CAAC;AACN,CAAC;AAED,0EAA0E;AAC1E,+BAA+B;AAC/B,oFAAoF;AACpF,SAAS,yBAAyB,CAC9B,MAAsB,EACtB,QAAgB;IAEhB,IAAI,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpD,OAAO,CAAC;YACJ,IAAI,EAAE,aAAa,CAAC,+BAA+B;YACnD,OAAO,EAAE,8EAA8E;YACvF,IAAI,EAAE,GAAG,QAAQ,oBAAoB;YACrC,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,MAAM,CAAC,iBAAiB;SACnC,CAAC,CAAC;AACP,CAAC;AAED,0EAA0E;AAC1E,kFAAkF;AAClF,mFAAmF;AACnF,YAAY;AACZ,SAAS,mBAAmB,CACxB,GAAkB,EAClB,SAAkB,EAClB,QAAgB;IAEhB,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;IAExC,MAAM,cAAc,GAAG,SAAS;QAC5B,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;QACvD,CAAC,CAAC,qCAAqC,CAAC,GAAG,CAAC,CAAC;IAEjD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,8DAA8D;QAC9D,wEAAwE;QACxE,qCAAqC;QACrC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,IAAI,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC;YAAE,OAAO,EAAE,CAAC;QAEzE,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,yBAAyB;gBAC7C,OAAO,EACH,iDAAiD;sBAC/C,2DAA2D;gBACjE,IAAI,EAAE,GAAG,QAAQ,cAAc;gBAC/B,QAAQ,EAAE,iBAAiB,CAAC,cAAc,CAAC;gBAC3C,MAAM,EAAE,MAAM,CAAC,WAAW;aAC7B,CAAC,CAAC;IACP,CAAC;IAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACzD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,yBAAyB;gBAC7C,OAAO,EACH,2EAA2E;gBAC/E,IAAI,EAAE,GAAG,QAAQ,cAAc;gBAC/B,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,MAAM,CAAC,WAAW;aAC7B,CAAC,CAAC;IACP,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IAE/D,OAAO,CAAC;YACJ,IAAI,EAAE,aAAa,CAAC,yBAAyB;YAC7C,OAAO,EACH,4DAA4D;kBAC1D,oCAAoC;YAC1C,IAAI,EAAE,GAAG,QAAQ,cAAc;YAC/B,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,WAAW;SAC7B,CAAC,CAAC;AACP,CAAC;AAED,SAAS,qBAAqB,CAC1B,MAA0B,EAC1B,cAAsC;IAEtC,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;QACpC,IAAI,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;IACzD,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,qCAAqC,CAAC,GAAkB;IAC7D,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC;IACnD,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,aAAa,EAAE,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA8B;IACrD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,0EAA0E;AAC1E,2EAA2E;AAC3E,+EAA+E;AAC/E,gCAAgC;AAChC,SAAS,wBAAwB,CAC7B,GAAkB,EAClB,SAAkB,EAClB,QAAgB;IAEhB,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;IAExC,MAAM,cAAc,GAAG,SAAS;QAC5B,CAAC,CAAC,8BAA8B,CAAC,GAAG,CAAC;QACrC,CAAC,CAAC,sCAAsC,CAAC,GAAG,CAAC,CAAC;IAElD,IAAI,cAAc,CAAC,uBAAuB,EAAE,CAAC;QACzC,wEAAwE;QACxE,+EAA+E;QAC/E,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,8DAA8D;QAC9D,wEAAwE;QACxE,qCAAqC;QACrC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,IAAI,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAEtF,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;gBAClD,OAAO,EACH,sDAAsD;sBACpD,iEAAiE;gBACvE,IAAI,EAAE,GAAG,QAAQ,mBAAmB;gBACpC,QAAQ,EAAE,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC;gBAC1C,MAAM,EAAE,MAAM,CAAC,gBAAgB;aAClC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;gBAClD,OAAO,EACH,gEAAgE;sBAC9D,0BAA0B;gBAChC,IAAI,EAAE,GAAG,QAAQ,mBAAmB;gBACpC,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,MAAM,CAAC,gBAAgB;aAClC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IAE5D,OAAO,CAAC;YACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;YAClD,OAAO,EACH,uEAAuE;kBACrE,yCAAyC;YAC/C,IAAI,EAAE,GAAG,QAAQ,mBAAmB;YACpC,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,gBAAgB;SAClC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,8BAA8B,CACnC,GAAkB;IAElB,OAAO,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,sCAAsC,CAC3C,GAAkB;IAElB,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC;IACnD,MAAM,cAAc,GAAG,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CACvD,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,eAAe,KAAK,QAAQ,CAC/D,CAAC;IAEF,OAAO,qBAAqB,CAAC,cAAc,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,qBAAqB,CAC1B,cAA6C;IAE7C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,uBAAuB,GAAG,KAAK,CAAC;IAEpC,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,2BAA2B,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,4BAA4B,CAAC,OAAO,EAAE,CAAC;YACvD,uBAAuB,GAAG,IAAI,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,MAA8B;IAC7C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAClB,MAA0B,EAC1B,QAAiC;IAEjC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,+DAA+D;AAC/D,SAAS,2BAA2B,CAChC,MAAsB,EACtB,QAAgB;IAEhB,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,MAAM,YAAY,GAAsC;QACpD,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,mBAAmB,EAAE;QAClE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE;KAC7D,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,YAAY,EAAE,CAAC;QACzC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACZ,UAAU,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa,CAAC,0BAA0B;gBAC9C,OAAO,EAAE,UAAU,IAAI,uBAAuB;gBAC9C,IAAI,EAAE,GAAG,QAAQ,IAAI,IAAI,EAAE;gBAC3B,MAAM,EAAE,KAAK;aAChB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAChC,MAAM,CAAC,UAAU,IAAI,EAAE,EACvB,GAAG,QAAQ,aAAa,EACxB,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAC/D,CAAC,CAAC;IACH,UAAU,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAChC,MAAM,CAAC,SAAS,IAAI,EAAE,EACtB,GAAG,QAAQ,YAAY,EACvB,CAAC,WAAW,EAAE,aAAa,CAAC,CAC/B,CAAC,CAAC;IACH,UAAU,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAChC,MAAM,CAAC,SAAS,EAChB,GAAG,QAAQ,YAAY,EACvB,CAAC,WAAW,EAAE,aAAa,CAAC,CAC/B,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACtB,CAAC;AAWD,SAAS,iBAAiB,CACtB,KAAmB,EACnB,QAAgB,EAChB,UAAiD;IAEjD,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAW,CAAC;YAC1C,IAAI,MAAc,CAAC;YACnB,IAAI,CAAC;gBACD,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,UAAU,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,aAAa,CAAC,yBAAyB;oBAC7C,OAAO,EAAE,GAAG,QAAQ,IAAI,CAAC,KAAK,SAAS,wBAAwB;oBAC/D,IAAI,EAAE,GAAG,QAAQ,IAAI,CAAC,KAAK,SAAS,EAAE;oBACtC,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,KAAK;iBACjB,CAAC,CAAC;gBACH,SAAS;YACb,CAAC;YAED,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;gBACd,UAAU,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,aAAa,CAAC,0BAA0B;oBAC9C,OAAO,EAAE,GAAG,QAAQ,IAAI,CAAC,KAAK,SAAS,uBAAuB;oBAC9D,IAAI,EAAE,GAAG,QAAQ,IAAI,CAAC,KAAK,SAAS,EAAE;oBACtC,MAAM,EAAE,GAAG;iBACd,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC"}
|
|
@@ -209,6 +209,7 @@ function validateClassicAta(approve, actionPath, ixLabel, trades, realChainId, s
|
|
|
209
209
|
// For native SOL trades the API derives the ATA from wSOL mint, so resolve
|
|
210
210
|
// native → wSOL first.
|
|
211
211
|
const expectedAtas = [];
|
|
212
|
+
const deriveErrors = [];
|
|
212
213
|
for (const trade of trades) {
|
|
213
214
|
const mint = resolveWrappedTokenAddress(trade.srcChainTokenIn, realChainId)
|
|
214
215
|
?? trade.srcChainTokenIn;
|
|
@@ -219,8 +220,9 @@ function validateClassicAta(approve, actionPath, ixLabel, trades, realChainId, s
|
|
|
219
220
|
}
|
|
220
221
|
expectedAtas.push({ mint, ata: expectedAta });
|
|
221
222
|
}
|
|
222
|
-
catch {
|
|
223
|
+
catch (error) {
|
|
223
224
|
// Invalid PublicKey — skip this trade, continue checking others
|
|
225
|
+
deriveErrors.push({ mint, error });
|
|
224
226
|
continue;
|
|
225
227
|
}
|
|
226
228
|
}
|
|
@@ -231,6 +233,7 @@ function validateClassicAta(approve, actionPath, ixLabel, trades, realChainId, s
|
|
|
231
233
|
path: `${actionPath}.data.data`,
|
|
232
234
|
expected: expectedAtas,
|
|
233
235
|
actual: approve.ataAddress,
|
|
236
|
+
details: deriveErrors.length === 0 ? undefined : { deriveErrors },
|
|
234
237
|
}];
|
|
235
238
|
}
|
|
236
239
|
// =============================================
|
|
@@ -314,6 +317,7 @@ function validateCustomAtas(approve, actionPath, ixLabel, trades, realChainId, s
|
|
|
314
317
|
const ata = approve.ataAddresses[i];
|
|
315
318
|
let matched = false;
|
|
316
319
|
const expectedAtas = [];
|
|
320
|
+
const deriveErrors = [];
|
|
317
321
|
for (const trade of trades) {
|
|
318
322
|
// For native SOL trades, resolve to wSOL mint before deriving ATA.
|
|
319
323
|
const mint = resolveWrappedTokenAddress(trade.srcChainTokenIn, realChainId)
|
|
@@ -326,7 +330,8 @@ function validateCustomAtas(approve, actionPath, ixLabel, trades, realChainId, s
|
|
|
326
330
|
}
|
|
327
331
|
expectedAtas.push({ mint, ata: expectedAta });
|
|
328
332
|
}
|
|
329
|
-
catch {
|
|
333
|
+
catch (error) {
|
|
334
|
+
deriveErrors.push({ mint, error });
|
|
330
335
|
continue;
|
|
331
336
|
}
|
|
332
337
|
}
|
|
@@ -339,6 +344,7 @@ function validateCustomAtas(approve, actionPath, ixLabel, trades, realChainId, s
|
|
|
339
344
|
path: `${actionPath}.data.data`,
|
|
340
345
|
expected: expectedAtas,
|
|
341
346
|
actual: ata,
|
|
347
|
+
details: deriveErrors.length === 0 ? undefined : { deriveErrors },
|
|
342
348
|
});
|
|
343
349
|
}
|
|
344
350
|
}
|