@hyperlane-xyz/sdk 4.1.0 → 4.2.0-beta.2
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/dist/aws/validator.js +1 -1
- package/dist/aws/validator.js.map +1 -1
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +52 -19
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/core/EvmCoreModule.d.ts +4 -0
- package/dist/core/EvmCoreModule.d.ts.map +1 -1
- package/dist/core/EvmCoreModule.js +8 -9
- package/dist/core/EvmCoreModule.js.map +1 -1
- package/dist/core/EvmIcaModule.d.ts +3 -1
- package/dist/core/EvmIcaModule.d.ts.map +1 -1
- package/dist/core/EvmIcaModule.js +2 -2
- package/dist/core/EvmIcaModule.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts +23 -7
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +81 -21
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreChecker.js +1 -1
- package/dist/core/HyperlaneCoreChecker.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +6 -1
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/HyperlaneRelayer.d.ts +328 -0
- package/dist/core/HyperlaneRelayer.d.ts.map +1 -0
- package/dist/core/HyperlaneRelayer.js +144 -0
- package/dist/core/HyperlaneRelayer.js.map +1 -0
- package/dist/core/schemas.d.ts +842 -842
- package/dist/deploy/EvmModuleDeployer.d.ts +4 -3
- package/dist/deploy/EvmModuleDeployer.d.ts.map +1 -1
- package/dist/deploy/EvmModuleDeployer.js +11 -4
- package/dist/deploy/EvmModuleDeployer.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +20 -9
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/proxy.d.ts +1 -0
- package/dist/deploy/proxy.d.ts.map +1 -1
- package/dist/deploy/proxy.js +6 -0
- package/dist/deploy/proxy.js.map +1 -1
- package/dist/deploy/schemas.d.ts +1 -0
- package/dist/deploy/schemas.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.d.ts +20 -6
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +187 -97
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/deploy/verify/types.d.ts +15 -4
- package/dist/deploy/verify/types.d.ts.map +1 -1
- package/dist/deploy/verify/types.js +4 -3
- package/dist/deploy/verify/types.js.map +1 -1
- package/dist/deploy/verify/utils.d.ts +9 -2
- package/dist/deploy/verify/utils.d.ts.map +1 -1
- package/dist/deploy/verify/utils.js +4 -3
- package/dist/deploy/verify/utils.js.map +1 -1
- package/dist/hook/EvmHookModule.d.ts +45 -6
- package/dist/hook/EvmHookModule.d.ts.map +1 -1
- package/dist/hook/EvmHookModule.hardhat-test.js +334 -106
- package/dist/hook/EvmHookModule.hardhat-test.js.map +1 -1
- package/dist/hook/EvmHookModule.js +291 -68
- package/dist/hook/EvmHookModule.js.map +1 -1
- package/dist/hook/EvmHookReader.d.ts +5 -10
- package/dist/hook/EvmHookReader.d.ts.map +1 -1
- package/dist/hook/EvmHookReader.js +21 -24
- package/dist/hook/EvmHookReader.js.map +1 -1
- package/dist/hook/schemas.d.ts +4 -4
- package/dist/hook/types.d.ts +1 -0
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js +8 -0
- package/dist/hook/types.js.map +1 -1
- package/dist/index.d.ts +61 -58
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -46
- package/dist/index.js.map +1 -1
- package/dist/ism/EvmIsmModule.d.ts +7 -7
- package/dist/ism/EvmIsmModule.d.ts.map +1 -1
- package/dist/ism/EvmIsmModule.hardhat-test.js +9 -28
- package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
- package/dist/ism/EvmIsmModule.js +38 -57
- package/dist/ism/EvmIsmModule.js.map +1 -1
- package/dist/ism/EvmIsmReader.d.ts +5 -4
- package/dist/ism/EvmIsmReader.d.ts.map +1 -1
- package/dist/ism/EvmIsmReader.js +56 -36
- package/dist/ism/EvmIsmReader.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +2 -0
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/metadata/aggregation.test.js +1 -1
- package/dist/ism/metadata/aggregation.test.js.map +1 -1
- package/dist/ism/metadata/builder.hardhat-test.js +29 -14
- package/dist/ism/metadata/builder.hardhat-test.js.map +1 -1
- package/dist/ism/metadata/multisig.d.ts.map +1 -1
- package/dist/ism/metadata/multisig.js +1 -1
- package/dist/ism/metadata/multisig.js.map +1 -1
- package/dist/ism/utils.js +2 -2
- package/dist/ism/utils.js.map +1 -1
- package/dist/metadata/ChainMetadataManager.d.ts +2 -0
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataManager.js +6 -0
- package/dist/metadata/ChainMetadataManager.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +46 -46
- package/dist/metadata/deploymentArtifacts.d.ts +2 -2
- package/dist/providers/MultiProvider.d.ts +7 -0
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +9 -1
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.d.ts +2 -1
- package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.js +58 -0
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.js +34 -9
- package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
- package/dist/providers/transactions/schemas.d.ts +13 -0
- package/dist/providers/transactions/schemas.d.ts.map +1 -1
- package/dist/providers/transactions/schemas.js +1 -0
- package/dist/providers/transactions/schemas.js.map +1 -1
- package/dist/providers/transactions/submitter/builder/schemas.d.ts +67 -146
- package/dist/providers/transactions/submitter/builder/schemas.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts +2 -2
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.d.ts +2 -2
- package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.js.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts +2 -2
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js.map +1 -1
- package/dist/providers/transactions/submitter/schemas.d.ts +9 -34
- package/dist/providers/transactions/submitter/schemas.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/schemas.js +2 -3
- package/dist/providers/transactions/submitter/schemas.js.map +1 -1
- package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.d.ts +2 -2
- package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.d.ts.map +1 -1
- package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.js +5 -5
- package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.js.map +1 -1
- package/dist/providers/transactions/transformer/schemas.d.ts +36 -76
- package/dist/providers/transactions/transformer/schemas.d.ts.map +1 -1
- package/dist/providers/transactions/transformer/schemas.js +1 -1
- package/dist/providers/transactions/transformer/schemas.js.map +1 -1
- package/dist/providers/transactions/types.d.ts +2 -1
- package/dist/providers/transactions/types.d.ts.map +1 -1
- package/dist/router/schemas.d.ts +97 -90
- package/dist/router/schemas.d.ts.map +1 -1
- package/dist/router/schemas.js +6 -1
- package/dist/router/schemas.js.map +1 -1
- package/dist/router/types.d.ts +2 -1
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/types.js.map +1 -1
- package/dist/test/testUtils.js +1 -1
- package/dist/test/testUtils.js.map +1 -1
- package/dist/token/EvmERC20WarpModule.d.ts +20 -1
- package/dist/token/EvmERC20WarpModule.d.ts.map +1 -1
- package/dist/token/EvmERC20WarpModule.hardhat-test.js +123 -2
- package/dist/token/EvmERC20WarpModule.hardhat-test.js.map +1 -1
- package/dist/token/EvmERC20WarpModule.js +93 -21
- package/dist/token/EvmERC20WarpModule.js.map +1 -1
- package/dist/token/EvmERC20WarpRouteReader.d.ts +4 -9
- package/dist/token/EvmERC20WarpRouteReader.d.ts.map +1 -1
- package/dist/token/EvmERC20WarpRouteReader.hardhat-test.js +27 -2
- package/dist/token/EvmERC20WarpRouteReader.hardhat-test.js.map +1 -1
- package/dist/token/EvmERC20WarpRouteReader.js +19 -21
- package/dist/token/EvmERC20WarpRouteReader.js.map +1 -1
- package/dist/token/IToken.d.ts +6 -6
- package/dist/token/TokenConnection.d.ts +2 -2
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.js +14 -5
- package/dist/token/deploy.js.map +1 -1
- package/dist/token/schemas.d.ts +96 -88
- package/dist/token/schemas.d.ts.map +1 -1
- package/dist/utils/HyperlaneReader.d.ts +17 -0
- package/dist/utils/HyperlaneReader.d.ts.map +1 -0
- package/dist/utils/HyperlaneReader.js +21 -0
- package/dist/utils/HyperlaneReader.js.map +1 -0
- package/dist/utils/cosmos.d.ts +5 -0
- package/dist/utils/cosmos.d.ts.map +1 -1
- package/dist/utils/cosmos.js +7 -1
- package/dist/utils/cosmos.js.map +1 -1
- package/dist/warp/WarpCore.d.ts +12 -0
- package/dist/warp/WarpCore.d.ts.map +1 -1
- package/dist/warp/WarpCore.js +63 -32
- package/dist/warp/WarpCore.js.map +1 -1
- package/dist/warp/types.d.ts +10 -10
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvmHookModule.hardhat-test.js","sourceRoot":"","sources":["../../src/hook/EvmHookModule.hardhat-test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EvmHookModule.hardhat-test.js","sourceRoot":"","sources":["../../src/hook/EvmHookModule.hardhat-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BigNumber, ethers } from 'ethers';
|
|
2
|
-
import { DomainRoutingHook__factory, IL1CrossDomainMessenger__factory, IPostDispatchHook__factory, OPStackIsm__factory, StaticAggregationHookFactory__factory, StaticAggregationHook__factory, } from '@hyperlane-xyz/core';
|
|
3
|
-
import { addressToBytes32,
|
|
2
|
+
import { DomainRoutingHook__factory, IL1CrossDomainMessenger__factory, IPostDispatchHook__factory, InterchainGasPaymaster__factory, OPStackIsm__factory, Ownable__factory, PausableHook__factory, ProtocolFee__factory, StaticAggregationHookFactory__factory, StaticAggregationHook__factory, StorageGasOracle__factory, } from '@hyperlane-xyz/core';
|
|
3
|
+
import { addressToBytes32, deepEquals, eqAddress, normalizeConfig, rootLogger, } from '@hyperlane-xyz/utils';
|
|
4
4
|
import { TOKEN_EXCHANGE_RATE_SCALE } from '../consts/igp.js';
|
|
5
5
|
import { HyperlaneModule, } from '../core/AbstractHyperlaneModule.js';
|
|
6
6
|
import { EvmModuleDeployer } from '../deploy/EvmModuleDeployer.js';
|
|
@@ -9,9 +9,11 @@ import { EvmIsmModule } from '../ism/EvmIsmModule.js';
|
|
|
9
9
|
import { IsmType } from '../ism/types.js';
|
|
10
10
|
import { EvmHookReader } from './EvmHookReader.js';
|
|
11
11
|
import { hookFactories } from './contracts.js';
|
|
12
|
-
import {
|
|
12
|
+
import { HookConfigSchema } from './schemas.js';
|
|
13
|
+
import { HookType, MUTABLE_HOOK_TYPE, } from './types.js';
|
|
13
14
|
export class EvmHookModule extends HyperlaneModule {
|
|
14
15
|
multiProvider;
|
|
16
|
+
contractVerifier;
|
|
15
17
|
logger = rootLogger.child({ module: 'EvmHookModule' });
|
|
16
18
|
reader;
|
|
17
19
|
deployer;
|
|
@@ -22,9 +24,11 @@ export class EvmHookModule extends HyperlaneModule {
|
|
|
22
24
|
domainId;
|
|
23
25
|
// Transaction overrides for the chain
|
|
24
26
|
txOverrides;
|
|
25
|
-
constructor(multiProvider,
|
|
26
|
-
|
|
27
|
+
constructor(multiProvider, params, contractVerifier) {
|
|
28
|
+
params.config = HookConfigSchema.parse(params.config);
|
|
29
|
+
super(params);
|
|
27
30
|
this.multiProvider = multiProvider;
|
|
31
|
+
this.contractVerifier = contractVerifier;
|
|
28
32
|
this.reader = new EvmHookReader(multiProvider, this.args.chain);
|
|
29
33
|
this.deployer = new EvmModuleDeployer(multiProvider, {
|
|
30
34
|
...hookFactories,
|
|
@@ -39,12 +43,74 @@ export class EvmHookModule extends HyperlaneModule {
|
|
|
39
43
|
? this.args.addresses.deployedHook
|
|
40
44
|
: this.reader.deriveHookConfig(this.args.addresses.deployedHook);
|
|
41
45
|
}
|
|
42
|
-
async update(
|
|
43
|
-
|
|
46
|
+
async update(targetConfig) {
|
|
47
|
+
targetConfig = HookConfigSchema.parse(targetConfig);
|
|
48
|
+
// Do not support updating to a custom Hook address
|
|
49
|
+
if (typeof targetConfig === 'string') {
|
|
50
|
+
throw new Error('Invalid targetConfig: Updating to a custom Hook address is not supported. Please provide a valid Hook configuration.');
|
|
51
|
+
}
|
|
52
|
+
const unnormalizedCurrentConfig = await this.read();
|
|
53
|
+
const currentConfig = normalizeConfig(unnormalizedCurrentConfig);
|
|
54
|
+
// Update the config
|
|
55
|
+
this.args.config = targetConfig;
|
|
56
|
+
// If configs match, no updates needed
|
|
57
|
+
if (deepEquals(currentConfig, targetConfig)) {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
if (this.shouldDeployNewHook(currentConfig, targetConfig)) {
|
|
61
|
+
const contract = await this.deploy({
|
|
62
|
+
config: targetConfig,
|
|
63
|
+
});
|
|
64
|
+
this.args.addresses.deployedHook = contract.address;
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
const updateTxs = [];
|
|
68
|
+
// obtain the update txs for each hook type
|
|
69
|
+
switch (targetConfig.type) {
|
|
70
|
+
case HookType.INTERCHAIN_GAS_PAYMASTER:
|
|
71
|
+
updateTxs.push(...(await this.updateIgpHook({
|
|
72
|
+
currentConfig,
|
|
73
|
+
targetConfig,
|
|
74
|
+
})));
|
|
75
|
+
break;
|
|
76
|
+
case HookType.PROTOCOL_FEE:
|
|
77
|
+
updateTxs.push(...(await this.updateProtocolFeeHook({
|
|
78
|
+
currentConfig,
|
|
79
|
+
targetConfig,
|
|
80
|
+
})));
|
|
81
|
+
break;
|
|
82
|
+
case HookType.PAUSABLE:
|
|
83
|
+
updateTxs.push(...(await this.updatePausableHook({
|
|
84
|
+
currentConfig,
|
|
85
|
+
targetConfig,
|
|
86
|
+
})));
|
|
87
|
+
break;
|
|
88
|
+
case HookType.ROUTING:
|
|
89
|
+
case HookType.FALLBACK_ROUTING:
|
|
90
|
+
updateTxs.push(...(await this.updateRoutingHook({
|
|
91
|
+
currentConfig,
|
|
92
|
+
targetConfig,
|
|
93
|
+
})));
|
|
94
|
+
break;
|
|
95
|
+
default:
|
|
96
|
+
// MERKLE_TREE, AGGREGATION and OP_STACK hooks should already be handled before the switch
|
|
97
|
+
throw new Error(`Unsupported hook type: ${targetConfig.type}`);
|
|
98
|
+
}
|
|
99
|
+
// Lastly, check if the resolved owner is different from the current owner
|
|
100
|
+
const owner = await Ownable__factory.connect(this.args.addresses.deployedHook, this.multiProvider.getProvider(this.chain)).owner();
|
|
101
|
+
// Return an ownership transfer transaction if required
|
|
102
|
+
if (!eqAddress(targetConfig.owner, owner)) {
|
|
103
|
+
updateTxs.push({
|
|
104
|
+
annotation: 'Transferring ownership of ownable Hook...',
|
|
105
|
+
chainId: this.domainId,
|
|
106
|
+
to: this.args.addresses.deployedHook,
|
|
107
|
+
data: Ownable__factory.createInterface().encodeFunctionData('transferOwnership(address)', [targetConfig.owner]),
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
return updateTxs;
|
|
44
111
|
}
|
|
45
112
|
// manually write static create function
|
|
46
|
-
static async create({ chain, config, proxyFactoryFactories, coreAddresses, multiProvider, }) {
|
|
47
|
-
// instantiate new EvmHookModule
|
|
113
|
+
static async create({ chain, config, proxyFactoryFactories, coreAddresses, multiProvider, contractVerifier, }) {
|
|
48
114
|
const module = new EvmHookModule(multiProvider, {
|
|
49
115
|
addresses: {
|
|
50
116
|
...proxyFactoryFactories,
|
|
@@ -53,8 +119,7 @@ export class EvmHookModule extends HyperlaneModule {
|
|
|
53
119
|
},
|
|
54
120
|
chain,
|
|
55
121
|
config,
|
|
56
|
-
});
|
|
57
|
-
// deploy hook and assign address to module
|
|
122
|
+
}, contractVerifier);
|
|
58
123
|
const deployedHook = await module.deploy({ config });
|
|
59
124
|
module.args.addresses.deployedHook = deployedHook.address;
|
|
60
125
|
return module;
|
|
@@ -71,7 +136,7 @@ export class EvmHookModule extends HyperlaneModule {
|
|
|
71
136
|
}
|
|
72
137
|
// If the domain is not in the current config or the config has changed, deploy a new hook
|
|
73
138
|
// TODO: in-place updates per domain as a future optimization
|
|
74
|
-
if (!
|
|
139
|
+
if (!deepEquals(currentDomains[dest], targetDomainConfig)) {
|
|
75
140
|
const domainHook = await this.deploy({
|
|
76
141
|
config: targetDomainConfig,
|
|
77
142
|
});
|
|
@@ -83,17 +148,184 @@ export class EvmHookModule extends HyperlaneModule {
|
|
|
83
148
|
}
|
|
84
149
|
return routingHookUpdates;
|
|
85
150
|
}
|
|
151
|
+
async updatePausableHook({ currentConfig, targetConfig, }) {
|
|
152
|
+
const updateTxs = [];
|
|
153
|
+
if (currentConfig.paused !== targetConfig.paused) {
|
|
154
|
+
// Have to encode separately otherwise tsc will complain
|
|
155
|
+
// about being unable to infer types correctly
|
|
156
|
+
const pausableInterface = PausableHook__factory.createInterface();
|
|
157
|
+
const data = targetConfig.paused
|
|
158
|
+
? pausableInterface.encodeFunctionData('pause')
|
|
159
|
+
: pausableInterface.encodeFunctionData('unpause');
|
|
160
|
+
updateTxs.push({
|
|
161
|
+
annotation: `Updating paused state to ${targetConfig.paused}`,
|
|
162
|
+
chainId: this.domainId,
|
|
163
|
+
to: this.args.addresses.deployedHook,
|
|
164
|
+
data,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
return updateTxs;
|
|
168
|
+
}
|
|
169
|
+
async updateIgpHook({ currentConfig, targetConfig, }) {
|
|
170
|
+
const updateTxs = [];
|
|
171
|
+
const igpInterface = InterchainGasPaymaster__factory.createInterface();
|
|
172
|
+
// Update beneficiary if changed
|
|
173
|
+
if (!eqAddress(currentConfig.beneficiary, targetConfig.beneficiary)) {
|
|
174
|
+
updateTxs.push({
|
|
175
|
+
annotation: `Updating beneficiary from ${currentConfig.beneficiary} to ${targetConfig.beneficiary}`,
|
|
176
|
+
chainId: this.domainId,
|
|
177
|
+
to: this.args.addresses.deployedHook,
|
|
178
|
+
data: igpInterface.encodeFunctionData('setBeneficiary(address)', [
|
|
179
|
+
targetConfig.beneficiary,
|
|
180
|
+
]),
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
// get gasOracleAddress using any remote domain in the current config
|
|
184
|
+
let gasOracle;
|
|
185
|
+
const domainKeys = Object.keys(currentConfig.oracleConfig);
|
|
186
|
+
// If possible, reuse and reconfigure the gas oracle from the first remote we know.
|
|
187
|
+
// Otherwise if there are no remotes in current config, deploy a new gas oracle with our target config.
|
|
188
|
+
// We should be reusing the same oracle for all remotes, but if not, the updateIgpRemoteGasParams step will rectify this
|
|
189
|
+
if (domainKeys.length > 0) {
|
|
190
|
+
const domainId = this.multiProvider.getDomainId(domainKeys[0]);
|
|
191
|
+
({ gasOracle } = await InterchainGasPaymaster__factory.connect(this.args.addresses.deployedHook, this.multiProvider.getSignerOrProvider(this.chain))['destinationGasConfigs(uint32)'](domainId));
|
|
192
|
+
// update storage gas oracle
|
|
193
|
+
// Note: this will only update the gas oracle for remotes that are in the target config
|
|
194
|
+
updateTxs.push(...(await this.updateStorageGasOracle({
|
|
195
|
+
gasOracle,
|
|
196
|
+
currentOracleConfig: currentConfig.oracleConfig,
|
|
197
|
+
targetOracleConfig: targetConfig.oracleConfig,
|
|
198
|
+
targetOverhead: targetConfig.overhead, // used to log example remote gas costs
|
|
199
|
+
})));
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
const newGasOracle = await this.deployStorageGasOracle({
|
|
203
|
+
config: targetConfig,
|
|
204
|
+
});
|
|
205
|
+
gasOracle = newGasOracle.address;
|
|
206
|
+
}
|
|
207
|
+
// update igp remote gas params
|
|
208
|
+
// Note: this will only update the gas params for remotes that are in the target config
|
|
209
|
+
updateTxs.push(...(await this.updateIgpRemoteGasParams({
|
|
210
|
+
interchainGasPaymaster: this.args.addresses.deployedHook,
|
|
211
|
+
gasOracle,
|
|
212
|
+
currentOverheads: currentConfig.overhead,
|
|
213
|
+
targetOverheads: targetConfig.overhead,
|
|
214
|
+
})));
|
|
215
|
+
return updateTxs;
|
|
216
|
+
}
|
|
217
|
+
async updateIgpRemoteGasParams({ interchainGasPaymaster, gasOracle, currentOverheads, targetOverheads, }) {
|
|
218
|
+
const gasParamsToSet = [];
|
|
219
|
+
for (const [remote, gasOverhead] of Object.entries(targetOverheads)) {
|
|
220
|
+
// Note: non-EVM remotes actually *are* supported, provided that the remote domain is in the MultiProvider.
|
|
221
|
+
// Previously would check core metadata for non EVMs and fallback to multiprovider for custom EVMs
|
|
222
|
+
const remoteDomain = this.multiProvider.tryGetDomainId(remote);
|
|
223
|
+
if (!remoteDomain) {
|
|
224
|
+
this.logger.warn(`Skipping overhead ${this.chain} -> ${remote}. Expected if the remote domain is not in the MultiProvider.`);
|
|
225
|
+
continue;
|
|
226
|
+
}
|
|
227
|
+
// only update if the gas overhead has changed
|
|
228
|
+
if (currentOverheads?.[remote] !== gasOverhead) {
|
|
229
|
+
this.logger.debug(`Setting gas params for ${this.chain} -> ${remote}: gasOverhead = ${gasOverhead} gasOracle = ${gasOracle}`);
|
|
230
|
+
gasParamsToSet.push({
|
|
231
|
+
remoteDomain,
|
|
232
|
+
config: {
|
|
233
|
+
gasOverhead,
|
|
234
|
+
gasOracle,
|
|
235
|
+
},
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
if (gasParamsToSet.length === 0) {
|
|
240
|
+
return [];
|
|
241
|
+
}
|
|
242
|
+
return [
|
|
243
|
+
{
|
|
244
|
+
annotation: `Updating overhead for domains ${Object.keys(targetOverheads).join(', ')}...`,
|
|
245
|
+
chainId: this.domainId,
|
|
246
|
+
to: interchainGasPaymaster,
|
|
247
|
+
data: InterchainGasPaymaster__factory.createInterface().encodeFunctionData('setDestinationGasConfigs((uint32,(address,uint96))[])', [gasParamsToSet]),
|
|
248
|
+
},
|
|
249
|
+
];
|
|
250
|
+
}
|
|
251
|
+
async updateStorageGasOracle({ gasOracle, currentOracleConfig, targetOracleConfig, targetOverhead, }) {
|
|
252
|
+
this.logger.info(`Updating gas oracle configuration from ${this.chain}...`);
|
|
253
|
+
const configsToSet = [];
|
|
254
|
+
for (const [remote, target] of Object.entries(targetOracleConfig)) {
|
|
255
|
+
// Note: non-EVM remotes actually *are* supported, provided that the remote domain is in the MultiProvider.
|
|
256
|
+
// Previously would check core metadata for non EVMs and fallback to multiprovider for custom EVMs
|
|
257
|
+
const current = currentOracleConfig?.[remote];
|
|
258
|
+
const remoteDomain = this.multiProvider.tryGetDomainId(remote);
|
|
259
|
+
if (!remoteDomain) {
|
|
260
|
+
this.logger.warn(`Skipping gas oracle update ${this.chain} -> ${remote}. Expected if the remote domain is not in the MultiProvider.`);
|
|
261
|
+
continue;
|
|
262
|
+
}
|
|
263
|
+
// only update if the oracle config has changed
|
|
264
|
+
if (!current || !deepEquals(current, target)) {
|
|
265
|
+
configsToSet.push({ remoteDomain, ...target });
|
|
266
|
+
// Log an example remote gas cost
|
|
267
|
+
const exampleRemoteGas = (targetOverhead[remote] ?? 200000) + 50000;
|
|
268
|
+
const exampleRemoteGasCost = BigNumber.from(target.tokenExchangeRate)
|
|
269
|
+
.mul(target.gasPrice)
|
|
270
|
+
.mul(exampleRemoteGas)
|
|
271
|
+
.div(TOKEN_EXCHANGE_RATE_SCALE);
|
|
272
|
+
this.logger.info(`${this.chain} -> ${remote}: ${exampleRemoteGas} remote gas cost: ${ethers.utils.formatEther(exampleRemoteGasCost)}`);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
if (configsToSet.length === 0) {
|
|
276
|
+
return [];
|
|
277
|
+
}
|
|
278
|
+
return [
|
|
279
|
+
{
|
|
280
|
+
annotation: `Updating gas oracle config for domains ${Object.keys(targetOracleConfig).join(', ')}...`,
|
|
281
|
+
chainId: this.domainId,
|
|
282
|
+
to: gasOracle,
|
|
283
|
+
data: StorageGasOracle__factory.createInterface().encodeFunctionData('setRemoteGasDataConfigs((uint32,uint128,uint128)[])', [configsToSet]),
|
|
284
|
+
},
|
|
285
|
+
];
|
|
286
|
+
}
|
|
287
|
+
async updateProtocolFeeHook({ currentConfig, targetConfig, }) {
|
|
288
|
+
const updateTxs = [];
|
|
289
|
+
const protocolFeeInterface = ProtocolFee__factory.createInterface();
|
|
290
|
+
// if maxProtocolFee has changed, deploy a new hook
|
|
291
|
+
if (currentConfig.maxProtocolFee !== targetConfig.maxProtocolFee) {
|
|
292
|
+
const hook = await this.deployProtocolFeeHook({ config: targetConfig });
|
|
293
|
+
this.args.addresses.deployedHook = hook.address;
|
|
294
|
+
return [];
|
|
295
|
+
}
|
|
296
|
+
// Update protocol fee if changed
|
|
297
|
+
if (currentConfig.protocolFee !== targetConfig.protocolFee) {
|
|
298
|
+
updateTxs.push({
|
|
299
|
+
annotation: `Updating protocol fee from ${currentConfig.protocolFee} to ${targetConfig.protocolFee}`,
|
|
300
|
+
chainId: this.domainId,
|
|
301
|
+
to: this.args.addresses.deployedHook,
|
|
302
|
+
data: protocolFeeInterface.encodeFunctionData('setProtocolFee(uint256)', [targetConfig.protocolFee]),
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
// Update beneficiary if changed
|
|
306
|
+
if (currentConfig.beneficiary !== targetConfig.beneficiary) {
|
|
307
|
+
updateTxs.push({
|
|
308
|
+
annotation: `Updating beneficiary from ${currentConfig.beneficiary} to ${targetConfig.beneficiary}`,
|
|
309
|
+
chainId: this.domainId,
|
|
310
|
+
to: this.args.addresses.deployedHook,
|
|
311
|
+
data: protocolFeeInterface.encodeFunctionData('setBeneficiary(address)', [targetConfig.beneficiary]),
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
// Return the transactions to update the protocol fee hook
|
|
315
|
+
return updateTxs;
|
|
316
|
+
}
|
|
86
317
|
// Updates a routing hook
|
|
87
|
-
async updateRoutingHook({
|
|
318
|
+
async updateRoutingHook({ currentConfig, targetConfig, }) {
|
|
88
319
|
// Deploy a new fallback hook if the fallback config has changed
|
|
89
|
-
if (
|
|
90
|
-
!
|
|
91
|
-
const hook = await this.deploy({ config:
|
|
320
|
+
if (targetConfig.type === HookType.FALLBACK_ROUTING &&
|
|
321
|
+
!deepEquals(targetConfig.fallback, currentConfig.fallback)) {
|
|
322
|
+
const hook = await this.deploy({ config: targetConfig });
|
|
92
323
|
this.args.addresses.deployedHook = hook.address;
|
|
324
|
+
return [];
|
|
93
325
|
}
|
|
94
326
|
const routingUpdates = await this.computeRoutingHooksToSet({
|
|
95
|
-
currentDomains:
|
|
96
|
-
targetDomains:
|
|
327
|
+
currentDomains: currentConfig.domains,
|
|
328
|
+
targetDomains: targetConfig.domains,
|
|
97
329
|
});
|
|
98
330
|
// Return if no updates are required
|
|
99
331
|
if (routingUpdates.length === 0) {
|
|
@@ -105,11 +337,12 @@ export class EvmHookModule extends HyperlaneModule {
|
|
|
105
337
|
annotation: 'Updating routing hooks...',
|
|
106
338
|
chainId: this.domainId,
|
|
107
339
|
to: this.args.addresses.deployedHook,
|
|
108
|
-
data: DomainRoutingHook__factory.createInterface().encodeFunctionData('setHooks', [routingUpdates]),
|
|
340
|
+
data: DomainRoutingHook__factory.createInterface().encodeFunctionData('setHooks((uint32,address)[])', [routingUpdates]),
|
|
109
341
|
},
|
|
110
342
|
];
|
|
111
343
|
}
|
|
112
344
|
async deploy({ config, }) {
|
|
345
|
+
config = HookConfigSchema.parse(config);
|
|
113
346
|
// If it's an address, just return a base Hook
|
|
114
347
|
if (typeof config === 'string') {
|
|
115
348
|
// TODO: https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/3773
|
|
@@ -208,6 +441,7 @@ export class EvmHookModule extends HyperlaneModule {
|
|
|
208
441
|
proxyFactoryFactories: this.args.addresses,
|
|
209
442
|
mailbox: mailbox,
|
|
210
443
|
multiProvider: this.multiProvider,
|
|
444
|
+
contractVerifier: this.contractVerifier,
|
|
211
445
|
})).serialize().deployedIsm;
|
|
212
446
|
// connect to ISM
|
|
213
447
|
const opstackIsm = OPStackIsm__factory.connect(opStackIsmAddress, this.multiProvider.getSignerOrProvider(config.destinationChain));
|
|
@@ -289,7 +523,9 @@ export class EvmHookModule extends HyperlaneModule {
|
|
|
289
523
|
return interchainGasPaymaster;
|
|
290
524
|
}
|
|
291
525
|
async deployInterchainGasPaymaster({ storageGasOracle, config, }) {
|
|
526
|
+
// Set the deployer as the owner of the IGP for configuration purposes
|
|
292
527
|
const deployerAddress = await this.multiProvider.getSignerAddress(this.chain);
|
|
528
|
+
// Deploy the InterchainGasPaymaster
|
|
293
529
|
const igp = await this.deployer.deployProxiedContract({
|
|
294
530
|
chain: this.chain,
|
|
295
531
|
contractKey: HookType.INTERCHAIN_GAS_PAYMASTER,
|
|
@@ -298,70 +534,57 @@ export class EvmHookModule extends HyperlaneModule {
|
|
|
298
534
|
constructorArgs: [],
|
|
299
535
|
initializeArgs: [deployerAddress, config.beneficiary],
|
|
300
536
|
});
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
this.logger.debug(`Setting gas params for ${this.chain} -> ${remote}: gasOverhead = ${gasOverhead} gasOracle = ${storageGasOracle.address}`);
|
|
311
|
-
gasParamsToSet.push({
|
|
312
|
-
remoteDomain,
|
|
313
|
-
config: {
|
|
314
|
-
gasOverhead,
|
|
315
|
-
gasOracle: storageGasOracle.address,
|
|
316
|
-
},
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
|
-
if (gasParamsToSet.length > 0) {
|
|
320
|
-
await this.multiProvider.handleTx(this.chain, igp.setDestinationGasConfigs(gasParamsToSet, this.txOverrides));
|
|
537
|
+
// Obtain the transactions to set the gas params for each remote
|
|
538
|
+
const configureTxs = await this.updateIgpRemoteGasParams({
|
|
539
|
+
interchainGasPaymaster: igp.address,
|
|
540
|
+
gasOracle: storageGasOracle.address,
|
|
541
|
+
targetOverheads: config.overhead,
|
|
542
|
+
});
|
|
543
|
+
// Set the gas params for each remote
|
|
544
|
+
for (const tx of configureTxs) {
|
|
545
|
+
await this.multiProvider.sendTransaction(this.chain, tx);
|
|
321
546
|
}
|
|
322
547
|
// Transfer igp to the configured owner
|
|
323
548
|
await this.multiProvider.handleTx(this.chain, igp.transferOwnership(config.owner, this.txOverrides));
|
|
324
549
|
return igp;
|
|
325
550
|
}
|
|
326
551
|
async deployStorageGasOracle({ config, }) {
|
|
552
|
+
// Deploy the StorageGasOracle, by default msg.sender is the owner
|
|
327
553
|
const gasOracle = await this.deployer.deployContract({
|
|
328
554
|
chain: this.chain,
|
|
329
555
|
contractKey: 'storageGasOracle',
|
|
330
556
|
constructorArgs: [],
|
|
331
557
|
});
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
const remoteDomain = this.multiProvider.tryGetDomainId(remote);
|
|
342
|
-
if (!remoteDomain) {
|
|
343
|
-
this.logger.warn(`Skipping gas oracle ${this.chain} -> ${remote}.` +
|
|
344
|
-
' Expected if the remote is a non-EVM chain or the remote domain is not the in the MultiProvider.');
|
|
345
|
-
continue;
|
|
346
|
-
}
|
|
347
|
-
configsToSet.push({
|
|
348
|
-
remoteDomain,
|
|
349
|
-
...desired,
|
|
350
|
-
});
|
|
351
|
-
// Log an example remote gas cost
|
|
352
|
-
const exampleRemoteGas = (config.overhead[remote] ?? 200000) + 50000;
|
|
353
|
-
const exampleRemoteGasCost = BigNumber.from(desired.tokenExchangeRate)
|
|
354
|
-
.mul(desired.gasPrice)
|
|
355
|
-
.mul(exampleRemoteGas)
|
|
356
|
-
.div(TOKEN_EXCHANGE_RATE_SCALE);
|
|
357
|
-
this.logger.info(`${this.chain} -> ${remote}: ${exampleRemoteGas} remote gas cost: ${ethers.utils.formatEther(exampleRemoteGasCost)}`);
|
|
358
|
-
}
|
|
359
|
-
if (configsToSet.length > 0) {
|
|
360
|
-
await this.multiProvider.handleTx(this.chain, gasOracle.setRemoteGasDataConfigs(configsToSet, this.txOverrides));
|
|
558
|
+
// Obtain the transactions to set the gas params for each remote
|
|
559
|
+
const configureTxs = await this.updateStorageGasOracle({
|
|
560
|
+
gasOracle: gasOracle.address,
|
|
561
|
+
targetOracleConfig: config.oracleConfig,
|
|
562
|
+
targetOverhead: config.overhead,
|
|
563
|
+
});
|
|
564
|
+
// Set the gas params for each remote
|
|
565
|
+
for (const tx of configureTxs) {
|
|
566
|
+
await this.multiProvider.sendTransaction(this.chain, tx);
|
|
361
567
|
}
|
|
362
568
|
// Transfer gas oracle to the configured owner
|
|
363
569
|
await this.multiProvider.handleTx(this.chain, gasOracle.transferOwnership(config.oracleKey, this.txOverrides));
|
|
364
570
|
return gasOracle;
|
|
365
571
|
}
|
|
572
|
+
/**
|
|
573
|
+
* Determines if a new hook should be deployed based on the current and target configurations.
|
|
574
|
+
*
|
|
575
|
+
* @param currentConfig - The current hook configuration.
|
|
576
|
+
* @param targetConfig - The target hook configuration. Must not be a string.
|
|
577
|
+
* @returns {boolean} - Returns true if a new hook should be deployed, otherwise false.
|
|
578
|
+
*
|
|
579
|
+
* Conditions for deploying a new hook:
|
|
580
|
+
* - If updating from an address/custom config to a proper hook config.
|
|
581
|
+
* - If updating a proper hook config whose types are different.
|
|
582
|
+
* - If it is not a mutable Hook.
|
|
583
|
+
*/
|
|
584
|
+
shouldDeployNewHook(currentConfig, targetConfig) {
|
|
585
|
+
return (typeof currentConfig === 'string' ||
|
|
586
|
+
currentConfig.type !== targetConfig.type ||
|
|
587
|
+
!MUTABLE_HOOK_TYPE.includes(targetConfig.type));
|
|
588
|
+
}
|
|
366
589
|
}
|
|
367
590
|
//# sourceMappingURL=EvmHookModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvmHookModule.js","sourceRoot":"","sources":["../../src/hook/EvmHookModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAEL,0BAA0B,EAE1B,gCAAgC,EAChC,0BAA0B,EAG1B,mBAAmB,EAInB,qCAAqC,EACrC,8BAA8B,GAE/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EACL,eAAe,GAEhB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE,OAAO,EAAgB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAoB,MAAM,iBAAiB,CAAC;AAK5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAA+B,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAKL,QAAQ,GAKT,MAAM,YAAY,CAAC;AAQpB,MAAM,OAAO,aAAc,SAAQ,eAIlC;IAesB;IAdF,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IACvD,MAAM,CAAgB;IACtB,QAAQ,CAAkD;IAE7E,uEAAuE;IACvD,KAAK,CAAS;IAC9B,uEAAuE;IACvE,kEAAkE;IAClD,QAAQ,CAAS;IAEjC,sCAAsC;IACnB,WAAW,CAA+C;IAE7E,YACqB,aAA4B,EAC/C,IAGC,EACD,gBAAmC;QAEnC,KAAK,CAAC,IAAI,CAAC,CAAC;QAPO,kBAAa,GAAb,aAAa,CAAe;QAS/C,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CACnC,aAAa,EACb;YACE,GAAG,aAAa;YAChB,GAAG,YAAY;SAChB,EACD,IAAI,CAAC,MAAM,EACX,gBAAgB,CACjB,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,OAAO,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;YACzC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY;YAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAmB;QACrC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,wCAAwC;IACjC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,KAAK,EACL,MAAM,EACN,qBAAqB,EACrB,aAAa,EACb,aAAa,GAOd;QACC,gCAAgC;QAChC,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE;YAC9C,SAAS,EAAE;gBACT,GAAG,qBAAqB;gBACxB,GAAG,aAAa;gBAChB,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW;aAC3C;YACD,KAAK;YACL,MAAM;SACP,CAAC,CAAC;QAEH,2CAA2C;QAC3C,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC;QAE1D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iEAAiE;IACvD,KAAK,CAAC,wBAAwB,CAAC,EACvC,cAAc,EACd,aAAa,GAId;QACC,MAAM,kBAAkB,GAAyC,EAAE,CAAC;QAEpE,6EAA6E;QAC7E,KAAK,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACvE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAC;gBAC/D,SAAS;YACX,CAAC;YAED,0FAA0F;YAC1F,6DAA6D;YAC7D,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC;gBAChE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;oBACnC,MAAM,EAAE,kBAAkB;iBAC3B,CAAC,CAAC;gBAEH,kBAAkB,CAAC,IAAI,CAAC;oBACtB,WAAW,EAAE,UAAU;oBACvB,IAAI,EAAE,UAAU,CAAC,OAAO;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,yBAAyB;IACf,KAAK,CAAC,iBAAiB,CAAC,EAChC,OAAO,EACP,MAAM,GAIP;QACC,gEAAgE;QAChE,IACE,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,gBAAgB;YACzC,CAAC,gBAAgB,CACf,MAAM,CAAC,QAAQ,EACd,OAAqC,CAAC,QAAQ,CAChD,EACD,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;QAClD,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC;YACzD,cAAc,EAAE,OAAO,CAAC,OAAO;YAC/B,aAAa,EAAE,MAAM,CAAC,OAAO;SAC9B,CAAC,CAAC;QAEH,oCAAoC;QACpC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,8BAA8B;QAC9B,OAAO;YACL;gBACE,UAAU,EAAE,2BAA2B;gBACvC,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY;gBACpC,IAAI,EAAE,0BAA0B,CAAC,eAAe,EAAE,CAAC,kBAAkB,CACnE,UAAU,EACV,CAAC,cAAc,CAAC,CACjB;aACF;SACF,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,MAAM,CAAC,EACrB,MAAM,GAGP;QACC,8CAA8C;QAC9C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,wEAAwE;YACxE,2EAA2E;YAC3E,aAAa;YACb,OAAO,0BAA0B,CAAC,OAAO,CACvC,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CACxD,CAAC;QACJ,CAAC;QAED,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,QAAQ,CAAC,WAAW;gBACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;oBAClC,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,eAAe,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;iBAC/C,CAAC,CAAC;YACL,KAAK,QAAQ,CAAC,wBAAwB;gBACpC,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACxC,KAAK,QAAQ,CAAC,WAAW;gBACvB,OAAO,IAAI,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAChD,KAAK,QAAQ,CAAC,YAAY;gBACxB,OAAO,IAAI,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAChD,KAAK,QAAQ,CAAC,QAAQ;gBACpB,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5C,KAAK,QAAQ,CAAC,OAAO,CAAC;YACtB,KAAK,QAAQ,CAAC,gBAAgB;gBAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5C,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvB,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD;gBACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAES,KAAK,CAAC,qBAAqB,CAAC,EACpC,MAAM,GAGP;QACC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;YAClC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,QAAQ,CAAC,YAAY;YAClC,eAAe,EAAE;gBACf,MAAM,CAAC,cAAc;gBACrB,MAAM,CAAC,WAAW;gBAClB,MAAM,CAAC,WAAW;gBAClB,MAAM,CAAC,KAAK;aACb;SACF,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAC,EACjC,MAAM,GAGP;QACC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC9C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,QAAQ,CAAC,QAAQ;YAC9B,eAAe,EAAE,EAAE;SACpB,CAAC,CAAC;QAEH,qBAAqB;QACrB,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CACvD,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAES,KAAK,CAAC,qBAAqB,CAAC,EACpC,MAAM,GAGP;QACC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAElD,kBAAkB;QAClB,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACtC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAC9D,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,sCAAsC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3D,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACnC,KAAK,CACP,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,qCAAqC,CAAC,OAAO,CAC3D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,4BAA4B,EAChD,MAAM,CACP,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,sBAAsB,CAAC;YAC7D,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO;YACP,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;QAEH,0BAA0B;QAC1B,OAAO,8BAA8B,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,EAChC,MAAM,GAGP;QACC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uCAAuC,EACvC,KAAK,EACL,MAAM,CAAC,gBAAgB,CACxB,CAAC;QAEF,+CAA+C;QAC/C,MAAM,WAAW,GAAG,gCAAgC,CAAC,OAAO,CAC1D,MAAM,CAAC,YAAY,EACnB,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAC9C,CAAC;QACF,MAAM,WAAW,GAAY,MAAM,WAAW,CAAC,eAAe,EAAE,CAAC;QACjE,qBAAqB;QACrB,MAAM,SAAS,GAAqB;YAClC,IAAI,EAAE,OAAO,CAAC,QAAQ;YACtB,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,WAAW;SAC1B,CAAC;QAEF,qBAAqB;QACrB,MAAM,iBAAiB,GAAG,CACxB,MAAM,YAAY,CAAC,MAAM,CAAC;YACxB,KAAK,EAAE,MAAM,CAAC,gBAAgB;YAC9B,MAAM,EAAE,SAAS;YACjB,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAC1C,OAAO,EAAE,OAAO;YAChB,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CACH,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC;QAE1B,iBAAiB;QACjB,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAC5C,iBAAiB,EACjB,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAChE,CAAC;QAEF,sBAAsB;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC9C,KAAK;YACL,WAAW,EAAE,QAAQ,CAAC,QAAQ;YAC9B,eAAe,EAAE;gBACf,OAAO;gBACP,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBACvD,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC;gBACpC,MAAM,CAAC,YAAY;aACpB;SACF,CAAC,CAAC;QAEH,qCAAqC;QACrC,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC;QACzD,IAAI,cAAc,KAAK,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uCAAuC,EACvC,UAAU,CAAC,OAAO,CACnB,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IACL,cAAc,KAAK,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EACjE,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,yDAAyD,EACzD,UAAU,CAAC,OAAO,EAClB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAC9B,cAAc,CACf,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uDAAuD,EACvD,IAAI,CAAC,OAAO,EACZ,UAAU,CAAC,OAAO,EAClB,MAAM,CAAC,gBAAgB,CACxB,CAAC;QACF,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,MAAM,CAAC,gBAAgB,EACvB,UAAU,CAAC,iBAAiB,CAC1B,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAC9B,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CACpE,CACF,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,EAChC,MAAM,GAGP;QACC,uDAAuD;QACvD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAC/D,IAAI,CAAC,KAAK,CACX,CAAC;QAEF,IAAI,WAA0D,CAAC;QAC/D,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC9C,uBAAuB;YACvB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpE,oCAAoC;YACpC,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC/C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,QAAQ,CAAC,gBAAgB;gBACtC,eAAe,EAAE;oBACf,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO;oBAC3B,eAAe;oBACf,YAAY,CAAC,OAAO;iBACrB;aACF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,sBAAsB;YACtB,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC/C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,QAAQ,CAAC,OAAO;gBAC7B,eAAe,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC;aAChE,CAAC,CAAC;QACL,CAAC;QAED,wCAAwC;QACxC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC;YACrD,cAAc,EAAE,EAAE;YAClB,aAAa,EAAE,MAAM,CAAC,OAAO;SAC9B,CAAC,CAAC;QAEH,YAAY;QACZ,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,IAAI,CAAC,KAAK,EACV,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CACnD,CAAC;QAEF,qBAAqB;QACrB,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,IAAI,CAAC,KAAK,EACV,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAC9D,CAAC;QAEF,yCAAyC;QACzC,OAAO,WAAW,CAAC;IACrB,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,EAC5B,MAAM,GAGP;QACC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAE9C,8BAA8B;QAC9B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;YACzD,MAAM;SACP,CAAC,CAAC;QAEH,oCAAoC;QACpC,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC;YACrE,gBAAgB;YAChB,MAAM;SACP,CAAC,CAAC;QAEH,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAES,KAAK,CAAC,4BAA4B,CAAC,EAC3C,gBAAgB,EAChB,MAAM,GAIP;QACC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAC/D,IAAI,CAAC,KAAK,CACX,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACpD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,QAAQ,CAAC,wBAAwB;YAC9C,YAAY,EAAE,QAAQ,CAAC,wBAAwB;YAC/C,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU;YAC1C,eAAe,EAAE,EAAE;YACnB,cAAc,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC;SACtD,CAAC,CAAC;QAEH,MAAM,cAAc,GAA4C,EAAE,CAAC;QACnE,KAAK,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpE,2GAA2G;YAC3G,kGAAkG;YAClG,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,qBAAqB,IAAI,CAAC,KAAK,OAAO,MAAM,8CAA8C,CAC3F,CAAC;gBACF,SAAS;YACX,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0BAA0B,IAAI,CAAC,KAAK,OAAO,MAAM,mBAAmB,WAAW,gBAAgB,gBAAgB,CAAC,OAAO,EAAE,CAC1H,CAAC;YACF,cAAc,CAAC,IAAI,CAAC;gBAClB,YAAY;gBACZ,MAAM,EAAE;oBACN,WAAW;oBACX,SAAS,EAAE,gBAAgB,CAAC,OAAO;iBACpC;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,IAAI,CAAC,KAAK,EACV,GAAG,CAAC,wBAAwB,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAC/D,CAAC;QACJ,CAAC;QAED,uCAAuC;QACvC,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,IAAI,CAAC,KAAK,EACV,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CACtD,CAAC;QAEF,OAAO,GAAG,CAAC;IACb,CAAC;IAES,KAAK,CAAC,sBAAsB,CAAC,EACrC,MAAM,GAGP;QACC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;YACnD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,kBAAkB;YAC/B,eAAe,EAAE,EAAE;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;QACjE,MAAM,YAAY,GAAsD,EAAE,CAAC;QAE3E,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YACpE,2GAA2G;YAC3G,kGAAkG;YAClG,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,uBAAuB,IAAI,CAAC,KAAK,OAAO,MAAM,GAAG;oBAC/C,kGAAkG,CACrG,CAAC;gBACF,SAAS;YACX,CAAC;YAED,YAAY,CAAC,IAAI,CAAC;gBAChB,YAAY;gBACZ,GAAG,OAAO;aACX,CAAC,CAAC;YAEH,iCAAiC;YACjC,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAO,CAAC,GAAG,KAAM,CAAC;YACvE,MAAM,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;iBACnE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;iBACrB,GAAG,CAAC,gBAAgB,CAAC;iBACrB,GAAG,CAAC,yBAAyB,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GACE,IAAI,CAAC,KACP,OAAO,MAAM,KAAK,gBAAgB,qBAAqB,MAAM,CAAC,KAAK,CAAC,WAAW,CAC7E,oBAAoB,CACrB,EAAE,CACJ,CAAC;QACJ,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,IAAI,CAAC,KAAK,EACV,SAAS,CAAC,uBAAuB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAClE,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,IAAI,CAAC,KAAK,EACV,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAChE,CAAC;QAEF,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"EvmHookModule.js","sourceRoot":"","sources":["../../src/hook/EvmHookModule.ts"],"names":[],"mappings":"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"}
|