@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,18 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TIMESTAMP_ENFORCER_CONTRACTS = exports.ID_ENFORCER_CONTRACTS = exports.EXACT_EXECUTION_BATCH_ENFORCER_CONTRACTS = exports.EXACT_EXECUTION_ENFORCER_CONTRACTS = void 0;
|
|
3
|
+
exports.TIMESTAMP_ENFORCER_CONTRACTS = exports.ID_ENFORCER_CONTRACTS = exports.EXACT_EXECUTION_BATCH_ENFORCER_CONTRACTS = exports.EXACT_EXECUTION_ENFORCER_CONTRACTS = exports.AVALANCHE_TIMESTAMP_ENFORCER = exports.AVALANCHE_ID_ENFORCER = exports.AVALANCHE_EXACT_EXECUTION_BATCH_ENFORCER = exports.AVALANCHE_EXACT_EXECUTION_ENFORCER = exports.DEFAULT_TIMESTAMP_ENFORCER = exports.DEFAULT_ID_ENFORCER = exports.DEFAULT_EXACT_EXECUTION_BATCH_ENFORCER = exports.DEFAULT_EXACT_EXECUTION_ENFORCER = void 0;
|
|
4
4
|
const enums_1 = require("../../types/enums");
|
|
5
|
+
const types_1 = require("../types");
|
|
6
|
+
const metamask_delegation_chains_1 = require("./metamask-delegation-chains");
|
|
5
7
|
// See: https://docs.metamask.io/smart-accounts-kit/changelog/0.13.0#caveat-enforcers
|
|
8
|
+
// Avalanche has its own deployment with different addresses; everything else uses the
|
|
9
|
+
// "default" set of addresses deployed by MetaMask.
|
|
10
|
+
exports.DEFAULT_EXACT_EXECUTION_ENFORCER = "0x146713078D39eCC1F5338309c28405ccf85Abfbb";
|
|
11
|
+
exports.DEFAULT_EXACT_EXECUTION_BATCH_ENFORCER = "0x1e141e455d08721Dd5BCDA1BaA6Ea5633Afd5017";
|
|
12
|
+
exports.DEFAULT_ID_ENFORCER = "0xC8B5D93463c893401094cc70e66A206fb5987997";
|
|
13
|
+
exports.DEFAULT_TIMESTAMP_ENFORCER = "0x1046bb45C8d673d4ea75321280DB34899413c069";
|
|
14
|
+
exports.AVALANCHE_EXACT_EXECUTION_ENFORCER = "0xA8F31338Bf2dadE38719eC1E5291Ca1eBBA3956f";
|
|
15
|
+
exports.AVALANCHE_EXACT_EXECUTION_BATCH_ENFORCER = "0x421edBd31b161679A85A24fd4634ac508d9A7205";
|
|
16
|
+
exports.AVALANCHE_ID_ENFORCER = "0x60bAF091cADA81FEA4009627EaC8F6FD4e6AF5A9";
|
|
17
|
+
exports.AVALANCHE_TIMESTAMP_ENFORCER = "0xDBA423E48E011006b93149f33E44CfF9C0D23602";
|
|
6
18
|
exports.EXACT_EXECUTION_ENFORCER_CONTRACTS = {
|
|
7
|
-
|
|
19
|
+
...(0, types_1.buildSameAddressMap)(metamask_delegation_chains_1.METAMASK_DEFAULT_EVM_CHAINS, exports.DEFAULT_EXACT_EXECUTION_ENFORCER),
|
|
20
|
+
[enums_1.ChainId.Avalanche]: [exports.AVALANCHE_EXACT_EXECUTION_ENFORCER],
|
|
8
21
|
};
|
|
9
22
|
exports.EXACT_EXECUTION_BATCH_ENFORCER_CONTRACTS = {
|
|
10
|
-
|
|
23
|
+
...(0, types_1.buildSameAddressMap)(metamask_delegation_chains_1.METAMASK_DEFAULT_EVM_CHAINS, exports.DEFAULT_EXACT_EXECUTION_BATCH_ENFORCER),
|
|
24
|
+
[enums_1.ChainId.Avalanche]: [exports.AVALANCHE_EXACT_EXECUTION_BATCH_ENFORCER],
|
|
11
25
|
};
|
|
12
26
|
exports.ID_ENFORCER_CONTRACTS = {
|
|
13
|
-
|
|
27
|
+
...(0, types_1.buildSameAddressMap)(metamask_delegation_chains_1.METAMASK_DEFAULT_EVM_CHAINS, exports.DEFAULT_ID_ENFORCER),
|
|
28
|
+
[enums_1.ChainId.Avalanche]: [exports.AVALANCHE_ID_ENFORCER],
|
|
14
29
|
};
|
|
15
30
|
exports.TIMESTAMP_ENFORCER_CONTRACTS = {
|
|
16
|
-
|
|
31
|
+
...(0, types_1.buildSameAddressMap)(metamask_delegation_chains_1.METAMASK_DEFAULT_EVM_CHAINS, exports.DEFAULT_TIMESTAMP_ENFORCER),
|
|
32
|
+
[enums_1.ChainId.Avalanche]: [exports.AVALANCHE_TIMESTAMP_ENFORCER],
|
|
17
33
|
};
|
|
18
34
|
//# sourceMappingURL=caveat-enforcers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caveat-enforcers.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/caveat-enforcers.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;
|
|
1
|
+
{"version":3,"file":"caveat-enforcers.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/caveat-enforcers.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,oCAAgE;AAChE,6EAA2E;AAE3E,qFAAqF;AACrF,sFAAsF;AACtF,mDAAmD;AAEtC,QAAA,gCAAgC,GAAG,4CAA4C,CAAC;AAChF,QAAA,sCAAsC,GAAG,4CAA4C,CAAC;AACtF,QAAA,mBAAmB,GAAG,4CAA4C,CAAC;AACnE,QAAA,0BAA0B,GAAG,4CAA4C,CAAC;AAE1E,QAAA,kCAAkC,GAAG,4CAA4C,CAAC;AAClF,QAAA,wCAAwC,GAAG,4CAA4C,CAAC;AACxF,QAAA,qBAAqB,GAAG,4CAA4C,CAAC;AACrE,QAAA,4BAA4B,GAAG,4CAA4C,CAAC;AAE5E,QAAA,kCAAkC,GAAoB;IAC/D,GAAG,IAAA,2BAAmB,EAAC,wDAA2B,EAAE,wCAAgC,CAAC;IACrF,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,0CAAkC,CAAC;CACnD,CAAC;AAEE,QAAA,wCAAwC,GAAoB;IACrE,GAAG,IAAA,2BAAmB,EAAC,wDAA2B,EAAE,8CAAsC,CAAC;IAC3F,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,gDAAwC,CAAC;CACzD,CAAC;AAEE,QAAA,qBAAqB,GAAoB;IAClD,GAAG,IAAA,2BAAmB,EAAC,wDAA2B,EAAE,2BAAmB,CAAC;IACxE,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,6BAAqB,CAAC;CACtC,CAAC;AAEE,QAAA,4BAA4B,GAAoB;IACzD,GAAG,IAAA,2BAAmB,EAAC,wDAA2B,EAAE,kCAA0B,CAAC;IAC/E,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,oCAA4B,CAAC;CAC7C,CAAC"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DELEGATION_MANAGER_CONTRACTS = void 0;
|
|
3
|
+
exports.DELEGATION_MANAGER_CONTRACTS = exports.AVALANCHE_DELEGATION_MANAGER = exports.DEFAULT_DELEGATION_MANAGER = void 0;
|
|
4
4
|
const enums_1 = require("../../types/enums");
|
|
5
|
+
const types_1 = require("../types");
|
|
6
|
+
const metamask_delegation_chains_1 = require("./metamask-delegation-chains");
|
|
5
7
|
// See: https://docs.metamask.io/smart-accounts-kit/changelog/0.13.0#delegation-framework
|
|
8
|
+
exports.DEFAULT_DELEGATION_MANAGER = "0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3";
|
|
9
|
+
exports.AVALANCHE_DELEGATION_MANAGER = "0xAe210fcd400801CFd06F2Ae831571363634F673A";
|
|
6
10
|
exports.DELEGATION_MANAGER_CONTRACTS = {
|
|
7
|
-
|
|
11
|
+
...(0, types_1.buildSameAddressMap)(metamask_delegation_chains_1.METAMASK_DEFAULT_EVM_CHAINS, exports.DEFAULT_DELEGATION_MANAGER),
|
|
12
|
+
[enums_1.ChainId.Avalanche]: [exports.AVALANCHE_DELEGATION_MANAGER],
|
|
8
13
|
};
|
|
9
14
|
//# sourceMappingURL=delegation-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegation-manager.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/delegation-manager.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;
|
|
1
|
+
{"version":3,"file":"delegation-manager.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/delegation-manager.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,oCAAgE;AAChE,6EAA2E;AAE3E,yFAAyF;AAE5E,QAAA,0BAA0B,GAAG,4CAA4C,CAAC;AAC1E,QAAA,4BAA4B,GAAG,4CAA4C,CAAC;AAE5E,QAAA,4BAA4B,GAAoB;IACzD,GAAG,IAAA,2BAAmB,EAAC,wDAA2B,EAAE,kCAA0B,CAAC;IAC/E,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,oCAA4B,CAAC;CAC7C,CAAC"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EIP7702_DELEGATION_CONTRACTS = void 0;
|
|
3
|
+
exports.EIP7702_DELEGATION_CONTRACTS = exports.AVALANCHE_EIP7702_STATELESS_DELEGATOR_IMPL = exports.DEFAULT_EIP7702_STATELESS_DELEGATOR_IMPL = void 0;
|
|
4
4
|
const enums_1 = require("../../types/enums");
|
|
5
|
+
const types_1 = require("../types");
|
|
6
|
+
const metamask_delegation_chains_1 = require("./metamask-delegation-chains");
|
|
7
|
+
exports.DEFAULT_EIP7702_STATELESS_DELEGATOR_IMPL = "0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B";
|
|
8
|
+
exports.AVALANCHE_EIP7702_STATELESS_DELEGATOR_IMPL = "0x5E52D56A42320997aD2F89512a62cCA5C90d181d";
|
|
5
9
|
exports.EIP7702_DELEGATION_CONTRACTS = {
|
|
6
|
-
|
|
10
|
+
...(0, types_1.buildSameAddressMap)(metamask_delegation_chains_1.METAMASK_DEFAULT_EVM_CHAINS, exports.DEFAULT_EIP7702_STATELESS_DELEGATOR_IMPL),
|
|
11
|
+
[enums_1.ChainId.Avalanche]: [exports.AVALANCHE_EIP7702_STATELESS_DELEGATOR_IMPL],
|
|
7
12
|
};
|
|
8
13
|
//# sourceMappingURL=eip7702-delegation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eip7702-delegation.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/eip7702-delegation.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;
|
|
1
|
+
{"version":3,"file":"eip7702-delegation.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/eip7702-delegation.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,oCAAgE;AAChE,6EAA2E;AAE9D,QAAA,wCAAwC,GAAG,4CAA4C,CAAC;AACxF,QAAA,0CAA0C,GAAG,4CAA4C,CAAC;AAE1F,QAAA,4BAA4B,GAAoB;IACzD,GAAG,IAAA,2BAAmB,EAAC,wDAA2B,EAAE,gDAAwC,CAAC;IAC7F,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,kDAA0C,CAAC;CAC3D,CAAC"}
|
|
@@ -1,17 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WETH_CONTRACTS = exports.PERMIT2_CONTRACTS = exports.TIMESTAMP_ENFORCER_CONTRACTS = exports.ID_ENFORCER_CONTRACTS = exports.EXACT_EXECUTION_BATCH_ENFORCER_CONTRACTS = exports.EXACT_EXECUTION_ENFORCER_CONTRACTS = exports.DELEGATION_MANAGER_CONTRACTS = exports.EIP7702_DELEGATION_CONTRACTS = void 0;
|
|
3
|
+
exports.WETH_CONTRACTS = exports.DEFAULT_PERMIT2_ADDRESS = exports.PERMIT2_CONTRACTS = exports.AVALANCHE_TIMESTAMP_ENFORCER = exports.AVALANCHE_ID_ENFORCER = exports.AVALANCHE_EXACT_EXECUTION_BATCH_ENFORCER = exports.AVALANCHE_EXACT_EXECUTION_ENFORCER = exports.DEFAULT_TIMESTAMP_ENFORCER = exports.DEFAULT_ID_ENFORCER = exports.DEFAULT_EXACT_EXECUTION_BATCH_ENFORCER = exports.DEFAULT_EXACT_EXECUTION_ENFORCER = exports.TIMESTAMP_ENFORCER_CONTRACTS = exports.ID_ENFORCER_CONTRACTS = exports.EXACT_EXECUTION_BATCH_ENFORCER_CONTRACTS = exports.EXACT_EXECUTION_ENFORCER_CONTRACTS = exports.AVALANCHE_DELEGATION_MANAGER = exports.DEFAULT_DELEGATION_MANAGER = exports.DELEGATION_MANAGER_CONTRACTS = exports.AVALANCHE_EIP7702_STATELESS_DELEGATOR_IMPL = exports.DEFAULT_EIP7702_STATELESS_DELEGATOR_IMPL = exports.EIP7702_DELEGATION_CONTRACTS = void 0;
|
|
4
4
|
var eip7702_delegation_1 = require("./eip7702-delegation");
|
|
5
5
|
Object.defineProperty(exports, "EIP7702_DELEGATION_CONTRACTS", { enumerable: true, get: function () { return eip7702_delegation_1.EIP7702_DELEGATION_CONTRACTS; } });
|
|
6
|
+
Object.defineProperty(exports, "DEFAULT_EIP7702_STATELESS_DELEGATOR_IMPL", { enumerable: true, get: function () { return eip7702_delegation_1.DEFAULT_EIP7702_STATELESS_DELEGATOR_IMPL; } });
|
|
7
|
+
Object.defineProperty(exports, "AVALANCHE_EIP7702_STATELESS_DELEGATOR_IMPL", { enumerable: true, get: function () { return eip7702_delegation_1.AVALANCHE_EIP7702_STATELESS_DELEGATOR_IMPL; } });
|
|
6
8
|
var delegation_manager_1 = require("./delegation-manager");
|
|
7
9
|
Object.defineProperty(exports, "DELEGATION_MANAGER_CONTRACTS", { enumerable: true, get: function () { return delegation_manager_1.DELEGATION_MANAGER_CONTRACTS; } });
|
|
10
|
+
Object.defineProperty(exports, "DEFAULT_DELEGATION_MANAGER", { enumerable: true, get: function () { return delegation_manager_1.DEFAULT_DELEGATION_MANAGER; } });
|
|
11
|
+
Object.defineProperty(exports, "AVALANCHE_DELEGATION_MANAGER", { enumerable: true, get: function () { return delegation_manager_1.AVALANCHE_DELEGATION_MANAGER; } });
|
|
8
12
|
var caveat_enforcers_1 = require("./caveat-enforcers");
|
|
9
13
|
Object.defineProperty(exports, "EXACT_EXECUTION_ENFORCER_CONTRACTS", { enumerable: true, get: function () { return caveat_enforcers_1.EXACT_EXECUTION_ENFORCER_CONTRACTS; } });
|
|
10
14
|
Object.defineProperty(exports, "EXACT_EXECUTION_BATCH_ENFORCER_CONTRACTS", { enumerable: true, get: function () { return caveat_enforcers_1.EXACT_EXECUTION_BATCH_ENFORCER_CONTRACTS; } });
|
|
11
15
|
Object.defineProperty(exports, "ID_ENFORCER_CONTRACTS", { enumerable: true, get: function () { return caveat_enforcers_1.ID_ENFORCER_CONTRACTS; } });
|
|
12
16
|
Object.defineProperty(exports, "TIMESTAMP_ENFORCER_CONTRACTS", { enumerable: true, get: function () { return caveat_enforcers_1.TIMESTAMP_ENFORCER_CONTRACTS; } });
|
|
17
|
+
Object.defineProperty(exports, "DEFAULT_EXACT_EXECUTION_ENFORCER", { enumerable: true, get: function () { return caveat_enforcers_1.DEFAULT_EXACT_EXECUTION_ENFORCER; } });
|
|
18
|
+
Object.defineProperty(exports, "DEFAULT_EXACT_EXECUTION_BATCH_ENFORCER", { enumerable: true, get: function () { return caveat_enforcers_1.DEFAULT_EXACT_EXECUTION_BATCH_ENFORCER; } });
|
|
19
|
+
Object.defineProperty(exports, "DEFAULT_ID_ENFORCER", { enumerable: true, get: function () { return caveat_enforcers_1.DEFAULT_ID_ENFORCER; } });
|
|
20
|
+
Object.defineProperty(exports, "DEFAULT_TIMESTAMP_ENFORCER", { enumerable: true, get: function () { return caveat_enforcers_1.DEFAULT_TIMESTAMP_ENFORCER; } });
|
|
21
|
+
Object.defineProperty(exports, "AVALANCHE_EXACT_EXECUTION_ENFORCER", { enumerable: true, get: function () { return caveat_enforcers_1.AVALANCHE_EXACT_EXECUTION_ENFORCER; } });
|
|
22
|
+
Object.defineProperty(exports, "AVALANCHE_EXACT_EXECUTION_BATCH_ENFORCER", { enumerable: true, get: function () { return caveat_enforcers_1.AVALANCHE_EXACT_EXECUTION_BATCH_ENFORCER; } });
|
|
23
|
+
Object.defineProperty(exports, "AVALANCHE_ID_ENFORCER", { enumerable: true, get: function () { return caveat_enforcers_1.AVALANCHE_ID_ENFORCER; } });
|
|
24
|
+
Object.defineProperty(exports, "AVALANCHE_TIMESTAMP_ENFORCER", { enumerable: true, get: function () { return caveat_enforcers_1.AVALANCHE_TIMESTAMP_ENFORCER; } });
|
|
13
25
|
var permit2_1 = require("./permit2");
|
|
14
26
|
Object.defineProperty(exports, "PERMIT2_CONTRACTS", { enumerable: true, get: function () { return permit2_1.PERMIT2_CONTRACTS; } });
|
|
27
|
+
Object.defineProperty(exports, "DEFAULT_PERMIT2_ADDRESS", { enumerable: true, get: function () { return permit2_1.DEFAULT_PERMIT2_ADDRESS; } });
|
|
15
28
|
var weth_1 = require("./weth");
|
|
16
29
|
Object.defineProperty(exports, "WETH_CONTRACTS", { enumerable: true, get: function () { return weth_1.WETH_CONTRACTS; } });
|
|
17
30
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/index.ts"],"names":[],"mappings":";;;AAAA,2DAI8B;AAH1B,kIAAA,4BAA4B,OAAA;AAC5B,8IAAA,wCAAwC,OAAA;AACxC,gJAAA,0CAA0C,OAAA;AAE9C,2DAI8B;AAH1B,kIAAA,4BAA4B,OAAA;AAC5B,gIAAA,0BAA0B,OAAA;AAC1B,kIAAA,4BAA4B,OAAA;AAEhC,uDAa4B;AAZxB,sIAAA,kCAAkC,OAAA;AAClC,4IAAA,wCAAwC,OAAA;AACxC,yHAAA,qBAAqB,OAAA;AACrB,gIAAA,4BAA4B,OAAA;AAC5B,oIAAA,gCAAgC,OAAA;AAChC,0IAAA,sCAAsC,OAAA;AACtC,uHAAA,mBAAmB,OAAA;AACnB,8HAAA,0BAA0B,OAAA;AAC1B,sIAAA,kCAAkC,OAAA;AAClC,4IAAA,wCAAwC,OAAA;AACxC,yHAAA,qBAAqB,OAAA;AACrB,gIAAA,4BAA4B,OAAA;AAEhC,qCAAuE;AAA9D,4GAAA,iBAAiB,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AACnD,+BAAwC;AAA/B,sGAAA,cAAc,OAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.METAMASK_DEFAULT_EVM_CHAINS = void 0;
|
|
4
|
+
const enums_1 = require("../../types/enums");
|
|
5
|
+
// Chains where MetaMask Delegation Framework uses the "default" set of contract addresses
|
|
6
|
+
// (DelegationManager, EIP7702StatelessDeleGatorImpl, caveat enforcers).
|
|
7
|
+
// Avalanche has a separate, chain-specific deployment and is handled separately.
|
|
8
|
+
exports.METAMASK_DEFAULT_EVM_CHAINS = [
|
|
9
|
+
enums_1.ChainId.Ethereum,
|
|
10
|
+
enums_1.ChainId.Optimism,
|
|
11
|
+
enums_1.ChainId.BNB,
|
|
12
|
+
enums_1.ChainId.Polygon,
|
|
13
|
+
enums_1.ChainId.Base,
|
|
14
|
+
enums_1.ChainId.Arbitrum,
|
|
15
|
+
];
|
|
16
|
+
//# sourceMappingURL=metamask-delegation-chains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metamask-delegation-chains.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/metamask-delegation-chains.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C,0FAA0F;AAC1F,wEAAwE;AACxE,iFAAiF;AACpE,QAAA,2BAA2B,GAAuB;IAC3D,eAAO,CAAC,QAAQ;IAChB,eAAO,CAAC,QAAQ;IAChB,eAAO,CAAC,GAAG;IACX,eAAO,CAAC,OAAO;IACf,eAAO,CAAC,IAAI;IACZ,eAAO,CAAC,QAAQ;CACV,CAAC"}
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PERMIT2_CONTRACTS = void 0;
|
|
3
|
+
exports.PERMIT2_CONTRACTS = exports.DEFAULT_PERMIT2_ADDRESS = void 0;
|
|
4
4
|
const enums_1 = require("../../types/enums");
|
|
5
|
-
|
|
5
|
+
// Canonical Permit2 contract address (same on every chain it is deployed on).
|
|
6
|
+
exports.DEFAULT_PERMIT2_ADDRESS = "0x000000000022D473030F116dDEE9F6B43aC78BA3";
|
|
6
7
|
exports.PERMIT2_CONTRACTS = {
|
|
7
|
-
[enums_1.ChainId.Ethereum]: [DEFAULT_PERMIT2_ADDRESS],
|
|
8
|
-
[enums_1.ChainId.
|
|
9
|
-
[enums_1.ChainId.
|
|
10
|
-
[enums_1.ChainId.
|
|
11
|
-
[enums_1.ChainId.
|
|
12
|
-
[enums_1.ChainId.
|
|
13
|
-
[enums_1.ChainId.Base]: [DEFAULT_PERMIT2_ADDRESS],
|
|
14
|
-
[enums_1.ChainId.
|
|
15
|
-
|
|
16
|
-
|
|
8
|
+
[enums_1.ChainId.Ethereum]: [exports.DEFAULT_PERMIT2_ADDRESS],
|
|
9
|
+
[enums_1.ChainId.Optimism]: [exports.DEFAULT_PERMIT2_ADDRESS],
|
|
10
|
+
[enums_1.ChainId.BNB]: [exports.DEFAULT_PERMIT2_ADDRESS],
|
|
11
|
+
[enums_1.ChainId.Polygon]: [exports.DEFAULT_PERMIT2_ADDRESS],
|
|
12
|
+
[enums_1.ChainId.Monad]: [exports.DEFAULT_PERMIT2_ADDRESS],
|
|
13
|
+
[enums_1.ChainId.MegaETH]: [exports.DEFAULT_PERMIT2_ADDRESS],
|
|
14
|
+
[enums_1.ChainId.Base]: [exports.DEFAULT_PERMIT2_ADDRESS],
|
|
15
|
+
[enums_1.ChainId.Arbitrum]: [exports.DEFAULT_PERMIT2_ADDRESS],
|
|
16
|
+
[enums_1.ChainId.Avalanche]: [exports.DEFAULT_PERMIT2_ADDRESS],
|
|
17
|
+
[enums_1.ChainId.Linea]: [exports.DEFAULT_PERMIT2_ADDRESS],
|
|
18
|
+
// No Permit2 deployment on:
|
|
19
|
+
// Cronos, Gnosis, Sonic, Flow, HyperEVM, Sei, Story, Injective, Mantle,
|
|
20
|
+
// Bob, Tron.
|
|
17
21
|
};
|
|
18
22
|
//# sourceMappingURL=permit2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permit2.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/permit2.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG5C,
|
|
1
|
+
{"version":3,"file":"permit2.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/permit2.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG5C,8EAA8E;AACjE,QAAA,uBAAuB,GAAG,4CAA4C,CAAC;AAEvE,QAAA,iBAAiB,GAAoB;IAC9C,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,GAAG,CAAC,EAAQ,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,OAAO,CAAC,EAAI,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,KAAK,CAAC,EAAM,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,OAAO,CAAC,EAAI,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,IAAI,CAAC,EAAO,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,KAAK,CAAC,EAAM,CAAC,+BAAuB,CAAC;IAC9C,4BAA4B;IAC5B,2EAA2E;IAC3E,gBAAgB;CACV,CAAC"}
|
|
@@ -2,18 +2,29 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WETH_CONTRACTS = void 0;
|
|
4
4
|
const enums_1 = require("../../types/enums");
|
|
5
|
+
// Wrapped native token ("WETH") addresses for chains where deBridge intent contracts are deployed.
|
|
5
6
|
exports.WETH_CONTRACTS = {
|
|
6
7
|
[enums_1.ChainId.Ethereum]: ["0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"],
|
|
8
|
+
[enums_1.ChainId.Optimism]: ["0x4200000000000000000000000000000000000006"],
|
|
9
|
+
[enums_1.ChainId.Cronos]: ["0x5c7f8a570d578ed84e63fdfa7b1ee72deae1ae23"],
|
|
7
10
|
[enums_1.ChainId.BNB]: ["0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c"],
|
|
11
|
+
[enums_1.ChainId.Gnosis]: ["0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1"],
|
|
8
12
|
[enums_1.ChainId.Polygon]: ["0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"],
|
|
13
|
+
[enums_1.ChainId.Monad]: ["0x3bd359c1119da7da1d913d1c4d2b7c461115433a"],
|
|
14
|
+
[enums_1.ChainId.Sonic]: ["0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38"],
|
|
15
|
+
[enums_1.ChainId.Flow]: ["0xd3bf53dac106a0290b0483ecbc89d40fcc961f3e"],
|
|
16
|
+
[enums_1.ChainId.HyperEVM]: ["0x5555555555555555555555555555555555555555"],
|
|
17
|
+
[enums_1.ChainId.Sei]: ["0xE30feDd158A2e3b13e9badaeABaFc5516e95e8C7"],
|
|
18
|
+
[enums_1.ChainId.Story]: ["0x1514000000000000000000000000000000000000"],
|
|
19
|
+
[enums_1.ChainId.Injective]: ["0x0000000088827d2d103ee2d9A6b781773AE03FfB"],
|
|
20
|
+
[enums_1.ChainId.MegaETH]: ["0x4200000000000000000000000000000000000006"],
|
|
21
|
+
[enums_1.ChainId.Mantle]: ["0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8"],
|
|
22
|
+
[enums_1.ChainId.Base]: ["0x4200000000000000000000000000000000000006"],
|
|
9
23
|
[enums_1.ChainId.Arbitrum]: ["0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"],
|
|
10
24
|
[enums_1.ChainId.Avalanche]: ["0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7"],
|
|
11
25
|
[enums_1.ChainId.Linea]: ["0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f"],
|
|
12
|
-
[enums_1.ChainId.
|
|
13
|
-
[enums_1.ChainId.Optimism]: ["0x4200000000000000000000000000000000000006"],
|
|
14
|
-
// Gnosis: no WETH
|
|
15
|
-
[enums_1.ChainId.Sonic]: ["0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38"],
|
|
16
|
-
// TODO: add other chains
|
|
26
|
+
[enums_1.ChainId.Bob]: ["0x4200000000000000000000000000000000000006"],
|
|
17
27
|
[enums_1.ChainId.Tron]: ["0x891cdb91d149f23B1a45D9c5Ca78a88d0cB44C18"],
|
|
28
|
+
// No WETH deployment on: Neon, Metis
|
|
18
29
|
};
|
|
19
30
|
//# sourceMappingURL=weth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weth.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/weth.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;
|
|
1
|
+
{"version":3,"file":"weth.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/weth.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG5C,mGAAmG;AAEtF,QAAA,cAAc,GAAoB;IAC3C,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,MAAM,CAAC,EAAK,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,GAAG,CAAC,EAAQ,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,MAAM,CAAC,EAAK,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,OAAO,CAAC,EAAI,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,KAAK,CAAC,EAAM,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,KAAK,CAAC,EAAM,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,IAAI,CAAC,EAAO,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,GAAG,CAAC,EAAQ,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,KAAK,CAAC,EAAM,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,OAAO,CAAC,EAAI,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,MAAM,CAAC,EAAK,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,IAAI,CAAC,EAAO,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,KAAK,CAAC,EAAM,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,GAAG,CAAC,EAAQ,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,IAAI,CAAC,EAAO,CAAC,4CAA4C,CAAC;IACnE,qCAAqC;CAC/B,CAAC"}
|
|
@@ -9,7 +9,6 @@ const SIG_PREFIX_BY_ENVIRONMENT = {
|
|
|
9
9
|
[validation_1.Environment.Prod]: "intents_program",
|
|
10
10
|
[validation_1.Environment.Dubai]: "intents_program_dubai",
|
|
11
11
|
[validation_1.Environment.Hanoi]: "intents_program_hanoi",
|
|
12
|
-
[validation_1.Environment.Madrid]: "intents_program_madrid", // TODO: placeholder — update when known
|
|
13
12
|
};
|
|
14
13
|
// "intents" label — constant across all environments
|
|
15
14
|
const INTENTS_LABEL = new Uint8Array([105, 110, 116, 101, 110, 116, 115]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent-signature.js","sourceRoot":"","sources":["../../../../src/whitelists/solana/intent-signature.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"intent-signature.js","sourceRoot":"","sources":["../../../../src/whitelists/solana/intent-signature.ts"],"names":[],"mappings":";;AAqBA,4DAWC;AAhCD,uDAAqD;AACrD,6CAA4C;AAE5C,qEAAqE;AACrE,8EAA8E;AAC9E,MAAM,yBAAyB,GAAgC;IAC3D,CAAC,wBAAW,CAAC,IAAI,CAAC,EAAE,iBAAiB;IACrC,CAAC,wBAAW,CAAC,KAAK,CAAC,EAAE,uBAAuB;IAC5C,CAAC,wBAAW,CAAC,KAAK,CAAC,EAAE,uBAAuB;CAC/C,CAAC;AAEF,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;AAS1E,SAAgB,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;IAEnD,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,eAAO,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,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC;AAChF,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SUBSCRIPTION_TO_CHAIN_ID = void 0;
|
|
4
4
|
exports.resolveChainId = resolveChainId;
|
|
5
|
+
exports.resolveChainIdOrSelf = resolveChainIdOrSelf;
|
|
5
6
|
const enums_1 = require("../types/enums");
|
|
6
7
|
exports.SUBSCRIPTION_TO_CHAIN_ID = {
|
|
7
8
|
[enums_1.SubscriptionId.Ethereum]: enums_1.ChainId.Ethereum,
|
|
@@ -33,4 +34,13 @@ function resolveChainId(subscriptionId) {
|
|
|
33
34
|
// Cast is safe: unknown subscriptionIds simply return undefined
|
|
34
35
|
return exports.SUBSCRIPTION_TO_CHAIN_ID[subscriptionId];
|
|
35
36
|
}
|
|
37
|
+
// Best-effort resolver: returns the real `ChainId` for known subscriptions,
|
|
38
|
+
// otherwise falls back to the input value cast to `ChainId`. Use this only
|
|
39
|
+
// where chain-aware helpers (whose signature requires `ChainId`) need a
|
|
40
|
+
// best-effort answer; for callers that must surface unknown subscriptionIds
|
|
41
|
+
// to the user, call `resolveChainId` directly and emit `UnknownSubscriptionId`
|
|
42
|
+
// on `undefined`.
|
|
43
|
+
function resolveChainIdOrSelf(subscriptionId) {
|
|
44
|
+
return resolveChainId(subscriptionId) ?? subscriptionId;
|
|
45
|
+
}
|
|
36
46
|
//# sourceMappingURL=subscription-to-chain-id.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-to-chain-id.js","sourceRoot":"","sources":["../../../src/whitelists/subscription-to-chain-id.ts"],"names":[],"mappings":";;;AA6BA,wCAGC;
|
|
1
|
+
{"version":3,"file":"subscription-to-chain-id.js","sourceRoot":"","sources":["../../../src/whitelists/subscription-to-chain-id.ts"],"names":[],"mappings":";;;AA6BA,wCAGC;AAQD,oDAEC;AA1CD,0CAAyD;AAE5C,QAAA,wBAAwB,GAAoC;IACrE,CAAC,sBAAc,CAAC,QAAQ,CAAC,EAAE,eAAO,CAAC,QAAQ;IAC3C,CAAC,sBAAc,CAAC,QAAQ,CAAC,EAAE,eAAO,CAAC,QAAQ;IAC3C,CAAC,sBAAc,CAAC,GAAG,CAAC,EAAE,eAAO,CAAC,GAAG;IACjC,CAAC,sBAAc,CAAC,OAAO,CAAC,EAAE,eAAO,CAAC,OAAO;IACzC,CAAC,sBAAc,CAAC,QAAQ,CAAC,EAAE,eAAO,CAAC,QAAQ;IAC3C,CAAC,sBAAc,CAAC,SAAS,CAAC,EAAE,eAAO,CAAC,SAAS;IAC7C,CAAC,sBAAc,CAAC,KAAK,CAAC,EAAE,eAAO,CAAC,KAAK;IACrC,CAAC,sBAAc,CAAC,IAAI,CAAC,EAAE,eAAO,CAAC,IAAI;IACnC,CAAC,sBAAc,CAAC,MAAM,CAAC,EAAE,eAAO,CAAC,MAAM;IACvC,CAAC,sBAAc,CAAC,IAAI,CAAC,EAAE,eAAO,CAAC,IAAI;IACnC,CAAC,sBAAc,CAAC,MAAM,CAAC,EAAE,eAAO,CAAC,MAAM;IACvC,CAAC,sBAAc,CAAC,KAAK,CAAC,EAAE,eAAO,CAAC,KAAK;IACrC,CAAC,sBAAc,CAAC,KAAK,CAAC,EAAE,eAAO,CAAC,KAAK;IACrC,CAAC,sBAAc,CAAC,KAAK,CAAC,EAAE,eAAO,CAAC,KAAK;IACrC,CAAC,sBAAc,CAAC,QAAQ,CAAC,EAAE,eAAO,CAAC,QAAQ;IAC3C,CAAC,sBAAc,CAAC,IAAI,CAAC,EAAE,eAAO,CAAC,IAAI;IACnC,CAAC,sBAAc,CAAC,GAAG,CAAC,EAAE,eAAO,CAAC,GAAG;IACjC,CAAC,sBAAc,CAAC,GAAG,CAAC,EAAE,eAAO,CAAC,GAAG;IACjC,CAAC,sBAAc,CAAC,MAAM,CAAC,EAAE,eAAO,CAAC,MAAM;IACvC,CAAC,sBAAc,CAAC,KAAK,CAAC,EAAE,eAAO,CAAC,KAAK;IACrC,CAAC,sBAAc,CAAC,SAAS,CAAC,EAAE,eAAO,CAAC,SAAS;IAC7C,CAAC,sBAAc,CAAC,OAAO,CAAC,EAAE,eAAO,CAAC,OAAO;IACzC,CAAC,sBAAc,CAAC,MAAM,CAAC,EAAE,eAAO,CAAC,MAAM;IACvC,CAAC,sBAAc,CAAC,IAAI,CAAC,EAAE,eAAO,CAAC,IAAI;CAC7B,CAAC;AAEX,SAAgB,cAAc,CAAC,cAAsB;IACjD,gEAAgE;IAChE,OAAO,gCAAwB,CAAC,cAAgC,CAAC,CAAC;AACtE,CAAC;AAED,4EAA4E;AAC5E,2EAA2E;AAC3E,wEAAwE;AACxE,4EAA4E;AAC5E,+EAA+E;AAC/E,kBAAkB;AAClB,SAAgB,oBAAoB,CAAC,cAAsB;IACvD,OAAO,cAAc,CAAC,cAAc,CAAC,IAAK,cAA0B,CAAC;AACzE,CAAC"}
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildSameAddressMap = buildSameAddressMap;
|
|
3
4
|
exports.isWhitelisted = isWhitelisted;
|
|
4
5
|
const address_1 = require("../helpers/address");
|
|
5
6
|
const enums_1 = require("../types/enums");
|
|
7
|
+
// Builds a ChainAddressMap with the same address for every chain in the list.
|
|
8
|
+
// Useful for whitelists where one canonical address is deployed on many chains.
|
|
9
|
+
function buildSameAddressMap(chains, address) {
|
|
10
|
+
const map = {};
|
|
11
|
+
for (const chainId of chains) {
|
|
12
|
+
map[chainId] = [address];
|
|
13
|
+
}
|
|
14
|
+
return map;
|
|
15
|
+
}
|
|
6
16
|
function isWhitelisted(map, chainId, address) {
|
|
7
|
-
const
|
|
8
|
-
if (
|
|
17
|
+
const engine = (0, address_1.getChainEngine)(chainId);
|
|
18
|
+
if (engine === enums_1.ChainEngine.Solana) {
|
|
9
19
|
// This function is not supposed to be used for Solana addresses.
|
|
10
20
|
// If it was called with a Solana address, it's likely a bug in the caller's code.
|
|
11
21
|
throw new Error("isWhitelisted() does not support Solana addresses — compare directly");
|
|
@@ -22,7 +32,7 @@ function isWhitelisted(map, chainId, address) {
|
|
|
22
32
|
const wildcard = map[enums_1.ChainId.Wildcard];
|
|
23
33
|
if (!wildcard)
|
|
24
34
|
return false;
|
|
25
|
-
const evmAddress =
|
|
35
|
+
const evmAddress = engine === enums_1.ChainEngine.Tron ? (0, address_1.tronAddressToEvmHex)(address) : address;
|
|
26
36
|
const normalized = evmAddress.toLowerCase();
|
|
27
37
|
return wildcard.some(a => a.toLowerCase() === normalized);
|
|
28
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/whitelists/types.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/whitelists/types.ts"],"names":[],"mappings":";;AAgBA,kDASC;AAoBD,sCA6BC;AA1ED,gDAI4B;AAC5B,0CAAsD;AAStD,8EAA8E;AAC9E,gFAAgF;AAChF,SAAgB,mBAAmB,CAC/B,MAA0B,EAC1B,OAAe;IAEf,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;QAC3B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAoBD,SAAgB,aAAa,CACzB,GAAoB,EACpB,OAAgB,EAChB,OAAe;IAEf,MAAM,MAAM,GAAG,IAAA,wBAAc,EAAC,OAAO,CAAC,CAAC;IAEvC,IAAI,MAAM,KAAK,mBAAW,CAAC,MAAM,EAAE,CAAC;QAChC,iEAAiE;QACjE,kFAAkF;QAClF,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC5F,CAAC;IAED,sCAAsC;IACtC,yGAAyG;IACzG,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,aAAa,EAAE,CAAC;QAChB,MAAM,UAAU,GAAG,IAAA,0BAAgB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,0BAAgB,EAAC,OAAO,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;IAChF,CAAC;IAED,oCAAoC;IACpC,mEAAmE;IACnE,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE5B,MAAM,UAAU,GAAG,MAAM,KAAK,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,6BAAmB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACxF,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -1,21 +1,15 @@
|
|
|
1
1
|
import { bytesToHex, zeroAddress } from "viem";
|
|
2
2
|
import bs58 from "bs58";
|
|
3
|
-
import { ChainId } from "../types/enums.js";
|
|
3
|
+
import { ChainEngine, ChainId } from "../types/enums.js";
|
|
4
4
|
import { SYSTEM_PROGRAM } from "../whitelists/solana/index.js";
|
|
5
5
|
// Tron-specific addresses (Base58Check format)
|
|
6
6
|
export const TRON_NATIVE_ADDRESS = "T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb";
|
|
7
|
-
export
|
|
8
|
-
(function (AddressFormat) {
|
|
9
|
-
AddressFormat[AddressFormat["EVM"] = 0] = "EVM";
|
|
10
|
-
AddressFormat[AddressFormat["Tron"] = 1] = "Tron";
|
|
11
|
-
AddressFormat[AddressFormat["Solana"] = 2] = "Solana";
|
|
12
|
-
})(AddressFormat || (AddressFormat = {}));
|
|
13
|
-
export function getAddressFormat(chainId) {
|
|
7
|
+
export function getChainEngine(chainId) {
|
|
14
8
|
if (chainId === ChainId.Tron)
|
|
15
|
-
return
|
|
9
|
+
return ChainEngine.Tron;
|
|
16
10
|
if (chainId === ChainId.Solana)
|
|
17
|
-
return
|
|
18
|
-
return
|
|
11
|
+
return ChainEngine.Solana;
|
|
12
|
+
return ChainEngine.EVM;
|
|
19
13
|
}
|
|
20
14
|
export function isTronAddress(address) {
|
|
21
15
|
if (!address)
|
|
@@ -38,10 +32,26 @@ export function tronAddressToEvmHex(tronAddress) {
|
|
|
38
32
|
const addressBytes = decoded.slice(1, 21);
|
|
39
33
|
return bytesToHex(addressBytes);
|
|
40
34
|
}
|
|
41
|
-
// Normalizes address for comparison based on chain
|
|
35
|
+
// Normalizes address for comparison based on chain engine
|
|
42
36
|
export function normalizeAddress(chainId, address) {
|
|
43
|
-
const
|
|
44
|
-
|
|
37
|
+
const engine = getChainEngine(chainId);
|
|
38
|
+
return applyEngineNormalization(address, engine);
|
|
39
|
+
}
|
|
40
|
+
// Detects the chain engine from the address value alone (no chainId required).
|
|
41
|
+
// Useful when a chain is not fixed (e.g. destinationChainIds = "any").
|
|
42
|
+
export function detectChainEngine(address) {
|
|
43
|
+
if (address.startsWith("0x"))
|
|
44
|
+
return ChainEngine.EVM;
|
|
45
|
+
if (isTronAddress(address))
|
|
46
|
+
return ChainEngine.Tron;
|
|
47
|
+
return ChainEngine.Solana;
|
|
48
|
+
}
|
|
49
|
+
// Normalizes an address using only its own value — no chainId needed.
|
|
50
|
+
export function normalizeAddressByValue(address) {
|
|
51
|
+
return applyEngineNormalization(address, detectChainEngine(address));
|
|
52
|
+
}
|
|
53
|
+
function applyEngineNormalization(address, engine) {
|
|
54
|
+
if (engine === ChainEngine.Tron || engine === ChainEngine.Solana) {
|
|
45
55
|
return address; // case-sensitive
|
|
46
56
|
}
|
|
47
57
|
return address.toLowerCase(); // EVM: case-insensitive
|
|
@@ -50,12 +60,33 @@ export function normalizeAddress(chainId, address) {
|
|
|
50
60
|
export function addressEquals(chainId, a, b) {
|
|
51
61
|
return normalizeAddress(chainId, a) === normalizeAddress(chainId, b);
|
|
52
62
|
}
|
|
53
|
-
//
|
|
63
|
+
// Raw byte representation, used when an address flows into the intent ID
|
|
64
|
+
// keccak256 hash. EVM → 20 bytes, Tron → 20 bytes (after stripping 0x41
|
|
65
|
+
// prefix and checksum), Solana → 32 bytes (base58, no checksum).
|
|
66
|
+
export function addressToHex(chainId, address) {
|
|
67
|
+
return applyEngineToHex(address, getChainEngine(chainId));
|
|
68
|
+
}
|
|
69
|
+
// Same as addressToHex but infers the engine from the address value alone.
|
|
70
|
+
// Use when the chainId is unknown (e.g. destinationChainIds = "any").
|
|
71
|
+
export function addressToHexByValue(address) {
|
|
72
|
+
return applyEngineToHex(address, detectChainEngine(address));
|
|
73
|
+
}
|
|
74
|
+
function applyEngineToHex(address, engine) {
|
|
75
|
+
if (engine === ChainEngine.EVM) {
|
|
76
|
+
return address.toLowerCase();
|
|
77
|
+
}
|
|
78
|
+
if (engine === ChainEngine.Tron) {
|
|
79
|
+
return tronAddressToEvmHex(address);
|
|
80
|
+
}
|
|
81
|
+
return bytesToHex(bs58.decode(address));
|
|
82
|
+
}
|
|
83
|
+
// Checks if address is the native token for the given chain.
|
|
54
84
|
export function isNativeToken(address, chainId) {
|
|
55
|
-
|
|
85
|
+
const engine = getChainEngine(chainId);
|
|
86
|
+
if (engine === ChainEngine.Tron) {
|
|
56
87
|
return address === TRON_NATIVE_ADDRESS;
|
|
57
88
|
}
|
|
58
|
-
if (
|
|
89
|
+
if (engine === ChainEngine.Solana) {
|
|
59
90
|
return address === SYSTEM_PROGRAM;
|
|
60
91
|
}
|
|
61
92
|
return address.toLowerCase() === zeroAddress;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/helpers/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAC/C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/helpers/address.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { EvmActionKind } from "../types/index.js";
|
|
2
|
-
// Transaction and
|
|
2
|
+
// Transaction and Sign712MetaMaskCaveats actions carry transactionCalls;
|
|
3
3
|
// Sign712 (Permit/Permit2) and Sign7702Authorization do not.
|
|
4
4
|
export function actionUsesTransactionCalls(action) {
|
|
5
5
|
return action.type === EvmActionKind.Transaction
|
|
6
|
-
|| action.type === EvmActionKind.
|
|
6
|
+
|| action.type === EvmActionKind.Sign712MetaMaskCaveats;
|
|
7
7
|
}
|
|
8
8
|
// For Transaction-type actions (non-AA), the call is in action.data directly.
|
|
9
|
-
// For
|
|
9
|
+
// For Sign712MetaMaskCaveats-type actions (AA), the calls are in details.transactionCalls.
|
|
10
10
|
export function getTransactionCalls(action) {
|
|
11
11
|
if (action.type === EvmActionKind.Transaction) {
|
|
12
12
|
return [action.data];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm-action.js","sourceRoot":"","sources":["../../../src/helpers/evm-action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,aAAa,EAAE,MAAM,UAAU,CAAC;AAEhF,
|
|
1
|
+
{"version":3,"file":"evm-action.js","sourceRoot":"","sources":["../../../src/helpers/evm-action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,aAAa,EAAE,MAAM,UAAU,CAAC;AAEhF,yEAAyE;AACzE,6DAA6D;AAC7D,MAAM,UAAU,0BAA0B,CAAC,MAAyB;IAChE,OAAO,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,WAAW;WACzC,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,sBAAsB,CAAC;AAChE,CAAC;AAED,8EAA8E;AAC9E,2FAA2F;AAC3F,MAAM,UAAU,mBAAmB,CAAC,MAAyB;IACzD,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,IAA0B,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,EAAE,gBAAgB,IAAI,EAAE,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { concatHex, encodeAbiParameters, zeroAddress } from "viem";
|
|
2
|
+
import { DlnHookType } from "../types/enums.js";
|
|
3
|
+
// Hook envelope: ABI-encoded tuple prefixed with a `uint8 version=1` byte.
|
|
4
|
+
// keccak256 of these bytes is what ends up in `intent.externalCallHash`.
|
|
5
|
+
const ENVELOPE_TUPLE = {
|
|
6
|
+
type: "tuple",
|
|
7
|
+
components: [
|
|
8
|
+
{ name: "fallbackAddress", type: "address" },
|
|
9
|
+
{ name: "executorAddress", type: "address" },
|
|
10
|
+
{ name: "executionFee", type: "uint160" },
|
|
11
|
+
{ name: "allowDelayedExecution", type: "bool" },
|
|
12
|
+
{ name: "requireSuccessfullExecution", type: "bool" },
|
|
13
|
+
{ name: "payload", type: "bytes" },
|
|
14
|
+
],
|
|
15
|
+
};
|
|
16
|
+
const ENVELOPE_VERSION_PREFIX = "0x01";
|
|
17
|
+
export function packEvmHookV1(data) {
|
|
18
|
+
const tuple = encodeAbiParameters([ENVELOPE_TUPLE], [{
|
|
19
|
+
fallbackAddress: data.fallbackAddress,
|
|
20
|
+
executorAddress: data.target,
|
|
21
|
+
executionFee: BigInt(data.reward),
|
|
22
|
+
allowDelayedExecution: data.isNonAtomic,
|
|
23
|
+
requireSuccessfullExecution: data.isSuccessRequired,
|
|
24
|
+
payload: data.targetPayload,
|
|
25
|
+
}]);
|
|
26
|
+
return concatHex([ENVELOPE_VERSION_PREFIX, tuple]);
|
|
27
|
+
}
|
|
28
|
+
// `evm_transaction_call` wraps the user-supplied (to, gas, calldata) tuple in
|
|
29
|
+
// the same envelope, with fixed field values:
|
|
30
|
+
// executionFee = 0
|
|
31
|
+
// allowDelayedExecution = false
|
|
32
|
+
// requireSuccessfullExecution = true
|
|
33
|
+
// fallbackAddress = dstChainAuthorityAddress
|
|
34
|
+
// executorAddress = 0x0
|
|
35
|
+
export function packEvmTransactionCall(data, dstChainAuthorityAddress) {
|
|
36
|
+
const inner = encodeAbiParameters([{
|
|
37
|
+
type: "tuple",
|
|
38
|
+
components: [
|
|
39
|
+
{ name: "to", type: "address" },
|
|
40
|
+
{ name: "txGas", type: "uint32" },
|
|
41
|
+
{ name: "callData", type: "bytes" },
|
|
42
|
+
],
|
|
43
|
+
}], [{
|
|
44
|
+
to: data.to,
|
|
45
|
+
txGas: Number(data.gas ?? 0),
|
|
46
|
+
callData: data.calldata,
|
|
47
|
+
}]);
|
|
48
|
+
return packEvmHookV1({
|
|
49
|
+
fallbackAddress: dstChainAuthorityAddress,
|
|
50
|
+
target: zeroAddress,
|
|
51
|
+
reward: "0",
|
|
52
|
+
isNonAtomic: false,
|
|
53
|
+
isSuccessRequired: true,
|
|
54
|
+
targetPayload: inner,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
// Parses a request trade's `dlnHook` JSON and returns the bytes the API
|
|
58
|
+
// hashes into `intent.externalCallHash`. Returns `undefined` when the trade
|
|
59
|
+
// has no hook. Throws on unknown / Solana hook types — Solana hooks live in
|
|
60
|
+
// the response under their own validator and never feed into this hash.
|
|
61
|
+
export function serializeDlnHook(trade) {
|
|
62
|
+
if (!trade.dlnHook)
|
|
63
|
+
return undefined;
|
|
64
|
+
const hook = JSON.parse(trade.dlnHook);
|
|
65
|
+
switch (hook.type) {
|
|
66
|
+
case DlnHookType.EvmHookV1:
|
|
67
|
+
return packEvmHookV1(hook.data);
|
|
68
|
+
case DlnHookType.EvmTransactionCall: {
|
|
69
|
+
if (trade.dstChainAuthorityAddress === undefined) {
|
|
70
|
+
throw new Error("evm_transaction_call hook requires dstChainAuthorityAddress on the trade");
|
|
71
|
+
}
|
|
72
|
+
return packEvmTransactionCall(hook.data, trade.dstChainAuthorityAddress);
|
|
73
|
+
}
|
|
74
|
+
case DlnHookType.SolanaSerializedInstructions:
|
|
75
|
+
throw new Error("Solana hook types are not folded into externalCallHash");
|
|
76
|
+
default: {
|
|
77
|
+
const exhaustive = hook;
|
|
78
|
+
throw new Error(`Unknown dlnHook type: ${JSON.stringify(exhaustive)}`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=evm-dln-hook-pack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evm-dln-hook-pack.js","sourceRoot":"","sources":["../../../src/helpers/evm-dln-hook-pack.ts"],"names":[],"mappings":"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"}
|