@debridge-finance/borderless-validation-sdk 0.0.1 → 0.0.3
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 +164 -0
- package/dist/cjs/helpers/address.js +53 -18
- package/dist/cjs/helpers/address.js.map +1 -1
- package/dist/cjs/helpers/evm-action.js +3 -3
- package/dist/cjs/helpers/evm-action.js.map +1 -1
- package/dist/cjs/helpers/evm-dln-hook-pack.js +87 -0
- package/dist/cjs/helpers/evm-dln-hook-pack.js.map +1 -0
- package/dist/cjs/helpers/evm-gas-compensation-tx.js +102 -0
- package/dist/cjs/helpers/evm-gas-compensation-tx.js.map +1 -0
- package/dist/cjs/helpers/evm-intent-id.js +27 -13
- package/dist/cjs/helpers/evm-intent-id.js.map +1 -1
- package/dist/cjs/helpers/evm-trade-amounts.js +36 -1
- package/dist/cjs/helpers/evm-trade-amounts.js.map +1 -1
- package/dist/cjs/helpers/gas-compensation.js +36 -0
- package/dist/cjs/helpers/gas-compensation.js.map +1 -0
- package/dist/cjs/helpers/hex.js +24 -0
- package/dist/cjs/helpers/hex.js.map +1 -0
- package/dist/cjs/helpers/placeholder.js +174 -0
- package/dist/cjs/helpers/placeholder.js.map +1 -0
- package/dist/cjs/helpers/sets.js +13 -0
- package/dist/cjs/helpers/sets.js.map +1 -0
- package/dist/cjs/types/enums.js +51 -2
- package/dist/cjs/types/enums.js.map +1 -1
- package/dist/cjs/types/request.js +36 -3
- package/dist/cjs/types/request.js.map +1 -1
- package/dist/cjs/types/response.js +126 -6
- package/dist/cjs/types/response.js.map +1 -1
- package/dist/cjs/types/validation.js +82 -10
- package/dist/cjs/types/validation.js.map +1 -1
- package/dist/cjs/validations/compensation-hook.js +203 -0
- package/dist/cjs/validations/compensation-hook.js.map +1 -0
- package/dist/cjs/validations/evm-caveats.js +4 -14
- package/dist/cjs/validations/evm-caveats.js.map +1 -1
- package/dist/cjs/validations/evm-op-budget.js +13 -10
- package/dist/cjs/validations/evm-op-budget.js.map +1 -1
- package/dist/cjs/validations/evm-op-hook.js +410 -3
- package/dist/cjs/validations/evm-op-hook.js.map +1 -1
- package/dist/cjs/validations/evm-op-wrap.js +10 -7
- package/dist/cjs/validations/evm-op-wrap.js.map +1 -1
- package/dist/cjs/validations/evm-required-actions.js +7 -9
- package/dist/cjs/validations/evm-required-actions.js.map +1 -1
- package/dist/cjs/validations/evm-sign712-metamask.js +17 -94
- package/dist/cjs/validations/evm-sign712-metamask.js.map +1 -1
- package/dist/cjs/validations/evm-sign712-shared.js +116 -0
- package/dist/cjs/validations/evm-sign712-shared.js.map +1 -0
- package/dist/cjs/validations/evm-sign7702.js +34 -22
- package/dist/cjs/validations/evm-sign7702.js.map +1 -1
- package/dist/cjs/validations/hooks-common.js +252 -37
- package/dist/cjs/validations/hooks-common.js.map +1 -1
- package/dist/cjs/validations/intent-destinations.js +197 -0
- package/dist/cjs/validations/intent-destinations.js.map +1 -0
- package/dist/cjs/validations/intent-tokens.js +357 -0
- package/dist/cjs/validations/intent-tokens.js.map +1 -0
- package/dist/cjs/validations/intent.js +288 -0
- package/dist/cjs/validations/intent.js.map +1 -0
- package/dist/cjs/validations/required-actions.js +7 -7
- package/dist/cjs/validations/required-actions.js.map +1 -1
- package/dist/cjs/validations/solana-hook.js +33 -22
- package/dist/cjs/validations/solana-hook.js.map +1 -1
- package/dist/cjs/validations/solana-op-budget.js +56 -18
- package/dist/cjs/validations/solana-op-budget.js.map +1 -1
- package/dist/cjs/validations/solana-op-wrap.js +46 -13
- 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 +5 -5
- package/dist/cjs/validations/solana-transaction.js.map +1 -1
- package/dist/cjs/validations/trade-grouping.js +139 -1
- package/dist/cjs/validations/trade-grouping.js.map +1 -1
- package/dist/cjs/validations/trades.js +168 -40
- package/dist/cjs/validations/trades.js.map +1 -1
- package/dist/cjs/validator.js +41 -15
- package/dist/cjs/validator.js.map +1 -1
- package/dist/cjs/whitelists/api-endpoints.js +10 -0
- package/dist/cjs/whitelists/api-endpoints.js.map +1 -0
- package/dist/cjs/whitelists/environment-config.js +47 -28
- package/dist/cjs/whitelists/environment-config.js.map +1 -1
- package/dist/cjs/whitelists/evm/caveat-enforcers.js +21 -5
- package/dist/cjs/whitelists/evm/caveat-enforcers.js.map +1 -1
- package/dist/cjs/whitelists/evm/delegation-manager.js +7 -2
- package/dist/cjs/whitelists/evm/delegation-manager.js.map +1 -1
- package/dist/cjs/whitelists/evm/eip7702-delegation.js +7 -2
- package/dist/cjs/whitelists/evm/eip7702-delegation.js.map +1 -1
- package/dist/cjs/whitelists/evm/index.js +14 -1
- package/dist/cjs/whitelists/evm/index.js.map +1 -1
- package/dist/cjs/whitelists/evm/metamask-delegation-chains.js +16 -0
- package/dist/cjs/whitelists/evm/metamask-delegation-chains.js.map +1 -0
- package/dist/cjs/whitelists/evm/permit2.js +16 -12
- package/dist/cjs/whitelists/evm/permit2.js.map +1 -1
- package/dist/cjs/whitelists/evm/weth.js +16 -5
- package/dist/cjs/whitelists/evm/weth.js.map +1 -1
- package/dist/cjs/whitelists/solana/intent-signature.js +0 -1
- package/dist/cjs/whitelists/solana/intent-signature.js.map +1 -1
- package/dist/cjs/whitelists/subscription-to-chain-id.js +10 -0
- package/dist/cjs/whitelists/subscription-to-chain-id.js.map +1 -1
- package/dist/cjs/whitelists/types.js +13 -3
- package/dist/cjs/whitelists/types.js.map +1 -1
- package/dist/esm/helpers/address.js +48 -17
- package/dist/esm/helpers/address.js.map +1 -1
- package/dist/esm/helpers/evm-action.js +3 -3
- package/dist/esm/helpers/evm-action.js.map +1 -1
- package/dist/esm/helpers/evm-dln-hook-pack.js +82 -0
- package/dist/esm/helpers/evm-dln-hook-pack.js.map +1 -0
- package/dist/esm/helpers/evm-gas-compensation-tx.js +99 -0
- package/dist/esm/helpers/evm-gas-compensation-tx.js.map +1 -0
- package/dist/esm/helpers/evm-intent-id.js +27 -13
- package/dist/esm/helpers/evm-intent-id.js.map +1 -1
- package/dist/esm/helpers/evm-trade-amounts.js +36 -1
- package/dist/esm/helpers/evm-trade-amounts.js.map +1 -1
- package/dist/esm/helpers/gas-compensation.js +33 -0
- package/dist/esm/helpers/gas-compensation.js.map +1 -0
- package/dist/esm/helpers/hex.js +20 -0
- package/dist/esm/helpers/hex.js.map +1 -0
- package/dist/esm/helpers/placeholder.js +168 -0
- package/dist/esm/helpers/placeholder.js.map +1 -0
- package/dist/esm/helpers/sets.js +10 -0
- package/dist/esm/helpers/sets.js.map +1 -0
- package/dist/esm/types/enums.js +50 -1
- package/dist/esm/types/enums.js.map +1 -1
- package/dist/esm/types/request.js +37 -4
- package/dist/esm/types/request.js.map +1 -1
- package/dist/esm/types/response.js +126 -6
- package/dist/esm/types/response.js.map +1 -1
- package/dist/esm/types/validation.js +82 -10
- package/dist/esm/types/validation.js.map +1 -1
- package/dist/esm/validations/compensation-hook.js +200 -0
- package/dist/esm/validations/compensation-hook.js.map +1 -0
- package/dist/esm/validations/evm-caveats.js +4 -14
- package/dist/esm/validations/evm-caveats.js.map +1 -1
- package/dist/esm/validations/evm-op-budget.js +13 -10
- package/dist/esm/validations/evm-op-budget.js.map +1 -1
- package/dist/esm/validations/evm-op-hook.js +409 -2
- package/dist/esm/validations/evm-op-hook.js.map +1 -1
- package/dist/esm/validations/evm-op-wrap.js +10 -7
- package/dist/esm/validations/evm-op-wrap.js.map +1 -1
- package/dist/esm/validations/evm-required-actions.js +7 -9
- package/dist/esm/validations/evm-required-actions.js.map +1 -1
- package/dist/esm/validations/evm-sign712-metamask.js +17 -94
- package/dist/esm/validations/evm-sign712-metamask.js.map +1 -1
- package/dist/esm/validations/evm-sign712-shared.js +110 -0
- package/dist/esm/validations/evm-sign712-shared.js.map +1 -0
- package/dist/esm/validations/evm-sign7702.js +33 -22
- package/dist/esm/validations/evm-sign7702.js.map +1 -1
- package/dist/esm/validations/hooks-common.js +251 -38
- package/dist/esm/validations/hooks-common.js.map +1 -1
- package/dist/esm/validations/intent-destinations.js +194 -0
- package/dist/esm/validations/intent-destinations.js.map +1 -0
- package/dist/esm/validations/intent-tokens.js +354 -0
- package/dist/esm/validations/intent-tokens.js.map +1 -0
- package/dist/esm/validations/intent.js +285 -0
- package/dist/esm/validations/intent.js.map +1 -0
- package/dist/esm/validations/required-actions.js +7 -7
- package/dist/esm/validations/required-actions.js.map +1 -1
- package/dist/esm/validations/solana-hook.js +35 -24
- package/dist/esm/validations/solana-hook.js.map +1 -1
- package/dist/esm/validations/solana-op-budget.js +56 -18
- package/dist/esm/validations/solana-op-budget.js.map +1 -1
- package/dist/esm/validations/solana-op-wrap.js +47 -14
- 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 +7 -7
- package/dist/esm/validations/solana-transaction.js.map +1 -1
- package/dist/esm/validations/trade-grouping.js +139 -1
- package/dist/esm/validations/trade-grouping.js.map +1 -1
- package/dist/esm/validations/trades.js +169 -41
- package/dist/esm/validations/trades.js.map +1 -1
- package/dist/esm/validator.js +41 -15
- package/dist/esm/validator.js.map +1 -1
- package/dist/esm/whitelists/api-endpoints.js +7 -0
- package/dist/esm/whitelists/api-endpoints.js.map +1 -0
- package/dist/esm/whitelists/environment-config.js +47 -28
- package/dist/esm/whitelists/environment-config.js.map +1 -1
- package/dist/esm/whitelists/evm/caveat-enforcers.js +20 -4
- package/dist/esm/whitelists/evm/caveat-enforcers.js.map +1 -1
- package/dist/esm/whitelists/evm/delegation-manager.js +6 -1
- package/dist/esm/whitelists/evm/delegation-manager.js.map +1 -1
- package/dist/esm/whitelists/evm/eip7702-delegation.js +6 -1
- package/dist/esm/whitelists/evm/eip7702-delegation.js.map +1 -1
- package/dist/esm/whitelists/evm/index.js +4 -4
- package/dist/esm/whitelists/evm/index.js.map +1 -1
- package/dist/esm/whitelists/evm/metamask-delegation-chains.js +13 -0
- package/dist/esm/whitelists/evm/metamask-delegation-chains.js.map +1 -0
- package/dist/esm/whitelists/evm/permit2.js +9 -5
- package/dist/esm/whitelists/evm/permit2.js.map +1 -1
- package/dist/esm/whitelists/evm/weth.js +16 -5
- package/dist/esm/whitelists/evm/weth.js.map +1 -1
- package/dist/esm/whitelists/solana/intent-signature.js +0 -1
- package/dist/esm/whitelists/solana/intent-signature.js.map +1 -1
- package/dist/esm/whitelists/subscription-to-chain-id.js +9 -0
- package/dist/esm/whitelists/subscription-to-chain-id.js.map +1 -1
- package/dist/esm/whitelists/types.js +14 -5
- package/dist/esm/whitelists/types.js.map +1 -1
- package/dist/types/helpers/address.d.ts +7 -7
- package/dist/types/helpers/address.d.ts.map +1 -1
- package/dist/types/helpers/evm-dln-hook-pack.d.ts +19 -0
- package/dist/types/helpers/evm-dln-hook-pack.d.ts.map +1 -0
- package/dist/types/helpers/evm-gas-compensation-tx.d.ts +13 -0
- package/dist/types/helpers/evm-gas-compensation-tx.d.ts.map +1 -0
- package/dist/types/helpers/evm-intent-id.d.ts.map +1 -1
- package/dist/types/helpers/evm-trade-amounts.d.ts +2 -2
- package/dist/types/helpers/evm-trade-amounts.d.ts.map +1 -1
- package/dist/types/helpers/gas-compensation.d.ts +10 -0
- package/dist/types/helpers/gas-compensation.d.ts.map +1 -0
- package/dist/types/helpers/hex.d.ts +3 -0
- package/dist/types/helpers/hex.d.ts.map +1 -0
- package/dist/types/helpers/placeholder.d.ts +41 -0
- package/dist/types/helpers/placeholder.d.ts.map +1 -0
- package/dist/types/helpers/sets.d.ts +2 -0
- package/dist/types/helpers/sets.d.ts.map +1 -0
- package/dist/types/types/enums.d.ts +39 -1
- package/dist/types/types/enums.d.ts.map +1 -1
- package/dist/types/types/request.d.ts +21 -11
- package/dist/types/types/request.d.ts.map +1 -1
- package/dist/types/types/response.d.ts +1019 -21
- package/dist/types/types/response.d.ts.map +1 -1
- package/dist/types/types/validation.d.ts +74 -11
- package/dist/types/types/validation.d.ts.map +1 -1
- package/dist/types/validations/compensation-hook.d.ts +3 -0
- package/dist/types/validations/compensation-hook.d.ts.map +1 -0
- package/dist/types/validations/evm-caveats.d.ts.map +1 -1
- package/dist/types/validations/evm-op-budget.d.ts +2 -2
- package/dist/types/validations/evm-op-budget.d.ts.map +1 -1
- package/dist/types/validations/evm-op-hook.d.ts +4 -2
- package/dist/types/validations/evm-op-hook.d.ts.map +1 -1
- package/dist/types/validations/evm-op-wrap.d.ts +2 -2
- package/dist/types/validations/evm-op-wrap.d.ts.map +1 -1
- package/dist/types/validations/evm-required-actions.d.ts +2 -2
- package/dist/types/validations/evm-required-actions.d.ts.map +1 -1
- package/dist/types/validations/evm-sign712-metamask.d.ts.map +1 -1
- package/dist/types/validations/evm-sign712-shared.d.ts +7 -0
- package/dist/types/validations/evm-sign712-shared.d.ts.map +1 -0
- package/dist/types/validations/evm-sign7702.d.ts +2 -1
- package/dist/types/validations/evm-sign7702.d.ts.map +1 -1
- package/dist/types/validations/hooks-common.d.ts +1 -0
- package/dist/types/validations/hooks-common.d.ts.map +1 -1
- package/dist/types/validations/intent-destinations.d.ts +4 -0
- package/dist/types/validations/intent-destinations.d.ts.map +1 -0
- package/dist/types/validations/intent-tokens.d.ts +4 -0
- package/dist/types/validations/intent-tokens.d.ts.map +1 -0
- package/dist/types/validations/intent.d.ts +5 -0
- package/dist/types/validations/intent.d.ts.map +1 -0
- package/dist/types/validations/required-actions.d.ts +2 -1
- package/dist/types/validations/required-actions.d.ts.map +1 -1
- package/dist/types/validations/solana-hook.d.ts +4 -2
- package/dist/types/validations/solana-hook.d.ts.map +1 -1
- package/dist/types/validations/solana-op-budget.d.ts +2 -2
- package/dist/types/validations/solana-op-budget.d.ts.map +1 -1
- package/dist/types/validations/solana-op-wrap.d.ts +2 -2
- package/dist/types/validations/solana-op-wrap.d.ts.map +1 -1
- package/dist/types/validations/solana-required-actions.d.ts +2 -2
- package/dist/types/validations/solana-required-actions.d.ts.map +1 -1
- package/dist/types/validations/solana-transaction.d.ts +3 -3
- package/dist/types/validations/solana-transaction.d.ts.map +1 -1
- package/dist/types/validations/trade-grouping.d.ts +6 -2
- package/dist/types/validations/trade-grouping.d.ts.map +1 -1
- package/dist/types/validations/trades.d.ts.map +1 -1
- package/dist/types/validator.d.ts.map +1 -1
- package/dist/types/whitelists/api-endpoints.d.ts +2 -0
- package/dist/types/whitelists/api-endpoints.d.ts.map +1 -0
- package/dist/types/whitelists/environment-config.d.ts.map +1 -1
- package/dist/types/whitelists/evm/caveat-enforcers.d.ts +8 -0
- package/dist/types/whitelists/evm/caveat-enforcers.d.ts.map +1 -1
- package/dist/types/whitelists/evm/delegation-manager.d.ts +2 -0
- package/dist/types/whitelists/evm/delegation-manager.d.ts.map +1 -1
- package/dist/types/whitelists/evm/eip7702-delegation.d.ts +2 -0
- package/dist/types/whitelists/evm/eip7702-delegation.d.ts.map +1 -1
- package/dist/types/whitelists/evm/index.d.ts +4 -4
- package/dist/types/whitelists/evm/index.d.ts.map +1 -1
- package/dist/types/whitelists/evm/metamask-delegation-chains.d.ts +3 -0
- package/dist/types/whitelists/evm/metamask-delegation-chains.d.ts.map +1 -0
- package/dist/types/whitelists/evm/permit2.d.ts +1 -0
- package/dist/types/whitelists/evm/permit2.d.ts.map +1 -1
- package/dist/types/whitelists/evm/weth.d.ts.map +1 -1
- package/dist/types/whitelists/solana/intent-signature.d.ts.map +1 -1
- package/dist/types/whitelists/subscription-to-chain-id.d.ts +1 -0
- package/dist/types/whitelists/subscription-to-chain-id.d.ts.map +1 -1
- package/dist/types/whitelists/types.d.ts +1 -1
- package/dist/types/whitelists/types.d.ts.map +1 -1
- package/package.json +4 -3
- package/dist/cjs/helpers/constants.js +0 -6
- package/dist/cjs/helpers/constants.js.map +0 -1
- package/dist/cjs/validations/evm-op-gas-compensation.js +0 -152
- package/dist/cjs/validations/evm-op-gas-compensation.js.map +0 -1
- package/dist/esm/helpers/constants.js +0 -3
- package/dist/esm/helpers/constants.js.map +0 -1
- package/dist/esm/validations/evm-op-gas-compensation.js +0 -149
- package/dist/esm/validations/evm-op-gas-compensation.js.map +0 -1
- package/dist/types/helpers/constants.d.ts +0 -2
- package/dist/types/helpers/constants.d.ts.map +0 -1
- package/dist/types/validations/evm-op-gas-compensation.d.ts +0 -3
- package/dist/types/validations/evm-op-gas-compensation.d.ts.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BundleCreationResponseSchema = exports.ResponseHookPayloadSchema = exports.AccumulativeTokenOutputSchema = exports.AccumulativeTokenInputSchema = exports.ResponseIntentPayloadSchema = exports.ResponseRequiredActionSchema = exports.SolanaRequiredActionSchema = exports.SolanaSignDataSchema = exports.SolanaTransactionDataSchema = exports.EvmRequiredActionSchema = exports.EvmCostItemSchema = exports.CostItemSchema = exports.NetworkDetailsSchema = exports.EvmActionDetailsSchema = exports.EvmSign712DataSchema = exports.EvmSign7702AuthorizationDataSchema = exports.EvmTransactionDataSchema = exports.ResponseIntentSchema = exports.ResponseTakeTokenSchema = exports.ResponseGiveTokenSchema = exports.ResponseInputTokenSchema = exports.ResponseDestinationDetailsSchema = exports.ResponseTradeSchema = exports.ResponseDstChainTokenOutSchema = exports.ResponseSrcChainTokenOutSchema = exports.ResponseSrcChainTokenInSchema = exports.ResponseComparedAggregatorSchema = exports.ResponseCostDetailSchema = exports.ResponseCostDetailPayloadSchema = void 0;
|
|
3
|
+
exports.BundleCreationResponseSchema = exports.ResponseHookPayloadSchema = exports.AccumulativeTokenOutputSchema = exports.AccumulativeTokenInputSchema = exports.ResponseIntentPayloadSchema = exports.ResponseRequiredActionSchema = exports.SolanaRequiredActionSchema = exports.SolanaSignDataSchema = exports.SolanaTransactionDataSchema = exports.EvmRequiredActionSchema = exports.EvmCostItemSchema = exports.CostItemSchema = exports.NetworkDetailsSchema = exports.EvmActionDetailsSchema = exports.EvmProvidePlaceholdersDataSchema = exports.EvmCaveatsWithPlaceholdersDataSchema = exports.EvmActionPlaceholderItemSchema = exports.EvmSign712DataSchema = exports.EvmSign7702AuthorizationDataSchema = exports.EvmDirectTransactionDataSchema = exports.EvmTransactionDataSchema = exports.ResponseIntentSchema = exports.ResponseTakeTokenSchema = exports.ResponseGiveTokenSchema = exports.ResponseInputTokenSchema = exports.ResponseDestinationDetailsSchema = exports.ResponseTradeSchema = exports.ResponseDstChainTokenOutSchema = exports.ResponseSrcChainTokenOutSchema = exports.ResponseSrcChainTokenInSchema = exports.ResponseComparedAggregatorSchema = exports.ResponseCostDetailSchema = exports.ResponseCostDetailPayloadSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const enums_1 = require("./enums");
|
|
6
6
|
const request_1 = require("./request");
|
|
@@ -23,7 +23,7 @@ exports.ResponseCostDetailSchema = zod_1.z.object({
|
|
|
23
23
|
tokenOut: zod_1.z.string(),
|
|
24
24
|
amountIn: zod_1.z.string(),
|
|
25
25
|
amountOut: zod_1.z.string(),
|
|
26
|
-
type: zod_1.z.
|
|
26
|
+
type: zod_1.z.enum(enums_1.CostDetailType),
|
|
27
27
|
payload: exports.ResponseCostDetailPayloadSchema.optional(),
|
|
28
28
|
});
|
|
29
29
|
exports.ResponseComparedAggregatorSchema = zod_1.z.object({
|
|
@@ -55,7 +55,7 @@ exports.ResponseSrcChainTokenOutSchema = zod_1.z.object({
|
|
|
55
55
|
decimals: zod_1.z.number(),
|
|
56
56
|
amount: zod_1.z.string(),
|
|
57
57
|
maxRefundAmount: zod_1.z.string().optional(),
|
|
58
|
-
approximateUsdValue: zod_1.z.number(),
|
|
58
|
+
approximateUsdValue: zod_1.z.number().optional(),
|
|
59
59
|
});
|
|
60
60
|
exports.ResponseDstChainTokenOutSchema = zod_1.z.object({
|
|
61
61
|
chainId: zod_1.z.number(),
|
|
@@ -83,7 +83,7 @@ exports.ResponseTradeSchema = zod_1.z.object({
|
|
|
83
83
|
dstChainTokenOutRecipient: zod_1.z.string().optional(),
|
|
84
84
|
dstChainAuthorityAddress: zod_1.z.string().optional(),
|
|
85
85
|
relatedIntentId: zod_1.z.string().optional(),
|
|
86
|
-
prependedOperatingExpenseCost: zod_1.z.string(),
|
|
86
|
+
prependedOperatingExpenseCost: zod_1.z.string().optional(),
|
|
87
87
|
userPoints: zod_1.z.number(),
|
|
88
88
|
integratorPoints: zod_1.z.number(),
|
|
89
89
|
actualUserPoints: zod_1.z.number().optional(),
|
|
@@ -135,15 +135,54 @@ exports.ResponseIntentSchema = zod_1.z.object({
|
|
|
135
135
|
dstAuthorityAddress: zod_1.z.array(exports.ResponseDestinationDetailsSchema).optional(),
|
|
136
136
|
});
|
|
137
137
|
// --- Required Actions (EVM) ---
|
|
138
|
+
/**
|
|
139
|
+
* Intent-scope only — payload for `Transaction` actions inside
|
|
140
|
+
* `response.trades[].intents[].requiredActions[]`. The chain is implicit
|
|
141
|
+
* (it equals the parent intent's chainId), so no `chainId` field is present.
|
|
142
|
+
* The hook-scope counterpart carries an explicit `chainId` —
|
|
143
|
+
* see {@link EvmDirectTransactionDataSchema}.
|
|
144
|
+
*/
|
|
138
145
|
exports.EvmTransactionDataSchema = zod_1.z.object({
|
|
139
146
|
to: zod_1.z.string(),
|
|
140
147
|
data: zod_1.z.string(),
|
|
141
148
|
value: zod_1.z.string(),
|
|
142
149
|
});
|
|
150
|
+
/**
|
|
151
|
+
* Hook-scope only — payload for `Transaction` actions inside
|
|
152
|
+
* `response.preHooks[].requiredActions[]` and
|
|
153
|
+
* `response.postHooks[].requiredActions[]` (Direct hooks with eager-only
|
|
154
|
+
* placeholders), and the inner `transaction` field of
|
|
155
|
+
* `EvmProvidePlaceholdersData`. Carries `chainId` explicitly because hooks
|
|
156
|
+
* are not bound to a single intent's chain.
|
|
157
|
+
*/
|
|
158
|
+
exports.EvmDirectTransactionDataSchema = zod_1.z.object({
|
|
159
|
+
to: zod_1.z.string(),
|
|
160
|
+
data: zod_1.z.string(),
|
|
161
|
+
value: zod_1.z.string(),
|
|
162
|
+
chainId: zod_1.z.number(),
|
|
163
|
+
});
|
|
164
|
+
/**
|
|
165
|
+
* Both scopes (intent and hook) — payload for `Sign7702Authorization`
|
|
166
|
+
* actions. Encodes the EIP-7702 delegation parameters that the user signs
|
|
167
|
+
* to delegate their EOA to a smart-contract wallet implementation.
|
|
168
|
+
*/
|
|
143
169
|
exports.EvmSign7702AuthorizationDataSchema = zod_1.z.object({
|
|
144
170
|
contractAddress: zod_1.z.string(),
|
|
145
171
|
nonce: zod_1.z.number(),
|
|
146
172
|
});
|
|
173
|
+
/**
|
|
174
|
+
* Generic EIP-712 typed-data payload. Reused by several action types:
|
|
175
|
+
* - `Sign712MetaMaskCaveats` — both intent-scope and hook-scope (Delegated
|
|
176
|
+
* hooks with eager-only placeholders). Encodes the MetaMask delegation
|
|
177
|
+
* message, including caveats inside `message`.
|
|
178
|
+
* - `Sign712` — intent-scope only. Encodes the user's intent signature.
|
|
179
|
+
* - `Permit` / `Permit2` — intent-scope only. Encodes the EIP-2612 / Permit2
|
|
180
|
+
* approval payload.
|
|
181
|
+
*
|
|
182
|
+
* The hook-scope variant with deferred placeholders extends this shape with
|
|
183
|
+
* an extra `placeholders[]` field — see
|
|
184
|
+
* {@link EvmCaveatsWithPlaceholdersDataSchema}.
|
|
185
|
+
*/
|
|
147
186
|
exports.EvmSign712DataSchema = zod_1.z.object({
|
|
148
187
|
domain: zod_1.z.object({
|
|
149
188
|
name: zod_1.z.string(),
|
|
@@ -155,6 +194,49 @@ exports.EvmSign712DataSchema = zod_1.z.object({
|
|
|
155
194
|
primaryType: zod_1.z.string(),
|
|
156
195
|
message: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()),
|
|
157
196
|
});
|
|
197
|
+
/**
|
|
198
|
+
* Deferred-placeholder descriptor used inside hook-scope action payloads
|
|
199
|
+
* ({@link EvmCaveatsWithPlaceholdersDataSchema} and
|
|
200
|
+
* {@link EvmProvidePlaceholdersDataSchema}). Each item names a placeholder
|
|
201
|
+
* whose value the client must supply at submit time.
|
|
202
|
+
*/
|
|
203
|
+
exports.EvmActionPlaceholderItemSchema = zod_1.z.object({
|
|
204
|
+
nameVariable: zod_1.z.string(),
|
|
205
|
+
});
|
|
206
|
+
/**
|
|
207
|
+
* Hook-scope only — payload for `Sign712MetaMaskCaveatsWithPlaceholders`
|
|
208
|
+
* actions emitted for Delegated EVM hooks that declare deferred
|
|
209
|
+
* placeholders. Extends the standard EIP-712 typed-data shape with a
|
|
210
|
+
* `placeholders[]` list whose values the client supplies at submit time;
|
|
211
|
+
* the corresponding markers remain in place inside the typed data until
|
|
212
|
+
* substitution.
|
|
213
|
+
*/
|
|
214
|
+
exports.EvmCaveatsWithPlaceholdersDataSchema = exports.EvmSign712DataSchema.extend({
|
|
215
|
+
placeholders: zod_1.z.array(exports.EvmActionPlaceholderItemSchema),
|
|
216
|
+
});
|
|
217
|
+
/**
|
|
218
|
+
* Hook-scope only — payload for `ProvidePlaceholders` actions emitted for
|
|
219
|
+
* Direct EVM hooks that declare deferred placeholders. Carries the embedded
|
|
220
|
+
* transaction (with explicit `chainId`) and a `placeholders[]` list whose
|
|
221
|
+
* values the client must supply at submit time. No off-chain signature is
|
|
222
|
+
* required — the client substitutes the placeholders into the transaction
|
|
223
|
+
* data and broadcasts the resulting transaction on-chain.
|
|
224
|
+
*/
|
|
225
|
+
exports.EvmProvidePlaceholdersDataSchema = zod_1.z.object({
|
|
226
|
+
transaction: exports.EvmDirectTransactionDataSchema,
|
|
227
|
+
placeholders: zod_1.z.array(exports.EvmActionPlaceholderItemSchema),
|
|
228
|
+
});
|
|
229
|
+
/**
|
|
230
|
+
* Optional `details` payload that supplements an EVM action's `data`.
|
|
231
|
+
* Different action types populate different subsets:
|
|
232
|
+
* - `Sign712MetaMaskCaveats` / `Sign712MetaMaskCaveatsWithPlaceholders` —
|
|
233
|
+
* `transactionCalls` lists the underlying transaction(s) wrapped by the
|
|
234
|
+
* delegation. In hook-scope this is always exactly one entry — the hook
|
|
235
|
+
* transaction itself.
|
|
236
|
+
* - `Transaction` with `actions: [Budget]`, `Permit`, `Permit2` —
|
|
237
|
+
* `allowanceHolder`, `tokenAddress`, `permit2Contract` describe the
|
|
238
|
+
* approved spender / token / Permit2 router.
|
|
239
|
+
*/
|
|
158
240
|
exports.EvmActionDetailsSchema = zod_1.z.object({
|
|
159
241
|
transactionCalls: zod_1.z.array(exports.EvmTransactionDataSchema).optional(),
|
|
160
242
|
allowanceHolder: zod_1.z.string().optional(),
|
|
@@ -182,22 +264,56 @@ exports.CostItemSchema = zod_1.z.object({
|
|
|
182
264
|
exports.EvmCostItemSchema = exports.CostItemSchema.extend({
|
|
183
265
|
networkDetails: exports.NetworkDetailsSchema.optional(),
|
|
184
266
|
});
|
|
267
|
+
/**
|
|
268
|
+
* Single EVM `requiredAction` element. The same shape is used in both
|
|
269
|
+
* intent-scope (`response.trades[].intents[].requiredActions[]`) and
|
|
270
|
+
* hook-scope (`response.preHooks[].requiredActions[]`,
|
|
271
|
+
* `response.postHooks[].requiredActions[]`); the action `type` and `data`
|
|
272
|
+
* shape determine which scope a given action belongs to.
|
|
273
|
+
*/
|
|
185
274
|
exports.EvmRequiredActionSchema = zod_1.z.object({
|
|
186
275
|
actionId: zod_1.z.string(),
|
|
187
276
|
type: zod_1.z.enum(enums_1.EvmActionKind),
|
|
188
277
|
actions: zod_1.z.array(zod_1.z.enum(enums_1.EvmActionOperation)),
|
|
189
|
-
|
|
278
|
+
// Order matters: z.union picks the first matching schema, and z.object
|
|
279
|
+
// strips unknown keys silently. List the more specific (with extra required
|
|
280
|
+
// fields) shapes before their less specific counterparts so chainId /
|
|
281
|
+
// placeholders / transaction are not lost when both schemas would accept the input.
|
|
282
|
+
data: zod_1.z.union([
|
|
283
|
+
exports.EvmDirectTransactionDataSchema,
|
|
284
|
+
exports.EvmTransactionDataSchema,
|
|
285
|
+
exports.EvmSign7702AuthorizationDataSchema,
|
|
286
|
+
exports.EvmCaveatsWithPlaceholdersDataSchema,
|
|
287
|
+
exports.EvmSign712DataSchema,
|
|
288
|
+
exports.EvmProvidePlaceholdersDataSchema,
|
|
289
|
+
]),
|
|
190
290
|
details: exports.EvmActionDetailsSchema.optional(),
|
|
191
291
|
actionCosts: zod_1.z.array(exports.EvmCostItemSchema),
|
|
192
292
|
description: zod_1.z.string(),
|
|
193
293
|
});
|
|
194
294
|
// --- Required Actions (Solana) ---
|
|
295
|
+
/**
|
|
296
|
+
* Both scopes (intent and hook) — payload for `Transaction` and
|
|
297
|
+
* `SignTransaction` actions. Carries a base64-encoded Solana transaction.
|
|
298
|
+
* The shape is identical in intent-scope and hook-scope for Solana: there
|
|
299
|
+
* is no Direct/Delegated split for Solana hooks.
|
|
300
|
+
*/
|
|
195
301
|
exports.SolanaTransactionDataSchema = zod_1.z.object({
|
|
196
302
|
data: zod_1.z.string(),
|
|
197
303
|
});
|
|
304
|
+
/**
|
|
305
|
+
* Intent-scope only — payload for `Sign` actions. Carries a UTF-8 string
|
|
306
|
+
* the user signs to authorize the intent.
|
|
307
|
+
*/
|
|
198
308
|
exports.SolanaSignDataSchema = zod_1.z.object({
|
|
199
309
|
data: zod_1.z.string(),
|
|
200
310
|
});
|
|
311
|
+
/**
|
|
312
|
+
* Single Solana `requiredAction` element. The same shape is used in both
|
|
313
|
+
* intent-scope (`response.trades[].intents[].requiredActions[]`) and
|
|
314
|
+
* hook-scope (`response.preHooks[].requiredActions[]`,
|
|
315
|
+
* `response.postHooks[].requiredActions[]`).
|
|
316
|
+
*/
|
|
201
317
|
exports.SolanaRequiredActionSchema = zod_1.z.object({
|
|
202
318
|
actionId: zod_1.z.string(),
|
|
203
319
|
type: zod_1.z.enum(enums_1.SolanaActionKind),
|
|
@@ -233,7 +349,11 @@ exports.AccumulativeTokenOutputSchema = zod_1.z.object({
|
|
|
233
349
|
});
|
|
234
350
|
// --- Response Hooks ---
|
|
235
351
|
exports.ResponseHookPayloadSchema = zod_1.z.object({
|
|
236
|
-
requiredActions
|
|
352
|
+
// In quote mode the API omits requiredActions entirely. Default to an
|
|
353
|
+
// empty array here so downstream hook validators can iterate without
|
|
354
|
+
// null checks at every call site.
|
|
355
|
+
requiredActions: zod_1.z.array(exports.ResponseRequiredActionSchema).optional()
|
|
356
|
+
.transform(value => value ?? []),
|
|
237
357
|
hook: request_1.RequestHookV2Schema,
|
|
238
358
|
});
|
|
239
359
|
// --- Top-level response ---
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/types/response.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/types/response.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ var ViolationCode;
|
|
|
6
6
|
// Structure
|
|
7
7
|
ViolationCode["InvalidRequestStructure"] = "INVALID_REQUEST_STRUCTURE";
|
|
8
8
|
ViolationCode["InvalidResponseStructure"] = "INVALID_RESPONSE_STRUCTURE";
|
|
9
|
+
ViolationCode["InvalidUrlEndpoint"] = "INVALID_URL_ENDPOINT";
|
|
9
10
|
// Echo fields
|
|
10
11
|
ViolationCode["RequestIdMismatch"] = "REQUEST_ID_MISMATCH";
|
|
11
12
|
ViolationCode["UserIdMismatch"] = "USER_ID_MISMATCH";
|
|
@@ -18,7 +19,6 @@ var ViolationCode;
|
|
|
18
19
|
ViolationCode["ForbiddenSign712MetaMaskWithoutAA"] = "FORBIDDEN_SIGN712_METAMASK_WITHOUT_AA";
|
|
19
20
|
ViolationCode["ForbiddenDelegateWithoutAA"] = "FORBIDDEN_DELEGATE_WITHOUT_AA";
|
|
20
21
|
ViolationCode["ForbiddenTransactionCallsWithoutAA"] = "FORBIDDEN_TRANSACTION_CALLS_WITHOUT_AA";
|
|
21
|
-
ViolationCode["NonEmptyPreHooksWithoutAA"] = "NON_EMPTY_PRE_HOOKS_WITHOUT_AA";
|
|
22
22
|
// Required actions — Sign7702Authorization
|
|
23
23
|
ViolationCode["Sign7702ActionsNotSingleDelegate"] = "SIGN7702_ACTIONS_NOT_SINGLE_DELEGATE";
|
|
24
24
|
ViolationCode["Sign7702ContractAddressNotWhitelisted"] = "SIGN7702_CONTRACT_ADDRESS_NOT_WHITELISTED";
|
|
@@ -108,13 +108,6 @@ var ViolationCode;
|
|
|
108
108
|
ViolationCode["WrapToNotWeth"] = "WRAP_TO_NOT_WETH";
|
|
109
109
|
ViolationCode["WrapCalldataInvalid"] = "WRAP_CALLDATA_INVALID";
|
|
110
110
|
ViolationCode["WrapAmountMismatch"] = "WRAP_AMOUNT_MISMATCH";
|
|
111
|
-
// Operations — GasCompensation
|
|
112
|
-
ViolationCode["GasCompensationTransactionCallsMissing"] = "GAS_COMPENSATION_TRANSACTION_CALLS_MISSING";
|
|
113
|
-
ViolationCode["GasCompensationTooManyTransactionCalls"] = "GAS_COMPENSATION_TOO_MANY_TRANSACTION_CALLS";
|
|
114
|
-
ViolationCode["GasCompensationNoMatchingPreHook"] = "GAS_COMPENSATION_NO_MATCHING_PRE_HOOK";
|
|
115
|
-
ViolationCode["GasCompensationToMismatch"] = "GAS_COMPENSATION_TO_MISMATCH";
|
|
116
|
-
ViolationCode["GasCompensationCalldataInvalid"] = "GAS_COMPENSATION_CALLDATA_INVALID";
|
|
117
|
-
ViolationCode["GasCompensationNativeValueZero"] = "GAS_COMPENSATION_NATIVE_VALUE_ZERO";
|
|
118
111
|
// Required actions — approval mutual exclusivity
|
|
119
112
|
ViolationCode["ApprovalMutualExclusivity"] = "APPROVAL_MUTUAL_EXCLUSIVITY";
|
|
120
113
|
// Trade validation — amount parsing (used by Budget/Wrap)
|
|
@@ -154,8 +147,51 @@ var ViolationCode;
|
|
|
154
147
|
ViolationCode["TradeIntentChainIdMismatch"] = "TRADE_INTENT_CHAIN_ID_MISMATCH";
|
|
155
148
|
// Trade validation — partnerFeeBps
|
|
156
149
|
ViolationCode["TradePartnerFeeBpsMismatch"] = "TRADE_PARTNER_FEE_BPS_MISMATCH";
|
|
150
|
+
// bundleCosts[PARTNER_COST] validation
|
|
151
|
+
ViolationCode["PartnerCostMissing"] = "PARTNER_COST_MISSING";
|
|
152
|
+
ViolationCode["PartnerCostAmountInvalid"] = "PARTNER_COST_AMOUNT_INVALID";
|
|
153
|
+
ViolationCode["PartnerCostFeeBpsInvalid"] = "PARTNER_COST_FEE_BPS_INVALID";
|
|
154
|
+
ViolationCode["PartnerCostAmountUnexpectedlyZero"] = "PARTNER_COST_AMOUNT_UNEXPECTEDLY_ZERO";
|
|
155
|
+
ViolationCode["PartnerCostAmountUnexpectedlyNonZero"] = "PARTNER_COST_AMOUNT_UNEXPECTEDLY_NON_ZERO";
|
|
156
|
+
ViolationCode["PartnerCostFeeBpsMismatch"] = "PARTNER_COST_FEE_BPS_MISMATCH";
|
|
157
157
|
// Trade grouping
|
|
158
158
|
ViolationCode["IntentNotMatchedToTradeGroup"] = "INTENT_NOT_MATCHED_TO_TRADE_GROUP";
|
|
159
|
+
ViolationCode["TradeGroupHasNoIntent"] = "TRADE_GROUP_HAS_NO_INTENT";
|
|
160
|
+
ViolationCode["DuplicateIntentsInTradeGroup"] = "DUPLICATE_INTENTS_IN_TRADE_GROUP";
|
|
161
|
+
// Intent field validation
|
|
162
|
+
ViolationCode["IntentIdMismatch"] = "INTENT_ID_MISMATCH";
|
|
163
|
+
ViolationCode["IntentOwnerMismatch"] = "INTENT_OWNER_MISMATCH";
|
|
164
|
+
ViolationCode["IntentAuthorityMismatch"] = "INTENT_AUTHORITY_MISMATCH";
|
|
165
|
+
ViolationCode["IntentAllowedCancelBeneficiaryMismatch"] = "INTENT_ALLOWED_CANCEL_BENEFICIARY_MISMATCH";
|
|
166
|
+
ViolationCode["IntentSrcAllowedSenderMismatch"] = "INTENT_SRC_ALLOWED_SENDER_MISMATCH";
|
|
167
|
+
ViolationCode["IntentInputTokenAddressMismatch"] = "INTENT_INPUT_TOKEN_ADDRESS_MISMATCH";
|
|
168
|
+
ViolationCode["IntentInputTokenMissing"] = "INTENT_INPUT_TOKEN_MISSING";
|
|
169
|
+
ViolationCode["IntentInputTokenDuplicate"] = "INTENT_INPUT_TOKEN_DUPLICATE";
|
|
170
|
+
ViolationCode["IntentInputTokenWrappedAddressUnknown"] = "INTENT_INPUT_TOKEN_WRAPPED_ADDRESS_UNKNOWN";
|
|
171
|
+
ViolationCode["IntentConstraintBudgetMismatch"] = "INTENT_CONSTRAINT_BUDGET_MISMATCH";
|
|
172
|
+
ViolationCode["IntentGiveTokenNotEmptyForSameChain"] = "INTENT_GIVE_TOKEN_NOT_EMPTY_FOR_SAME_CHAIN";
|
|
173
|
+
ViolationCode["IntentGiveTokenInputAddressMismatch"] = "INTENT_GIVE_TOKEN_INPUT_ADDRESS_MISMATCH";
|
|
174
|
+
ViolationCode["IntentGiveTokenAddressFormatMismatch"] = "INTENT_GIVE_TOKEN_ADDRESS_FORMAT_MISMATCH";
|
|
175
|
+
ViolationCode["IntentTakeTokenFromAddressInvalid"] = "INTENT_TAKE_TOKEN_FROM_ADDRESS_INVALID";
|
|
176
|
+
ViolationCode["IntentTakeTokenMissing"] = "INTENT_TAKE_TOKEN_MISSING";
|
|
177
|
+
ViolationCode["IntentTakeTokenDuplicate"] = "INTENT_TAKE_TOKEN_DUPLICATE";
|
|
178
|
+
ViolationCode["IntentTakeTokenAddressMismatch"] = "INTENT_TAKE_TOKEN_ADDRESS_MISMATCH";
|
|
179
|
+
ViolationCode["IntentReceiverDetailsAddressInvalid"] = "INTENT_RECEIVER_DETAILS_ADDRESS_INVALID";
|
|
180
|
+
ViolationCode["IntentReceiverDetailsChainIdsMismatch"] = "INTENT_RECEIVER_DETAILS_CHAIN_IDS_MISMATCH";
|
|
181
|
+
ViolationCode["IntentReceiverDetailsMissing"] = "INTENT_RECEIVER_DETAILS_MISSING";
|
|
182
|
+
ViolationCode["IntentReceiverDetailsDuplicate"] = "INTENT_RECEIVER_DETAILS_DUPLICATE";
|
|
183
|
+
ViolationCode["IntentReceiverDetailsAddressChainMismatch"] = "INTENT_RECEIVER_DETAILS_ADDRESS_CHAIN_MISMATCH";
|
|
184
|
+
ViolationCode["IntentDstAuthorityAddressInvalid"] = "INTENT_DST_AUTHORITY_ADDRESS_INVALID";
|
|
185
|
+
ViolationCode["IntentDstAuthorityChainIdsMismatch"] = "INTENT_DST_AUTHORITY_CHAIN_IDS_MISMATCH";
|
|
186
|
+
ViolationCode["IntentDstAuthorityMissing"] = "INTENT_DST_AUTHORITY_MISSING";
|
|
187
|
+
ViolationCode["IntentDstAuthorityDuplicate"] = "INTENT_DST_AUTHORITY_DUPLICATE";
|
|
188
|
+
ViolationCode["IntentDstAuthorityAddressChainMismatch"] = "INTENT_DST_AUTHORITY_ADDRESS_CHAIN_MISMATCH";
|
|
189
|
+
ViolationCode["IntentExecutionMetadataMismatch"] = "INTENT_EXECUTION_METADATA_MISMATCH";
|
|
190
|
+
ViolationCode["IntentDlnMetadataMismatch"] = "INTENT_DLN_METADATA_MISMATCH";
|
|
191
|
+
ViolationCode["IntentExternalCallHashMismatch"] = "INTENT_EXTERNAL_CALL_HASH_MISMATCH";
|
|
192
|
+
ViolationCode["IntentNumericValueNegative"] = "INTENT_NUMERIC_VALUE_NEGATIVE";
|
|
193
|
+
ViolationCode["IntentNumericValueInvalid"] = "INTENT_NUMERIC_VALUE_INVALID";
|
|
194
|
+
ViolationCode["IntentIdComputeError"] = "INTENT_ID_COMPUTE_ERROR";
|
|
159
195
|
// Required actions — kind consistency
|
|
160
196
|
ViolationCode["RequiredActionKindInconsistent"] = "REQUIRED_ACTION_KIND_INCONSISTENT";
|
|
161
197
|
// Solana — general required actions
|
|
@@ -218,6 +254,44 @@ var ViolationCode;
|
|
|
218
254
|
ViolationCode["HookActionsInvalid"] = "HOOK_ACTIONS_INVALID";
|
|
219
255
|
ViolationCode["HookGasCompensationWithoutInfo"] = "HOOK_GAS_COMPENSATION_WITHOUT_INFO";
|
|
220
256
|
ViolationCode["HookDuplicateActionId"] = "HOOK_DUPLICATE_ACTION_ID";
|
|
257
|
+
ViolationCode["HookPlaceholderResolutionFailed"] = "HOOK_PLACEHOLDER_RESOLUTION_FAILED";
|
|
258
|
+
ViolationCode["UnexpectedPostHook"] = "UNEXPECTED_POST_HOOK";
|
|
259
|
+
// Hooks — compensation hook structure (response.preHooks[i >= request.preHooks.length])
|
|
260
|
+
ViolationCode["CompensationHookPlaceHoldersNotEmpty"] = "COMPENSATION_HOOK_PLACE_HOLDERS_NOT_EMPTY";
|
|
261
|
+
ViolationCode["CompensationHookIsAtomicInvalid"] = "COMPENSATION_HOOK_IS_ATOMIC_INVALID";
|
|
262
|
+
ViolationCode["CompensationHookTypeInvalid"] = "COMPENSATION_HOOK_TYPE_INVALID";
|
|
263
|
+
ViolationCode["CompensationHookFromMismatch"] = "COMPENSATION_HOOK_FROM_MISMATCH";
|
|
264
|
+
ViolationCode["CompensationHookEvmGasCompensationInfoPresent"] = "COMPENSATION_HOOK_EVM_GAS_COMPENSATION_INFO_PRESENT";
|
|
265
|
+
ViolationCode["CompensationHookEvmToMissing"] = "COMPENSATION_HOOK_EVM_TO_MISSING";
|
|
266
|
+
ViolationCode["CompensationHookEvmToMismatch"] = "COMPENSATION_HOOK_EVM_TO_MISMATCH";
|
|
267
|
+
ViolationCode["CompensationHookEvmDataInvalid"] = "COMPENSATION_HOOK_EVM_DATA_INVALID";
|
|
268
|
+
ViolationCode["CompensationHookEvmValueInvalid"] = "COMPENSATION_HOOK_EVM_VALUE_INVALID";
|
|
269
|
+
ViolationCode["CompensationHookSolanaToOrValuePresent"] = "COMPENSATION_HOOK_SOLANA_TO_OR_VALUE_PRESENT";
|
|
270
|
+
ViolationCode["CompensationHookSolanaGasCompensationInfoMissing"] = "COMPENSATION_HOOK_SOLANA_GAS_COMPENSATION_INFO_MISSING";
|
|
271
|
+
ViolationCode["CompensationHookSolanaGasCompensationInfoMismatch"] = "COMPENSATION_HOOK_SOLANA_GAS_COMPENSATION_INFO_MISMATCH";
|
|
272
|
+
ViolationCode["CompensationHookRequiredActionsInvalid"] = "COMPENSATION_HOOK_REQUIRED_ACTIONS_INVALID";
|
|
273
|
+
// Hooks — Delegate operation (EVM Delegated hooks only)
|
|
274
|
+
ViolationCode["HookDelegateNotFirst"] = "HOOK_DELEGATE_NOT_FIRST";
|
|
275
|
+
ViolationCode["HookMultipleDelegate"] = "HOOK_MULTIPLE_DELEGATE";
|
|
276
|
+
ViolationCode["HookDelegateInDirect"] = "HOOK_DELEGATE_IN_DIRECT";
|
|
277
|
+
// Hooks — Direct hook (EVM Direct hooks only) and chain-engine constraints
|
|
278
|
+
ViolationCode["HookSolanaCannotBeDirect"] = "HOOK_SOLANA_CANNOT_BE_DIRECT";
|
|
279
|
+
ViolationCode["HookDirectActionTypeInvalid"] = "HOOK_DIRECT_ACTION_TYPE_INVALID";
|
|
280
|
+
ViolationCode["HookDirectChainIdMismatch"] = "HOOK_DIRECT_CHAIN_ID_MISMATCH";
|
|
281
|
+
ViolationCode["HookDirectPlaceholdersMismatch"] = "HOOK_DIRECT_PLACEHOLDERS_MISMATCH";
|
|
282
|
+
// Hooks — calldata placeholder substitution (EVM hook actions)
|
|
283
|
+
ViolationCode["HookActionCalldataMismatch"] = "HOOK_ACTION_CALLDATA_MISMATCH";
|
|
284
|
+
// Hooks — Delegated hook (EVM Delegated hooks only)
|
|
285
|
+
ViolationCode["HookDelegatedActionTypeInvalid"] = "HOOK_DELEGATED_ACTION_TYPE_INVALID";
|
|
286
|
+
ViolationCode["HookDelegatedPlaceholdersMismatch"] = "HOOK_DELEGATED_PLACEHOLDERS_MISMATCH";
|
|
287
|
+
// Hooks — Sign712MetaMaskCaveats / WithPlaceholders structure (hook-scope)
|
|
288
|
+
ViolationCode["HookSign712TransactionCallsEmpty"] = "HOOK_SIGN712_TRANSACTION_CALLS_EMPTY";
|
|
289
|
+
ViolationCode["HookSign712TransactionCallsTooMany"] = "HOOK_SIGN712_TRANSACTION_CALLS_TOO_MANY";
|
|
290
|
+
// Hooks — Sign7702Authorization↔Delegate binding (hook-scope)
|
|
291
|
+
ViolationCode["HookDelegateOpWrongType"] = "HOOK_DELEGATE_OP_WRONG_TYPE";
|
|
292
|
+
// Hooks — transactionCalls[0] consistency with hook fields
|
|
293
|
+
ViolationCode["HookActionTransactionToMismatch"] = "HOOK_ACTION_TRANSACTION_TO_MISMATCH";
|
|
294
|
+
ViolationCode["HookActionTransactionValueMismatch"] = "HOOK_ACTION_TRANSACTION_VALUE_MISMATCH";
|
|
221
295
|
// Hooks — Solana
|
|
222
296
|
ViolationCode["SolanaHookDataMismatch"] = "SOLANA_HOOK_DATA_MISMATCH";
|
|
223
297
|
ViolationCode["SolanaHookDecodeError"] = "SOLANA_HOOK_DECODE_ERROR";
|
|
@@ -229,13 +303,11 @@ var ViolationCode;
|
|
|
229
303
|
ViolationCode["SolanaGasCompensationTokenMismatch"] = "SOLANA_GAS_COMPENSATION_TOKEN_MISMATCH";
|
|
230
304
|
ViolationCode["SolanaGasCompensationFeePayerIsUser"] = "SOLANA_GAS_COMPENSATION_FEE_PAYER_IS_USER";
|
|
231
305
|
ViolationCode["SolanaGasCompensationUnexpectedInstruction"] = "SOLANA_GAS_COMPENSATION_UNEXPECTED_INSTRUCTION";
|
|
232
|
-
ViolationCode["UrlNotWhitelisted"] = "URL_NOT_WHITELISTED";
|
|
233
306
|
})(ViolationCode || (exports.ViolationCode = ViolationCode = {}));
|
|
234
307
|
var Environment;
|
|
235
308
|
(function (Environment) {
|
|
236
309
|
Environment[Environment["Prod"] = 0] = "Prod";
|
|
237
310
|
Environment[Environment["Hanoi"] = 1] = "Hanoi";
|
|
238
311
|
Environment[Environment["Dubai"] = 2] = "Dubai";
|
|
239
|
-
Environment[Environment["Madrid"] = 3] = "Madrid";
|
|
240
312
|
})(Environment || (exports.Environment = Environment = {}));
|
|
241
313
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/types/validation.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/types/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateCompensationHookStructure = validateCompensationHookStructure;
|
|
4
|
+
const types_1 = require("../types");
|
|
5
|
+
const address_1 = require("../helpers/address");
|
|
6
|
+
const gas_compensation_1 = require("../helpers/gas-compensation");
|
|
7
|
+
const evm_gas_compensation_tx_1 = require("../helpers/evm-gas-compensation-tx");
|
|
8
|
+
const subscription_to_chain_id_1 = require("../whitelists/subscription-to-chain-id");
|
|
9
|
+
// Validates `response.preHooks[i].hook` for a compensation hook
|
|
10
|
+
// (i.e. `i >= request.preHooks.length`). This is the primary MITM defense for
|
|
11
|
+
// surplus preHooks — `validateHookEcho` cannot help here because there is no
|
|
12
|
+
// matching request entry to compare against.
|
|
13
|
+
function validateCompensationHookStructure(hookPayload, basePath, request) {
|
|
14
|
+
const hook = hookPayload.hook;
|
|
15
|
+
const hookPath = `${basePath}.hook`;
|
|
16
|
+
// Resolve the hook's subscriptionId into a real chainId once; every
|
|
17
|
+
// chain-aware helper downstream takes real. Fall back to the subscriptionId
|
|
18
|
+
// value for unknown chains.
|
|
19
|
+
const realHookChainId = (0, subscription_to_chain_id_1.resolveChainIdOrSelf)(hook.chainId);
|
|
20
|
+
const violations = [
|
|
21
|
+
...validateCommonFields(hook, hookPath),
|
|
22
|
+
...validateCompensationRequiredActionsOps(hookPayload, basePath, realHookChainId),
|
|
23
|
+
];
|
|
24
|
+
const allGroups = (0, gas_compensation_1.extractGasCompensationGroups)(request);
|
|
25
|
+
const matchingGroups = findGroupsMatchingFrom(hook, realHookChainId, allGroups);
|
|
26
|
+
if (matchingGroups.length === 0) {
|
|
27
|
+
violations.push({
|
|
28
|
+
code: types_1.ViolationCode.CompensationHookFromMismatch,
|
|
29
|
+
message: "compensation hook.from does not match any request"
|
|
30
|
+
+ " gasCompensationInfo.sender on the same chain",
|
|
31
|
+
path: `${hookPath}.from`,
|
|
32
|
+
expected: allGroups.map(g => ({ chainId: g.chainId, sender: g.sender })),
|
|
33
|
+
actual: { chainId: hook.chainId, from: hook.from },
|
|
34
|
+
});
|
|
35
|
+
// Without a matching group we cannot meaningfully run chain-specific
|
|
36
|
+
// structural checks (token address comparison, etc.).
|
|
37
|
+
return violations;
|
|
38
|
+
}
|
|
39
|
+
const isSolana = (0, address_1.getChainEngine)(realHookChainId) === types_1.ChainEngine.Solana;
|
|
40
|
+
violations.push(...(isSolana
|
|
41
|
+
? validateSolanaCompensationStructure(hook, matchingGroups, hookPath)
|
|
42
|
+
: validateEvmCompensationStructure(hook, matchingGroups, realHookChainId, hookPath)));
|
|
43
|
+
return violations;
|
|
44
|
+
}
|
|
45
|
+
function validateCommonFields(hook, hookPath) {
|
|
46
|
+
const violations = [];
|
|
47
|
+
// HIGH: compensation hooks always carry empty placeHolders.
|
|
48
|
+
if (hook.placeHolders.length !== 0) {
|
|
49
|
+
violations.push({
|
|
50
|
+
code: types_1.ViolationCode.CompensationHookPlaceHoldersNotEmpty,
|
|
51
|
+
message: "compensation hook must have empty placeHolders",
|
|
52
|
+
path: `${hookPath}.placeHolders`,
|
|
53
|
+
expected: [],
|
|
54
|
+
actual: hook.placeHolders,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
// HIGH: API always emits isAtomic=false for compensation hooks.
|
|
58
|
+
if (hook.isAtomic !== false) {
|
|
59
|
+
violations.push({
|
|
60
|
+
code: types_1.ViolationCode.CompensationHookIsAtomicInvalid,
|
|
61
|
+
message: "compensation hook must have isAtomic=false",
|
|
62
|
+
path: `${hookPath}.isAtomic`,
|
|
63
|
+
expected: false,
|
|
64
|
+
actual: hook.isAtomic,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
// MEDIUM: API never sets hook.type='direct' for compensation; delegated or
|
|
68
|
+
// omitted is allowed.
|
|
69
|
+
if (hook.type !== undefined && hook.type !== types_1.BundleHookType.Delegated) {
|
|
70
|
+
violations.push({
|
|
71
|
+
code: types_1.ViolationCode.CompensationHookTypeInvalid,
|
|
72
|
+
message: "compensation hook must have type=delegated (or omitted)",
|
|
73
|
+
path: `${hookPath}.type`,
|
|
74
|
+
expected: types_1.BundleHookType.Delegated,
|
|
75
|
+
actual: hook.type,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
return violations;
|
|
79
|
+
}
|
|
80
|
+
function findGroupsMatchingFrom(hook, realHookChainId, groups) {
|
|
81
|
+
return groups.filter(g => g.realChainId === realHookChainId
|
|
82
|
+
&& (0, address_1.addressEquals)(realHookChainId, g.sender, hook.from));
|
|
83
|
+
}
|
|
84
|
+
// CRITICAL: a compensation hook must emit GasCompensation ops and must not
|
|
85
|
+
// emit Hook ops. `validateHookActionsList` already enforces that each action
|
|
86
|
+
// carries exactly one op from {Hook, GasCompensation}; this rule narrows further.
|
|
87
|
+
function validateCompensationRequiredActionsOps(hookPayload, basePath, realHookChainId) {
|
|
88
|
+
const isSolana = (0, address_1.getChainEngine)(realHookChainId) === types_1.ChainEngine.Solana;
|
|
89
|
+
const hookOp = isSolana
|
|
90
|
+
? types_1.SolanaActionOperation.Hook
|
|
91
|
+
: types_1.EvmActionOperation.Hook;
|
|
92
|
+
const gasCompensationOp = isSolana
|
|
93
|
+
? types_1.SolanaActionOperation.GasCompensation
|
|
94
|
+
: types_1.EvmActionOperation.GasCompensation;
|
|
95
|
+
const ops = hookPayload.requiredActions
|
|
96
|
+
.flatMap(a => a.actions);
|
|
97
|
+
const violations = [];
|
|
98
|
+
if (ops.includes(hookOp)) {
|
|
99
|
+
violations.push({
|
|
100
|
+
code: types_1.ViolationCode.CompensationHookRequiredActionsInvalid,
|
|
101
|
+
message: "compensation hook requiredActions must not contain"
|
|
102
|
+
+ " the `Hook` operation",
|
|
103
|
+
path: `${basePath}.requiredActions`,
|
|
104
|
+
actual: ops,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
if (!ops.includes(gasCompensationOp)) {
|
|
108
|
+
violations.push({
|
|
109
|
+
code: types_1.ViolationCode.CompensationHookRequiredActionsInvalid,
|
|
110
|
+
message: "compensation hook requiredActions must contain at least one"
|
|
111
|
+
+ " `GasCompensation` operation",
|
|
112
|
+
path: `${basePath}.requiredActions`,
|
|
113
|
+
actual: ops,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
return violations;
|
|
117
|
+
}
|
|
118
|
+
// =============================================
|
|
119
|
+
// EVM compensation hook structure
|
|
120
|
+
// =============================================
|
|
121
|
+
function validateEvmCompensationStructure(hook, groups, realHookChainId, hookPath) {
|
|
122
|
+
const violations = [];
|
|
123
|
+
// MEDIUM: API builds EVM compensation hooks without gasCompensationInfo
|
|
124
|
+
// (only Solana compensation hooks carry it for two-pass grouping).
|
|
125
|
+
if (hook.gasCompensationInfo !== undefined) {
|
|
126
|
+
violations.push({
|
|
127
|
+
code: types_1.ViolationCode.CompensationHookEvmGasCompensationInfoPresent,
|
|
128
|
+
message: "EVM compensation hook must not include gasCompensationInfo",
|
|
129
|
+
path: `${hookPath}.gasCompensationInfo`,
|
|
130
|
+
actual: hook.gasCompensationInfo,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
// HIGH: `to` is required for EVM hooks.
|
|
134
|
+
if (hook.to === undefined) {
|
|
135
|
+
violations.push({
|
|
136
|
+
code: types_1.ViolationCode.CompensationHookEvmToMissing,
|
|
137
|
+
message: "EVM compensation hook must have `to`",
|
|
138
|
+
path: `${hookPath}.to`,
|
|
139
|
+
});
|
|
140
|
+
return violations;
|
|
141
|
+
}
|
|
142
|
+
// Native vs ERC20 classification + value/data form is shared with
|
|
143
|
+
// hook-scope `transactionCalls[0]` validation; the helper handles both.
|
|
144
|
+
violations.push(...(0, evm_gas_compensation_tx_1.validateEvmGasCompensationTx)({ to: hook.to, data: hook.data, value: hook.value ?? "0" }, groups, realHookChainId, hookPath, {
|
|
145
|
+
toMismatch: types_1.ViolationCode.CompensationHookEvmToMismatch,
|
|
146
|
+
dataInvalid: types_1.ViolationCode.CompensationHookEvmDataInvalid,
|
|
147
|
+
valueInvalid: types_1.ViolationCode.CompensationHookEvmValueInvalid,
|
|
148
|
+
}));
|
|
149
|
+
return violations;
|
|
150
|
+
}
|
|
151
|
+
// =============================================
|
|
152
|
+
// Solana compensation hook structure
|
|
153
|
+
// =============================================
|
|
154
|
+
function validateSolanaCompensationStructure(hook, groups, hookPath) {
|
|
155
|
+
const violations = [];
|
|
156
|
+
// LOW: API deletes `to` and `value` from Solana hook echoes.
|
|
157
|
+
if (hook.to !== undefined) {
|
|
158
|
+
violations.push({
|
|
159
|
+
code: types_1.ViolationCode.CompensationHookSolanaToOrValuePresent,
|
|
160
|
+
message: "Solana compensation hook must not include `to`",
|
|
161
|
+
path: `${hookPath}.to`,
|
|
162
|
+
actual: hook.to,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
if (hook.value !== undefined) {
|
|
166
|
+
violations.push({
|
|
167
|
+
code: types_1.ViolationCode.CompensationHookSolanaToOrValuePresent,
|
|
168
|
+
message: "Solana compensation hook must not include `value`",
|
|
169
|
+
path: `${hookPath}.value`,
|
|
170
|
+
actual: hook.value,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
// HIGH: Solana compensation hooks must carry gasCompensationInfo (API uses
|
|
174
|
+
// it for two-pass grouping to include the comp transaction's own cost).
|
|
175
|
+
const info = hook.gasCompensationInfo;
|
|
176
|
+
if (info === undefined) {
|
|
177
|
+
violations.push({
|
|
178
|
+
code: types_1.ViolationCode.CompensationHookSolanaGasCompensationInfoMissing,
|
|
179
|
+
message: "Solana compensation hook must include gasCompensationInfo",
|
|
180
|
+
path: `${hookPath}.gasCompensationInfo`,
|
|
181
|
+
});
|
|
182
|
+
return violations;
|
|
183
|
+
}
|
|
184
|
+
// CRITICAL: all three fields must match some request group.
|
|
185
|
+
const matches = groups.some(g => g.chainId === info.chainId
|
|
186
|
+
&& (0, address_1.addressEquals)(g.realChainId, g.tokenAddress, info.tokenAddress)
|
|
187
|
+
&& (0, address_1.addressEquals)(g.realChainId, g.sender, info.sender));
|
|
188
|
+
if (!matches) {
|
|
189
|
+
violations.push({
|
|
190
|
+
code: types_1.ViolationCode.CompensationHookSolanaGasCompensationInfoMismatch,
|
|
191
|
+
message: "Solana compensation hook.gasCompensationInfo does not match"
|
|
192
|
+
+ " any request group",
|
|
193
|
+
path: `${hookPath}.gasCompensationInfo`,
|
|
194
|
+
expected: groups,
|
|
195
|
+
actual: info,
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
// Note: the compensation transaction's inner bytes (programs, transfer,
|
|
199
|
+
// fee-payer, etc.) are already validated by validateSolanaGasCompensationAction
|
|
200
|
+
// running against the single [GasCompensation] required action in this hook.
|
|
201
|
+
return violations;
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=compensation-hook.js.map
|