@debridge-finance/borderless-validation-sdk 0.0.12 → 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/README.md +22 -1
- 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/helpers/solana-instruction.js +12 -0
- package/dist/cjs/helpers/solana-instruction.js.map +1 -1
- package/dist/cjs/types/request.js +8 -1
- package/dist/cjs/types/request.js.map +1 -1
- package/dist/cjs/types/response.js +4 -0
- package/dist/cjs/types/response.js.map +1 -1
- package/dist/cjs/types/validation.js +8 -0
- package/dist/cjs/types/validation.js.map +1 -1
- package/dist/cjs/validations/action-kind.js +70 -0
- package/dist/cjs/validations/action-kind.js.map +1 -0
- 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/hooks-common.js +2 -0
- package/dist/cjs/validations/hooks-common.js.map +1 -1
- package/dist/cjs/validations/intent-destinations.js +29 -4
- package/dist/cjs/validations/intent-destinations.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 +4 -29
- package/dist/cjs/validations/required-actions.js.map +1 -1
- package/dist/cjs/validations/solana-op-budget.js +27 -9
- package/dist/cjs/validations/solana-op-budget.js.map +1 -1
- package/dist/cjs/validations/solana-op-wrap.js +24 -4
- package/dist/cjs/validations/solana-op-wrap.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 +43 -7
- 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/helpers/solana-instruction.js +12 -0
- package/dist/esm/helpers/solana-instruction.js.map +1 -1
- package/dist/esm/types/request.js +7 -0
- package/dist/esm/types/request.js.map +1 -1
- package/dist/esm/types/response.js +5 -1
- package/dist/esm/types/response.js.map +1 -1
- package/dist/esm/types/validation.js +8 -0
- package/dist/esm/types/validation.js.map +1 -1
- package/dist/esm/validations/action-kind.js +67 -0
- package/dist/esm/validations/action-kind.js.map +1 -0
- 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/hooks-common.js +2 -0
- package/dist/esm/validations/hooks-common.js.map +1 -1
- package/dist/esm/validations/intent-destinations.js +29 -4
- package/dist/esm/validations/intent-destinations.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 +5 -30
- package/dist/esm/validations/required-actions.js.map +1 -1
- package/dist/esm/validations/solana-op-budget.js +27 -9
- package/dist/esm/validations/solana-op-budget.js.map +1 -1
- package/dist/esm/validations/solana-op-wrap.js +24 -4
- package/dist/esm/validations/solana-op-wrap.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 +43 -7
- 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/helpers/solana-instruction.d.ts.map +1 -1
- 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 +25 -0
- package/dist/types/types/response.d.ts.map +1 -1
- package/dist/types/types/validation.d.ts +8 -0
- package/dist/types/types/validation.d.ts.map +1 -1
- package/dist/types/validations/action-kind.d.ts +3 -0
- package/dist/types/validations/action-kind.d.ts.map +1 -0
- 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/hooks-common.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/solana-op-budget.d.ts.map +1 -1
- package/dist/types/validations/solana-op-wrap.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 @@
|
|
|
1
|
+
{"version":3,"file":"interactions.js","sourceRoot":"","sources":["../../../src/validations/interactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,14 +5,15 @@ const types_1 = require("../types");
|
|
|
5
5
|
const enums_1 = require("../types/enums");
|
|
6
6
|
const evm_required_actions_1 = require("./evm-required-actions");
|
|
7
7
|
const solana_required_actions_1 = require("./solana-required-actions");
|
|
8
|
+
const action_kind_1 = require("./action-kind");
|
|
8
9
|
const address_1 = require("../helpers/address");
|
|
9
|
-
function validateRequiredActions(request, response, contexts, quoteMode, envConfig, syntheticNativeWrapMode) {
|
|
10
|
+
function validateRequiredActions(request, response, contexts, quoteMode, envConfig, syntheticNativeWrapMode, interactionAware) {
|
|
10
11
|
const violations = [];
|
|
11
12
|
for (const ctx of contexts) {
|
|
12
13
|
const basePath = `response.intents[${ctx.intentIndex}]`;
|
|
13
14
|
const { realChainId } = ctx.tradeGroup;
|
|
14
15
|
const allActions = ctx.intentPayload.requiredActions;
|
|
15
|
-
violations.push(...
|
|
16
|
+
violations.push(...(0, action_kind_1.validateRequiredActionChainFamily)(allActions, basePath, realChainId));
|
|
16
17
|
// Dispatch to chain-specific validator based on realChainId.
|
|
17
18
|
// "Transaction" exists in both EvmActionKind and SolanaActionKind,
|
|
18
19
|
// so we must use chain context to disambiguate.
|
|
@@ -25,7 +26,7 @@ function validateRequiredActions(request, response, contexts, quoteMode, envConf
|
|
|
25
26
|
}
|
|
26
27
|
else {
|
|
27
28
|
const evmActions = filterEvmActions(allActions);
|
|
28
|
-
violations.push(...(0, evm_required_actions_1.validateEvmRequiredActions)(request, response, evmActions, basePath, realChainId, quoteMode, ctx.intentPayload.intent, ctx.intentTrades, ctx.intentResponseTrades, ctx.tradeGroup.srcChainAuthorityAddress, envConfig, syntheticNativeWrapMode, ctx.quoteTradeSubsetUnverifiable));
|
|
29
|
+
violations.push(...(0, evm_required_actions_1.validateEvmRequiredActions)(request, response, evmActions, basePath, realChainId, quoteMode, ctx.intentPayload.intent, ctx.intentTrades, ctx.intentResponseTrades, ctx.tradeGroup.srcChainAuthorityAddress, envConfig, syntheticNativeWrapMode, ctx.quoteTradeSubsetUnverifiable, interactionAware));
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
return violations;
|
|
@@ -42,30 +43,4 @@ function isSolanaAction(action) {
|
|
|
42
43
|
function filterSolanaActions(actions) {
|
|
43
44
|
return actions.filter(isSolanaAction);
|
|
44
45
|
}
|
|
45
|
-
const EVM_ACTION_OPERATIONS = new Set(Object.values(types_1.EvmActionOperation));
|
|
46
|
-
const SOLANA_ACTION_OPERATIONS = new Set(Object.values(types_1.SolanaActionOperation));
|
|
47
|
-
// CRITICAL: Each requiredAction must have consistent kind across all fields.
|
|
48
|
-
// Uses realChainId to determine expected kind (avoids ambiguity from overlapping type strings).
|
|
49
|
-
function validateActionKindConsistency(actions, basePath, realChainId) {
|
|
50
|
-
const isSolanaChain = (0, address_1.getChainEngine)(realChainId) === enums_1.ChainEngine.Solana;
|
|
51
|
-
const expectedOps = isSolanaChain ? SOLANA_ACTION_OPERATIONS : EVM_ACTION_OPERATIONS;
|
|
52
|
-
const chainLabel = isSolanaChain ? "Solana" : "EVM";
|
|
53
|
-
const violations = [];
|
|
54
|
-
for (let i = 0; i < actions.length; i++) {
|
|
55
|
-
const action = actions[i];
|
|
56
|
-
const actionPath = `${basePath}.requiredActions[${i}]`;
|
|
57
|
-
const invalidOps = action.actions.filter(op => !expectedOps.has(op));
|
|
58
|
-
if (invalidOps.length > 0) {
|
|
59
|
-
violations.push({
|
|
60
|
-
code: types_1.ViolationCode.RequiredActionKindInconsistent,
|
|
61
|
-
message: `${chainLabel} action type "${action.type}" has non-${chainLabel}`
|
|
62
|
-
+ ` operations: ${invalidOps.join(", ")}`,
|
|
63
|
-
path: `${actionPath}.actions`,
|
|
64
|
-
expected: [...expectedOps],
|
|
65
|
-
actual: action.actions,
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return violations;
|
|
70
|
-
}
|
|
71
46
|
//# sourceMappingURL=required-actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"required-actions.js","sourceRoot":"","sources":["../../../src/validations/required-actions.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"required-actions.js","sourceRoot":"","sources":["../../../src/validations/required-actions.ts"],"names":[],"mappings":";;AAoBA,0DAiEC;AArFD,oCAWkB;AAClB,0CAA6C;AAC7C,iEAAoE;AACpE,uEAA0E;AAC1E,+CAAkE;AAGlE,gDAAoD;AAEpD,SAAgB,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,IAAA,+CAAiC,EAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAEzF,6DAA6D;QAC7D,mEAAmE;QACnE,gDAAgD;QAChD,gEAAgE;QAChE,sEAAsE;QACtE,iCAAiC;QACjC,IAAI,IAAA,wBAAc,EAAC,WAAW,CAAC,KAAK,mBAAW,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,aAAa,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACtD,UAAU,CAAC,IAAI,CACX,GAAG,IAAA,uDAA6B,EAC5B,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,IAAA,iDAA0B,EACzB,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,qBAAa,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,wBAAgB,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"}
|
|
@@ -25,19 +25,24 @@ function validateSolanaBudgetInstructions(action, resolvedInstructions, actionPa
|
|
|
25
25
|
}];
|
|
26
26
|
}
|
|
27
27
|
// Find all approve instructions in the transaction
|
|
28
|
-
const
|
|
28
|
+
const approveCollection = collectApproveInstructions(resolvedInstructions, envConfig.solanaIntentProgram, actionPath);
|
|
29
|
+
const approveInstructions = approveCollection.instructions;
|
|
29
30
|
// HIGH: if actions[] contains "Budget" at least one approve instruction must be present
|
|
30
|
-
if (hasBudgetAction
|
|
31
|
+
if (hasBudgetAction
|
|
32
|
+
&& approveInstructions.length === 0
|
|
33
|
+
&& approveCollection.violations.length === 0) {
|
|
31
34
|
return [{
|
|
32
35
|
code: types_1.ViolationCode.SolanaBudgetNoApproveInstruction,
|
|
33
36
|
message: "actions[] contains \"Budget\" but no approve instruction found in transaction",
|
|
34
37
|
path: `${actionPath}.data.data`,
|
|
35
38
|
}];
|
|
36
39
|
}
|
|
37
|
-
// If no budget action declared
|
|
40
|
+
// If no budget action is declared, still surface malformed approve-like
|
|
41
|
+
// instructions that were detected during collection; otherwise there is
|
|
42
|
+
// nothing budget-specific to validate here.
|
|
38
43
|
if (!hasBudgetAction)
|
|
39
|
-
return
|
|
40
|
-
const violations = [];
|
|
44
|
+
return approveCollection.violations;
|
|
45
|
+
const violations = [...approveCollection.violations];
|
|
41
46
|
for (let i = 0; i < approveInstructions.length; i++) {
|
|
42
47
|
const approve = approveInstructions[i];
|
|
43
48
|
const ixLabel = `approve instruction #${i}`;
|
|
@@ -125,17 +130,30 @@ function customAggregateAmountViolation(actionPath, entry, expected) {
|
|
|
125
130
|
// =============================================
|
|
126
131
|
// Collect approve instructions
|
|
127
132
|
// =============================================
|
|
128
|
-
function collectApproveInstructions(instructions, intentProgram) {
|
|
133
|
+
function collectApproveInstructions(instructions, intentProgram, actionPath) {
|
|
129
134
|
const result = [];
|
|
130
|
-
|
|
135
|
+
const violations = [];
|
|
136
|
+
for (let i = 0; i < instructions.length; i++) {
|
|
137
|
+
const ix = instructions[i];
|
|
131
138
|
if ((0, solana_instruction_1.isClassicApprove)(ix)) {
|
|
132
139
|
result.push((0, solana_instruction_1.decodeClassicApprove)(ix));
|
|
133
140
|
}
|
|
134
141
|
else if ((0, solana_instruction_1.isCustomApprove)(ix, intentProgram)) {
|
|
135
|
-
|
|
142
|
+
try {
|
|
143
|
+
result.push((0, solana_instruction_1.decodeCustomApprove)(ix));
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
violations.push({
|
|
147
|
+
code: types_1.ViolationCode.SolanaBudgetCustomApproveDecodeError,
|
|
148
|
+
message: "custom approve instruction could not be decoded",
|
|
149
|
+
path: `${actionPath}.data.data`,
|
|
150
|
+
actual: { instructionIndex: i, dataLength: ix.data.length },
|
|
151
|
+
details: error,
|
|
152
|
+
});
|
|
153
|
+
}
|
|
136
154
|
}
|
|
137
155
|
}
|
|
138
|
-
return result;
|
|
156
|
+
return { instructions: result, violations };
|
|
139
157
|
}
|
|
140
158
|
// =============================================
|
|
141
159
|
// Classic SPL Token Approve validation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana-op-budget.js","sourceRoot":"","sources":["../../../src/validations/solana-op-budget.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"solana-op-budget.js","sourceRoot":"","sources":["../../../src/validations/solana-op-budget.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,7 +63,9 @@ function validateSolanaWrapInstructions(action, resolvedInstructions, actionPath
|
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
// Compute expected wSOL ATA (only in execution mode)
|
|
66
|
-
const
|
|
66
|
+
const expectedWsolAtaResult = computeExpectedWsolAta(quoteMode, srcChainAuthorityAddress);
|
|
67
|
+
const expectedWsolAta = expectedWsolAtaResult.ata;
|
|
68
|
+
violations.push(...expectedWsolAtaResult.violations);
|
|
67
69
|
// Validate CreateAssociatedTokenAccountIdempotent (optional)
|
|
68
70
|
for (const ix of createAtaIxs) {
|
|
69
71
|
violations.push(...validateCreateAtaInstruction(ix, actionPath, realChainId, quoteMode, srcChainAuthorityAddress, expectedWsolAta));
|
|
@@ -203,10 +205,28 @@ function validateSyncNativeInstruction(ix, actionPath, expectedWsolAta, realChai
|
|
|
203
205
|
// Helpers
|
|
204
206
|
// =============================================
|
|
205
207
|
function computeExpectedWsolAta(quoteMode, srcChainAuthorityAddress) {
|
|
206
|
-
if (quoteMode || !srcChainAuthorityAddress)
|
|
207
|
-
return undefined;
|
|
208
|
+
if (quoteMode || !srcChainAuthorityAddress) {
|
|
209
|
+
return { ata: undefined, violations: [] };
|
|
210
|
+
}
|
|
208
211
|
// wSOL uses standard SPL Token program
|
|
209
|
-
|
|
212
|
+
try {
|
|
213
|
+
return {
|
|
214
|
+
ata: (0, solana_instruction_1.deriveAta)(srcChainAuthorityAddress, programs_1.SPL_NATIVE_MINT, programs_1.SPL_TOKEN_PROGRAM),
|
|
215
|
+
violations: [],
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
return {
|
|
220
|
+
ata: undefined,
|
|
221
|
+
violations: [{
|
|
222
|
+
code: types_1.ViolationCode.RequestTradeAddressInvalid,
|
|
223
|
+
message: "request.trades[].srcChainAuthorityAddress is not a valid Solana address",
|
|
224
|
+
path: "request.trades[].srcChainAuthorityAddress",
|
|
225
|
+
actual: srcChainAuthorityAddress,
|
|
226
|
+
details: error,
|
|
227
|
+
}],
|
|
228
|
+
};
|
|
229
|
+
}
|
|
210
230
|
}
|
|
211
231
|
// Sums `response.trades[i].srcChainTokenIn.amount` for all trades that use
|
|
212
232
|
// native SOL. This is the post-mutation amount used by the API to build
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana-op-wrap.js","sourceRoot":"","sources":["../../../src/validations/solana-op-wrap.ts"],"names":[],"mappings":";;AA6BA,
|
|
1
|
+
{"version":3,"file":"solana-op-wrap.js","sourceRoot":"","sources":["../../../src/validations/solana-op-wrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ const dln_metadata_1 = require("./dln-metadata");
|
|
|
12
12
|
const external_call_1 = require("./external-call");
|
|
13
13
|
const trade_matching_1 = require("./trade-matching");
|
|
14
14
|
const quote_mode_1 = require("../helpers/quote-mode");
|
|
15
|
+
const interactions_1 = require("../helpers/interactions");
|
|
15
16
|
// Groups request trades to match them later with response intents.
|
|
16
17
|
//
|
|
17
18
|
// Quote mode: groups by srcChainId only (addresses are placeholders).
|
|
@@ -113,7 +114,7 @@ function getGroupEntries(trades, responseTrades, quoteMode, consolidationMode, t
|
|
|
113
114
|
//
|
|
114
115
|
// Multiple intents may match the same group. An intent that matches no group
|
|
115
116
|
// produces a violation.
|
|
116
|
-
function matchIntentsToGroups(intents, groups, quoteMode) {
|
|
117
|
+
function matchIntentsToGroups(intents, groups, quoteMode, interactionAware) {
|
|
117
118
|
const contexts = [];
|
|
118
119
|
const violations = [];
|
|
119
120
|
for (let i = 0; i < intents.length; i++) {
|
|
@@ -128,7 +129,7 @@ function matchIntentsToGroups(intents, groups, quoteMode) {
|
|
|
128
129
|
return true;
|
|
129
130
|
});
|
|
130
131
|
if (matched) {
|
|
131
|
-
const subset = selectIntentTrades(matched, intent);
|
|
132
|
+
const subset = selectIntentTrades(matched, intent, interactionAware);
|
|
132
133
|
contexts.push({
|
|
133
134
|
intentIndex: i,
|
|
134
135
|
intentPayload,
|
|
@@ -150,7 +151,7 @@ function matchIntentsToGroups(intents, groups, quoteMode) {
|
|
|
150
151
|
}
|
|
151
152
|
}
|
|
152
153
|
violations.push(...validateGroupCoverage(groups, contexts));
|
|
153
|
-
violations.push(...validateIntentDifferentiation(contexts));
|
|
154
|
+
violations.push(...validateIntentDifferentiation(contexts, interactionAware));
|
|
154
155
|
return { contexts, violations };
|
|
155
156
|
}
|
|
156
157
|
// CRITICAL: every trade group must have at least one matching intent.
|
|
@@ -173,10 +174,10 @@ function validateGroupCoverage(groups, contexts) {
|
|
|
173
174
|
}
|
|
174
175
|
return violations;
|
|
175
176
|
}
|
|
176
|
-
// CRITICAL: intents matched to the same trade group must differ
|
|
177
|
-
//
|
|
178
|
-
//
|
|
179
|
-
function validateIntentDifferentiation(contexts) {
|
|
177
|
+
// CRITICAL: intents matched to the same trade group must differ in at least
|
|
178
|
+
// one signed-affecting split field. Duplicate intents within a group indicate
|
|
179
|
+
// an API bug or MITM attack.
|
|
180
|
+
function validateIntentDifferentiation(contexts, interactionAware) {
|
|
180
181
|
const byGroup = new Map();
|
|
181
182
|
for (const ctx of contexts) {
|
|
182
183
|
const list = byGroup.get(ctx.tradeGroup) ?? [];
|
|
@@ -194,15 +195,14 @@ function validateIntentDifferentiation(contexts) {
|
|
|
194
195
|
continue;
|
|
195
196
|
const seen = new Map();
|
|
196
197
|
for (const ctx of groupContexts) {
|
|
197
|
-
const key = intentDifferentiationKey(ctx.intentPayload.intent);
|
|
198
|
+
const key = intentDifferentiationKey(ctx.intentPayload.intent, ctx.tradeGroup.realChainId, interactionAware);
|
|
198
199
|
const firstIndex = seen.get(key);
|
|
199
200
|
if (firstIndex !== undefined) {
|
|
200
201
|
violations.push({
|
|
201
202
|
code: types_1.ViolationCode.DuplicateIntentsInTradeGroup,
|
|
202
203
|
message: `intents[${firstIndex}] and intents[${ctx.intentIndex}]`
|
|
203
204
|
+ ` are in the same trade group but do not differ`
|
|
204
|
-
+ ` in
|
|
205
|
-
+ ` executionMetadata`,
|
|
205
|
+
+ ` in signed-affecting split fields`,
|
|
206
206
|
path: `response.intents[${ctx.intentIndex}]`,
|
|
207
207
|
actual: ctx.intentPayload.intent,
|
|
208
208
|
});
|
|
@@ -214,22 +214,25 @@ function validateIntentDifferentiation(contexts) {
|
|
|
214
214
|
}
|
|
215
215
|
return violations;
|
|
216
216
|
}
|
|
217
|
-
function intentDifferentiationKey(intent) {
|
|
218
|
-
|
|
217
|
+
function intentDifferentiationKey(intent, realChainId, interactionAware) {
|
|
218
|
+
const parts = [
|
|
219
219
|
intent.externalCallHash ?? "",
|
|
220
220
|
(0, dln_metadata_1.normalizeDlnMetadataKey)(intent.dlnMetadata),
|
|
221
221
|
intent.executionMetadata ?? "",
|
|
222
|
-
]
|
|
222
|
+
];
|
|
223
|
+
if (interactionAware) {
|
|
224
|
+
parts.push((0, interactions_1.interactionsKey)(realChainId, intent.preInteractions));
|
|
225
|
+
parts.push((0, interactions_1.interactionsKey)(realChainId, intent.postInteractions));
|
|
226
|
+
}
|
|
227
|
+
return parts.join("|");
|
|
223
228
|
}
|
|
224
|
-
// Picks the trades
|
|
225
|
-
//
|
|
226
|
-
//
|
|
227
|
-
|
|
228
|
-
// share the same key (only one intent exists), the whole group belongs to it.
|
|
229
|
-
function selectIntentTrades(group, intent) {
|
|
229
|
+
// Picks the trades folded into a single intent. Trades inside one intent share
|
|
230
|
+
// signed-affecting split fields with that intent. When all trades in a group
|
|
231
|
+
// share the same key, the whole group belongs to the single intent.
|
|
232
|
+
function selectIntentTrades(group, intent, interactionAware) {
|
|
230
233
|
// Distinct keys for trades in the group; if every trade has the same key,
|
|
231
234
|
// they all belong to the single intent (no ambiguity).
|
|
232
|
-
const tradeKeys = group.trades.map((trade, i) => tradeDifferentiationKey(trade, group.responseTrades[i]));
|
|
235
|
+
const tradeKeys = group.trades.map((trade, i) => tradeDifferentiationKey(trade, group.responseTrades[i], group.realChainId, interactionAware));
|
|
233
236
|
const distinct = new Set(tradeKeys);
|
|
234
237
|
if (distinct.size <= 1) {
|
|
235
238
|
return {
|
|
@@ -243,7 +246,7 @@ function selectIntentTrades(group, intent) {
|
|
|
243
246
|
const responseTrades = [];
|
|
244
247
|
for (let i = 0; i < group.trades.length; i++) {
|
|
245
248
|
const trade = group.trades[i];
|
|
246
|
-
if (tradeMatchesIntent(trade, group.responseTrades[i], intent)) {
|
|
249
|
+
if (tradeMatchesIntent(trade, group.responseTrades[i], intent, group.realChainId, interactionAware)) {
|
|
247
250
|
indices.push(i);
|
|
248
251
|
trades.push(trade);
|
|
249
252
|
responseTrades.push(group.responseTrades[i]);
|
|
@@ -263,16 +266,27 @@ function selectIntentTrades(group, intent) {
|
|
|
263
266
|
}
|
|
264
267
|
return { indices, trades, responseTrades };
|
|
265
268
|
}
|
|
266
|
-
function tradeDifferentiationKey(trade, responseTrade) {
|
|
267
|
-
|
|
269
|
+
function tradeDifferentiationKey(trade, responseTrade, realChainId, interactionAware) {
|
|
270
|
+
const parts = [
|
|
268
271
|
computeTradeExternalCallHash(trade, responseTrade) ?? "",
|
|
269
272
|
(0, dln_metadata_1.normalizeDlnMetadataKey)(trade.dlnMetadata),
|
|
270
|
-
]
|
|
273
|
+
];
|
|
274
|
+
if (interactionAware) {
|
|
275
|
+
parts.push((0, interactions_1.interactionsKey)(realChainId, trade.preInteractions));
|
|
276
|
+
parts.push((0, interactions_1.interactionsKey)(realChainId, trade.postInteractions));
|
|
277
|
+
}
|
|
278
|
+
return parts.join("|");
|
|
271
279
|
}
|
|
272
|
-
function tradeMatchesIntent(trade, responseTrade, intent) {
|
|
273
|
-
|
|
280
|
+
function tradeMatchesIntent(trade, responseTrade, intent, realChainId, interactionAware) {
|
|
281
|
+
const baseMatches = (0, hex_1.hexEquals)(intent.externalCallHash, computeTradeExternalCallHash(trade, responseTrade))
|
|
274
282
|
&& (0, dln_metadata_1.dlnMetadataEquals)(intent.dlnMetadata, trade.dlnMetadata)
|
|
275
|
-
&& (0, hex_1.isEmptyHex)(intent.executionMetadata)
|
|
283
|
+
&& (0, hex_1.isEmptyHex)(intent.executionMetadata);
|
|
284
|
+
if (!baseMatches)
|
|
285
|
+
return false;
|
|
286
|
+
if (!interactionAware)
|
|
287
|
+
return true;
|
|
288
|
+
return (0, interactions_1.interactionsEqual)(realChainId, intent.preInteractions, trade.preInteractions)
|
|
289
|
+
&& (0, interactions_1.interactionsEqual)(realChainId, intent.postInteractions, trade.postInteractions);
|
|
276
290
|
}
|
|
277
291
|
// Returns the same hash the API stores in `intent.externalCallHash` for a
|
|
278
292
|
// 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":";;AA4DA,kCAyDC;AAiED,oDAkDC;AAxOD,+BAAiC;AACjC,oCAQkB;AAClB,qFAAwE;AACxE,gDAAqE;AACrE,oEAAgE;AAChE,wCAAuD;AACvD,iDAA4E;AAC5E,mDAA4F;AAC5F,qDAA0D;AAC1D,sDAA+D;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,SAAgB,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,IAAA,yCAAc,EAAC,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,qBAAa,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,IAAA,mCAAsB,EAAC,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,IAAA,0BAAgB,EAAC,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,IAAA,4BAAW,EAAC,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,SAAgB,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,IAAA,uBAAa,EAChB,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,qBAAa,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,qBAAa,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,qBAAa,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,IAAA,sCAAuB,EAAC,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,IAAA,sCAAuB,EAAC,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,IAAA,eAAS,EAAC,MAAM,CAAC,gBAAgB,EAAE,4BAA4B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;WACnF,IAAA,gCAAiB,EAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;WACxD,IAAA,gBAAU,EAAC,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,IAAA,2CAA2B,EAAC,aAAa,CAAC,CAAC;IAChE,IAAI,YAAY,CAAC,IAAI,KAAK,4CAA4B,CAAC,IAAI,EAAE,CAAC;QAC1D,OAAO,YAAY,CAAC,IAAiC,CAAC;IAC1D,CAAC;IAED,2EAA2E;IAC3E,8EAA8E;IAC9E,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,oCAAgB,EAAC,KAAK,CAAC,CAAC;QACvC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,gBAAS,EAAC,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":"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"}
|
package/dist/cjs/validator.js
CHANGED
|
@@ -17,9 +17,11 @@ const dln_metadata_1 = require("./validations/dln-metadata");
|
|
|
17
17
|
const external_call_1 = require("./validations/external-call");
|
|
18
18
|
const trade_matching_1 = require("./validations/trade-matching");
|
|
19
19
|
const refill_1 = require("./validations/refill");
|
|
20
|
+
const interactions_1 = require("./validations/interactions");
|
|
20
21
|
const environment_config_1 = require("./whitelists/environment-config");
|
|
21
22
|
const synthetic_native_wrap_1 = require("./helpers/synthetic-native-wrap");
|
|
22
23
|
const quote_mode_1 = require("./helpers/quote-mode");
|
|
24
|
+
const SUPPORTED_VALIDATION_VERSION = 2n;
|
|
23
25
|
function createValidator(config) {
|
|
24
26
|
const envConfig = (0, environment_config_1.buildEnvironmentConfig)(config.environment);
|
|
25
27
|
const options = {
|
|
@@ -39,6 +41,10 @@ function createValidator(config) {
|
|
|
39
41
|
}
|
|
40
42
|
function validateInternal(_url, // TODO: not validated now, enable in the future
|
|
41
43
|
request, response, envConfig, options) {
|
|
44
|
+
const higherVersionViolation = validateSupportedValidationVersion(response);
|
|
45
|
+
if (higherVersionViolation !== undefined) {
|
|
46
|
+
return { ok: false, violations: [higherVersionViolation] };
|
|
47
|
+
}
|
|
42
48
|
const violations = [];
|
|
43
49
|
// TODO: uncomment in the future to enable url validation
|
|
44
50
|
// violations.push(...validateUrl(url));
|
|
@@ -51,12 +57,38 @@ request, response, envConfig, options) {
|
|
|
51
57
|
// the structure issues.
|
|
52
58
|
return { ok: false, violations };
|
|
53
59
|
}
|
|
54
|
-
violations.push(...validateBundleCreation(reqResult.data, resResult.data, envConfig, options));
|
|
60
|
+
violations.push(...validateBundleCreation(reqResult.data, resResult.data, envConfig, options, BigInt(resResult.data.validationVersion)));
|
|
55
61
|
return {
|
|
56
62
|
ok: violations.length === 0,
|
|
57
63
|
violations,
|
|
58
64
|
};
|
|
59
65
|
}
|
|
66
|
+
function validateSupportedValidationVersion(response) {
|
|
67
|
+
const validationVersion = getRawValidationVersion(response);
|
|
68
|
+
const parsedValidationVersion = parseRawValidationVersion(validationVersion);
|
|
69
|
+
if (parsedValidationVersion !== undefined
|
|
70
|
+
&& parsedValidationVersion > SUPPORTED_VALIDATION_VERSION) {
|
|
71
|
+
return {
|
|
72
|
+
code: types_1.ViolationCode.HigherApiVersion,
|
|
73
|
+
message: "API validationVersion is higher than supported by this validator",
|
|
74
|
+
path: "response.validationVersion",
|
|
75
|
+
expected: Number(SUPPORTED_VALIDATION_VERSION),
|
|
76
|
+
actual: validationVersion,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
function parseRawValidationVersion(validationVersion) {
|
|
82
|
+
if (typeof validationVersion !== "string" || !/^-?\d+$/.test(validationVersion)) {
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
return BigInt(validationVersion);
|
|
86
|
+
}
|
|
87
|
+
function getRawValidationVersion(response) {
|
|
88
|
+
if (response === null || typeof response !== "object" || Array.isArray(response))
|
|
89
|
+
return undefined;
|
|
90
|
+
return response.validationVersion;
|
|
91
|
+
}
|
|
60
92
|
function buildStructureViolations(reqResult, resResult) {
|
|
61
93
|
const violations = [];
|
|
62
94
|
if (!reqResult.success) {
|
|
@@ -88,15 +120,16 @@ function createUnexpectedValidationError(error) {
|
|
|
88
120
|
}],
|
|
89
121
|
};
|
|
90
122
|
}
|
|
91
|
-
function validateBundleCreation(request, response, envConfig, options) {
|
|
92
|
-
const context = buildBundleValidationContext(request, response, envConfig, options);
|
|
123
|
+
function validateBundleCreation(request, response, envConfig, options, validationVersion) {
|
|
124
|
+
const context = buildBundleValidationContext(request, response, envConfig, options, validationVersion);
|
|
93
125
|
return runBundleValidations(context);
|
|
94
126
|
}
|
|
95
|
-
function buildBundleValidationContext(request, response, envConfig, options) {
|
|
127
|
+
function buildBundleValidationContext(request, response, envConfig, options, validationVersion) {
|
|
96
128
|
const modes = detectBundleModes(request, response);
|
|
129
|
+
const interactionAware = validationVersion >= 2n;
|
|
97
130
|
const tradeMatch = (0, trade_matching_1.matchTrades)(request.trades, response.trades, modes.quoteMode, modes.consolidationMode);
|
|
98
131
|
const groupResult = (0, trade_grouping_1.groupTrades)(request.trades, response.trades, modes.quoteMode, modes.consolidationMode, tradeMatch.pairs);
|
|
99
|
-
const intentMatch = (0, trade_grouping_1.matchIntentsToGroups)(response.intents, groupResult.groups, modes.quoteMode);
|
|
132
|
+
const intentMatch = (0, trade_grouping_1.matchIntentsToGroups)(response.intents, groupResult.groups, modes.quoteMode, interactionAware);
|
|
100
133
|
return {
|
|
101
134
|
request,
|
|
102
135
|
response,
|
|
@@ -108,6 +141,7 @@ function buildBundleValidationContext(request, response, envConfig, options) {
|
|
|
108
141
|
groupViolations: groupResult.violations,
|
|
109
142
|
intentContexts: intentMatch.contexts,
|
|
110
143
|
intentMatchViolations: intentMatch.violations,
|
|
144
|
+
interactionAware,
|
|
111
145
|
};
|
|
112
146
|
}
|
|
113
147
|
function detectBundleModes(request, response) {
|
|
@@ -130,11 +164,13 @@ function runBundleValidations(context) {
|
|
|
130
164
|
...(0, ptp_1.validatePtp)(request, response),
|
|
131
165
|
...(0, dln_metadata_1.validateRequestDlnMetadataFormat)(request.trades),
|
|
132
166
|
...(0, external_call_1.validateExternalCalls)(modes.quoteMode, context.tradeMatch.pairs),
|
|
167
|
+
...(0, interactions_1.validateRequestInteractions)(request.trades, context.interactionAware),
|
|
133
168
|
...(0, refill_1.validateRefill)(request, response, context.intentContexts, modes.quoteMode),
|
|
134
169
|
...context.groupViolations,
|
|
135
170
|
...context.intentMatchViolations,
|
|
136
|
-
...(0,
|
|
137
|
-
...(0,
|
|
171
|
+
...(0, interactions_1.validateIntentInteractions)(context.intentContexts, context.interactionAware),
|
|
172
|
+
...(0, intent_1.validateIntents)(context.intentContexts, modes.quoteMode, envConfig, modes.syntheticNativeWrapMode, options.validateSolverExecutorAddress, context.interactionAware),
|
|
173
|
+
...(0, required_actions_1.validateRequiredActions)(request, response, context.intentContexts, modes.quoteMode, envConfig, modes.syntheticNativeWrapMode, context.interactionAware),
|
|
138
174
|
...(0, hooks_common_1.validateHooks)(request, response, modes.quoteMode, envConfig, options),
|
|
139
175
|
];
|
|
140
176
|
}
|