@debridge-finance/borderless-validation-sdk 0.0.0-dev-dee2389 → 0.0.0-dev-25d2153
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 +31 -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-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 +1 -1
- package/dist/cjs/helpers/evm-intent-id.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/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 +26 -2
- package/dist/cjs/types/enums.js.map +1 -1
- package/dist/cjs/types/request.js +25 -2
- package/dist/cjs/types/request.js.map +1 -1
- package/dist/cjs/types/response.js +119 -3
- package/dist/cjs/types/response.js.map +1 -1
- package/dist/cjs/types/validation.js +72 -8
- 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 +3 -3
- 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 +3 -3
- package/dist/cjs/validations/evm-op-wrap.js.map +1 -1
- package/dist/cjs/validations/evm-required-actions.js +4 -6
- 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 +247 -35
- 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 +341 -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 +2 -5
- package/dist/cjs/validations/required-actions.js.map +1 -1
- package/dist/cjs/validations/solana-hook.js +32 -18
- package/dist/cjs/validations/solana-hook.js.map +1 -1
- package/dist/cjs/validations/trades.js +5 -0
- package/dist/cjs/validations/trades.js.map +1 -1
- package/dist/cjs/validator.js +8 -1
- package/dist/cjs/validator.js.map +1 -1
- package/dist/cjs/whitelists/environment-config.js +47 -15
- 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 +28 -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-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 +1 -1
- package/dist/esm/helpers/evm-intent-id.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/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 +25 -1
- package/dist/esm/types/enums.js.map +1 -1
- package/dist/esm/types/request.js +26 -3
- package/dist/esm/types/request.js.map +1 -1
- package/dist/esm/types/response.js +118 -2
- package/dist/esm/types/response.js.map +1 -1
- package/dist/esm/types/validation.js +72 -8
- 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 +3 -3
- 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 +3 -3
- package/dist/esm/validations/evm-op-wrap.js.map +1 -1
- package/dist/esm/validations/evm-required-actions.js +4 -6
- 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 +246 -36
- 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 +338 -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 +2 -5
- package/dist/esm/validations/required-actions.js.map +1 -1
- package/dist/esm/validations/solana-hook.js +34 -20
- package/dist/esm/validations/solana-hook.js.map +1 -1
- package/dist/esm/validations/trades.js +5 -0
- package/dist/esm/validations/trades.js.map +1 -1
- package/dist/esm/validator.js +8 -1
- package/dist/esm/validator.js.map +1 -1
- package/dist/esm/whitelists/environment-config.js +47 -15
- 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 +5 -7
- package/dist/types/helpers/address.d.ts.map +1 -1
- 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/gas-compensation.d.ts +10 -0
- package/dist/types/helpers/gas-compensation.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 +19 -1
- package/dist/types/types/enums.d.ts.map +1 -1
- package/dist/types/types/request.d.ts +19 -9
- package/dist/types/types/request.d.ts.map +1 -1
- package/dist/types/types/response.d.ts +365 -9
- package/dist/types/types/response.d.ts.map +1 -1
- package/dist/types/types/validation.d.ts +64 -8
- 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-hook.d.ts +4 -2
- package/dist/types/validations/evm-op-hook.d.ts.map +1 -1
- 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/validator.d.ts.map +1 -1
- 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 -0
- package/dist/types/whitelists/types.d.ts.map +1 -1
- package/package.json +2 -2
- 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/validations/evm-op-gas-compensation.js +0 -149
- package/dist/esm/validations/evm-op-gas-compensation.js.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,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;AAuBD,sCA6BC;AA7ED,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;AAuBD,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,13 @@ 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
|
-
// Checks if address is native token for the given chain
|
|
63
|
+
// Checks if address is the native token for the given chain.
|
|
54
64
|
export function isNativeToken(address, chainId) {
|
|
55
|
-
|
|
65
|
+
const engine = getChainEngine(chainId);
|
|
66
|
+
if (engine === ChainEngine.Tron) {
|
|
56
67
|
return address === TRON_NATIVE_ADDRESS;
|
|
57
68
|
}
|
|
58
|
-
if (
|
|
69
|
+
if (engine === ChainEngine.Solana) {
|
|
59
70
|
return address === SYSTEM_PROGRAM;
|
|
60
71
|
}
|
|
61
72
|
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,99 @@
|
|
|
1
|
+
import { decodeTransferCalldata } from "./evm-calldata.js";
|
|
2
|
+
import { isNativeToken } from "./evm-token.js";
|
|
3
|
+
import { normalizeAddress } from "./address.js";
|
|
4
|
+
// Validates an EVM `{to, data, value}` triplet that is expected to encode a
|
|
5
|
+
// gas-compensation transfer. `groups` are the gas-compensation groups
|
|
6
|
+
// associated with this triplet's source (already filtered to the relevant
|
|
7
|
+
// `(chainId, sender)` pair by the caller).
|
|
8
|
+
//
|
|
9
|
+
// Classification: dispatched on `triplet.data`:
|
|
10
|
+
// - `data === "0x"` → native compensation (data="0x", value > 0,
|
|
11
|
+
// and at least one group must carry a native token).
|
|
12
|
+
// - otherwise → ERC20 compensation (`triplet.to` matches some non-native
|
|
13
|
+
// group's tokenAddress, data is `transfer(...)`, value === "0").
|
|
14
|
+
export function validateEvmGasCompensationTx(triplet, groups, realChainId, basePath, codes) {
|
|
15
|
+
if (triplet.data === "0x") {
|
|
16
|
+
return validateNativeCompensation(triplet, groups, basePath, codes);
|
|
17
|
+
}
|
|
18
|
+
return validateErc20Compensation(triplet, groups, realChainId, basePath, codes);
|
|
19
|
+
}
|
|
20
|
+
function validateNativeCompensation(triplet, groups, basePath, codes) {
|
|
21
|
+
const violations = [];
|
|
22
|
+
// CRITICAL: data="0x" implies native — must have at least one native group.
|
|
23
|
+
const hasNativeGroup = groups.some(g => isNativeToken(g.tokenAddress, g.realChainId));
|
|
24
|
+
if (!hasNativeGroup) {
|
|
25
|
+
violations.push({
|
|
26
|
+
code: codes.dataInvalid,
|
|
27
|
+
message: "data=\"0x\" implies native compensation but no group has a native token",
|
|
28
|
+
path: `${basePath}.data`,
|
|
29
|
+
expected: groups.map(g => g.tokenAddress),
|
|
30
|
+
actual: "0x",
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
// HIGH: native compensation value must parse and be > 0.
|
|
34
|
+
violations.push(...validateNativeValue(triplet.value, basePath, codes));
|
|
35
|
+
return violations;
|
|
36
|
+
}
|
|
37
|
+
function validateNativeValue(rawValue, basePath, codes) {
|
|
38
|
+
try {
|
|
39
|
+
if (BigInt(rawValue) <= 0n) {
|
|
40
|
+
return [{
|
|
41
|
+
code: codes.valueInvalid,
|
|
42
|
+
message: "native compensation must have value > 0",
|
|
43
|
+
path: `${basePath}.value`,
|
|
44
|
+
actual: rawValue,
|
|
45
|
+
}];
|
|
46
|
+
}
|
|
47
|
+
return [];
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
return [{
|
|
51
|
+
code: codes.valueInvalid,
|
|
52
|
+
message: "native compensation value is not a valid number",
|
|
53
|
+
path: `${basePath}.value`,
|
|
54
|
+
actual: rawValue,
|
|
55
|
+
details: error,
|
|
56
|
+
}];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function validateErc20Compensation(triplet, groups, realChainId, basePath, codes) {
|
|
60
|
+
const violations = [];
|
|
61
|
+
// CRITICAL: `to` must equal some non-native group's tokenAddress.
|
|
62
|
+
const erc20Groups = groups.filter(g => !isNativeToken(g.tokenAddress, g.realChainId));
|
|
63
|
+
const matches = erc20Groups.some(g => normalizeAddress(g.realChainId, g.tokenAddress)
|
|
64
|
+
=== normalizeAddress(realChainId, triplet.to));
|
|
65
|
+
if (!matches) {
|
|
66
|
+
violations.push({
|
|
67
|
+
code: codes.toMismatch,
|
|
68
|
+
message: "ERC20 compensation `to` does not match any group's tokenAddress",
|
|
69
|
+
path: `${basePath}.to`,
|
|
70
|
+
expected: erc20Groups.map(g => g.tokenAddress),
|
|
71
|
+
actual: triplet.to,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
// CRITICAL: data must be a valid ERC20 transfer calldata.
|
|
75
|
+
try {
|
|
76
|
+
decodeTransferCalldata(triplet.data);
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
violations.push({
|
|
80
|
+
code: codes.dataInvalid,
|
|
81
|
+
message: "ERC20 compensation data is not a valid transfer calldata",
|
|
82
|
+
path: `${basePath}.data`,
|
|
83
|
+
actual: triplet.data,
|
|
84
|
+
details: error,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
// HIGH: ERC20 compensation must have value="0".
|
|
88
|
+
if (triplet.value !== "0") {
|
|
89
|
+
violations.push({
|
|
90
|
+
code: codes.valueInvalid,
|
|
91
|
+
message: "ERC20 compensation must have value=\"0\"",
|
|
92
|
+
path: `${basePath}.value`,
|
|
93
|
+
expected: "0",
|
|
94
|
+
actual: triplet.value,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
return violations;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=evm-gas-compensation-tx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evm-gas-compensation-tx.js","sourceRoot":"","sources":["../../../src/helpers/evm-gas-compensation-tx.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ function convertToIntentStruct(intent) {
|
|
|
17
17
|
intentTimestamp: BigInt(intent.intentTimestamp),
|
|
18
18
|
srcAllowedSender: (intent.srcAllowedSender ?? []),
|
|
19
19
|
executionMetadata: (intent.executionMetadata ?? zeroHash),
|
|
20
|
-
isAnyDlnMetadataAllowed:
|
|
20
|
+
isAnyDlnMetadataAllowed: !intent.dlnMetadata,
|
|
21
21
|
dlnMetadata: (intent.dlnMetadata ?? "0x"),
|
|
22
22
|
externalCallHash: (intent.externalCallHash ?? zeroHash),
|
|
23
23
|
combinedInteractions: "0x",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm-intent-id.js","sourceRoot":"","sources":["../../../src/helpers/evm-intent-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAE7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,UAAU,eAAe,CAAC,MAAsB;IAClD,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,mBAAmB,CAAC,wBAAwB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAsB;IACjD,OAAO;QACH,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,WAAW,EAAE,MAAM,CAAC,WAA4B;QAChD,eAAe,EAAE,uBAAuB,CAAC,MAAM,CAAC,eAAe,CAAC;QAChE,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC;QACjD,SAAS,EAAE,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC;QAC9C,SAAS,EAAE,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC;QAC9C,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC;QACvD,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;QAC/C,gBAAgB,EAAE,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAoB;QACpE,iBAAiB,EAAE,CAAC,MAAM,CAAC,iBAAiB,IAAI,QAAQ,CAAkB;QAC1E,uBAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"evm-intent-id.js","sourceRoot":"","sources":["../../../src/helpers/evm-intent-id.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { normalizeAddress } from "./address.js";
|
|
2
|
+
import { resolveChainId } from "../whitelists/subscription-to-chain-id.js";
|
|
3
|
+
// Groups `gasCompensationInfo` entries from request.preHooks by
|
|
4
|
+
// (chainId, tokenAddress, sender). One compensation hook per
|
|
5
|
+
// unique group is expected to be appended to response.preHooks.
|
|
6
|
+
// Groups with an unknown subscription chainId are skipped — they'll surface as
|
|
7
|
+
// `UnknownSubscriptionId` via the trade-grouping pass.
|
|
8
|
+
export function extractGasCompensationGroups(request) {
|
|
9
|
+
const seen = new Set();
|
|
10
|
+
const groups = [];
|
|
11
|
+
for (const hook of request.preHooks ?? []) {
|
|
12
|
+
const info = hook.gasCompensationInfo;
|
|
13
|
+
if (!info)
|
|
14
|
+
continue;
|
|
15
|
+
const realChainId = resolveChainId(info.chainId);
|
|
16
|
+
if (realChainId === undefined)
|
|
17
|
+
continue;
|
|
18
|
+
const key = `${realChainId}`
|
|
19
|
+
+ `:${normalizeAddress(realChainId, info.tokenAddress)}`
|
|
20
|
+
+ `:${normalizeAddress(realChainId, info.sender)}`;
|
|
21
|
+
if (seen.has(key))
|
|
22
|
+
continue;
|
|
23
|
+
seen.add(key);
|
|
24
|
+
groups.push({
|
|
25
|
+
chainId: info.chainId,
|
|
26
|
+
realChainId,
|
|
27
|
+
tokenAddress: info.tokenAddress,
|
|
28
|
+
sender: info.sender,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return groups;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=gas-compensation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gas-compensation.js","sourceRoot":"","sources":["../../../src/helpers/gas-compensation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AASxE,gEAAgE;AAChE,6DAA6D;AAC7D,gEAAgE;AAChE,+EAA+E;AAC/E,uDAAuD;AACvD,MAAM,UAAU,4BAA4B,CACxC,OAA8B;IAE9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACtC,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,WAAW,KAAK,SAAS;YAAE,SAAS;QAExC,MAAM,GAAG,GAAG,GAAG,WAAW,EAAE;cACtB,IAAI,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE;cACtD,IAAI,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAEvD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAE5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEd,MAAM,CAAC,IAAI,CAAC;YACR,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW;YACX,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAC;IACP,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
|