@debridge-finance/borderless-validation-sdk 0.0.9 → 0.0.11
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 +20 -7
- package/dist/cjs/graylists/evm/token-permit-metadata.js +39 -6
- package/dist/cjs/graylists/evm/token-permit-metadata.js.map +1 -1
- package/dist/cjs/helpers/address.js +6 -0
- package/dist/cjs/helpers/address.js.map +1 -1
- package/dist/cjs/helpers/evm-intent-id.js +18 -14
- package/dist/cjs/helpers/evm-intent-id.js.map +1 -1
- package/dist/cjs/helpers/evm-trade-amounts.js +2 -1
- package/dist/cjs/helpers/evm-trade-amounts.js.map +1 -1
- package/dist/cjs/helpers/quote-mode.js +23 -0
- package/dist/cjs/helpers/quote-mode.js.map +1 -0
- package/dist/cjs/helpers/synthetic-native-wrap.js +13 -13
- package/dist/cjs/helpers/synthetic-native-wrap.js.map +1 -1
- package/dist/cjs/helpers/zod.js +55 -0
- package/dist/cjs/helpers/zod.js.map +1 -1
- package/dist/cjs/types/request.js +69 -54
- package/dist/cjs/types/request.js.map +1 -1
- package/dist/cjs/types/response.js +67 -66
- package/dist/cjs/types/response.js.map +1 -1
- package/dist/cjs/types/validation.js +5 -5
- package/dist/cjs/types/validation.js.map +1 -1
- package/dist/cjs/validations/accumulative-token.js +7 -1
- package/dist/cjs/validations/accumulative-token.js.map +1 -1
- package/dist/cjs/validations/cost-token.js +14 -4
- package/dist/cjs/validations/cost-token.js.map +1 -1
- package/dist/cjs/validations/echo-fields.js +8 -0
- package/dist/cjs/validations/echo-fields.js.map +1 -1
- package/dist/cjs/validations/evm-caveats.js +4 -3
- package/dist/cjs/validations/evm-caveats.js.map +1 -1
- package/dist/cjs/validations/evm-op-budget.js +14 -7
- package/dist/cjs/validations/evm-op-budget.js.map +1 -1
- package/dist/cjs/validations/evm-op-hook.js +19 -1
- package/dist/cjs/validations/evm-op-hook.js.map +1 -1
- package/dist/cjs/validations/evm-op-wrap.js +10 -4
- package/dist/cjs/validations/evm-op-wrap.js.map +1 -1
- package/dist/cjs/validations/evm-permit.js +4 -3
- package/dist/cjs/validations/evm-permit.js.map +1 -1
- package/dist/cjs/validations/evm-required-actions.js +3 -3
- package/dist/cjs/validations/evm-required-actions.js.map +1 -1
- package/dist/cjs/validations/evm-sign712-metamask.js +4 -3
- package/dist/cjs/validations/evm-sign712-metamask.js.map +1 -1
- package/dist/cjs/validations/evm-sign712.js +2 -2
- package/dist/cjs/validations/evm-sign712.js.map +1 -1
- package/dist/cjs/validations/evm-sign7702.js +2 -1
- package/dist/cjs/validations/evm-sign7702.js.map +1 -1
- package/dist/cjs/validations/external-call.js +15 -23
- package/dist/cjs/validations/external-call.js.map +1 -1
- package/dist/cjs/validations/hooks-common.js +82 -44
- package/dist/cjs/validations/hooks-common.js.map +1 -1
- package/dist/cjs/validations/intent-destinations.js +42 -16
- package/dist/cjs/validations/intent-destinations.js.map +1 -1
- package/dist/cjs/validations/intent-tokens.js +37 -25
- package/dist/cjs/validations/intent-tokens.js.map +1 -1
- package/dist/cjs/validations/intent.js +24 -10
- package/dist/cjs/validations/intent.js.map +1 -1
- package/dist/cjs/validations/required-actions.js +2 -2
- package/dist/cjs/validations/required-actions.js.map +1 -1
- package/dist/cjs/validations/solana-hook.js +35 -14
- package/dist/cjs/validations/solana-hook.js.map +1 -1
- package/dist/cjs/validations/solana-op-budget.js +28 -12
- package/dist/cjs/validations/solana-op-budget.js.map +1 -1
- package/dist/cjs/validations/solana-op-wrap.js +10 -5
- package/dist/cjs/validations/solana-op-wrap.js.map +1 -1
- package/dist/cjs/validations/solana-required-actions.js +3 -3
- package/dist/cjs/validations/solana-required-actions.js.map +1 -1
- package/dist/cjs/validations/solana-transaction.js +81 -45
- package/dist/cjs/validations/solana-transaction.js.map +1 -1
- package/dist/cjs/validations/trade-grouping.js +20 -3
- package/dist/cjs/validations/trade-grouping.js.map +1 -1
- package/dist/cjs/validations/trades.js +75 -109
- package/dist/cjs/validations/trades.js.map +1 -1
- package/dist/cjs/validator.js +98 -52
- package/dist/cjs/validator.js.map +1 -1
- package/dist/cjs/whitelists/environment-config.js +89 -56
- package/dist/cjs/whitelists/environment-config.js.map +1 -1
- package/dist/cjs/whitelists/evm/index.js +3 -1
- package/dist/cjs/whitelists/evm/index.js.map +1 -1
- package/dist/cjs/whitelists/solana/intent-signature.js +6 -10
- package/dist/cjs/whitelists/solana/intent-signature.js.map +1 -1
- package/dist/esm/graylists/evm/token-permit-metadata.js +39 -6
- package/dist/esm/graylists/evm/token-permit-metadata.js.map +1 -1
- package/dist/esm/helpers/address.js +6 -0
- package/dist/esm/helpers/address.js.map +1 -1
- package/dist/esm/helpers/evm-intent-id.js +18 -14
- package/dist/esm/helpers/evm-intent-id.js.map +1 -1
- package/dist/esm/helpers/evm-trade-amounts.js +2 -1
- package/dist/esm/helpers/evm-trade-amounts.js.map +1 -1
- package/dist/esm/helpers/quote-mode.js +17 -0
- package/dist/esm/helpers/quote-mode.js.map +1 -0
- package/dist/esm/helpers/synthetic-native-wrap.js +13 -13
- package/dist/esm/helpers/synthetic-native-wrap.js.map +1 -1
- package/dist/esm/helpers/zod.js +47 -0
- package/dist/esm/helpers/zod.js.map +1 -1
- package/dist/esm/types/request.js +69 -54
- package/dist/esm/types/request.js.map +1 -1
- package/dist/esm/types/response.js +67 -66
- package/dist/esm/types/response.js.map +1 -1
- package/dist/esm/types/validation.js +5 -5
- package/dist/esm/types/validation.js.map +1 -1
- package/dist/esm/validations/accumulative-token.js +7 -1
- package/dist/esm/validations/accumulative-token.js.map +1 -1
- package/dist/esm/validations/cost-token.js +14 -4
- package/dist/esm/validations/cost-token.js.map +1 -1
- package/dist/esm/validations/echo-fields.js +8 -0
- package/dist/esm/validations/echo-fields.js.map +1 -1
- package/dist/esm/validations/evm-caveats.js +4 -3
- package/dist/esm/validations/evm-caveats.js.map +1 -1
- package/dist/esm/validations/evm-op-budget.js +14 -7
- package/dist/esm/validations/evm-op-budget.js.map +1 -1
- package/dist/esm/validations/evm-op-hook.js +19 -1
- package/dist/esm/validations/evm-op-hook.js.map +1 -1
- package/dist/esm/validations/evm-op-wrap.js +10 -4
- package/dist/esm/validations/evm-op-wrap.js.map +1 -1
- package/dist/esm/validations/evm-permit.js +4 -3
- package/dist/esm/validations/evm-permit.js.map +1 -1
- package/dist/esm/validations/evm-required-actions.js +3 -3
- package/dist/esm/validations/evm-required-actions.js.map +1 -1
- package/dist/esm/validations/evm-sign712-metamask.js +1 -1
- package/dist/esm/validations/evm-sign712-metamask.js.map +1 -1
- package/dist/esm/validations/evm-sign712.js +2 -2
- package/dist/esm/validations/evm-sign712.js.map +1 -1
- package/dist/esm/validations/evm-sign7702.js +2 -1
- package/dist/esm/validations/evm-sign7702.js.map +1 -1
- package/dist/esm/validations/external-call.js +15 -23
- package/dist/esm/validations/external-call.js.map +1 -1
- package/dist/esm/validations/hooks-common.js +83 -45
- package/dist/esm/validations/hooks-common.js.map +1 -1
- package/dist/esm/validations/intent-destinations.js +43 -17
- package/dist/esm/validations/intent-destinations.js.map +1 -1
- package/dist/esm/validations/intent-tokens.js +37 -25
- package/dist/esm/validations/intent-tokens.js.map +1 -1
- package/dist/esm/validations/intent.js +24 -10
- package/dist/esm/validations/intent.js.map +1 -1
- package/dist/esm/validations/required-actions.js +2 -2
- package/dist/esm/validations/required-actions.js.map +1 -1
- package/dist/esm/validations/solana-hook.js +35 -14
- package/dist/esm/validations/solana-hook.js.map +1 -1
- package/dist/esm/validations/solana-op-budget.js +28 -12
- package/dist/esm/validations/solana-op-budget.js.map +1 -1
- package/dist/esm/validations/solana-op-wrap.js +10 -5
- package/dist/esm/validations/solana-op-wrap.js.map +1 -1
- package/dist/esm/validations/solana-required-actions.js +3 -3
- package/dist/esm/validations/solana-required-actions.js.map +1 -1
- package/dist/esm/validations/solana-transaction.js +81 -45
- package/dist/esm/validations/solana-transaction.js.map +1 -1
- package/dist/esm/validations/trade-grouping.js +21 -4
- package/dist/esm/validations/trade-grouping.js.map +1 -1
- package/dist/esm/validations/trades.js +75 -109
- package/dist/esm/validations/trades.js.map +1 -1
- package/dist/esm/validator.js +99 -53
- package/dist/esm/validator.js.map +1 -1
- package/dist/esm/whitelists/environment-config.js +84 -52
- package/dist/esm/whitelists/environment-config.js.map +1 -1
- package/dist/esm/whitelists/evm/index.js +1 -0
- package/dist/esm/whitelists/evm/index.js.map +1 -1
- package/dist/esm/whitelists/solana/intent-signature.js +4 -9
- package/dist/esm/whitelists/solana/intent-signature.js.map +1 -1
- package/dist/types/graylists/evm/token-permit-metadata.d.ts +2 -2
- package/dist/types/graylists/evm/token-permit-metadata.d.ts.map +1 -1
- package/dist/types/helpers/address.d.ts.map +1 -1
- package/dist/types/helpers/evm-trade-amounts.d.ts.map +1 -1
- package/dist/types/helpers/quote-mode.d.ts +6 -0
- package/dist/types/helpers/quote-mode.d.ts.map +1 -0
- package/dist/types/helpers/synthetic-native-wrap.d.ts.map +1 -1
- package/dist/types/helpers/zod.d.ts +9 -0
- package/dist/types/helpers/zod.d.ts.map +1 -1
- package/dist/types/types/request.d.ts +159 -159
- package/dist/types/types/request.d.ts.map +1 -1
- package/dist/types/types/response.d.ts +456 -456
- package/dist/types/types/response.d.ts.map +1 -1
- package/dist/types/types/validation.d.ts +5 -4
- package/dist/types/types/validation.d.ts.map +1 -1
- package/dist/types/validations/accumulative-token.d.ts +1 -1
- package/dist/types/validations/accumulative-token.d.ts.map +1 -1
- package/dist/types/validations/cost-token.d.ts.map +1 -1
- package/dist/types/validations/echo-fields.d.ts.map +1 -1
- package/dist/types/validations/evm-caveats.d.ts.map +1 -1
- package/dist/types/validations/evm-op-budget.d.ts +1 -1
- package/dist/types/validations/evm-op-budget.d.ts.map +1 -1
- package/dist/types/validations/evm-op-wrap.d.ts +1 -1
- package/dist/types/validations/evm-op-wrap.d.ts.map +1 -1
- package/dist/types/validations/evm-required-actions.d.ts +1 -1
- package/dist/types/validations/evm-required-actions.d.ts.map +1 -1
- package/dist/types/validations/evm-sign712-metamask.d.ts +1 -0
- package/dist/types/validations/evm-sign712-metamask.d.ts.map +1 -1
- package/dist/types/validations/evm-sign7702.d.ts.map +1 -1
- package/dist/types/validations/external-call.d.ts +2 -2
- package/dist/types/validations/external-call.d.ts.map +1 -1
- package/dist/types/validations/hooks-common.d.ts.map +1 -1
- package/dist/types/validations/intent-destinations.d.ts +3 -3
- package/dist/types/validations/intent-destinations.d.ts.map +1 -1
- package/dist/types/validations/intent-tokens.d.ts.map +1 -1
- package/dist/types/validations/intent.d.ts +1 -1
- package/dist/types/validations/intent.d.ts.map +1 -1
- package/dist/types/validations/required-actions.d.ts.map +1 -1
- package/dist/types/validations/solana-op-budget.d.ts +1 -1
- package/dist/types/validations/solana-op-budget.d.ts.map +1 -1
- package/dist/types/validations/solana-op-wrap.d.ts +1 -1
- package/dist/types/validations/solana-op-wrap.d.ts.map +1 -1
- package/dist/types/validations/solana-required-actions.d.ts +1 -1
- package/dist/types/validations/solana-required-actions.d.ts.map +1 -1
- package/dist/types/validations/solana-transaction.d.ts +2 -2
- package/dist/types/validations/solana-transaction.d.ts.map +1 -1
- package/dist/types/validations/trade-grouping.d.ts +2 -0
- package/dist/types/validations/trade-grouping.d.ts.map +1 -1
- package/dist/types/validator.d.ts.map +1 -1
- package/dist/types/whitelists/environment-config.d.ts +17 -0
- package/dist/types/whitelists/environment-config.d.ts.map +1 -1
- package/dist/types/whitelists/evm/index.d.ts +1 -0
- package/dist/types/whitelists/evm/index.d.ts.map +1 -1
- package/dist/types/whitelists/solana/intent-signature.d.ts +1 -0
- package/dist/types/whitelists/solana/intent-signature.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/esm/validator.js
CHANGED
|
@@ -5,7 +5,7 @@ import { validateRequiredActions } from "./validations/required-actions.js";
|
|
|
5
5
|
import { validateHooks } from "./validations/hooks-common.js";
|
|
6
6
|
import { validateTrades } from "./validations/trades.js";
|
|
7
7
|
import { validateIntents } from "./validations/intent.js";
|
|
8
|
-
import { groupTrades, matchIntentsToGroups } from "./validations/trade-grouping.js";
|
|
8
|
+
import { groupTrades, matchIntentsToGroups, } from "./validations/trade-grouping.js";
|
|
9
9
|
import { validateAccumulativeTokens } from "./validations/accumulative-token.js";
|
|
10
10
|
import { validateCostToken } from "./validations/cost-token.js";
|
|
11
11
|
import { validatePtp } from "./validations/ptp.js";
|
|
@@ -15,78 +15,124 @@ import { validateExternalCalls } from "./validations/external-call.js";
|
|
|
15
15
|
import { matchTrades } from "./validations/trade-matching.js";
|
|
16
16
|
import { buildEnvironmentConfig } from "./whitelists/environment-config.js";
|
|
17
17
|
import { isSyntheticNativeWrapBundle } from "./helpers/synthetic-native-wrap.js";
|
|
18
|
+
import { hasUnverifiableQuoteGrouping, isQuoteModeRequest } from "./helpers/quote-mode.js";
|
|
18
19
|
export function createValidator(config) {
|
|
19
20
|
const envConfig = buildEnvironmentConfig(config.environment);
|
|
20
21
|
const options = {
|
|
21
22
|
allowLegacyHookV1: config.allowLegacyHookV1 ?? true,
|
|
23
|
+
validateSolverExecutorAddress: config.validateSolverExecutorAddress ?? false,
|
|
22
24
|
};
|
|
23
25
|
return {
|
|
24
|
-
validate(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
// TODO: uncomment in the future to enable url validation
|
|
28
|
-
// violations.push(...validateUrl(url));
|
|
29
|
-
const reqResult = BundleCreationRequestSchema.safeParse(request);
|
|
30
|
-
const resResult = BundleCreationResponseSchema.safeParse(response);
|
|
31
|
-
if (!reqResult.success) {
|
|
32
|
-
violations.push(...reqResult.error.issues.map((issue) => ({
|
|
33
|
-
code: ViolationCode.InvalidRequestStructure,
|
|
34
|
-
message: issue.message,
|
|
35
|
-
path: formatPath(["request", ...issue.path]),
|
|
36
|
-
details: issue
|
|
37
|
-
})));
|
|
26
|
+
validate(url, request, response) {
|
|
27
|
+
try {
|
|
28
|
+
return validateInternal(url, request, response, envConfig, options);
|
|
38
29
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
code: ViolationCode.InvalidResponseStructure,
|
|
42
|
-
message: issue.message,
|
|
43
|
-
path: formatPath(["response", ...issue.path]),
|
|
44
|
-
details: issue
|
|
45
|
-
})));
|
|
30
|
+
catch (error) {
|
|
31
|
+
return createUnexpectedValidationError(error);
|
|
46
32
|
}
|
|
47
|
-
if (!reqResult.success || !resResult.success) {
|
|
48
|
-
// If the structure is invalid, we can't do any meaningful validation,
|
|
49
|
-
// so we do not continue with field validations and just report
|
|
50
|
-
// the structure issues.
|
|
51
|
-
return { ok: false, violations };
|
|
52
|
-
}
|
|
53
|
-
violations.push(...validateBundleCreation(reqResult.data, resResult.data, envConfig, options));
|
|
54
|
-
return {
|
|
55
|
-
ok: violations.length === 0,
|
|
56
|
-
violations,
|
|
57
|
-
};
|
|
58
33
|
},
|
|
59
34
|
};
|
|
60
35
|
}
|
|
36
|
+
function validateInternal(_url, // TODO: not validated now, enable in the future
|
|
37
|
+
request, response, envConfig, options) {
|
|
38
|
+
const violations = [];
|
|
39
|
+
// TODO: uncomment in the future to enable url validation
|
|
40
|
+
// violations.push(...validateUrl(url));
|
|
41
|
+
const reqResult = BundleCreationRequestSchema.safeParse(request);
|
|
42
|
+
const resResult = BundleCreationResponseSchema.safeParse(response);
|
|
43
|
+
violations.push(...buildStructureViolations(reqResult, resResult));
|
|
44
|
+
if (!reqResult.success || !resResult.success) {
|
|
45
|
+
// If the structure is invalid, we can't do any meaningful validation,
|
|
46
|
+
// so we do not continue with field validations and just report
|
|
47
|
+
// the structure issues.
|
|
48
|
+
return { ok: false, violations };
|
|
49
|
+
}
|
|
50
|
+
violations.push(...validateBundleCreation(reqResult.data, resResult.data, envConfig, options));
|
|
51
|
+
return {
|
|
52
|
+
ok: violations.length === 0,
|
|
53
|
+
violations,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function buildStructureViolations(reqResult, resResult) {
|
|
57
|
+
const violations = [];
|
|
58
|
+
if (!reqResult.success) {
|
|
59
|
+
violations.push(...reqResult.error.issues.map((issue) => ({
|
|
60
|
+
code: ViolationCode.InvalidRequestStructure,
|
|
61
|
+
message: issue.message,
|
|
62
|
+
path: formatPath(["request", ...issue.path]),
|
|
63
|
+
details: issue,
|
|
64
|
+
})));
|
|
65
|
+
}
|
|
66
|
+
if (!resResult.success) {
|
|
67
|
+
violations.push(...resResult.error.issues.map((issue) => ({
|
|
68
|
+
code: ViolationCode.InvalidResponseStructure,
|
|
69
|
+
message: issue.message,
|
|
70
|
+
path: formatPath(["response", ...issue.path]),
|
|
71
|
+
details: issue,
|
|
72
|
+
})));
|
|
73
|
+
}
|
|
74
|
+
return violations;
|
|
75
|
+
}
|
|
76
|
+
function createUnexpectedValidationError(error) {
|
|
77
|
+
return {
|
|
78
|
+
ok: false,
|
|
79
|
+
violations: [{
|
|
80
|
+
code: ViolationCode.UnexpectedValidationError,
|
|
81
|
+
message: "validator failed with an unexpected internal error",
|
|
82
|
+
path: "",
|
|
83
|
+
details: error,
|
|
84
|
+
}],
|
|
85
|
+
};
|
|
86
|
+
}
|
|
61
87
|
function validateBundleCreation(request, response, envConfig, options) {
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const
|
|
67
|
-
const
|
|
88
|
+
const context = buildBundleValidationContext(request, response, envConfig, options);
|
|
89
|
+
return runBundleValidations(context);
|
|
90
|
+
}
|
|
91
|
+
function buildBundleValidationContext(request, response, envConfig, options) {
|
|
92
|
+
const modes = detectBundleModes(request, response);
|
|
93
|
+
const tradeMatch = matchTrades(request.trades, response.trades, modes.quoteMode, modes.consolidationMode);
|
|
94
|
+
const groupResult = groupTrades(request.trades, response.trades, modes.quoteMode, modes.consolidationMode, tradeMatch.pairs);
|
|
95
|
+
const intentMatch = matchIntentsToGroups(response.intents, groupResult.groups, modes.quoteMode);
|
|
96
|
+
return {
|
|
97
|
+
request,
|
|
98
|
+
response,
|
|
99
|
+
envConfig,
|
|
100
|
+
options,
|
|
101
|
+
modes,
|
|
102
|
+
tradeMatch,
|
|
103
|
+
groups: groupResult.groups,
|
|
104
|
+
groupViolations: groupResult.violations,
|
|
105
|
+
intentContexts: intentMatch.contexts,
|
|
106
|
+
intentMatchViolations: intentMatch.violations,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function detectBundleModes(request, response) {
|
|
110
|
+
return {
|
|
111
|
+
quoteMode: isQuoteModeRequest(request.trades),
|
|
112
|
+
consolidationMode: request.totalDstAmount !== undefined,
|
|
113
|
+
quoteGroupingUnverifiable: hasUnverifiableQuoteGrouping(request.trades),
|
|
114
|
+
syntheticNativeWrapMode: isSyntheticNativeWrapBundle(request, response),
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
function runBundleValidations(context) {
|
|
118
|
+
const { request, response, envConfig, options, modes } = context;
|
|
68
119
|
return [
|
|
69
120
|
...validateEchoFields(request, response),
|
|
70
|
-
...tradeMatch.violations,
|
|
71
|
-
...validateTrades(request, response, quoteMode, tradeMatch.pairs),
|
|
72
|
-
...validateAccumulativeTokens(response, quoteMode),
|
|
121
|
+
...context.tradeMatch.violations,
|
|
122
|
+
...validateTrades(request, response, modes.quoteMode, context.tradeMatch.pairs),
|
|
123
|
+
...validateAccumulativeTokens(response, modes.quoteMode, modes.quoteGroupingUnverifiable),
|
|
73
124
|
...validateTotalDstAmount(request, response),
|
|
74
125
|
...validateCostToken(request, response),
|
|
75
126
|
...validatePtp(request, response),
|
|
76
127
|
...validateRequestDlnMetadataFormat(request.trades),
|
|
77
|
-
...validateExternalCalls(
|
|
78
|
-
...groupViolations,
|
|
79
|
-
...
|
|
80
|
-
...validateIntents(
|
|
81
|
-
...validateRequiredActions(request, response,
|
|
82
|
-
...validateHooks(request, response, quoteMode, envConfig, options),
|
|
128
|
+
...validateExternalCalls(modes.quoteMode, context.tradeMatch.pairs),
|
|
129
|
+
...context.groupViolations,
|
|
130
|
+
...context.intentMatchViolations,
|
|
131
|
+
...validateIntents(context.intentContexts, modes.quoteMode, envConfig, modes.syntheticNativeWrapMode, options.validateSolverExecutorAddress),
|
|
132
|
+
...validateRequiredActions(request, response, context.intentContexts, modes.quoteMode, envConfig, modes.syntheticNativeWrapMode),
|
|
133
|
+
...validateHooks(request, response, modes.quoteMode, envConfig, options),
|
|
83
134
|
];
|
|
84
135
|
}
|
|
85
|
-
function isQuoteMode(request) {
|
|
86
|
-
return !request.trades.every(t => t.srcChainAuthorityAddress !== undefined &&
|
|
87
|
-
t.dstChainTokenOutRecipient !== undefined &&
|
|
88
|
-
t.dstChainAuthorityAddress !== undefined);
|
|
89
|
-
}
|
|
90
136
|
// TODO: enable in the future
|
|
91
137
|
// // CRITICAL: url must point to the allowed bundle endpoint.
|
|
92
138
|
// // We compare path only (host is not validated). Trailing slashes are tolerated;
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,11 +10,8 @@ import { COMPUTE_BUDGET_PROGRAM, MEMO_PROGRAM, SPL_TOKEN_PROGRAM, SPL_TOKEN_2022
|
|
|
10
10
|
// =============================================
|
|
11
11
|
const PROD_DEFAULT_EVM_ALLOWANCE_HOLDER = "0xddddddddd4B6472c5002F95610b194D1161223d0";
|
|
12
12
|
const PROD_TRON_ALLOWANCE_HOLDER = "0x873a84BfBd83f9986cb07927ac3E587979D57775";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
// Chains may have other gasless config, but without intentEnvironment the API
|
|
16
|
-
// should not emit gasless intent actions for them.
|
|
17
|
-
const PROD_EVM_CHAINS_ENABLED_FOR_GASLESS_INTENTS = [
|
|
13
|
+
// Dev mirrors the main development environment.
|
|
14
|
+
export const DEV_EVM_CHAINS_ENABLED_FOR_GASLESS_INTENTS = [
|
|
18
15
|
ChainId.Ethereum,
|
|
19
16
|
ChainId.Optimism,
|
|
20
17
|
ChainId.BNB,
|
|
@@ -30,56 +27,93 @@ const PROD_EVM_CHAINS_ENABLED_FOR_GASLESS_INTENTS = [
|
|
|
30
27
|
ChainId.Avalanche,
|
|
31
28
|
ChainId.Linea,
|
|
32
29
|
];
|
|
33
|
-
|
|
34
|
-
const DUBAI_EVM_CHAINS = [
|
|
30
|
+
export const PROD_EVM_CHAINS_ENABLED_FOR_INTENTS = [
|
|
35
31
|
ChainId.Ethereum,
|
|
36
32
|
ChainId.Optimism,
|
|
37
33
|
ChainId.BNB,
|
|
38
34
|
ChainId.Polygon,
|
|
35
|
+
ChainId.Monad,
|
|
36
|
+
ChainId.Flow,
|
|
37
|
+
ChainId.HyperEVM,
|
|
38
|
+
ChainId.Sei,
|
|
39
|
+
ChainId.Story,
|
|
40
|
+
ChainId.Mantle,
|
|
41
|
+
ChainId.MegaETH,
|
|
42
|
+
ChainId.Cronos,
|
|
39
43
|
ChainId.Avalanche,
|
|
40
44
|
ChainId.Base,
|
|
41
45
|
ChainId.Arbitrum,
|
|
46
|
+
ChainId.Linea,
|
|
42
47
|
];
|
|
48
|
+
export const GASLESS_EVM_CHAINS_ENABLED_FOR_INTENTS = [
|
|
49
|
+
ChainId.Ethereum,
|
|
50
|
+
ChainId.Optimism,
|
|
51
|
+
ChainId.BNB,
|
|
52
|
+
ChainId.Polygon,
|
|
53
|
+
ChainId.Monad,
|
|
54
|
+
ChainId.Flow,
|
|
55
|
+
ChainId.HyperEVM,
|
|
56
|
+
ChainId.Sei,
|
|
57
|
+
ChainId.Story,
|
|
58
|
+
ChainId.Mantle,
|
|
59
|
+
ChainId.Avalanche,
|
|
60
|
+
ChainId.Base,
|
|
61
|
+
ChainId.Arbitrum,
|
|
62
|
+
ChainId.Linea,
|
|
63
|
+
];
|
|
64
|
+
export const DEV_EVM_CHAINS_WITH_ALLOWANCE_HOLDER = [
|
|
65
|
+
...DEV_EVM_CHAINS_ENABLED_FOR_GASLESS_INTENTS,
|
|
66
|
+
ChainId.Tron,
|
|
67
|
+
];
|
|
68
|
+
export const PROD_EVM_CHAINS_WITH_ALLOWANCE_HOLDER = PROD_EVM_CHAINS_ENABLED_FOR_INTENTS;
|
|
69
|
+
export const GASLESS_EVM_CHAINS_WITH_ALLOWANCE_HOLDER = GASLESS_EVM_CHAINS_ENABLED_FOR_INTENTS;
|
|
43
70
|
const ALLOWANCE_HOLDER_BY_ENVIRONMENT = {
|
|
44
|
-
[Environment.
|
|
45
|
-
...buildSameAddressMap(
|
|
71
|
+
[Environment.Dev]: {
|
|
72
|
+
...buildSameAddressMap(DEV_EVM_CHAINS_ENABLED_FOR_GASLESS_INTENTS, PROD_DEFAULT_EVM_ALLOWANCE_HOLDER),
|
|
46
73
|
[ChainId.Tron]: [PROD_TRON_ALLOWANCE_HOLDER],
|
|
47
74
|
},
|
|
48
|
-
[Environment.
|
|
49
|
-
[Environment.
|
|
50
|
-
[ChainId.Polygon]: ["0x1Baa3D24E5e5eBaF876CA1BC86be1636E3EA7F51"],
|
|
51
|
-
[ChainId.BNB]: ["0x6e8D9768B3D5e70881F00411e6DFa72c3D59Ea1a"],
|
|
52
|
-
},
|
|
75
|
+
[Environment.Prod]: buildSameAddressMap(PROD_EVM_CHAINS_ENABLED_FOR_INTENTS, PROD_DEFAULT_EVM_ALLOWANCE_HOLDER),
|
|
76
|
+
[Environment.Gasless]: buildSameAddressMap(GASLESS_EVM_CHAINS_ENABLED_FOR_INTENTS, PROD_DEFAULT_EVM_ALLOWANCE_HOLDER),
|
|
53
77
|
};
|
|
54
78
|
// =============================================
|
|
55
79
|
// EVM: Solver Executor
|
|
56
80
|
// =============================================
|
|
57
|
-
// Address
|
|
58
|
-
//
|
|
81
|
+
// Address expected as `intent.srcAllowedSender` on chains where the environment
|
|
82
|
+
// has a solver executor configured — independent of any request input.
|
|
59
83
|
const SHARED_EVM_SOLVER_EXECUTOR = "0xb7B10db9c7B978c48340994CB48829C4b3617B2F";
|
|
60
|
-
const
|
|
84
|
+
export const DEV_EVM_CHAINS_WITH_SOLVER_EXECUTOR = [
|
|
85
|
+
ChainId.Ethereum,
|
|
86
|
+
ChainId.Optimism,
|
|
87
|
+
ChainId.BNB,
|
|
88
|
+
ChainId.Base,
|
|
89
|
+
ChainId.Arbitrum,
|
|
90
|
+
ChainId.Avalanche,
|
|
91
|
+
];
|
|
92
|
+
export const GASLESS_EVM_CHAINS_WITH_SOLVER_EXECUTOR = [
|
|
61
93
|
ChainId.Ethereum,
|
|
62
94
|
ChainId.Optimism,
|
|
63
95
|
ChainId.BNB,
|
|
96
|
+
ChainId.Polygon,
|
|
64
97
|
ChainId.Base,
|
|
65
98
|
ChainId.Arbitrum,
|
|
66
99
|
ChainId.Avalanche,
|
|
67
100
|
];
|
|
68
101
|
const EVM_SOLVER_EXECUTOR_BY_ENVIRONMENT = {
|
|
69
|
-
[Environment.
|
|
70
|
-
[Environment.
|
|
71
|
-
[Environment.
|
|
102
|
+
[Environment.Dev]: buildSameAddressMap(DEV_EVM_CHAINS_WITH_SOLVER_EXECUTOR, SHARED_EVM_SOLVER_EXECUTOR),
|
|
103
|
+
[Environment.Prod]: {},
|
|
104
|
+
[Environment.Gasless]: buildSameAddressMap(GASLESS_EVM_CHAINS_WITH_SOLVER_EXECUTOR, SHARED_EVM_SOLVER_EXECUTOR),
|
|
72
105
|
};
|
|
73
106
|
// =============================================
|
|
74
107
|
// EVM: delegate / MetaMask framework env scope
|
|
75
108
|
// =============================================
|
|
76
|
-
const
|
|
109
|
+
const PROD_EVM_DELEGATE = "0xDDd405336C13db1ccBf577f64B43890d9c386F7D";
|
|
110
|
+
const GASLESS_EVM_DELEGATE = "0xE547d2EeD6DD60796013b485D284C17Da1194C82";
|
|
77
111
|
const COMPENSATION_DELEGATE_BY_ENVIRONMENT = {
|
|
78
|
-
[Environment.
|
|
79
|
-
[Environment.
|
|
80
|
-
[Environment.
|
|
112
|
+
[Environment.Dev]: buildSameAddressMap(DEV_EVM_CHAINS_ENABLED_FOR_GASLESS_INTENTS, GASLESS_EVM_DELEGATE),
|
|
113
|
+
[Environment.Prod]: buildSameAddressMap(PROD_EVM_CHAINS_ENABLED_FOR_INTENTS, PROD_EVM_DELEGATE),
|
|
114
|
+
[Environment.Gasless]: buildSameAddressMap(GASLESS_EVM_CHAINS_ENABLED_FOR_INTENTS, GASLESS_EVM_DELEGATE),
|
|
81
115
|
};
|
|
82
|
-
const
|
|
116
|
+
export const METAMASK_CHAINS = [
|
|
83
117
|
ChainId.Ethereum,
|
|
84
118
|
ChainId.Optimism,
|
|
85
119
|
ChainId.BNB,
|
|
@@ -87,57 +121,55 @@ const PROD_METAMASK_CHAINS = [
|
|
|
87
121
|
ChainId.Base,
|
|
88
122
|
ChainId.Arbitrum,
|
|
89
123
|
];
|
|
90
|
-
const DUBAI_METAMASK_CHAINS = DUBAI_EVM_CHAINS;
|
|
91
|
-
const HANOI_METAMASK_CHAINS = [ChainId.Polygon, ChainId.BNB];
|
|
92
124
|
const METAMASK_CHAINS_BY_ENVIRONMENT = {
|
|
93
|
-
[Environment.
|
|
94
|
-
[Environment.
|
|
95
|
-
[Environment.
|
|
125
|
+
[Environment.Dev]: METAMASK_CHAINS,
|
|
126
|
+
[Environment.Prod]: METAMASK_CHAINS,
|
|
127
|
+
[Environment.Gasless]: METAMASK_CHAINS,
|
|
96
128
|
};
|
|
97
129
|
// =============================================
|
|
98
130
|
// EVM: Intent Manager
|
|
99
131
|
// =============================================
|
|
100
132
|
const PROD_DEFAULT_EVM_INTENT_MANAGER = "0xDDDDDDDdeB2E68Ee19832e356FCB5537124A9708";
|
|
101
133
|
const PROD_TRON_INTENT_MANAGER = "0x3ACFa1FA93916C60c9e8B7C5d59b50681b705e4e";
|
|
102
|
-
const
|
|
134
|
+
export const DEV_EVM_CHAINS_WITH_INTENT_MANAGER = DEV_EVM_CHAINS_WITH_ALLOWANCE_HOLDER;
|
|
135
|
+
export const PROD_EVM_CHAINS_WITH_INTENT_MANAGER = PROD_EVM_CHAINS_ENABLED_FOR_INTENTS;
|
|
136
|
+
export const GASLESS_EVM_CHAINS_WITH_INTENT_MANAGER = GASLESS_EVM_CHAINS_ENABLED_FOR_INTENTS;
|
|
103
137
|
const INTENT_MANAGER_BY_ENVIRONMENT = {
|
|
104
|
-
[Environment.
|
|
105
|
-
...buildSameAddressMap(
|
|
138
|
+
[Environment.Dev]: {
|
|
139
|
+
...buildSameAddressMap(DEV_EVM_CHAINS_ENABLED_FOR_GASLESS_INTENTS, PROD_DEFAULT_EVM_INTENT_MANAGER),
|
|
106
140
|
[ChainId.Tron]: [PROD_TRON_INTENT_MANAGER],
|
|
107
141
|
},
|
|
108
|
-
[Environment.
|
|
109
|
-
[Environment.
|
|
110
|
-
[ChainId.Polygon]: ["0x9d8421Cc205195b55E2aBa5fdE5C54e952053773"],
|
|
111
|
-
[ChainId.BNB]: ["0x62Cd6f0ccE48a229865686CB6796cDeba439a846"],
|
|
112
|
-
},
|
|
142
|
+
[Environment.Prod]: buildSameAddressMap(PROD_EVM_CHAINS_ENABLED_FOR_INTENTS, PROD_DEFAULT_EVM_INTENT_MANAGER),
|
|
143
|
+
[Environment.Gasless]: buildSameAddressMap(GASLESS_EVM_CHAINS_ENABLED_FOR_INTENTS, PROD_DEFAULT_EVM_INTENT_MANAGER),
|
|
113
144
|
};
|
|
114
145
|
// =============================================
|
|
115
146
|
// Solana: Intent Program
|
|
116
147
|
// =============================================
|
|
117
|
-
const SOLANA_INTENT_PROGRAM_BY_ENVIRONMENT = {
|
|
148
|
+
export const SOLANA_INTENT_PROGRAM_BY_ENVIRONMENT = {
|
|
118
149
|
[Environment.Prod]: "DeintXmrdZFgSKzEWcJWhK793HuqnfDydAPvHmayY5Xz",
|
|
119
|
-
[Environment.
|
|
120
|
-
[Environment.
|
|
150
|
+
[Environment.Gasless]: "DeintXmrdZFgSKzEWcJWhK793HuqnfDydAPvHmayY5Xz",
|
|
151
|
+
[Environment.Dev]: "DeintXmrdZFgSKzEWcJWhK793HuqnfDydAPvHmayY5Xz",
|
|
121
152
|
};
|
|
122
153
|
// =============================================
|
|
123
154
|
// Solana: Allowance Holder
|
|
124
155
|
// =============================================
|
|
125
156
|
const DEFAULT_PROD_SOLANA_ALLOWANCE_HOLDER_ADDRESS = "73dUbDAWUDZRfXM3DcuRgR4q74nr97MyuBt95738JnMz";
|
|
126
|
-
const
|
|
127
|
-
const
|
|
157
|
+
const PROD_SOLANA_DELEGATE_ADDRESS = "DbjXAFabS9ymdbaGxuFBQAWuLB2MUGEFtpu3173aP3LR";
|
|
158
|
+
const GASLESS_SOLANA_DELEGATE_ADDRESS = "bud6cbDe3kpPaEWcRdnTnHEKZKg8YR9GaURKS9sXRGD";
|
|
159
|
+
export const SOLANA_ALLOWANCE_HOLDER_BY_ENVIRONMENT = {
|
|
128
160
|
[Environment.Prod]: DEFAULT_PROD_SOLANA_ALLOWANCE_HOLDER_ADDRESS,
|
|
129
|
-
[Environment.
|
|
130
|
-
[Environment.
|
|
161
|
+
[Environment.Gasless]: DEFAULT_PROD_SOLANA_ALLOWANCE_HOLDER_ADDRESS,
|
|
162
|
+
[Environment.Dev]: DEFAULT_PROD_SOLANA_ALLOWANCE_HOLDER_ADDRESS,
|
|
131
163
|
};
|
|
132
|
-
const SOLANA_ALLOWANCE_HOLDER_ENABLED_BY_ENVIRONMENT = {
|
|
164
|
+
export const SOLANA_ALLOWANCE_HOLDER_ENABLED_BY_ENVIRONMENT = {
|
|
133
165
|
[Environment.Prod]: true,
|
|
134
|
-
[Environment.
|
|
135
|
-
[Environment.
|
|
166
|
+
[Environment.Gasless]: true,
|
|
167
|
+
[Environment.Dev]: true,
|
|
136
168
|
};
|
|
137
|
-
const SOLANA_DELEGATE_BY_ENVIRONMENT = {
|
|
138
|
-
[Environment.Prod]:
|
|
139
|
-
[Environment.
|
|
140
|
-
[Environment.
|
|
169
|
+
export const SOLANA_DELEGATE_BY_ENVIRONMENT = {
|
|
170
|
+
[Environment.Prod]: PROD_SOLANA_DELEGATE_ADDRESS,
|
|
171
|
+
[Environment.Gasless]: GASLESS_SOLANA_DELEGATE_ADDRESS,
|
|
172
|
+
[Environment.Dev]: GASLESS_SOLANA_DELEGATE_ADDRESS,
|
|
141
173
|
};
|
|
142
174
|
// =============================================
|
|
143
175
|
// Builder
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-config.js","sourceRoot":"","sources":["../../../src/whitelists/environment-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAsC,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EACH,4BAA4B,EAC5B,4BAA4B,EAC5B,wCAAwC,EACxC,kCAAkC,EAClC,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,OAAO,CAAC;AACf,OAAO,EACH,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,wBAAwB,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,gDAAgD;AAChD,wBAAwB;AACxB,gDAAgD;AAEhD,MAAM,iCAAiC,GAAG,4CAA4C,CAAC;AACvF,MAAM,0BAA0B,GAAG,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"environment-config.js","sourceRoot":"","sources":["../../../src/whitelists/environment-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,4 +3,5 @@ export { DELEGATION_MANAGER_CONTRACTS, DEFAULT_DELEGATION_MANAGER, AVALANCHE_DEL
|
|
|
3
3
|
export { EXACT_EXECUTION_ENFORCER_CONTRACTS, EXACT_EXECUTION_BATCH_ENFORCER_CONTRACTS, ID_ENFORCER_CONTRACTS, TIMESTAMP_ENFORCER_CONTRACTS, DEFAULT_EXACT_EXECUTION_ENFORCER, DEFAULT_EXACT_EXECUTION_BATCH_ENFORCER, DEFAULT_ID_ENFORCER, DEFAULT_TIMESTAMP_ENFORCER, AVALANCHE_EXACT_EXECUTION_ENFORCER, AVALANCHE_EXACT_EXECUTION_BATCH_ENFORCER, AVALANCHE_ID_ENFORCER, AVALANCHE_TIMESTAMP_ENFORCER, } from "./caveat-enforcers.js";
|
|
4
4
|
export { PERMIT2_CONTRACTS, DEFAULT_PERMIT2_ADDRESS } from "./permit2.js";
|
|
5
5
|
export { WETH_CONTRACTS } from "./weth.js";
|
|
6
|
+
export { METAMASK_DEFAULT_EVM_CHAINS } from "./metamask-delegation-chains.js";
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,4BAA4B,EAC5B,wCAAwC,EACxC,0CAA0C,GAC7C,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,kCAAkC,EAClC,wCAAwC,EACxC,qBAAqB,EACrB,4BAA4B,EAC5B,gCAAgC,EAChC,sCAAsC,EACtC,mBAAmB,EACnB,0BAA0B,EAC1B,kCAAkC,EAClC,wCAAwC,EACxC,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,4BAA4B,EAC5B,wCAAwC,EACxC,0CAA0C,GAC7C,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,kCAAkC,EAClC,wCAAwC,EACxC,qBAAqB,EACrB,4BAA4B,EAC5B,gCAAgC,EAChC,sCAAsC,EACtC,mBAAmB,EACnB,0BAA0B,EAC1B,kCAAkC,EAClC,wCAAwC,EACxC,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -1,26 +1,21 @@
|
|
|
1
1
|
import { Environment } from "../../types/validation.js";
|
|
2
2
|
import { ChainId } from "../../types/enums.js";
|
|
3
3
|
// Environment-specific prefix used in getBufferForIntentSignature().
|
|
4
|
-
const SIG_PREFIX_BY_ENVIRONMENT = {
|
|
4
|
+
export const SIG_PREFIX_BY_ENVIRONMENT = {
|
|
5
5
|
[Environment.Prod]: "intents_program",
|
|
6
|
-
[Environment.
|
|
7
|
-
[Environment.
|
|
6
|
+
[Environment.Gasless]: "intents_program",
|
|
7
|
+
[Environment.Dev]: "intents_program",
|
|
8
8
|
};
|
|
9
|
-
const DEFAULT_SIG_PREFIX = "intents_program";
|
|
10
9
|
// "intents" label — constant across all environments
|
|
11
10
|
const INTENTS_LABEL = new Uint8Array([105, 110, 116, 101, 110, 116, 115]);
|
|
12
11
|
export function getIntentSignatureConfig(environment) {
|
|
13
12
|
const prefixStr = SIG_PREFIX_BY_ENVIRONMENT[environment];
|
|
14
13
|
const prefix = new TextEncoder().encode(prefixStr);
|
|
15
|
-
const acceptedPrefixes =
|
|
16
|
-
.map(value => new TextEncoder().encode(value));
|
|
14
|
+
const acceptedPrefixes = [prefix];
|
|
17
15
|
const chainIdBytes = new Uint8Array(4);
|
|
18
16
|
new DataView(chainIdBytes.buffer).setUint32(0, ChainId.Solana, true);
|
|
19
17
|
// prefix + chainId(4) + label(7) + intentId(32)
|
|
20
18
|
const expectedBufferLength = prefix.length + 4 + INTENTS_LABEL.length + 32;
|
|
21
19
|
return { prefix, acceptedPrefixes, chainIdBytes, label: INTENTS_LABEL, expectedBufferLength };
|
|
22
20
|
}
|
|
23
|
-
function uniqueStrings(values) {
|
|
24
|
-
return values.filter((value, index) => values.indexOf(value) === index);
|
|
25
|
-
}
|
|
26
21
|
//# sourceMappingURL=intent-signature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent-signature.js","sourceRoot":"","sources":["../../../../src/whitelists/solana/intent-signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,qEAAqE;AACrE,MAAM,yBAAyB,GAAgC;
|
|
1
|
+
{"version":3,"file":"intent-signature.js","sourceRoot":"","sources":["../../../../src/whitelists/solana/intent-signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,qEAAqE;AACrE,MAAM,CAAC,MAAM,yBAAyB,GAAgC;IAClE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,iBAAiB;IACrC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,iBAAiB;IACxC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,iBAAiB;CACvC,CAAC;AACF,qDAAqD;AACrD,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAU1E,MAAM,UAAU,wBAAwB,CAAC,WAAwB;IAC7D,MAAM,SAAS,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAAC,CAAC;IAElC,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAErE,gDAAgD;IAChD,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC;IAE3E,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC;AAClG,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { ChainId } from "../../types/enums";
|
|
1
2
|
export type TokenPermitMetadata = {
|
|
2
3
|
name: string;
|
|
3
|
-
version
|
|
4
|
+
version?: string;
|
|
4
5
|
};
|
|
5
6
|
type TokenPermitMetadataMap = Record<number, // realChainId
|
|
6
7
|
Record<string, TokenPermitMetadata>>;
|
|
7
|
-
import { ChainId } from "../../types/enums";
|
|
8
8
|
export declare const TOKEN_PERMIT_METADATA: TokenPermitMetadataMap;
|
|
9
9
|
export declare function getTokenPermitMetadata(realChainId: ChainId, tokenAddress: string): TokenPermitMetadata | undefined;
|
|
10
10
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-permit-metadata.d.ts","sourceRoot":"","sources":["../../../../src/graylists/evm/token-permit-metadata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"token-permit-metadata.d.ts","sourceRoot":"","sources":["../../../../src/graylists/evm/token-permit-metadata.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAM5C,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,sBAAsB,GAAG,MAAM,CAChC,MAAM,EAAE,cAAc;AACtB,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CACtC,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,sBA2CnC,CAAC;AAEF,wBAAgB,sBAAsB,CAClC,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,MAAM,GACrB,mBAAmB,GAAG,SAAS,CAIjC"}
|
|
@@ -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;AAExE,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAI3D;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;
|
|
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;AAExE,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAI3D;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-trade-amounts.d.ts","sourceRoot":"","sources":["../../../src/helpers/evm-trade-amounts.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EAET,YAAY,EACZ,aAAa,EACb,OAAO,EACV,MAAM,UAAU,CAAC;AAKlB,MAAM,MAAM,SAAS,GACf;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,CAAA;CAAE,GACvD;IAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAarE,wBAAgB,eAAe,CAC3B,MAAM,EAAE,YAAY,EAAE,EACtB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,OAAO,EACpB,cAAc,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,EAAE,GAC9C,SAAS,
|
|
1
|
+
{"version":3,"file":"evm-trade-amounts.d.ts","sourceRoot":"","sources":["../../../src/helpers/evm-trade-amounts.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EAET,YAAY,EACZ,aAAa,EACb,OAAO,EACV,MAAM,UAAU,CAAC;AAKlB,MAAM,MAAM,SAAS,GACf;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,CAAA;CAAE,GACvD;IAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAarE,wBAAgB,eAAe,CAC3B,MAAM,EAAE,YAAY,EAAE,EACtB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,OAAO,EACpB,cAAc,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,EAAE,GAC9C,SAAS,CA8CX"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { RequestTrade } from "../types";
|
|
2
|
+
export declare function hasAllExecutionAddresses(trade: RequestTrade): boolean;
|
|
3
|
+
export declare function hasAnyExecutionAddress(trade: RequestTrade): boolean;
|
|
4
|
+
export declare function isQuoteModeRequest(trades: readonly RequestTrade[]): boolean;
|
|
5
|
+
export declare function hasUnverifiableQuoteGrouping(trades: readonly RequestTrade[]): boolean;
|
|
6
|
+
//# sourceMappingURL=quote-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quote-mode.d.ts","sourceRoot":"","sources":["../../../src/helpers/quote-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAIrE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAInE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAE3E;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAErF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthetic-native-wrap.d.ts","sourceRoot":"","sources":["../../../src/helpers/synthetic-native-wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"synthetic-native-wrap.d.ts","sourceRoot":"","sources":["../../../src/helpers/synthetic-native-wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,sBAAsB,EAIzB,MAAM,UAAU,CAAC;AAKlB,eAAO,MAAM,+BAA+B,SAAS,CAAC;AAKtD,wBAAgB,2BAA2B,CACvC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,sBAAsB,GACjC,OAAO,CAUT"}
|
|
@@ -1,2 +1,11 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
1
2
|
export declare function formatPath(segments: PropertyKey[]): string;
|
|
3
|
+
export declare function nullAsUndefined(value: unknown): unknown;
|
|
4
|
+
export declare function nullableOptional<T extends z.ZodType>(schema: T): z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<T>>;
|
|
5
|
+
export declare function apiBoolean(value: unknown): unknown;
|
|
6
|
+
export declare function apiBooleanSchema(): z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodBoolean>;
|
|
7
|
+
export declare function optionalApiBooleanSchema(): z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>;
|
|
8
|
+
export declare function defaultedApiBooleanSchema(defaultValue: boolean): z.ZodDefault<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodBoolean>>>;
|
|
9
|
+
export declare function apiStringSchema(): z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>;
|
|
10
|
+
export declare function apiNumberSchema(): z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>;
|
|
2
11
|
//# sourceMappingURL=zod.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../../src/helpers/zod.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAM1D"}
|
|
1
|
+
{"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../../src/helpers/zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,wBAAgB,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAM1D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEvD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,iEAE9D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIlD;AAED,wBAAgB,gBAAgB,8DAE/B;AAED,wBAAgB,wBAAwB,6EAKvC;AAED,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,OAAO,0FAE9D;AASD,wBAAgB,eAAe,6DAE9B;AASD,wBAAgB,eAAe,6DAE9B"}
|