@debridge-finance/borderless-validation-sdk 0.0.13 → 0.1.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 +5 -0
- package/dist/cjs/helpers/address.js.map +1 -1
- package/dist/cjs/helpers/evm-intent-id.js +7 -4
- package/dist/cjs/helpers/evm-intent-id.js.map +1 -1
- package/dist/cjs/helpers/interactions.js +111 -0
- package/dist/cjs/helpers/interactions.js.map +1 -0
- package/dist/cjs/types/request.js +8 -1
- package/dist/cjs/types/request.js.map +1 -1
- package/dist/cjs/types/response.js +2 -0
- package/dist/cjs/types/response.js.map +1 -1
- package/dist/cjs/types/validation.js +5 -0
- package/dist/cjs/types/validation.js.map +1 -1
- package/dist/cjs/validations/evm-required-actions.js +2 -2
- package/dist/cjs/validations/evm-required-actions.js.map +1 -1
- package/dist/cjs/validations/evm-sign712.js +4 -4
- package/dist/cjs/validations/evm-sign712.js.map +1 -1
- package/dist/cjs/validations/intent.js +8 -8
- package/dist/cjs/validations/intent.js.map +1 -1
- package/dist/cjs/validations/interactions.js +151 -0
- package/dist/cjs/validations/interactions.js.map +1 -0
- package/dist/cjs/validations/required-actions.js +2 -2
- package/dist/cjs/validations/required-actions.js.map +1 -1
- package/dist/cjs/validations/trade-grouping.js +41 -27
- package/dist/cjs/validations/trade-grouping.js.map +1 -1
- package/dist/cjs/validator.js +15 -10
- package/dist/cjs/validator.js.map +1 -1
- package/dist/esm/helpers/address.js +4 -0
- package/dist/esm/helpers/address.js.map +1 -1
- package/dist/esm/helpers/evm-intent-id.js +7 -4
- package/dist/esm/helpers/evm-intent-id.js.map +1 -1
- package/dist/esm/helpers/interactions.js +102 -0
- package/dist/esm/helpers/interactions.js.map +1 -0
- package/dist/esm/types/request.js +7 -0
- package/dist/esm/types/request.js.map +1 -1
- package/dist/esm/types/response.js +3 -1
- package/dist/esm/types/response.js.map +1 -1
- package/dist/esm/types/validation.js +5 -0
- package/dist/esm/types/validation.js.map +1 -1
- package/dist/esm/validations/evm-required-actions.js +2 -2
- package/dist/esm/validations/evm-required-actions.js.map +1 -1
- package/dist/esm/validations/evm-sign712.js +4 -4
- package/dist/esm/validations/evm-sign712.js.map +1 -1
- package/dist/esm/validations/intent.js +8 -8
- package/dist/esm/validations/intent.js.map +1 -1
- package/dist/esm/validations/interactions.js +147 -0
- package/dist/esm/validations/interactions.js.map +1 -0
- package/dist/esm/validations/required-actions.js +2 -2
- package/dist/esm/validations/required-actions.js.map +1 -1
- package/dist/esm/validations/trade-grouping.js +41 -27
- package/dist/esm/validations/trade-grouping.js.map +1 -1
- package/dist/esm/validator.js +15 -10
- package/dist/esm/validator.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 +1 -1
- package/dist/types/helpers/evm-intent-id.d.ts.map +1 -1
- package/dist/types/helpers/interactions.d.ts +13 -0
- package/dist/types/helpers/interactions.d.ts.map +1 -0
- package/dist/types/types/request.d.ts +21 -0
- package/dist/types/types/request.d.ts.map +1 -1
- package/dist/types/types/response.d.ts +24 -0
- package/dist/types/types/response.d.ts.map +1 -1
- package/dist/types/types/validation.d.ts +5 -0
- package/dist/types/types/validation.d.ts.map +1 -1
- package/dist/types/validations/evm-required-actions.d.ts +1 -1
- package/dist/types/validations/evm-required-actions.d.ts.map +1 -1
- package/dist/types/validations/evm-sign712.d.ts +1 -1
- package/dist/types/validations/evm-sign712.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/interactions.d.ts +5 -0
- package/dist/types/validations/interactions.d.ts.map +1 -0
- package/dist/types/validations/required-actions.d.ts +1 -1
- package/dist/types/validations/required-actions.d.ts.map +1 -1
- package/dist/types/validations/trade-grouping.d.ts +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
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { ViolationCode, } from "../types/index.js";
|
|
2
|
+
import { canonicalizeInteractions, hasNonEmptyInteractions, interactionsEqual, isInteractionSourceChainSupported, isInteractionTargetValid, } from "../helpers/interactions.js";
|
|
3
|
+
import { resolveChainId } from "../whitelists/subscription-to-chain-id.js";
|
|
4
|
+
export function validateRequestInteractions(trades, interactionAware) {
|
|
5
|
+
if (!interactionAware)
|
|
6
|
+
return [];
|
|
7
|
+
const violations = [];
|
|
8
|
+
for (let i = 0; i < trades.length; i++) {
|
|
9
|
+
const realChainId = resolveChainId(trades[i].srcChainId);
|
|
10
|
+
// Safe skip: unknown subscriptionId is reported by trade grouping.
|
|
11
|
+
if (realChainId === undefined)
|
|
12
|
+
continue;
|
|
13
|
+
violations.push(...validateTradeInteractionSource(trades[i], realChainId, `request.trades[${i}]`), ...validateInteractionTargets(trades[i].preInteractions, realChainId, `request.trades[${i}].preInteractions`), ...validateInteractionTargets(trades[i].postInteractions, realChainId, `request.trades[${i}].postInteractions`));
|
|
14
|
+
}
|
|
15
|
+
return violations;
|
|
16
|
+
}
|
|
17
|
+
export function validateIntentInteractions(contexts, interactionAware) {
|
|
18
|
+
if (!interactionAware)
|
|
19
|
+
return [];
|
|
20
|
+
const violations = [];
|
|
21
|
+
for (const ctx of contexts) {
|
|
22
|
+
const basePath = `response.intents[${ctx.intentIndex}].intent`;
|
|
23
|
+
const realChainId = ctx.tradeGroup.realChainId;
|
|
24
|
+
const intent = ctx.intentPayload.intent;
|
|
25
|
+
violations.push(...validateIntentInteractionSource(ctx, basePath));
|
|
26
|
+
violations.push(...validateInteractionTargets(intent.preInteractions, realChainId, `${basePath}.preInteractions`));
|
|
27
|
+
violations.push(...validateInteractionTargets(intent.postInteractions, realChainId, `${basePath}.postInteractions`));
|
|
28
|
+
violations.push(...validateInteractionEcho(ctx, "preInteractions", basePath));
|
|
29
|
+
violations.push(...validateInteractionEcho(ctx, "postInteractions", basePath));
|
|
30
|
+
}
|
|
31
|
+
return violations;
|
|
32
|
+
}
|
|
33
|
+
function validateTradeInteractionSource(trade, realChainId, basePath) {
|
|
34
|
+
const hasInteractions = hasNonEmptyInteractions(trade.preInteractions)
|
|
35
|
+
|| hasNonEmptyInteractions(trade.postInteractions);
|
|
36
|
+
// HIGH: pre/post interactions are only supported for EVM/Tron-source intents.
|
|
37
|
+
if (!hasInteractions)
|
|
38
|
+
return [];
|
|
39
|
+
if (isInteractionSourceChainSupported(realChainId))
|
|
40
|
+
return [];
|
|
41
|
+
return [createUnsupportedSourceViolation(basePath, realChainId)];
|
|
42
|
+
}
|
|
43
|
+
function validateIntentInteractionSource(ctx, basePath) {
|
|
44
|
+
const intent = ctx.intentPayload.intent;
|
|
45
|
+
const hasInteractions = hasNonEmptyInteractions(intent.preInteractions)
|
|
46
|
+
|| hasNonEmptyInteractions(intent.postInteractions);
|
|
47
|
+
// HIGH: pre/post interactions are only supported for EVM/Tron-source intents.
|
|
48
|
+
if (!hasInteractions)
|
|
49
|
+
return [];
|
|
50
|
+
if (isInteractionSourceChainSupported(ctx.tradeGroup.realChainId))
|
|
51
|
+
return [];
|
|
52
|
+
return [createUnsupportedSourceViolation(basePath, ctx.tradeGroup.realChainId)];
|
|
53
|
+
}
|
|
54
|
+
function createUnsupportedSourceViolation(basePath, realChainId) {
|
|
55
|
+
return {
|
|
56
|
+
code: ViolationCode.InteractionsUnsupportedSourceChain,
|
|
57
|
+
message: "preInteractions and postInteractions are only supported for EVM or Tron source chains",
|
|
58
|
+
path: basePath,
|
|
59
|
+
actual: { chainId: realChainId },
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
// HIGH: interaction targets must be valid addresses for the source chain engine.
|
|
63
|
+
function validateInteractionTargets(interactions, realChainId, basePath) {
|
|
64
|
+
// Safe skip: callers first report non-empty interactions on unsupported
|
|
65
|
+
// source chains; empty interaction lists have no target to validate.
|
|
66
|
+
if (!isInteractionSourceChainSupported(realChainId))
|
|
67
|
+
return [];
|
|
68
|
+
const violations = [];
|
|
69
|
+
for (const { interaction, index } of getIndexedInteractions(interactions)) {
|
|
70
|
+
if (!isInteractionTargetValid(realChainId, interaction.target)) {
|
|
71
|
+
violations.push(createInvalidTargetViolation(`${basePath}[${index}].target`, interaction.target));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return violations;
|
|
75
|
+
}
|
|
76
|
+
function getIndexedInteractions(interactions) {
|
|
77
|
+
return (interactions ?? []).map((interaction, index) => ({ interaction, index }));
|
|
78
|
+
}
|
|
79
|
+
function createInvalidTargetViolation(path, actual) {
|
|
80
|
+
return {
|
|
81
|
+
code: ViolationCode.InteractionTargetInvalid,
|
|
82
|
+
message: "interaction target must be valid for the source chain engine",
|
|
83
|
+
path,
|
|
84
|
+
actual,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
// CRITICAL: signed pre/post interactions must exactly echo the request subset.
|
|
88
|
+
function validateInteractionEcho(ctx, field, basePath) {
|
|
89
|
+
if (!isInteractionSourceChainSupported(ctx.tradeGroup.realChainId))
|
|
90
|
+
return [];
|
|
91
|
+
// Safe skip: quote responses can hide the exact trade subset folded into one intent.
|
|
92
|
+
if (ctx.quoteTradeSubsetUnverifiable)
|
|
93
|
+
return [];
|
|
94
|
+
const consistency = validateSubsetConsistency(ctx, field);
|
|
95
|
+
if (consistency.length > 0)
|
|
96
|
+
return consistency;
|
|
97
|
+
return validateIntentMatchesSubset(ctx, field, basePath);
|
|
98
|
+
}
|
|
99
|
+
function validateSubsetConsistency(ctx, field) {
|
|
100
|
+
const firstTrade = ctx.intentTrades[0];
|
|
101
|
+
// Safe skip: missing subset is reported by other intent/trade matching checks.
|
|
102
|
+
if (firstTrade === undefined)
|
|
103
|
+
return [];
|
|
104
|
+
const expected = firstTrade[field];
|
|
105
|
+
const realChainId = ctx.tradeGroup.realChainId;
|
|
106
|
+
const violations = [];
|
|
107
|
+
for (let i = 1; i < ctx.intentTrades.length; i++) {
|
|
108
|
+
if (!interactionsEqual(realChainId, expected, ctx.intentTrades[i][field])) {
|
|
109
|
+
const requestIndex = ctx.tradeGroup.tradeIndices[ctx.intentTradeIndices[i]];
|
|
110
|
+
violations.push(createSubsetInconsistencyViolation(field, requestIndex, realChainId, expected, ctx.intentTrades[i][field]));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return violations;
|
|
114
|
+
}
|
|
115
|
+
function createSubsetInconsistencyViolation(field, requestIndex, realChainId, expected, actual) {
|
|
116
|
+
return {
|
|
117
|
+
code: ViolationCode.IntentInteractionsInconsistentWithinSubset,
|
|
118
|
+
message: `${field} must be identical for all request trades folded into one intent`,
|
|
119
|
+
path: `request.trades[${requestIndex}].${field}`,
|
|
120
|
+
expected: canonicalizeInteractions(realChainId, expected),
|
|
121
|
+
actual: canonicalizeInteractions(realChainId, actual),
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
function validateIntentMatchesSubset(ctx, field, basePath) {
|
|
125
|
+
const firstTrade = ctx.intentTrades[0];
|
|
126
|
+
// Safe skip: missing subset is reported by other intent/trade matching checks.
|
|
127
|
+
if (firstTrade === undefined)
|
|
128
|
+
return [];
|
|
129
|
+
const expected = firstTrade[field];
|
|
130
|
+
const actual = ctx.intentPayload.intent[field];
|
|
131
|
+
const realChainId = ctx.tradeGroup.realChainId;
|
|
132
|
+
if (interactionsEqual(realChainId, expected, actual))
|
|
133
|
+
return [];
|
|
134
|
+
return [createMismatchViolation(field, basePath, realChainId, expected, actual)];
|
|
135
|
+
}
|
|
136
|
+
function createMismatchViolation(field, basePath, realChainId, expected, actual) {
|
|
137
|
+
return {
|
|
138
|
+
code: field === "preInteractions"
|
|
139
|
+
? ViolationCode.IntentPreInteractionsMismatch
|
|
140
|
+
: ViolationCode.IntentPostInteractionsMismatch,
|
|
141
|
+
message: `intent.${field} must match the request trade subset`,
|
|
142
|
+
path: `${basePath}.${field}`,
|
|
143
|
+
expected: canonicalizeInteractions(realChainId, expected),
|
|
144
|
+
actual: canonicalizeInteractions(realChainId, actual),
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=interactions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactions.js","sourceRoot":"","sources":["../../../src/validations/interactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { validateEvmRequiredActions } from "./evm-required-actions.js";
|
|
|
4
4
|
import { validateSolanaRequiredActions } from "./solana-required-actions.js";
|
|
5
5
|
import { validateRequiredActionChainFamily } from "./action-kind.js";
|
|
6
6
|
import { getChainEngine } from "../helpers/address.js";
|
|
7
|
-
export function validateRequiredActions(request, response, contexts, quoteMode, envConfig, syntheticNativeWrapMode) {
|
|
7
|
+
export function validateRequiredActions(request, response, contexts, quoteMode, envConfig, syntheticNativeWrapMode, interactionAware) {
|
|
8
8
|
const violations = [];
|
|
9
9
|
for (const ctx of contexts) {
|
|
10
10
|
const basePath = `response.intents[${ctx.intentIndex}]`;
|
|
@@ -23,7 +23,7 @@ export function validateRequiredActions(request, response, contexts, quoteMode,
|
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
25
25
|
const evmActions = filterEvmActions(allActions);
|
|
26
|
-
violations.push(...validateEvmRequiredActions(request, response, evmActions, basePath, realChainId, quoteMode, ctx.intentPayload.intent, ctx.intentTrades, ctx.intentResponseTrades, ctx.tradeGroup.srcChainAuthorityAddress, envConfig, syntheticNativeWrapMode, ctx.quoteTradeSubsetUnverifiable));
|
|
26
|
+
violations.push(...validateEvmRequiredActions(request, response, evmActions, basePath, realChainId, quoteMode, ctx.intentPayload.intent, ctx.intentTrades, ctx.intentResponseTrades, ctx.tradeGroup.srcChainAuthorityAddress, envConfig, syntheticNativeWrapMode, ctx.quoteTradeSubsetUnverifiable, interactionAware));
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
return violations;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"required-actions.js","sourceRoot":"","sources":["../../../src/validations/required-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,aAAa,EAEb,gBAAgB,GAGnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AAGlE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,UAAU,uBAAuB,CACnC,OAA8B,EAC9B,QAAgC,EAChC,QAAyB,EACzB,SAAkB,EAClB,SAA4B,EAC5B,uBAAgC;
|
|
1
|
+
{"version":3,"file":"required-actions.js","sourceRoot":"","sources":["../../../src/validations/required-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,aAAa,EAEb,gBAAgB,GAGnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AAGlE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,UAAU,uBAAuB,CACnC,OAA8B,EAC9B,QAAgC,EAChC,QAAyB,EACzB,SAAkB,EAClB,SAA4B,EAC5B,uBAAgC,EAChC,gBAAyB;IAEzB,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,oBAAoB,GAAG,CAAC,WAAW,GAAG,CAAC;QACxD,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC;QACvC,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC;QAErD,UAAU,CAAC,IAAI,CAAC,GAAG,iCAAiC,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAEzF,6DAA6D;QAC7D,mEAAmE;QACnE,gDAAgD;QAChD,gEAAgE;QAChE,sEAAsE;QACtE,iCAAiC;QACjC,IAAI,cAAc,CAAC,WAAW,CAAC,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,aAAa,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACtD,UAAU,CAAC,IAAI,CACX,GAAG,6BAA6B,CAC5B,OAAO,EACP,aAAa,EACb,QAAQ,EACR,WAAW,EACX,SAAS,EACT,GAAG,CAAC,YAAY,EAChB,GAAG,CAAC,oBAAoB,EACxB,GAAG,CAAC,UAAU,CAAC,wBAAwB,EACvC,GAAG,CAAC,aAAa,CAAC,MAAM,EACxB,SAAS,EACT,GAAG,CAAC,4BAA4B,CACnC,CACJ,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAChD,UAAU,CAAC,IAAI,CACX,GAAG,0BAA0B,CACzB,OAAO,EACP,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,GAAG,CAAC,aAAa,CAAC,MAAM,EACxB,GAAG,CAAC,YAAY,EAChB,GAAG,CAAC,oBAAoB,EACxB,GAAG,CAAC,UAAU,CAAC,wBAAwB,EACvC,SAAS,EACT,uBAAuB,EACvB,GAAG,CAAC,4BAA4B,EAChC,gBAAgB,CACnB,CACJ,CAAC;QACN,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,WAAW,CAAC,MAA8B;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAqB,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAiC;IACvD,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,cAAc,CAAC,MAA8B;IAClD,OAAO,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAwB,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAiC;IAC1D,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -8,6 +8,7 @@ import { dlnMetadataEquals, normalizeDlnMetadataKey } from "./dln-metadata.js";
|
|
|
8
8
|
import { getResponseExternalCallHash, ResponseExternalCallHashKind } from "./external-call.js";
|
|
9
9
|
import { matchTrades } from "./trade-matching.js";
|
|
10
10
|
import { hasAnyExecutionAddress } from "../helpers/quote-mode.js";
|
|
11
|
+
import { interactionsEqual, interactionsKey } from "../helpers/interactions.js";
|
|
11
12
|
// Groups request trades to match them later with response intents.
|
|
12
13
|
//
|
|
13
14
|
// Quote mode: groups by srcChainId only (addresses are placeholders).
|
|
@@ -109,7 +110,7 @@ function getGroupEntries(trades, responseTrades, quoteMode, consolidationMode, t
|
|
|
109
110
|
//
|
|
110
111
|
// Multiple intents may match the same group. An intent that matches no group
|
|
111
112
|
// produces a violation.
|
|
112
|
-
export function matchIntentsToGroups(intents, groups, quoteMode) {
|
|
113
|
+
export function matchIntentsToGroups(intents, groups, quoteMode, interactionAware) {
|
|
113
114
|
const contexts = [];
|
|
114
115
|
const violations = [];
|
|
115
116
|
for (let i = 0; i < intents.length; i++) {
|
|
@@ -124,7 +125,7 @@ export function matchIntentsToGroups(intents, groups, quoteMode) {
|
|
|
124
125
|
return true;
|
|
125
126
|
});
|
|
126
127
|
if (matched) {
|
|
127
|
-
const subset = selectIntentTrades(matched, intent);
|
|
128
|
+
const subset = selectIntentTrades(matched, intent, interactionAware);
|
|
128
129
|
contexts.push({
|
|
129
130
|
intentIndex: i,
|
|
130
131
|
intentPayload,
|
|
@@ -146,7 +147,7 @@ export function matchIntentsToGroups(intents, groups, quoteMode) {
|
|
|
146
147
|
}
|
|
147
148
|
}
|
|
148
149
|
violations.push(...validateGroupCoverage(groups, contexts));
|
|
149
|
-
violations.push(...validateIntentDifferentiation(contexts));
|
|
150
|
+
violations.push(...validateIntentDifferentiation(contexts, interactionAware));
|
|
150
151
|
return { contexts, violations };
|
|
151
152
|
}
|
|
152
153
|
// CRITICAL: every trade group must have at least one matching intent.
|
|
@@ -169,10 +170,10 @@ function validateGroupCoverage(groups, contexts) {
|
|
|
169
170
|
}
|
|
170
171
|
return violations;
|
|
171
172
|
}
|
|
172
|
-
// CRITICAL: intents matched to the same trade group must differ
|
|
173
|
-
//
|
|
174
|
-
//
|
|
175
|
-
function validateIntentDifferentiation(contexts) {
|
|
173
|
+
// CRITICAL: intents matched to the same trade group must differ in at least
|
|
174
|
+
// one signed-affecting split field. Duplicate intents within a group indicate
|
|
175
|
+
// an API bug or MITM attack.
|
|
176
|
+
function validateIntentDifferentiation(contexts, interactionAware) {
|
|
176
177
|
const byGroup = new Map();
|
|
177
178
|
for (const ctx of contexts) {
|
|
178
179
|
const list = byGroup.get(ctx.tradeGroup) ?? [];
|
|
@@ -190,15 +191,14 @@ function validateIntentDifferentiation(contexts) {
|
|
|
190
191
|
continue;
|
|
191
192
|
const seen = new Map();
|
|
192
193
|
for (const ctx of groupContexts) {
|
|
193
|
-
const key = intentDifferentiationKey(ctx.intentPayload.intent);
|
|
194
|
+
const key = intentDifferentiationKey(ctx.intentPayload.intent, ctx.tradeGroup.realChainId, interactionAware);
|
|
194
195
|
const firstIndex = seen.get(key);
|
|
195
196
|
if (firstIndex !== undefined) {
|
|
196
197
|
violations.push({
|
|
197
198
|
code: ViolationCode.DuplicateIntentsInTradeGroup,
|
|
198
199
|
message: `intents[${firstIndex}] and intents[${ctx.intentIndex}]`
|
|
199
200
|
+ ` are in the same trade group but do not differ`
|
|
200
|
-
+ ` in
|
|
201
|
-
+ ` executionMetadata`,
|
|
201
|
+
+ ` in signed-affecting split fields`,
|
|
202
202
|
path: `response.intents[${ctx.intentIndex}]`,
|
|
203
203
|
actual: ctx.intentPayload.intent,
|
|
204
204
|
});
|
|
@@ -210,22 +210,25 @@ function validateIntentDifferentiation(contexts) {
|
|
|
210
210
|
}
|
|
211
211
|
return violations;
|
|
212
212
|
}
|
|
213
|
-
function intentDifferentiationKey(intent) {
|
|
214
|
-
|
|
213
|
+
function intentDifferentiationKey(intent, realChainId, interactionAware) {
|
|
214
|
+
const parts = [
|
|
215
215
|
intent.externalCallHash ?? "",
|
|
216
216
|
normalizeDlnMetadataKey(intent.dlnMetadata),
|
|
217
217
|
intent.executionMetadata ?? "",
|
|
218
|
-
]
|
|
218
|
+
];
|
|
219
|
+
if (interactionAware) {
|
|
220
|
+
parts.push(interactionsKey(realChainId, intent.preInteractions));
|
|
221
|
+
parts.push(interactionsKey(realChainId, intent.postInteractions));
|
|
222
|
+
}
|
|
223
|
+
return parts.join("|");
|
|
219
224
|
}
|
|
220
|
-
// Picks the trades
|
|
221
|
-
//
|
|
222
|
-
//
|
|
223
|
-
|
|
224
|
-
// share the same key (only one intent exists), the whole group belongs to it.
|
|
225
|
-
function selectIntentTrades(group, intent) {
|
|
225
|
+
// Picks the trades folded into a single intent. Trades inside one intent share
|
|
226
|
+
// signed-affecting split fields with that intent. When all trades in a group
|
|
227
|
+
// share the same key, the whole group belongs to the single intent.
|
|
228
|
+
function selectIntentTrades(group, intent, interactionAware) {
|
|
226
229
|
// Distinct keys for trades in the group; if every trade has the same key,
|
|
227
230
|
// they all belong to the single intent (no ambiguity).
|
|
228
|
-
const tradeKeys = group.trades.map((trade, i) => tradeDifferentiationKey(trade, group.responseTrades[i]));
|
|
231
|
+
const tradeKeys = group.trades.map((trade, i) => tradeDifferentiationKey(trade, group.responseTrades[i], group.realChainId, interactionAware));
|
|
229
232
|
const distinct = new Set(tradeKeys);
|
|
230
233
|
if (distinct.size <= 1) {
|
|
231
234
|
return {
|
|
@@ -239,7 +242,7 @@ function selectIntentTrades(group, intent) {
|
|
|
239
242
|
const responseTrades = [];
|
|
240
243
|
for (let i = 0; i < group.trades.length; i++) {
|
|
241
244
|
const trade = group.trades[i];
|
|
242
|
-
if (tradeMatchesIntent(trade, group.responseTrades[i], intent)) {
|
|
245
|
+
if (tradeMatchesIntent(trade, group.responseTrades[i], intent, group.realChainId, interactionAware)) {
|
|
243
246
|
indices.push(i);
|
|
244
247
|
trades.push(trade);
|
|
245
248
|
responseTrades.push(group.responseTrades[i]);
|
|
@@ -259,16 +262,27 @@ function selectIntentTrades(group, intent) {
|
|
|
259
262
|
}
|
|
260
263
|
return { indices, trades, responseTrades };
|
|
261
264
|
}
|
|
262
|
-
function tradeDifferentiationKey(trade, responseTrade) {
|
|
263
|
-
|
|
265
|
+
function tradeDifferentiationKey(trade, responseTrade, realChainId, interactionAware) {
|
|
266
|
+
const parts = [
|
|
264
267
|
computeTradeExternalCallHash(trade, responseTrade) ?? "",
|
|
265
268
|
normalizeDlnMetadataKey(trade.dlnMetadata),
|
|
266
|
-
]
|
|
269
|
+
];
|
|
270
|
+
if (interactionAware) {
|
|
271
|
+
parts.push(interactionsKey(realChainId, trade.preInteractions));
|
|
272
|
+
parts.push(interactionsKey(realChainId, trade.postInteractions));
|
|
273
|
+
}
|
|
274
|
+
return parts.join("|");
|
|
267
275
|
}
|
|
268
|
-
function tradeMatchesIntent(trade, responseTrade, intent) {
|
|
269
|
-
|
|
276
|
+
function tradeMatchesIntent(trade, responseTrade, intent, realChainId, interactionAware) {
|
|
277
|
+
const baseMatches = hexEquals(intent.externalCallHash, computeTradeExternalCallHash(trade, responseTrade))
|
|
270
278
|
&& dlnMetadataEquals(intent.dlnMetadata, trade.dlnMetadata)
|
|
271
|
-
&& isEmptyHex(intent.executionMetadata)
|
|
279
|
+
&& isEmptyHex(intent.executionMetadata);
|
|
280
|
+
if (!baseMatches)
|
|
281
|
+
return false;
|
|
282
|
+
if (!interactionAware)
|
|
283
|
+
return true;
|
|
284
|
+
return interactionsEqual(realChainId, intent.preInteractions, trade.preInteractions)
|
|
285
|
+
&& interactionsEqual(realChainId, intent.postInteractions, trade.postInteractions);
|
|
272
286
|
}
|
|
273
287
|
// Returns the same hash the API stores in `intent.externalCallHash` for a
|
|
274
288
|
// request trade, or `undefined` when the trade has no hook. Swallows any
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trade-grouping.js","sourceRoot":"","sources":["../../../src/validations/trade-grouping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAOH,aAAa,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAa,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AA6B/D,mEAAmE;AACnE,EAAE;AACF,sEAAsE;AACtE,EAAE;AACF,oEAAoE;AACpE,EAAE;AACF,0EAA0E;AAC1E,8EAA8E;AAC9E,4CAA4C;AAC5C,EAAE;AACF,yEAAyE;AACzE,4DAA4D;AAC5D,4EAA4E;AAC5E,wDAAwD;AACxD,MAAM,UAAU,WAAW,CACvB,MAAsB,EACtB,cAA+B,EAC/B,SAAkB,EAClB,iBAAiB,GAAG,KAAK,EACzB,UAAwB;IAExB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC1C,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,+EAA+E;IAC/E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAE1C,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAClG,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE3D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/C,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC5C,gEAAgE;gBAChE,UAAU,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,aAAa,CAAC,qBAAqB;oBACzC,OAAO,EAAE,cAAc,KAAK,CAAC,KAAK,CAAC,UAAU,gCAAgC;oBAC7E,IAAI,EAAE,kBAAkB,KAAK,CAAC,YAAY,cAAc;oBACxD,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU;iBACjC,CAAC,CAAC;YACP,CAAC;YACD,SAAS;QACb,CAAC;QAED,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,KAAK,GAAG;gBACJ,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU;gBAClC,wBAAwB,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB;gBACtF,WAAW;gBACX,YAAY,EAAE,EAAE;gBAChB,MAAM,EAAE,EAAE;gBACV,cAAc,EAAE,EAAE;gBAClB,yBAAyB,EAAE,KAAK;aACnC,CAAC;YACF,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,SAAS,IAAI,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAAC;QAC3C,CAAC;IACL,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,gBAAgB,CACrB,KAAmB,EACnB,WAAoB,EACpB,SAAkB;IAElB,IAAI,SAAS;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAE/C,MAAM,SAAS,GAAG,KAAK,CAAC,wBAAwB,KAAK,SAAS;QAC1D,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAEpE,OAAO,GAAG,KAAK,CAAC,UAAU,IAAI,SAAS,EAAE,CAAC;AAC9C,CAAC;AAQD,SAAS,eAAe,CACpB,MAAsB,EACtB,cAA+B,EAC/B,SAAkB,EAClB,iBAA0B,EAC1B,UAAwB;IAExB,0EAA0E;IAC1E,4EAA4E;IAC5E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrB,OAAO;YACH,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;gBACxC,YAAY;gBACZ,KAAK;gBACL,aAAa,EAAE,cAAc,CAAC,YAAY,CAAC;aAC9C,CAAC,CAAC;YACH,UAAU,EAAE,EAAE;SACjB,CAAC;IACN,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,KAAK,SAAS;QACxC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,CAAC;QACtD,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAE5C,OAAO;QACH,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,IAAI,CAAC,YAAY;YACxB,aAAa,EAAE,IAAI,CAAC,aAAa;SACpC,CAAC,CAAC;QACH,UAAU,EAAE,WAAW,CAAC,UAAU;KACrC,CAAC;AACN,CAAC;AAED,mDAAmD;AACnD,EAAE;AACF,4DAA4D;AAC5D,EAAE;AACF,sFAAsF;AACtF,sBAAsB;AACtB,EAAE;AACF,6EAA6E;AAC7E,wBAAwB;AACxB,MAAM,UAAU,oBAAoB,CAChC,OAAgC,EAChC,MAAoB,EACpB,SAAkB;IAElB,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;QAEpC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC5B,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,aAAa;gBAAE,OAAO,KAAK,CAAC;YACxD,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,wBAAwB,KAAK,SAAS,EAAE,CAAC;gBACzD,OAAO,aAAa,CAChB,CAAC,CAAC,WAAW,EACb,CAAC,CAAC,wBAAwB,EAC1B,MAAM,CAAC,WAAW,CACrB,CAAC;YACN,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACnD,QAAQ,CAAC,IAAI,CAAC;gBACV,WAAW,EAAE,CAAC;gBACd,aAAa;gBACb,UAAU,EAAE,OAAO;gBACnB,kBAAkB,EAAE,MAAM,CAAC,OAAO;gBAClC,YAAY,EAAE,MAAM,CAAC,MAAM;gBAC3B,oBAAoB,EAAE,MAAM,CAAC,cAAc;gBAC3C,4BAA4B,EAAE,OAAO,CAAC,yBAAyB,KAAK,IAAI;aAC3E,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,UAAU,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa,CAAC,4BAA4B;gBAChD,OAAO,EAAE,UAAU,CAAC,eAAe,MAAM,CAAC,QAAQ,kCAAkC;gBACpF,IAAI,EAAE,oBAAoB,CAAC,GAAG;gBAC9B,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,MAAM;aACjB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5D,UAAU,CAAC,IAAI,CAAC,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE5D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AACpC,CAAC;AAED,sEAAsE;AACtE,SAAS,qBAAqB,CAC1B,MAAoB,EACpB,QAAyB;IAEzB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,UAAU,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa,CAAC,qBAAqB;gBACzC,OAAO,EACH,2BAA2B,KAAK,CAAC,UAAU,GAAG;sBAC5C,cAAc,KAAK,CAAC,wBAAwB,IAAI,OAAO,GAAG;sBAC1D,yBAAyB;sBACzB,sBAAsB,SAAS,IAAI;gBACzC,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,KAAK;aAClB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,gEAAgE;AAChE,wEAAwE;AACxE,uEAAuE;AACvE,SAAS,6BAA6B,CAClC,QAAyB;IAEzB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IACvD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,MAAM,CAAC,EAAE,aAAa,CAAC,IAAI,OAAO,EAAE,CAAC;QACtC,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC;YAAE,SAAS;QAExC,kEAAkE;QAClE,oEAAoE;QACpE,mEAAmE;QACnE,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,yBAAyB,KAAK,IAAI;YAAE,SAAS;QAE7E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEjC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,UAAU,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,aAAa,CAAC,4BAA4B;oBAChD,OAAO,EACH,WAAW,UAAU,iBAAiB,GAAG,CAAC,WAAW,GAAG;0BACtD,gDAAgD;0BAChD,uCAAuC;0BACvC,oBAAoB;oBAC1B,IAAI,EAAE,oBAAoB,GAAG,CAAC,WAAW,GAAG;oBAC5C,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,MAAM;iBACnC,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAsB;IACpD,OAAO;QACH,MAAM,CAAC,gBAAgB,IAAI,EAAE;QAC7B,uBAAuB,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3C,MAAM,CAAC,iBAAiB,IAAI,EAAE;KACjC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC;AAED,6DAA6D;AAC7D,+EAA+E;AAC/E,gEAAgE;AAChE,0EAA0E;AAC1E,8EAA8E;AAC9E,SAAS,kBAAkB,CACvB,KAAiB,EACjB,MAAsB;IAMtB,0EAA0E;IAC1E,uDAAuD;IACvD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAC9B,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CACxE,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO;YACH,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACtC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;YAC5B,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE;SAC/C,CAAC;IACN,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,cAAc,GAAkC,EAAE,CAAC;IACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IACD,uEAAuE;IACvE,oEAAoE;IACpE,oEAAoE;IACpE,+DAA+D;IAC/D,yBAAyB;IACzB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACH,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACtC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;YAC5B,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE;SAC/C,CAAC;IACN,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,uBAAuB,CAC5B,KAAmB,EACnB,aAAwC;IAExC,OAAO;QACH,4BAA4B,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE;QACxD,uBAAuB,CAAC,KAAK,CAAC,WAAW,CAAC;KAC7C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CACvB,KAAmB,EACnB,aAAwC,EACxC,MAAsB;IAEtB,OAAO,CACH,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,4BAA4B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;WACnF,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;WACxD,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAC1C,CAAC;AACN,CAAC;AAED,0EAA0E;AAC1E,yEAAyE;AACzE,gFAAgF;AAChF,6DAA6D;AAC7D,uDAAuD;AACvD,SAAS,4BAA4B,CACjC,KAAmB,EACnB,aAAwC;IAExC,MAAM,YAAY,GAAG,2BAA2B,CAAC,aAAa,CAAC,CAAC;IAChE,IAAI,YAAY,CAAC,IAAI,KAAK,4BAA4B,CAAC,IAAI,EAAE,CAAC;QAC1D,OAAO,YAAY,CAAC,IAAiC,CAAC;IAC1D,CAAC;IAED,2EAA2E;IAC3E,8EAA8E;IAC9E,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"trade-grouping.js","sourceRoot":"","sources":["../../../src/validations/trade-grouping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAOH,aAAa,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAa,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AA6B7E,mEAAmE;AACnE,EAAE;AACF,sEAAsE;AACtE,EAAE;AACF,oEAAoE;AACpE,EAAE;AACF,0EAA0E;AAC1E,8EAA8E;AAC9E,4CAA4C;AAC5C,EAAE;AACF,yEAAyE;AACzE,4DAA4D;AAC5D,4EAA4E;AAC5E,wDAAwD;AACxD,MAAM,UAAU,WAAW,CACvB,MAAsB,EACtB,cAA+B,EAC/B,SAAkB,EAClB,iBAAiB,GAAG,KAAK,EACzB,UAAwB;IAExB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC1C,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,+EAA+E;IAC/E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAE1C,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAClG,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE3D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/C,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC5C,gEAAgE;gBAChE,UAAU,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,aAAa,CAAC,qBAAqB;oBACzC,OAAO,EAAE,cAAc,KAAK,CAAC,KAAK,CAAC,UAAU,gCAAgC;oBAC7E,IAAI,EAAE,kBAAkB,KAAK,CAAC,YAAY,cAAc;oBACxD,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU;iBACjC,CAAC,CAAC;YACP,CAAC;YACD,SAAS;QACb,CAAC;QAED,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,KAAK,GAAG;gBACJ,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU;gBAClC,wBAAwB,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB;gBACtF,WAAW;gBACX,YAAY,EAAE,EAAE;gBAChB,MAAM,EAAE,EAAE;gBACV,cAAc,EAAE,EAAE;gBAClB,yBAAyB,EAAE,KAAK;aACnC,CAAC;YACF,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,SAAS,IAAI,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAAC;QAC3C,CAAC;IACL,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,gBAAgB,CACrB,KAAmB,EACnB,WAAoB,EACpB,SAAkB;IAElB,IAAI,SAAS;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAE/C,MAAM,SAAS,GAAG,KAAK,CAAC,wBAAwB,KAAK,SAAS;QAC1D,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAEpE,OAAO,GAAG,KAAK,CAAC,UAAU,IAAI,SAAS,EAAE,CAAC;AAC9C,CAAC;AAQD,SAAS,eAAe,CACpB,MAAsB,EACtB,cAA+B,EAC/B,SAAkB,EAClB,iBAA0B,EAC1B,UAAwB;IAExB,0EAA0E;IAC1E,4EAA4E;IAC5E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrB,OAAO;YACH,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;gBACxC,YAAY;gBACZ,KAAK;gBACL,aAAa,EAAE,cAAc,CAAC,YAAY,CAAC;aAC9C,CAAC,CAAC;YACH,UAAU,EAAE,EAAE;SACjB,CAAC;IACN,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,KAAK,SAAS;QACxC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,CAAC;QACtD,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAE5C,OAAO;QACH,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,IAAI,CAAC,YAAY;YACxB,aAAa,EAAE,IAAI,CAAC,aAAa;SACpC,CAAC,CAAC;QACH,UAAU,EAAE,WAAW,CAAC,UAAU;KACrC,CAAC;AACN,CAAC;AAED,mDAAmD;AACnD,EAAE;AACF,4DAA4D;AAC5D,EAAE;AACF,sFAAsF;AACtF,sBAAsB;AACtB,EAAE;AACF,6EAA6E;AAC7E,wBAAwB;AACxB,MAAM,UAAU,oBAAoB,CAChC,OAAgC,EAChC,MAAoB,EACpB,SAAkB,EAClB,gBAAyB;IAEzB,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;QAEpC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC5B,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,aAAa;gBAAE,OAAO,KAAK,CAAC;YACxD,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,wBAAwB,KAAK,SAAS,EAAE,CAAC;gBACzD,OAAO,aAAa,CAChB,CAAC,CAAC,WAAW,EACb,CAAC,CAAC,wBAAwB,EAC1B,MAAM,CAAC,WAAW,CACrB,CAAC;YACN,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACrE,QAAQ,CAAC,IAAI,CAAC;gBACV,WAAW,EAAE,CAAC;gBACd,aAAa;gBACb,UAAU,EAAE,OAAO;gBACnB,kBAAkB,EAAE,MAAM,CAAC,OAAO;gBAClC,YAAY,EAAE,MAAM,CAAC,MAAM;gBAC3B,oBAAoB,EAAE,MAAM,CAAC,cAAc;gBAC3C,4BAA4B,EAAE,OAAO,CAAC,yBAAyB,KAAK,IAAI;aAC3E,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,UAAU,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa,CAAC,4BAA4B;gBAChD,OAAO,EAAE,UAAU,CAAC,eAAe,MAAM,CAAC,QAAQ,kCAAkC;gBACpF,IAAI,EAAE,oBAAoB,CAAC,GAAG;gBAC9B,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,MAAM;aACjB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5D,UAAU,CAAC,IAAI,CAAC,GAAG,6BAA6B,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE9E,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AACpC,CAAC;AAED,sEAAsE;AACtE,SAAS,qBAAqB,CAC1B,MAAoB,EACpB,QAAyB;IAEzB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,UAAU,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa,CAAC,qBAAqB;gBACzC,OAAO,EACH,2BAA2B,KAAK,CAAC,UAAU,GAAG;sBAC5C,cAAc,KAAK,CAAC,wBAAwB,IAAI,OAAO,GAAG;sBAC1D,yBAAyB;sBACzB,sBAAsB,SAAS,IAAI;gBACzC,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,KAAK;aAClB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,4EAA4E;AAC5E,8EAA8E;AAC9E,6BAA6B;AAC7B,SAAS,6BAA6B,CAClC,QAAyB,EACzB,gBAAyB;IAEzB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IACvD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,MAAM,CAAC,EAAE,aAAa,CAAC,IAAI,OAAO,EAAE,CAAC;QACtC,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC;YAAE,SAAS;QAExC,kEAAkE;QAClE,oEAAoE;QACpE,mEAAmE;QACnE,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,yBAAyB,KAAK,IAAI;YAAE,SAAS;QAE7E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,wBAAwB,CAChC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,gBAAgB,CACzE,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEjC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,UAAU,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,aAAa,CAAC,4BAA4B;oBAChD,OAAO,EACH,WAAW,UAAU,iBAAiB,GAAG,CAAC,WAAW,GAAG;0BACtD,gDAAgD;0BAChD,mCAAmC;oBACzC,IAAI,EAAE,oBAAoB,GAAG,CAAC,WAAW,GAAG;oBAC5C,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,MAAM;iBACnC,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,wBAAwB,CAC7B,MAAsB,EACtB,WAAoB,EACpB,gBAAyB;IAEzB,MAAM,KAAK,GAAG;QACV,MAAM,CAAC,gBAAgB,IAAI,EAAE;QAC7B,uBAAuB,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3C,MAAM,CAAC,iBAAiB,IAAI,EAAE;KACjC,CAAC;IAEF,IAAI,gBAAgB,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,+EAA+E;AAC/E,6EAA6E;AAC7E,oEAAoE;AACpE,SAAS,kBAAkB,CACvB,KAAiB,EACjB,MAAsB,EACtB,gBAAyB;IAMzB,0EAA0E;IAC1E,uDAAuD;IACvD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAC9B,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,uBAAuB,CACjC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,gBAAgB,CACtE,CACJ,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO;YACH,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACtC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;YAC5B,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE;SAC/C,CAAC;IACN,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,cAAc,GAAkC,EAAE,CAAC;IACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,kBAAkB,CAClB,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAC9E,EAAE,CAAC;YACA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IACD,uEAAuE;IACvE,oEAAoE;IACpE,oEAAoE;IACpE,+DAA+D;IAC/D,yBAAyB;IACzB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACH,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACtC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;YAC5B,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE;SAC/C,CAAC;IACN,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,uBAAuB,CAC5B,KAAmB,EACnB,aAAwC,EACxC,WAAoB,EACpB,gBAAyB;IAEzB,MAAM,KAAK,GAAG;QACV,4BAA4B,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE;QACxD,uBAAuB,CAAC,KAAK,CAAC,WAAW,CAAC;KAC7C,CAAC;IAEF,IAAI,gBAAgB,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,kBAAkB,CACvB,KAAmB,EACnB,aAAwC,EACxC,MAAsB,EACtB,WAAoB,EACpB,gBAAyB;IAEzB,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,4BAA4B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;WACnG,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;WACxD,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE5C,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,CAAC,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAEnC,OAAO,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,eAAe,CAAC;WAC7E,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAC3F,CAAC;AAED,0EAA0E;AAC1E,yEAAyE;AACzE,gFAAgF;AAChF,6DAA6D;AAC7D,uDAAuD;AACvD,SAAS,4BAA4B,CACjC,KAAmB,EACnB,aAAwC;IAExC,MAAM,YAAY,GAAG,2BAA2B,CAAC,aAAa,CAAC,CAAC;IAChE,IAAI,YAAY,CAAC,IAAI,KAAK,4BAA4B,CAAC,IAAI,EAAE,CAAC;QAC1D,OAAO,YAAY,CAAC,IAAiC,CAAC;IAC1D,CAAC;IAED,2EAA2E;IAC3E,8EAA8E;IAC9E,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC"}
|
package/dist/esm/validator.js
CHANGED
|
@@ -14,10 +14,11 @@ import { validateRequestDlnMetadataFormat } from "./validations/dln-metadata.js"
|
|
|
14
14
|
import { validateExternalCalls } from "./validations/external-call.js";
|
|
15
15
|
import { matchTrades } from "./validations/trade-matching.js";
|
|
16
16
|
import { validateRefill } from "./validations/refill.js";
|
|
17
|
+
import { validateIntentInteractions, validateRequestInteractions } from "./validations/interactions.js";
|
|
17
18
|
import { buildEnvironmentConfig } from "./whitelists/environment-config.js";
|
|
18
19
|
import { isSyntheticNativeWrapBundle } from "./helpers/synthetic-native-wrap.js";
|
|
19
20
|
import { hasUnverifiableQuoteGrouping, isQuoteModeRequest } from "./helpers/quote-mode.js";
|
|
20
|
-
const SUPPORTED_VALIDATION_VERSION =
|
|
21
|
+
const SUPPORTED_VALIDATION_VERSION = 2n;
|
|
21
22
|
export function createValidator(config) {
|
|
22
23
|
const envConfig = buildEnvironmentConfig(config.environment);
|
|
23
24
|
const options = {
|
|
@@ -53,7 +54,7 @@ request, response, envConfig, options) {
|
|
|
53
54
|
// the structure issues.
|
|
54
55
|
return { ok: false, violations };
|
|
55
56
|
}
|
|
56
|
-
violations.push(...validateBundleCreation(reqResult.data, resResult.data, envConfig, options));
|
|
57
|
+
violations.push(...validateBundleCreation(reqResult.data, resResult.data, envConfig, options, BigInt(resResult.data.validationVersion)));
|
|
57
58
|
return {
|
|
58
59
|
ok: violations.length === 0,
|
|
59
60
|
violations,
|
|
@@ -63,12 +64,12 @@ function validateSupportedValidationVersion(response) {
|
|
|
63
64
|
const validationVersion = getRawValidationVersion(response);
|
|
64
65
|
const parsedValidationVersion = parseRawValidationVersion(validationVersion);
|
|
65
66
|
if (parsedValidationVersion !== undefined
|
|
66
|
-
&& parsedValidationVersion >
|
|
67
|
+
&& parsedValidationVersion > SUPPORTED_VALIDATION_VERSION) {
|
|
67
68
|
return {
|
|
68
69
|
code: ViolationCode.HigherApiVersion,
|
|
69
70
|
message: "API validationVersion is higher than supported by this validator",
|
|
70
71
|
path: "response.validationVersion",
|
|
71
|
-
expected: SUPPORTED_VALIDATION_VERSION,
|
|
72
|
+
expected: Number(SUPPORTED_VALIDATION_VERSION),
|
|
72
73
|
actual: validationVersion,
|
|
73
74
|
};
|
|
74
75
|
}
|
|
@@ -116,15 +117,16 @@ function createUnexpectedValidationError(error) {
|
|
|
116
117
|
}],
|
|
117
118
|
};
|
|
118
119
|
}
|
|
119
|
-
function validateBundleCreation(request, response, envConfig, options) {
|
|
120
|
-
const context = buildBundleValidationContext(request, response, envConfig, options);
|
|
120
|
+
function validateBundleCreation(request, response, envConfig, options, validationVersion) {
|
|
121
|
+
const context = buildBundleValidationContext(request, response, envConfig, options, validationVersion);
|
|
121
122
|
return runBundleValidations(context);
|
|
122
123
|
}
|
|
123
|
-
function buildBundleValidationContext(request, response, envConfig, options) {
|
|
124
|
+
function buildBundleValidationContext(request, response, envConfig, options, validationVersion) {
|
|
124
125
|
const modes = detectBundleModes(request, response);
|
|
126
|
+
const interactionAware = validationVersion >= 2n;
|
|
125
127
|
const tradeMatch = matchTrades(request.trades, response.trades, modes.quoteMode, modes.consolidationMode);
|
|
126
128
|
const groupResult = groupTrades(request.trades, response.trades, modes.quoteMode, modes.consolidationMode, tradeMatch.pairs);
|
|
127
|
-
const intentMatch = matchIntentsToGroups(response.intents, groupResult.groups, modes.quoteMode);
|
|
129
|
+
const intentMatch = matchIntentsToGroups(response.intents, groupResult.groups, modes.quoteMode, interactionAware);
|
|
128
130
|
return {
|
|
129
131
|
request,
|
|
130
132
|
response,
|
|
@@ -136,6 +138,7 @@ function buildBundleValidationContext(request, response, envConfig, options) {
|
|
|
136
138
|
groupViolations: groupResult.violations,
|
|
137
139
|
intentContexts: intentMatch.contexts,
|
|
138
140
|
intentMatchViolations: intentMatch.violations,
|
|
141
|
+
interactionAware,
|
|
139
142
|
};
|
|
140
143
|
}
|
|
141
144
|
function detectBundleModes(request, response) {
|
|
@@ -158,11 +161,13 @@ function runBundleValidations(context) {
|
|
|
158
161
|
...validatePtp(request, response),
|
|
159
162
|
...validateRequestDlnMetadataFormat(request.trades),
|
|
160
163
|
...validateExternalCalls(modes.quoteMode, context.tradeMatch.pairs),
|
|
164
|
+
...validateRequestInteractions(request.trades, context.interactionAware),
|
|
161
165
|
...validateRefill(request, response, context.intentContexts, modes.quoteMode),
|
|
162
166
|
...context.groupViolations,
|
|
163
167
|
...context.intentMatchViolations,
|
|
164
|
-
...
|
|
165
|
-
...
|
|
168
|
+
...validateIntentInteractions(context.intentContexts, context.interactionAware),
|
|
169
|
+
...validateIntents(context.intentContexts, modes.quoteMode, envConfig, modes.syntheticNativeWrapMode, options.validateSolverExecutorAddress, context.interactionAware),
|
|
170
|
+
...validateRequiredActions(request, response, context.intentContexts, modes.quoteMode, envConfig, modes.syntheticNativeWrapMode, context.interactionAware),
|
|
166
171
|
...validateHooks(request, response, modes.quoteMode, envConfig, options),
|
|
167
172
|
];
|
|
168
173
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,aAAa,EAEb,2BAA2B,EAE3B,4BAA4B,GAC/B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACH,WAAW,EAEX,oBAAoB,GAEvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAoB,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAGzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAExF,MAAM,4BAA4B,GAAG,
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ChainEngine } from "../types/enums";
|
|
2
2
|
export declare const TRON_NATIVE_ADDRESS = "T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb";
|
|
3
3
|
export declare function getChainEngine(chainId: number): ChainEngine;
|
|
4
|
+
export declare function isEvmHexAddress(address: string): boolean;
|
|
4
5
|
export declare function isTronAddress(address: string): boolean;
|
|
5
6
|
export declare function tronAddressToEvmHex(tronAddress: string): string;
|
|
6
7
|
export declare function normalizeAddress(chainId: number, address: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../src/helpers/address.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAW,MAAM,gBAAgB,CAAC;AAItD,eAAO,MAAM,mBAAmB,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../src/helpers/address.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAW,MAAM,gBAAgB,CAAC;AAItD,eAAO,MAAM,mBAAmB,uCAAuC,CAAC;AAIxE,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAI3D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOtD;AAKD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAK/D;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGzE;AAID,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAI9D;AAGD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D;AAUD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE5E;AAKD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAE5E;AAID,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAElE;AAqBD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CASvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm-intent-id.d.ts","sourceRoot":"","sources":["../../../src/helpers/evm-intent-id.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"evm-intent-id.d.ts","sourceRoot":"","sources":["../../../src/helpers/evm-intent-id.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAO1C,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,GAAG,MAAM,CAIzF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RequestInteraction } from "../types";
|
|
2
|
+
export type CanonicalInteraction = {
|
|
3
|
+
target: string;
|
|
4
|
+
payload: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function hasNonEmptyInteractions(interactions: RequestInteraction[] | undefined): boolean;
|
|
7
|
+
export declare function canonicalizeInteractions(realChainId: number, interactions: RequestInteraction[] | undefined): CanonicalInteraction[];
|
|
8
|
+
export declare function interactionsEqual(realChainId: number, left: RequestInteraction[] | undefined, right: RequestInteraction[] | undefined): boolean;
|
|
9
|
+
export declare function interactionsKey(realChainId: number, interactions: RequestInteraction[] | undefined): string;
|
|
10
|
+
export declare function isInteractionTargetValid(realChainId: number, target: string): boolean;
|
|
11
|
+
export declare function isInteractionSourceChainSupported(realChainId: number): boolean;
|
|
12
|
+
export declare function computeCombinedInteractions(realChainId: number, preInteractions: RequestInteraction[] | undefined, postInteractions: RequestInteraction[] | undefined): `0x${string}`;
|
|
13
|
+
//# sourceMappingURL=interactions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactions.d.ts","sourceRoot":"","sources":["../../../src/helpers/interactions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAI9C,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAKF,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,kBAAkB,EAAE,GAAG,SAAS,GAAG,OAAO,CAE/F;AAED,wBAAgB,wBAAwB,CACpC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,kBAAkB,EAAE,GAAG,SAAS,GAC/C,oBAAoB,EAAE,CAKxB;AAED,wBAAgB,iBAAiB,CAC7B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,kBAAkB,EAAE,GAAG,SAAS,EACtC,KAAK,EAAE,kBAAkB,EAAE,GAAG,SAAS,GACxC,OAAO,CAWT;AAED,wBAAgB,eAAe,CAC3B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,kBAAkB,EAAE,GAAG,SAAS,GAC/C,MAAM,CAER;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAKrF;AAED,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAG9E;AAED,wBAAgB,2BAA2B,CACvC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,kBAAkB,EAAE,GAAG,SAAS,EACjD,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,SAAS,GACnD,KAAK,MAAM,EAAE,CAUf"}
|
|
@@ -86,6 +86,10 @@ export declare const RequestCostTokenSchema: z.ZodObject<{
|
|
|
86
86
|
chainId: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodNumber>;
|
|
87
87
|
tokenAddress: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>;
|
|
88
88
|
}, z.core.$strip>;
|
|
89
|
+
export declare const RequestInteractionSchema: z.ZodObject<{
|
|
90
|
+
target: z.ZodString;
|
|
91
|
+
payload: z.ZodString;
|
|
92
|
+
}, z.core.$strip>;
|
|
89
93
|
export declare const RequestMetadataEntrySchema: z.ZodObject<{
|
|
90
94
|
key: z.ZodString;
|
|
91
95
|
value: z.ZodString;
|
|
@@ -106,6 +110,14 @@ export declare const RequestTradeSchema: z.ZodObject<{
|
|
|
106
110
|
prependOperatingExpenses: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodBoolean>>;
|
|
107
111
|
ptp: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodBoolean>>;
|
|
108
112
|
dlnMetadata: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
113
|
+
preInteractions: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
114
|
+
target: z.ZodString;
|
|
115
|
+
payload: z.ZodString;
|
|
116
|
+
}, z.core.$strip>>>>;
|
|
117
|
+
postInteractions: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
118
|
+
target: z.ZodString;
|
|
119
|
+
payload: z.ZodString;
|
|
120
|
+
}, z.core.$strip>>>>;
|
|
109
121
|
referralCode: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
|
|
110
122
|
srcAllowedCancelBeneficiary: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
111
123
|
srcAllowedSender: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
@@ -137,6 +149,14 @@ export declare const BundleCreationRequestSchema: z.ZodObject<{
|
|
|
137
149
|
prependOperatingExpenses: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodBoolean>>;
|
|
138
150
|
ptp: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodBoolean>>;
|
|
139
151
|
dlnMetadata: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
152
|
+
preInteractions: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
153
|
+
target: z.ZodString;
|
|
154
|
+
payload: z.ZodString;
|
|
155
|
+
}, z.core.$strip>>>>;
|
|
156
|
+
postInteractions: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
157
|
+
target: z.ZodString;
|
|
158
|
+
payload: z.ZodString;
|
|
159
|
+
}, z.core.$strip>>>>;
|
|
140
160
|
referralCode: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
|
|
141
161
|
srcAllowedCancelBeneficiary: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
142
162
|
srcAllowedSender: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
@@ -223,6 +243,7 @@ export declare const BundleCreationRequestSchema: z.ZodObject<{
|
|
|
223
243
|
export type BundleCreationRequest = z.infer<typeof BundleCreationRequestSchema>;
|
|
224
244
|
export type RequestCostToken = z.infer<typeof RequestCostTokenSchema>;
|
|
225
245
|
export type RequestTrade = z.infer<typeof RequestTradeSchema>;
|
|
246
|
+
export type RequestInteraction = z.infer<typeof RequestInteractionSchema>;
|
|
226
247
|
export type RequestHookV2 = z.infer<typeof RequestHookV2Schema>;
|
|
227
248
|
export type RequestHookV1 = z.infer<typeof RequestHookV1Schema>;
|
|
228
249
|
export type RequestHook = z.infer<typeof RequestHookSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/types/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/types/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,eAAe,EAClB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,gCAAgC;;;;iBAI3C,CAAC;AAIH,eAAO,MAAM,wBAAwB;;;;;;iBA2BnC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;iBAW9B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;iBAY9B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAsD,CAAC;AAErF,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,IAAI,aAAa,CAExE;AAED,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AAyBH,eAAO,MAAM,wBAAwB;;;iBAGnC,CAAC;AAQH,eAAO,MAAM,0BAA0B;;;iBAGrC,CAAC;AASH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwB7B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkBtC,CAAC;AAGH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAC1F,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
|