@hyperlane-xyz/sdk 44.0.2 → 45.0.1
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/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +104 -772
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/consts/testChains.d.ts.map +1 -1
- package/dist/consts/testChains.js +11 -6
- package/dist/consts/testChains.js.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.d.ts +6 -0
- package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.js +20 -0
- package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.test.js +17 -0
- package/dist/core/adapters/SealevelCoreAdapter.test.js.map +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +14 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/types.test.js +98 -1
- package/dist/core/types.test.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/warp.d.ts.map +1 -1
- package/dist/deploy/warp.js +32 -43
- package/dist/deploy/warp.js.map +1 -1
- package/dist/deploy/warp.test.js +62 -1
- package/dist/deploy/warp.test.js.map +1 -1
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts +3 -2
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts.map +1 -1
- package/dist/gas/adapters/SealevelIgpAdapter.js +3 -2
- package/dist/gas/adapters/SealevelIgpAdapter.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/ism/EvmIsmModule.d.ts.map +1 -1
- package/dist/ism/EvmIsmModule.js +5 -1
- package/dist/ism/EvmIsmModule.js.map +1 -1
- package/dist/ism/EvmIsmModule.test.js +109 -0
- package/dist/ism/EvmIsmModule.test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +26 -6
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +60 -0
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +165 -34
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.test.js +33 -6
- package/dist/ism/HyperlaneIsmFactory.test.js.map +1 -1
- package/dist/ism/types.d.ts +18 -2
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +43 -3
- package/dist/ism/types.js.map +1 -1
- package/dist/ism/types.test.js +232 -56
- package/dist/ism/types.test.js.map +1 -1
- package/dist/ism/utils.d.ts.map +1 -1
- package/dist/ism/utils.js +13 -0
- package/dist/ism/utils.js.map +1 -1
- package/dist/ism/utils.test.js +43 -1
- package/dist/ism/utils.test.js.map +1 -1
- package/dist/metadata/ChainMetadataManager.d.ts +1 -0
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataManager.js +1 -0
- package/dist/metadata/ChainMetadataManager.js.map +1 -1
- package/dist/metadata/ChainMetadataManager.test.js +14 -1
- package/dist/metadata/ChainMetadataManager.test.js.map +1 -1
- package/dist/metadata/ChainMetadataResolver.d.ts +1 -0
- package/dist/metadata/ChainMetadataResolver.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataResolver.js +1 -0
- package/dist/metadata/ChainMetadataResolver.js.map +1 -1
- package/dist/metadata/ChainMetadataResolver.test.js +4 -0
- package/dist/metadata/ChainMetadataResolver.test.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +209 -93
- package/dist/metadata/agentConfig.d.ts.map +1 -1
- package/dist/metadata/agentConfig.js +106 -13
- package/dist/metadata/agentConfig.js.map +1 -1
- package/dist/metadata/agentConfig.test.js +277 -25
- package/dist/metadata/agentConfig.test.js.map +1 -1
- package/dist/metadata/chainMetadata.test.js +25 -0
- package/dist/metadata/chainMetadata.test.js.map +1 -1
- package/dist/metadata/chainMetadataTypes.d.ts +36 -0
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
- package/dist/metadata/chainMetadataTypes.js +26 -0
- package/dist/metadata/chainMetadataTypes.js.map +1 -1
- package/dist/providers/SeismicSigner.d.ts +4 -12
- package/dist/providers/SeismicSigner.d.ts.map +1 -1
- package/dist/providers/SeismicSigner.js +84 -35
- package/dist/providers/SeismicSigner.js.map +1 -1
- package/dist/providers/SeismicSigner.test.d.ts +2 -0
- package/dist/providers/SeismicSigner.test.d.ts.map +1 -0
- package/dist/providers/SeismicSigner.test.js +160 -0
- package/dist/providers/SeismicSigner.test.js.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.d.ts +1 -5
- package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.d.ts +2 -0
- package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.d.ts.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.js +164 -0
- package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.js.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.js +35 -72
- package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.test.js +181 -2
- package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -1
- package/dist/providers/SmartProvider/jsonRpcError.d.ts +7 -0
- package/dist/providers/SmartProvider/jsonRpcError.d.ts.map +1 -0
- package/dist/providers/SmartProvider/jsonRpcError.js +67 -0
- package/dist/providers/SmartProvider/jsonRpcError.js.map +1 -0
- package/dist/providers/SmartProvider/types.d.ts +1 -0
- package/dist/providers/SmartProvider/types.d.ts.map +1 -1
- package/dist/providers/builders/ethersV5.d.ts +0 -1
- package/dist/providers/builders/ethersV5.d.ts.map +1 -1
- package/dist/providers/builders/ethersV5.js +19 -5
- package/dist/providers/builders/ethersV5.js.map +1 -1
- package/dist/providers/builders/ethersV5.test.d.ts +2 -0
- package/dist/providers/builders/ethersV5.test.d.ts.map +1 -0
- package/dist/providers/builders/ethersV5.test.js +77 -0
- package/dist/providers/builders/ethersV5.test.js.map +1 -0
- package/dist/providers/builders/radix.browser.d.ts +1 -0
- package/dist/providers/builders/radix.browser.d.ts.map +1 -1
- package/dist/providers/builders/radix.browser.js +1 -0
- package/dist/providers/builders/radix.browser.js.map +1 -1
- package/dist/providers/builders/radix.d.ts.map +1 -1
- package/dist/providers/builders/radix.gateway.test.d.ts +2 -0
- package/dist/providers/builders/radix.gateway.test.d.ts.map +1 -0
- package/dist/providers/builders/radix.gateway.test.js +39 -0
- package/dist/providers/builders/radix.gateway.test.js.map +1 -0
- package/dist/providers/builders/radix.js +1 -0
- package/dist/providers/builders/radix.js.map +1 -1
- package/dist/providers/builders/radix.test.js +1 -0
- package/dist/providers/builders/radix.test.js.map +1 -1
- package/dist/providers/providerBuilders.d.ts +1 -1
- package/dist/providers/providerBuilders.d.ts.map +1 -1
- package/dist/providers/providerBuilders.js +1 -1
- package/dist/providers/providerBuilders.js.map +1 -1
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js +60 -8
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js.map +1 -1
- package/dist/test/errors.d.ts +25 -0
- package/dist/test/errors.d.ts.map +1 -1
- package/dist/test/errors.js +31 -0
- package/dist/test/errors.js.map +1 -1
- package/dist/test/fixtures/warp-route-replay/record.d.ts +2 -0
- package/dist/test/fixtures/warp-route-replay/record.d.ts.map +1 -0
- package/dist/test/fixtures/warp-route-replay/record.js +32 -0
- package/dist/test/fixtures/warp-route-replay/record.js.map +1 -0
- package/dist/test/replayRpc.d.ts +82 -0
- package/dist/test/replayRpc.d.ts.map +1 -0
- package/dist/test/replayRpc.js +331 -0
- package/dist/test/replayRpc.js.map +1 -0
- package/dist/test/replayScenarios.d.ts +19 -0
- package/dist/test/replayScenarios.d.ts.map +1 -0
- package/dist/test/replayScenarios.js +89 -0
- package/dist/test/replayScenarios.js.map +1 -0
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js +92 -7
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js.map +1 -1
- package/dist/timelock/evm/errors.js +1 -1
- package/dist/timelock/evm/errors.js.map +1 -1
- package/dist/token/EvmWarpRouteReader.d.ts +27 -0
- package/dist/token/EvmWarpRouteReader.d.ts.map +1 -1
- package/dist/token/EvmWarpRouteReader.hardhat-test.js +28 -3
- package/dist/token/EvmWarpRouteReader.hardhat-test.js.map +1 -1
- package/dist/token/EvmWarpRouteReader.js +172 -42
- package/dist/token/EvmWarpRouteReader.js.map +1 -1
- package/dist/token/EvmWarpRouteReader.replay.test.d.ts +2 -0
- package/dist/token/EvmWarpRouteReader.replay.test.d.ts.map +1 -0
- package/dist/token/EvmWarpRouteReader.replay.test.js +392 -0
- package/dist/token/EvmWarpRouteReader.replay.test.js.map +1 -0
- package/dist/token/EvmWarpRouteReader.test.js +529 -4
- package/dist/token/EvmWarpRouteReader.test.js.map +1 -1
- package/dist/token/types.d.ts +1 -1
- package/dist/token/warpCheck.d.ts +1 -0
- package/dist/token/warpCheck.d.ts.map +1 -1
- package/dist/token/warpCheck.js +25 -2
- package/dist/token/warpCheck.js.map +1 -1
- package/dist/token/warpCheck.test.js +119 -0
- package/dist/token/warpCheck.test.js.map +1 -1
- package/dist/utils/contract.d.ts +33 -0
- package/dist/utils/contract.d.ts.map +1 -1
- package/dist/utils/contract.js +116 -3
- package/dist/utils/contract.js.map +1 -1
- package/dist/utils/contract.test.js +465 -2
- package/dist/utils/contract.test.js.map +1 -1
- package/dist/utils/contract.transport.test.d.ts +2 -0
- package/dist/utils/contract.transport.test.d.ts.map +1 -0
- package/dist/utils/contract.transport.test.js +145 -0
- package/dist/utils/contract.transport.test.js.map +1 -0
- package/dist/utils/ism.d.ts +12 -6
- package/dist/utils/ism.d.ts.map +1 -1
- package/dist/utils/ism.js +92 -41
- package/dist/utils/ism.js.map +1 -1
- package/dist/utils/ism.test.js +75 -2
- package/dist/utils/ism.test.js.map +1 -1
- package/package.json +29 -15
|
@@ -2,9 +2,11 @@ import chai, { expect } from 'chai';
|
|
|
2
2
|
import chaiAsPromised from 'chai-as-promised';
|
|
3
3
|
import { ethers } from 'ethers';
|
|
4
4
|
import hre from 'hardhat';
|
|
5
|
+
import sinon from 'sinon';
|
|
5
6
|
import { TimelockController__factory } from '@hyperlane-xyz/core';
|
|
6
7
|
import { assert, deepCopy, normalizeAddressEvm } from '@hyperlane-xyz/utils';
|
|
7
|
-
import {
|
|
8
|
+
import { EXPLORER_API_URL, explorerResponse, } from '../../block-explorer/testFixtures.js';
|
|
9
|
+
import { TestChainName, ethereumTestChain, test1, } from '../../consts/testChains.js';
|
|
8
10
|
import { ZBytes32String } from '../../metadata/customZodTypes.js';
|
|
9
11
|
import { MultiProvider } from '../../providers/MultiProvider.js';
|
|
10
12
|
import { randomAddress } from '../../test/testUtils.js';
|
|
@@ -736,22 +738,103 @@ describe(EvmTimelockReader.name, () => {
|
|
|
736
738
|
});
|
|
737
739
|
describe(`${EvmTimelockReader.name} (Block Explorer)`, () => {
|
|
738
740
|
let reader;
|
|
739
|
-
let
|
|
741
|
+
let sandbox;
|
|
742
|
+
let operationIds;
|
|
743
|
+
let explorerFetch;
|
|
744
|
+
let rpcGetLogs;
|
|
740
745
|
beforeEach(async () => {
|
|
746
|
+
sandbox = sinon.createSandbox();
|
|
747
|
+
const timelock = await deployTestTimelock();
|
|
748
|
+
operationIds = [];
|
|
749
|
+
for (let i = 0; i < 3; i++) {
|
|
750
|
+
const salt = ethers.utils.formatBytes32String(`explorer-${i}`);
|
|
751
|
+
const args = [
|
|
752
|
+
[executor.address],
|
|
753
|
+
[0],
|
|
754
|
+
['0x'],
|
|
755
|
+
EMPTY_BYTES_32,
|
|
756
|
+
salt,
|
|
757
|
+
];
|
|
758
|
+
await (await timelock.connect(proposer).scheduleBatch(...args, 0)).wait();
|
|
759
|
+
operationIds.push(await timelock.hashOperationBatch(...args));
|
|
760
|
+
if (i === 0)
|
|
761
|
+
await (await timelock.connect(proposer).cancel(operationIds[i])).wait();
|
|
762
|
+
if (i === 1)
|
|
763
|
+
await (await timelock.connect(executor).executeBatch(...args)).wait();
|
|
764
|
+
}
|
|
765
|
+
const explorerUrl = EXPLORER_API_URL;
|
|
741
766
|
multiProvider = new MultiProvider({
|
|
742
|
-
|
|
767
|
+
[TestChainName.test1]: {
|
|
768
|
+
...test1,
|
|
769
|
+
blockExplorers: ethereumTestChain.blockExplorers
|
|
770
|
+
?.slice(0, 1)
|
|
771
|
+
.map((explorer) => ({
|
|
772
|
+
...explorer,
|
|
773
|
+
apiUrl: explorerUrl,
|
|
774
|
+
url: 'https://explorer.test',
|
|
775
|
+
})),
|
|
776
|
+
},
|
|
777
|
+
});
|
|
778
|
+
multiProvider.setProvider(TestChainName.test1, providerChainTest1);
|
|
779
|
+
const fixtureLogs = await providerChainTest1.getLogs({
|
|
780
|
+
address: timelock.address,
|
|
781
|
+
fromBlock: timelock.deployTransaction.blockNumber,
|
|
782
|
+
toBlock: 'latest',
|
|
783
|
+
});
|
|
784
|
+
rpcGetLogs = sandbox
|
|
785
|
+
.stub(providerChainTest1, 'getLogs')
|
|
786
|
+
.rejects(new Error('Explorer tests must not fall back to RPC logs'));
|
|
787
|
+
// Exercise the explorer HTTP/decoding path using real local events.
|
|
788
|
+
// No public RPC or explorer is involved in this Hardhat suite.
|
|
789
|
+
explorerFetch = sandbox
|
|
790
|
+
.stub(globalThis, 'fetch')
|
|
791
|
+
.callsFake(async (input) => {
|
|
792
|
+
const url = new URL(input instanceof Request ? input.url : input.toString());
|
|
793
|
+
expect(url.origin + url.pathname).to.equal(explorerUrl);
|
|
794
|
+
let result;
|
|
795
|
+
if (url.searchParams.get('action') === 'getcontractcreation') {
|
|
796
|
+
result = [
|
|
797
|
+
{
|
|
798
|
+
contractAddress: timelock.address,
|
|
799
|
+
contractCreator: contractOwner.address,
|
|
800
|
+
txHash: timelock.deployTransaction.hash,
|
|
801
|
+
blockNumber: timelock.deployTransaction.blockNumber,
|
|
802
|
+
},
|
|
803
|
+
];
|
|
804
|
+
}
|
|
805
|
+
else {
|
|
806
|
+
expect(url.searchParams.get('action')).to.equal('getLogs');
|
|
807
|
+
expect(url.searchParams.get('address')).to.equal(timelock.address);
|
|
808
|
+
const topic = url.searchParams.get('topic0');
|
|
809
|
+
assert(topic, 'Expected an event topic');
|
|
810
|
+
const logs = fixtureLogs.filter((log) => log.topics[0] === topic &&
|
|
811
|
+
log.blockNumber >= Number(url.searchParams.get('fromBlock')) &&
|
|
812
|
+
log.blockNumber <= Number(url.searchParams.get('toBlock')));
|
|
813
|
+
result = logs.map((log) => ({
|
|
814
|
+
...log,
|
|
815
|
+
blockNumber: ethers.utils.hexValue(log.blockNumber),
|
|
816
|
+
logIndex: ethers.utils.hexValue(log.logIndex),
|
|
817
|
+
transactionIndex: ethers.utils.hexValue(log.transactionIndex),
|
|
818
|
+
}));
|
|
819
|
+
}
|
|
820
|
+
return explorerResponse({ status: '1', message: 'OK', result });
|
|
743
821
|
});
|
|
744
822
|
reader = EvmTimelockReader.fromConfig({
|
|
745
|
-
chain:
|
|
746
|
-
timelockAddress
|
|
823
|
+
chain: TestChainName.test1,
|
|
824
|
+
timelockAddress,
|
|
747
825
|
multiProvider,
|
|
748
826
|
});
|
|
749
827
|
});
|
|
828
|
+
afterEach(() => {
|
|
829
|
+
sandbox.restore();
|
|
830
|
+
expect(explorerFetch.called).to.be.true;
|
|
831
|
+
expect(rpcGetLogs.called).to.be.false;
|
|
832
|
+
});
|
|
750
833
|
describe(`${EvmTimelockReader.prototype.getScheduledOperations.name}`, () => {
|
|
751
834
|
it('should retrieve scheduled transactions from block explorer API', async () => {
|
|
752
835
|
const scheduledTxs = await reader.getScheduledOperations();
|
|
753
836
|
// Should find some scheduled transactions on this timelock
|
|
754
|
-
expect(Object.keys(scheduledTxs)
|
|
837
|
+
expect(Object.keys(scheduledTxs)).to.have.members(operationIds);
|
|
755
838
|
// Validate structure of returned transactions
|
|
756
839
|
for (const [txId, tx] of Object.entries(scheduledTxs)) {
|
|
757
840
|
expect(ZBytes32String.safeParse(txId).success).to.be.true;
|
|
@@ -767,6 +850,7 @@ describe(EvmTimelockReader.name, () => {
|
|
|
767
850
|
it('should retrieve cancelled operation IDs from block explorer API', async () => {
|
|
768
851
|
const cancelledIds = await reader.getCancelledOperationIds();
|
|
769
852
|
expect(cancelledIds).to.be.instanceOf(Set);
|
|
853
|
+
expect([...cancelledIds]).to.deep.equal([operationIds[0]]);
|
|
770
854
|
for (const id of cancelledIds) {
|
|
771
855
|
expect(ZBytes32String.safeParse(id).success).to.be.true;
|
|
772
856
|
}
|
|
@@ -776,7 +860,7 @@ describe(EvmTimelockReader.name, () => {
|
|
|
776
860
|
it('should retrieve executed operation IDs from block explorer API', async () => {
|
|
777
861
|
const executedIds = await reader.getExecutedOperationIds();
|
|
778
862
|
// Should find some executed transactions on this timelock
|
|
779
|
-
expect(executedIds
|
|
863
|
+
expect([...executedIds]).to.deep.equal([operationIds[1]]);
|
|
780
864
|
for (const id of executedIds) {
|
|
781
865
|
expect(ZBytes32String.safeParse(id).success).to.be.true;
|
|
782
866
|
}
|
|
@@ -785,6 +869,7 @@ describe(EvmTimelockReader.name, () => {
|
|
|
785
869
|
describe(`${EvmTimelockReader.prototype.getScheduledExecutableTransactions.name}`, () => {
|
|
786
870
|
it('should retrieve scheduled executable transactions from block explorer API', async () => {
|
|
787
871
|
const executableTxs = await reader.getScheduledExecutableTransactions();
|
|
872
|
+
expect(Object.keys(executableTxs)).to.deep.equal([operationIds[2]]);
|
|
788
873
|
for (const [txId, executableTx] of Object.entries(executableTxs)) {
|
|
789
874
|
expect(executableTx.id).to.equal(txId);
|
|
790
875
|
expect(ZBytes32String.safeParse(txId).success).to.be.true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvmTimelockReader.hardhat-test.js","sourceRoot":"","sources":["../../../src/timelock/evm/EvmTimelockReader.hardhat-test.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,GAAG,MAAM,SAAS,CAAC;AAE1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EACL,gCAAgC,EAChC,aAAa,EACb,iBAAiB,EACjB,KAAK,GACN,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAEzB,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE;IACpC,IAAI,aAAgC,CAAC;IACrC,IAAI,QAA2B,CAAC;IAChC,IAAI,QAA2B,CAAC;IAChC,IAAI,kBAAmC,CAAC;IACxC,IAAI,aAA4B,CAAC;IACjC,IAAI,gBAAqC,CAAC;IAC1C,IAAI,cAAiC,CAAC;IACtC,IAAI,eAAuB,CAAC;IAE5B,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,CAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAEpE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;QAC/D,kBAAkB,GAAG,aAAa,CAAC,QAA2B,CAAC;QAE/D,2CAA2C;QAC3C,MAAM,eAAe,GAAkB,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvD,eAAe,CAAC,cAAc,GAAG,EAAE,CAAC;QAEpC,aAAa,GAAG,IAAI,aAAa,CAAC;YAChC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,eAAe;SACvC,CAAC,CAAC;QACH,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QACnE,aAAa,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAE7C,2BAA2B;QAC3B,gBAAgB,GAAG,IAAI,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,kBAAkB;QAC/B,MAAM,MAAM,GAAmB;YAC7B,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC7B,SAAS,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC7B,KAAK,EAAE,aAAa,CAAC,OAAO;SAC7B,CAAC;QAEF,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,gBAAgB,CAAC,eAAe,CACnE,aAAa,CAAC,KAAK,EACnB,MAAM,CACP,CAAC;QAEF,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC;QAE7C,MAAM,CACJ,kBAAkB,CAAC,iBAAiB,CAAC,WAAW,EAChD,6DAA6D,CAC9D,CAAC;QAEF,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;QAC/C,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,kBAAkB,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,CAAC;gBAC1C,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,eAAe;gBACf,aAAa;aACd,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,CAAC,GAAG,EAAE;gBACV,iBAAiB,CAAC,UAAU,CAAC;oBAC3B,KAAK,EAAE,aAAa,CAAC,KAAK;oBAC1B,eAAe;oBACf,aAAa;iBACd,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,iBAAiB,CAAC,IAAI,QAAQ,EAAE,GAAG,EAAE;QAC/C,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,kBAAkB,EAAE,CAAC;YAE3B,cAAc,GAAG,iBAAiB,CAAC,UAAU,CAAC;gBAC5C,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,eAAe;gBACf,aAAa;aACd,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;YAC1E,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;gBAC7E,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,sBAAsB,EAAE,CAAC;gBAEnE,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YAOH,MAAM,iBAAiB,GAAuB;gBAC5C;oBACE,KAAK,EAAE,wDAAwD;oBAC/D,UAAU,EAAE;wBACV,IAAI,EAAE;4BACJ;gCACE,EAAE,EAAE,aAAa,EAAE;gCACnB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gCACnC,IAAI,EAAE,QAAQ;6BACf;yBACF;wBACD,KAAK,EAAE,CAAC;wBACR,WAAW,EAAE,cAAc;wBAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC;qBACpD;iBACF;gBACD;oBACE,KAAK,EAAE,0DAA0D;oBACjE,UAAU,EAAE;wBACV,IAAI,EAAE;4BACJ;gCACE,EAAE,EAAE,aAAa,EAAE;gCACnB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gCACnC,IAAI,EAAE,QAAQ;6BACf;4BACD;gCACE,EAAE,EAAE,aAAa,EAAE;gCACnB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gCACnC,IAAI,EAAE,QAAQ;6BACf;yBACF;wBACD,KAAK,EAAE,CAAC;wBACR,WAAW,EAAE,cAAc;wBAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,YAAY,CAAC;qBACrD;iBACF;gBACD;oBACE,KAAK,EACH,gEAAgE;oBAClE,UAAU,EAAE;wBACV,IAAI,EAAE;4BACJ;gCACE,EAAE,EAAE,aAAa,EAAE;gCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gCAC/B,IAAI,EAAE,IAAI;6BACX;yBACF;wBACD,KAAK,EAAE,CAAC;wBACR,WAAW,EAAE,cAAc;wBAC3B,IAAI,EAAE,cAAc;qBACrB;iBACF;aACF,CAAC;YAEF,KAAK,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,iBAAiB,EAAE,CAAC;gBACtD,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;oBACnB,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,OAAO,CAC1D,eAAe,EACf,QAAQ,CACT,CAAC;oBAEF,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACnD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;oBAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBAEvD,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,aAAa,CACrD,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,KAAK,CACjB,CAAC;oBACF,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;oBAExB,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,sBAAsB,EAAE,CAAC;oBACnE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAExC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAEhC,MAAM,WAAW,GAAe,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAEhE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAChD,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAC1D,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAC3C,CAAC;wBACF,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CACpD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAG,CAC5C,CAAC;wBACF,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACrE,CAAC;oBAED,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACrD,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;oBACjE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACnD,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;YAC5E,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;gBAC1E,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,wBAAwB,EAAE,CAAC;gBACrE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YAOH,MAAM,eAAe,GAAqB;gBACxC;oBACE,KAAK,EAAE,yDAAyD;oBAChE,WAAW,EAAE;wBACX;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,QAAQ;iCACf;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,aAAa,CAAC;yBACtD;qBACF;iBACF;gBACD;oBACE,KAAK,EAAE,6CAA6C;oBACpD,WAAW,EAAE;wBACX;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,QAAQ;iCACf;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC;yBACnD;wBACD;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,QAAQ;iCACf;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC;yBACnD;qBACF;iBACF;aACF,CAAC;YAEF,KAAK,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,eAAe,EAAE,CAAC;gBACrD,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;oBACnB,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,OAAO,CAC1D,eAAe,EACf,QAAQ,CACT,CAAC;oBAEF,MAAM,YAAY,GAAa,EAAE,CAAC;oBAElC,iCAAiC;oBACjC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;wBACrC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBACnD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;wBAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;wBAEvD,WAAW;wBACX,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,aAAa,CACrD,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,KAAK,CACjB,CAAC;wBACF,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;wBAExB,mBAAmB;wBACnB,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CAC3D,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,IAAI,CAChB,CAAC;wBACF,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAE/B,SAAS;wBACT,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;wBAC5D,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACxB,CAAC;oBAED,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,wBAAwB,EAAE,CAAC;oBACrE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBAEvD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;wBACvC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;oBACnD,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;YAC3E,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;gBACzE,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,uBAAuB,EAAE,CAAC;gBAEnE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YAOH,MAAM,gBAAgB,GAAsB;gBAC1C;oBACE,KAAK,EAAE,wDAAwD;oBAC/D,WAAW,EAAE;wBACX;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,IAAI;iCACX;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,cAAc,CAAC;yBACvD;qBACF;iBACF;gBACD;oBACE,KAAK,EAAE,4CAA4C;oBACnD,WAAW,EAAE;wBACX;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,IAAI;iCACX;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC;yBACpD;wBACD;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,IAAI;iCACX;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC;yBACpD;qBACF;iBACF;aACF,CAAC;YAEF,KAAK,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,gBAAgB,EAAE,CAAC;gBACtD,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;oBACnB,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,OAAO,CAC1D,eAAe,EACf,QAAQ,CACT,CAAC;oBACF,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,OAAO,CAC1D,eAAe,EACf,QAAQ,CACT,CAAC;oBAEF,MAAM,YAAY,GAAa,EAAE,CAAC;oBAElC,kCAAkC;oBAClC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;wBACrC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBACnD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;wBAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;wBAEvD,WAAW;wBACX,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,aAAa,CACrD,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,KAAK,CACjB,CAAC;wBACF,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;wBAExB,mBAAmB;wBACnB,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CAC3D,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,IAAI,CAChB,CAAC;wBACF,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAE/B,UAAU;wBACV,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,YAAY,CACnD,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,IAAI,CAChB,CAAC;wBACF,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;oBACzB,CAAC;oBAED,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,uBAAuB,EAAE,CAAC;oBACnE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBAEtD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;wBACvC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;oBAClD,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;YACxE,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;gBACvD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;gBAE/D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YAQH,MAAM,cAAc,GAAoB;gBACtC;oBACE,KAAK,EAAE,qDAAqD;oBAC5D,WAAW,EAAE;wBACX;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,IAAI;iCACX;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,YAAY,CAAC;yBACrD;qBACF;oBACD,kBAAkB,EAAE,CAAC;iBACtB;gBACD;oBACE,KAAK,EAAE,qDAAqD;oBAC5D,WAAW,EAAE;wBACX;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,IAAI;iCACX;6BACF;4BACD,KAAK,EAAE,IAAI;4BACX,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC;yBACpD;qBACF;oBACD,kBAAkB,EAAE,CAAC;iBACtB;gBACD;oBACE,KAAK,EAAE,oDAAoD;oBAC3D,WAAW,EAAE;wBACX;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,IAAI;iCACX;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC;yBAClD;wBACD;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,IAAI;iCACX;6BACF;4BACD,KAAK,EAAE,IAAI;4BACX,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,aAAa,CAAC;yBACtD;qBACF;oBACD,kBAAkB,EAAE,CAAC;iBACtB;aACF,CAAC;YAEF,KAAK,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,cAAc,EAAE,CAAC;gBACxE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;oBACnB,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,OAAO,CAC1D,eAAe,EACf,QAAQ,CACT,CAAC;oBAEF,MAAM,YAAY,GAAa,EAAE,CAAC;oBAElC,sBAAsB;oBACtB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;wBACrC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBACnD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;wBAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;wBAEvD,WAAW;wBACX,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,aAAa,CACrD,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,KAAK,CACjB,CAAC;wBACF,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;wBAExB,mBAAmB;wBACnB,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CAC3D,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,IAAI,CAChB,CAAC;wBACF,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACjC,CAAC;oBAED,MAAM,QAAQ,GACZ,MAAM,cAAc,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;oBAC1D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;YAC1E,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;gBACvD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;gBAEnE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAUH,MAAM,gBAAgB,GAAsB;gBAC1C;oBACE,KAAK,EAAE,4CAA4C;oBACnD,WAAW,EAAE;wBACX;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,QAAQ;iCACf;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,cAAc,CAAC;yBACvD;qBACF;oBACD,oBAAoB,EAAE,CAAC;iBACxB;gBACD;oBACE,KAAK,EAAE,uDAAuD;oBAC9D,WAAW,EAAE;wBACX;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,QAAQ;iCACf;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,mBAAmB,CAAC;yBAC5D;qBACF;oBACD,kBAAkB,EAAE,CAAC,CAAC,CAAC;oBACvB,oBAAoB,EAAE,CAAC;iBACxB;gBACD;oBACE,KAAK,EAAE,sDAAsD;oBAC7D,WAAW,EAAE;wBACX;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,IAAI;iCACX;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,kBAAkB,CAAC;yBAC3D;qBACF;oBACD,iBAAiB,EAAE,CAAC,CAAC,CAAC;oBACtB,oBAAoB,EAAE,CAAC;iBACxB;gBACD;oBACE,KAAK,EACH,iEAAiE;oBACnE,WAAW,EAAE;wBACX;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,QAAQ;iCACf;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC;yBACpD;wBACD;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,QAAQ;iCACf;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,CAAC;yBAC9D;wBACD;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,IAAI;iCACX;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,oBAAoB,CAAC;yBAC7D;qBACF;oBACD,kBAAkB,EAAE,CAAC,CAAC,CAAC;oBACvB,iBAAiB,EAAE,CAAC,CAAC,CAAC;oBACtB,oBAAoB,EAAE,CAAC;iBACxB;aACF,CAAC;YAEF,KAAK,MAAM,EACT,KAAK,EACL,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,GACrB,IAAI,gBAAgB,EAAE,CAAC;gBACtB,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;oBACnB,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,OAAO,CAC1D,eAAe,EACf,QAAQ,CACT,CAAC;oBACF,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,OAAO,CAC1D,eAAe,EACf,QAAQ,CACT,CAAC;oBAEF,MAAM,YAAY,GAAa,EAAE,CAAC;oBAElC,4BAA4B;oBAC5B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;wBACrC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBACnD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;wBAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;wBAEvD,WAAW;wBACX,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,aAAa,CACrD,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,KAAK,CACjB,CAAC;wBACF,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;wBAExB,mBAAmB;wBACnB,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CAC3D,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,IAAI,CAChB,CAAC;wBACF,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACjC,CAAC;oBAED,MAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;wBAC1D,MAAM,WAAW,GAAG,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;wBACjE,MAAM,UAAU,GAAG,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;wBAC/D,OAAO,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC;oBACrC,CAAC,CAAC,CAAC;oBAEH,+BAA+B;oBAC/B,IAAI,kBAAkB,EAAE,CAAC;wBACvB,KAAK,MAAM,KAAK,IAAI,kBAAkB,EAAE,CAAC;4BACvC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAC5C,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;4BACF,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;wBACxB,CAAC;oBACH,CAAC;oBAED,gCAAgC;oBAChC,IAAI,iBAAiB,EAAE,CAAC;wBACtB,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;4BACtC,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;4BACtC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;4BACnD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;4BAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;4BAEvD,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,YAAY,CACnD,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,IAAI,CAChB,CAAC;4BACF,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;wBACzB,CAAC;oBACH,CAAC;oBAED,MAAM,UAAU,GACd,MAAM,cAAc,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;oBAC5D,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;oBAEvD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBAC5D,KAAK,MAAM,WAAW,IAAI,kBAAkB,EAAE,CAAC;wBAC7C,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;oBACjD,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,kCAAkC,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;YACtF,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;gBAChF,MAAM,aAAa,GACjB,MAAM,cAAc,CAAC,kCAAkC,EAAE,CAAC;gBAE5D,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAUH,MAAM,mBAAmB,GAAyB;gBAChD;oBACE,KAAK,EAAE,iDAAiD;oBACxD,YAAY,EAAE;wBACZ;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,QAAQ;iCACf;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,YAAY,CAAC;yBACrD;qBACF;oBACD,uBAAuB,EAAE,CAAC;iBAC3B;gBACD;oBACE,KAAK,EAAE,4DAA4D;oBACnE,YAAY,EAAE;wBACZ;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,QAAQ;iCACf;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC;yBACpD;qBACF;oBACD,kBAAkB,EAAE,CAAC,CAAC,CAAC;oBACvB,uBAAuB,EAAE,CAAC;iBAC3B;gBACD;oBACE,KAAK,EAAE,2DAA2D;oBAClE,YAAY,EAAE;wBACZ;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,IAAI;iCACX;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC;yBACnD;qBACF;oBACD,iBAAiB,EAAE,CAAC,CAAC,CAAC;oBACtB,uBAAuB,EAAE,CAAC;iBAC3B;gBACD;oBACE,KAAK,EACH,qEAAqE;oBACvE,YAAY,EAAE;wBACZ;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,QAAQ;iCACf;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,cAAc,CAAC;yBACvD;wBACD;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,QAAQ;iCACf;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,aAAa,CAAC;yBACtD;wBACD;4BACE,IAAI,EAAE;gCACJ;oCACE,EAAE,EAAE,aAAa,EAAE;oCACnB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC/B,IAAI,EAAE,IAAI;iCACX;6BACF;4BACD,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,YAAY,CAAC;yBACrD;qBACF;oBACD,kBAAkB,EAAE,CAAC,CAAC,CAAC;oBACvB,iBAAiB,EAAE,CAAC,CAAC,CAAC;oBACtB,uBAAuB,EAAE,CAAC;iBAC3B;aACF,CAAC;YAEF,KAAK,MAAM,EACT,KAAK,EACL,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,GACxB,IAAI,mBAAmB,EAAE,CAAC;gBACzB,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;oBACnB,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,OAAO,CAC1D,eAAe,EACf,QAAQ,CACT,CAAC;oBACF,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,OAAO,CAC1D,eAAe,EACf,QAAQ,CACT,CAAC;oBAEF,MAAM,YAAY,GAAa,EAAE,CAAC;oBAElC,4BAA4B;oBAC5B,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;wBACtC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBACnD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;wBAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;wBAEvD,WAAW;wBACX,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,aAAa,CACrD,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,KAAK,CACjB,CAAC;wBACF,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;wBAExB,mBAAmB;wBACnB,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CAC3D,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,IAAI,CAChB,CAAC;wBACF,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACjC,CAAC;oBAED,+BAA+B;oBAC/B,IAAI,kBAAkB,EAAE,CAAC;wBACvB,KAAK,MAAM,KAAK,IAAI,kBAAkB,EAAE,CAAC;4BACvC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAC5C,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;4BACF,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;wBACxB,CAAC;oBACH,CAAC;oBAED,gCAAgC;oBAChC,IAAI,iBAAiB,EAAE,CAAC;wBACtB,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;4BACtC,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;4BACvC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;4BACnD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;4BAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;4BAEvD,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,YAAY,CACnD,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,IAAI,CAChB,CAAC;4BACF,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;wBACzB,CAAC;oBACH,CAAC;oBAED,MAAM,aAAa,GACjB,MAAM,cAAc,CAAC,kCAAkC,EAAE,CAAC;oBAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAEzC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;oBAEtD,8CAA8C;oBAC9C,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;wBACjE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACvC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;wBAC5C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;wBACtD,MAAM,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;wBACjE,MAAM,CACJ,YAAY,CAAC,yBAAyB,CAAC,MAAM,CAC9C,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;wBACvB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;wBAC7C,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;wBACnD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,iBAAiB,CAAC,IAAI,mBAAmB,EAAE,GAAG,EAAE;QAC1D,IAAI,MAAyB,CAAC;QAC9B,IAAI,aAA4B,CAAC;QAEjC,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,aAAa,GAAG,IAAI,aAAa,CAAC;gBAChC,QAAQ,EAAE,iBAAiB;aAC5B,CAAC,CAAC;YACH,MAAM,GAAG,iBAAiB,CAAC,UAAU,CAAC;gBACpC,KAAK,EAAE,iBAAiB,CAAC,IAAI;gBAC7B,eAAe,EAAE,gCAAgC;gBACjD,aAAa;aACd,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;YAC1E,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;gBAC9E,MAAM,YAAY,GAChB,MAAM,MAAM,CAAC,sBAAsB,EAAE,CAAC;gBAExC,2DAA2D;gBAC3D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAE9D,8CAA8C;gBAC9C,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;oBACtD,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;oBAE1D,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;oBAC5C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;oBACrC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;oBACpE,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC/D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;YAC5E,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;gBAC/E,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,wBAAwB,EAAE,CAAC;gBAE7D,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC3C,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;oBAC9B,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC1D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;YAC3E,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;gBAC9E,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,uBAAuB,EAAE,CAAC;gBAE3D,0DAA0D;gBAC1D,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC9C,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;oBAC7B,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC1D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,kCAAkC,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;YACtF,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;gBACzF,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,kCAAkC,EAAE,CAAC;gBAExE,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;oBACjE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACvC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;oBAC1D,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;oBACtD,MAAM,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBACjE,MAAM,CACJ,YAAY,CAAC,yBAAyB,CAAC,MAAM,CAC9C,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;oBACvB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;oBAC/C,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;yBAClE,EAAE,CAAC,IAAI,CAAC;oBACX,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE;yBAC9D,IAAI,CAAC;gBACV,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"EvmTimelockReader.hardhat-test.js","sourceRoot":"","sources":["../../../src/timelock/evm/EvmTimelockReader.hardhat-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { errors as EthersError } from 'ethers';
|
|
2
|
-
import { getNestedJsonRpcError } from '../../providers/SmartProvider/
|
|
2
|
+
import { getNestedJsonRpcError } from '../../providers/SmartProvider/jsonRpcError.js';
|
|
3
3
|
function asRecord(error) {
|
|
4
4
|
if (typeof error !== 'object' || error === null)
|
|
5
5
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/timelock/evm/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/timelock/evm/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAQtF,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClE,wEAAwE;IACxE,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,KAAc;IAC7D,2EAA2E;IAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAoC,CAAC;IAClE,IAAI,MAAM,EAAE,IAAI,KAAK,WAAW,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IAE9D,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;IAC5D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IACtC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;IAE3D,OAAO,aAAa,IAAI,gBAAgB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;AACpE,CAAC"}
|
|
@@ -51,6 +51,33 @@ export declare class EvmWarpRouteReader extends EvmRouterReader {
|
|
|
51
51
|
getContractVerificationStatus(chain: ChainName, address: Address): Promise<Record<string, ContractVerificationStatus>>;
|
|
52
52
|
getOwnerStatus(chain: ChainName, address: Address): Promise<Record<string, OwnerStatus>>;
|
|
53
53
|
deriveWarpRouteVirtualConfig(chain: ChainName, address: Address): Promise<HypTokenRouterVirtualConfig>;
|
|
54
|
+
/**
|
|
55
|
+
* Fetches the bytecode of the contract's implementation.
|
|
56
|
+
* Read the EIP-1967 impl slot directly so UUPS proxies (which have
|
|
57
|
+
* an empty admin slot) are resolved correctly alongside TransparentProxy.
|
|
58
|
+
* EIP-1167 minimal proxies are resolved from their runtime code. A clone
|
|
59
|
+
* whose target is itself an EIP-1967 proxy or another clone returns the
|
|
60
|
+
* target's own code without resolving further, so the selector guard can
|
|
61
|
+
* read false for a selector the final implementation has.
|
|
62
|
+
*
|
|
63
|
+
* Returns '0x' when the address has no code (EOAs / bad addresses) so
|
|
64
|
+
* selector guards fall through to the probes, and undefined when the
|
|
65
|
+
* bytecode cannot be determined: a failed RPC read, or a beacon proxy whose
|
|
66
|
+
* implementation lives behind the beacon. Proxies that route through a
|
|
67
|
+
* diamond facet table or LSP17 extensions are not resolved; their own
|
|
68
|
+
* bytecode is returned, which does not contain the routed selectors.
|
|
69
|
+
*/
|
|
70
|
+
private fetchImplementationBytecode;
|
|
71
|
+
private readonly implementationBytecodeCache;
|
|
72
|
+
private fetchImplementationBytecodeCached;
|
|
73
|
+
private implementationSelectorStatus;
|
|
74
|
+
/**
|
|
75
|
+
* Checks whether the implementation bytecode contains the selector.
|
|
76
|
+
* Returns undefined when the bytecode is empty/unreadable or is unresolved
|
|
77
|
+
* forwarding code, so callers proceed with the call and its normal error
|
|
78
|
+
* handling.
|
|
79
|
+
*/
|
|
80
|
+
private implementationHasSelector;
|
|
54
81
|
/**
|
|
55
82
|
* Derives the token type for a given Warp Route address using specific methods
|
|
56
83
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvmWarpRouteReader.d.ts","sourceRoot":"","sources":["../../src/token/EvmWarpRouteReader.ts"],"names":[],"mappings":"AAiCA,OAAO,EACL,OAAO,
|
|
1
|
+
{"version":3,"file":"EvmWarpRouteReader.d.ts","sourceRoot":"","sources":["../../src/token/EvmWarpRouteReader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { expect } from 'chai';
|
|
2
2
|
import hre from 'hardhat';
|
|
3
3
|
import sinon from 'sinon';
|
|
4
|
+
import { ethers } from 'ethers';
|
|
4
5
|
import { zeroAddress } from 'viem';
|
|
5
6
|
import { CrossCollateralRouter__factory, ERC20Test__factory, ERC4626Test__factory, FiatTokenTest__factory, HypERC20__factory, ISafe__factory, Mailbox__factory, MockCircleMessageTransmitter__factory, MockCircleTokenMessenger__factory, MockEverclearAdapter__factory, MockWETH__factory, MovableCollateralRouter__factory, PackageVersioned__factory, ProxyAdmin__factory, TokenRouter__factory, TokenBridgeDepositAddress__factory, XERC20LockboxTest__factory, XERC20Test__factory, } from '@hyperlane-xyz/core';
|
|
6
7
|
import { buildArtifact as coreBuildArtifact } from '@hyperlane-xyz/core/buildArtifact.js';
|
|
@@ -1144,6 +1145,16 @@ describe('EvmWarpRouteReader', async () => {
|
|
|
1144
1145
|
// to inject minimal bytecode that responds to the scale() selector.
|
|
1145
1146
|
// The legacy path converts a single uint256 scale() return to { numerator: bigint, denominator: 1n }.
|
|
1146
1147
|
describe('fetchScale', () => {
|
|
1148
|
+
// Returns the scale from any call; the trailing (unreachable) selector
|
|
1149
|
+
// makes the reader's bytecode selector check see a scale() getter.
|
|
1150
|
+
function legacyScaleBytecode(encodedScale) {
|
|
1151
|
+
const scaleSelector = new ethers.utils.Interface([
|
|
1152
|
+
'function scale() view returns (uint256)',
|
|
1153
|
+
])
|
|
1154
|
+
.getSighash('scale()')
|
|
1155
|
+
.slice(2);
|
|
1156
|
+
return `0x7f${encodedScale}60005260206000f3${scaleSelector}`;
|
|
1157
|
+
}
|
|
1147
1158
|
it('should return undefined for contracts before scaling was introduced (< 6.0.0)', async () => {
|
|
1148
1159
|
const config = {
|
|
1149
1160
|
[chain]: {
|
|
@@ -1169,7 +1180,7 @@ describe('EvmWarpRouteReader', async () => {
|
|
|
1169
1180
|
// Deploy a minimal contract that returns expectedScale for scale()
|
|
1170
1181
|
// Bytecode: PUSH32 <value> PUSH1 0x00 MSTORE PUSH1 0x20 PUSH1 0x00 RETURN
|
|
1171
1182
|
const encodedScale = expectedScale.toString(16).padStart(64, '0');
|
|
1172
|
-
const runtimeBytecode =
|
|
1183
|
+
const runtimeBytecode = legacyScaleBytecode(encodedScale);
|
|
1173
1184
|
const mockAddress = '0x' + 'ab'.repeat(20);
|
|
1174
1185
|
await hre.network.provider.send('hardhat_setCode', [
|
|
1175
1186
|
mockAddress,
|
|
@@ -1185,6 +1196,20 @@ describe('EvmWarpRouteReader', async () => {
|
|
|
1185
1196
|
});
|
|
1186
1197
|
fetchPackageVersionStub.restore();
|
|
1187
1198
|
});
|
|
1199
|
+
it('should return undefined when legacy scale() is missing on a >= 6.0.0 contract', async () => {
|
|
1200
|
+
// Bytecode: PUSH1 0x00 PUSH1 0x00 REVERT (empty revert data)
|
|
1201
|
+
const mockAddress = '0x' + 'ad'.repeat(20);
|
|
1202
|
+
await hre.network.provider.send('hardhat_setCode', [
|
|
1203
|
+
mockAddress,
|
|
1204
|
+
'0x60006000fd',
|
|
1205
|
+
]);
|
|
1206
|
+
const fetchPackageVersionStub = sinon
|
|
1207
|
+
.stub(evmERC20WarpRouteReader, 'fetchPackageVersion')
|
|
1208
|
+
.resolves('8.0.0');
|
|
1209
|
+
const result = await evmERC20WarpRouteReader.fetchScale(mockAddress);
|
|
1210
|
+
expect(result).to.be.undefined;
|
|
1211
|
+
fetchPackageVersionStub.restore();
|
|
1212
|
+
});
|
|
1188
1213
|
it('should read scaleNumerator/scaleDenominator for contracts >= 11.0.0', async () => {
|
|
1189
1214
|
const scaleNumerator = 1;
|
|
1190
1215
|
const scaleDenominator = 1000000000000;
|
|
@@ -1213,7 +1238,7 @@ describe('EvmWarpRouteReader', async () => {
|
|
|
1213
1238
|
it('should read legacy scale() at the exact boundary version 6.0.0', async () => {
|
|
1214
1239
|
const expectedScale = 500n;
|
|
1215
1240
|
const encodedScale = expectedScale.toString(16).padStart(64, '0');
|
|
1216
|
-
const runtimeBytecode =
|
|
1241
|
+
const runtimeBytecode = legacyScaleBytecode(encodedScale);
|
|
1217
1242
|
const mockAddress = '0x' + 'ac'.repeat(20);
|
|
1218
1243
|
await hre.network.provider.send('hardhat_setCode', [
|
|
1219
1244
|
mockAddress,
|
|
@@ -1261,7 +1286,7 @@ describe('EvmWarpRouteReader', async () => {
|
|
|
1261
1286
|
it('should return undefined for legacy identity scale (scale() = 1)', async () => {
|
|
1262
1287
|
const identityScale = 1n;
|
|
1263
1288
|
const encodedScale = identityScale.toString(16).padStart(64, '0');
|
|
1264
|
-
const runtimeBytecode =
|
|
1289
|
+
const runtimeBytecode = legacyScaleBytecode(encodedScale);
|
|
1265
1290
|
const mockAddress = '0x' + 'ad'.repeat(20);
|
|
1266
1291
|
await hre.network.provider.send('hardhat_setCode', [
|
|
1267
1292
|
mockAddress,
|