@hyperlane-xyz/sdk 18.2.0 → 18.3.0
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/block-explorer/etherscan.d.ts +94 -2
- package/dist/block-explorer/etherscan.d.ts.map +1 -1
- package/dist/block-explorer/etherscan.js +129 -6
- package/dist/block-explorer/etherscan.js.map +1 -1
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +113 -64
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/core/RadixCoreReader.d.ts +16 -0
- package/dist/core/RadixCoreReader.d.ts.map +1 -0
- package/dist/core/RadixCoreReader.js +31 -0
- package/dist/core/RadixCoreReader.js.map +1 -0
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +1 -1
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/verify/ContractVerifier.d.ts +4 -11
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +61 -157
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/deploy/verify/types.d.ts +1 -49
- package/dist/deploy/verify/types.d.ts.map +1 -1
- package/dist/deploy/verify/types.js +0 -42
- package/dist/deploy/verify/types.js.map +1 -1
- package/dist/deploy/warp.d.ts +2 -1
- package/dist/deploy/warp.d.ts.map +1 -1
- package/dist/deploy/warp.js +27 -10
- package/dist/deploy/warp.js.map +1 -1
- package/dist/fork/types.d.ts +15 -15
- package/dist/gas/utils.d.ts.map +1 -1
- package/dist/gas/utils.js +4 -2
- package/dist/gas/utils.js.map +1 -1
- package/dist/hook/CosmosNativeHookReader.d.ts +3 -2
- package/dist/hook/CosmosNativeHookReader.d.ts.map +1 -1
- package/dist/hook/CosmosNativeHookReader.js +6 -1
- package/dist/hook/CosmosNativeHookReader.js.map +1 -1
- package/dist/hook/RadixHookModule.d.ts +49 -0
- package/dist/hook/RadixHookModule.d.ts.map +1 -0
- package/dist/hook/RadixHookModule.js +182 -0
- package/dist/hook/RadixHookModule.js.map +1 -0
- package/dist/hook/RadixHookReader.d.ts +14 -0
- package/dist/hook/RadixHookReader.d.ts.map +1 -0
- package/dist/hook/RadixHookReader.js +64 -0
- package/dist/hook/RadixHookReader.js.map +1 -0
- package/dist/index.d.ts +9 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/ism/CosmosNativeIsmModule.d.ts.map +1 -1
- package/dist/ism/CosmosNativeIsmModule.js +7 -0
- package/dist/ism/CosmosNativeIsmModule.js.map +1 -1
- package/dist/ism/CosmosNativeIsmReader.d.ts +3 -2
- package/dist/ism/CosmosNativeIsmReader.d.ts.map +1 -1
- package/dist/ism/CosmosNativeIsmReader.js +14 -1
- package/dist/ism/CosmosNativeIsmReader.js.map +1 -1
- package/dist/ism/RadixIsmModule.d.ts +50 -0
- package/dist/ism/RadixIsmModule.d.ts.map +1 -0
- package/dist/ism/RadixIsmModule.js +208 -0
- package/dist/ism/RadixIsmModule.js.map +1 -0
- package/dist/ism/RadixIsmReader.d.ts +16 -0
- package/dist/ism/RadixIsmReader.d.ts.map +1 -0
- package/dist/ism/RadixIsmReader.js +79 -0
- package/dist/ism/RadixIsmReader.js.map +1 -0
- package/dist/metadata/ChainMetadataManager.test.d.ts +2 -0
- package/dist/metadata/ChainMetadataManager.test.d.ts.map +1 -0
- package/dist/metadata/ChainMetadataManager.test.js +119 -0
- package/dist/metadata/ChainMetadataManager.test.js.map +1 -0
- package/dist/metadata/agentConfig.d.ts +910 -910
- package/dist/metadata/chainMetadataTypes.d.ts +6 -6
- package/dist/middleware/account/InterchainAccount.d.ts +4 -4
- package/dist/middleware/account/types.d.ts +4 -4
- package/dist/providers/ProviderType.d.ts +10 -9
- package/dist/providers/ProviderType.d.ts.map +1 -1
- package/dist/providers/ProviderType.js.map +1 -1
- package/dist/providers/transactions/submitter/IcaTxSubmitter.d.ts +2 -2
- package/dist/providers/transactions/submitter/IcaTxSubmitter.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/IcaTxSubmitter.js +9 -7
- package/dist/providers/transactions/submitter/IcaTxSubmitter.js.map +1 -1
- package/dist/providers/transactions/submitter/builder/types.d.ts +6 -6
- package/dist/providers/transactions/submitter/cosmosnative/CosmosNativeJsonRpcTxSubmitter.d.ts +23 -0
- package/dist/providers/transactions/submitter/cosmosnative/CosmosNativeJsonRpcTxSubmitter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/cosmosnative/CosmosNativeJsonRpcTxSubmitter.js +23 -0
- package/dist/providers/transactions/submitter/cosmosnative/CosmosNativeJsonRpcTxSubmitter.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.d.ts +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.js +6 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.js.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js +4 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.d.ts +2 -2
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.js +2 -2
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.js.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/types.d.ts +2 -2
- package/dist/providers/transactions/submitter/submitterBuilderGetter.d.ts +6 -5
- package/dist/providers/transactions/submitter/submitterBuilderGetter.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/submitterBuilderGetter.js +48 -17
- package/dist/providers/transactions/submitter/submitterBuilderGetter.js.map +1 -1
- package/dist/providers/transactions/submitter/types.d.ts +1 -1
- package/dist/providers/transactions/types.d.ts +2 -2
- package/dist/signers/cosmos/cosmjs.d.ts +16 -0
- package/dist/signers/cosmos/cosmjs.d.ts.map +1 -0
- package/dist/signers/cosmos/cosmjs.js +39 -0
- package/dist/signers/cosmos/cosmjs.js.map +1 -0
- package/dist/signers/evm/ethersv5.d.ts +13 -0
- package/dist/signers/evm/ethersv5.d.ts.map +1 -0
- package/dist/signers/evm/ethersv5.js +27 -0
- package/dist/signers/evm/ethersv5.js.map +1 -0
- package/dist/signers/radix/radix-toolkit.d.ts +15 -0
- package/dist/signers/radix/radix-toolkit.d.ts.map +1 -0
- package/dist/signers/radix/radix-toolkit.js +44 -0
- package/dist/signers/radix/radix-toolkit.js.map +1 -0
- package/dist/signers/signers.d.ts +17 -0
- package/dist/signers/signers.d.ts.map +1 -0
- package/dist/signers/signers.js +24 -0
- package/dist/signers/signers.js.map +1 -0
- package/dist/signers/starknet/starknetjs.d.ts +13 -0
- package/dist/signers/starknet/starknetjs.d.ts.map +1 -0
- package/dist/signers/starknet/starknetjs.js +34 -0
- package/dist/signers/starknet/starknetjs.js.map +1 -0
- package/dist/signers/svm/solana-web3js.d.ts +18 -0
- package/dist/signers/svm/solana-web3js.d.ts.map +1 -0
- package/dist/signers/svm/solana-web3js.js +44 -0
- package/dist/signers/svm/solana-web3js.js.map +1 -0
- package/dist/signers/types.d.ts +7 -0
- package/dist/signers/types.d.ts.map +1 -0
- package/dist/signers/types.js +2 -0
- package/dist/signers/types.js.map +1 -0
- package/dist/token/CosmosNativeWarpModule.d.ts.map +1 -1
- package/dist/token/CosmosNativeWarpModule.js +10 -4
- package/dist/token/CosmosNativeWarpModule.js.map +1 -1
- package/dist/token/EvmERC20WarpModule.d.ts.map +1 -1
- package/dist/token/EvmERC20WarpModule.js +1 -1
- package/dist/token/EvmERC20WarpModule.js.map +1 -1
- package/dist/token/EvmERC20WarpRouteReader.d.ts.map +1 -1
- package/dist/token/EvmERC20WarpRouteReader.js +2 -1
- package/dist/token/EvmERC20WarpRouteReader.js.map +1 -1
- package/dist/token/Token.d.ts.map +1 -1
- package/dist/token/Token.js +2 -1
- package/dist/token/Token.js.map +1 -1
- package/dist/token/Token.test.js +103 -0
- package/dist/token/Token.test.js.map +1 -1
- package/dist/token/adapters/CosmosTokenAdapter.d.ts +4 -3
- package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmosTokenAdapter.js +17 -2
- package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.d.ts +1 -0
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.js +4 -0
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/RadixTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/RadixTokenAdapter.js +4 -2
- package/dist/token/adapters/RadixTokenAdapter.js.map +1 -1
- package/dist/token/configUtils.d.ts +2 -0
- package/dist/token/configUtils.d.ts.map +1 -1
- package/dist/token/configUtils.js +42 -15
- package/dist/token/configUtils.js.map +1 -1
- package/dist/token/cosmosnativeDeploy.d.ts.map +1 -1
- package/dist/token/cosmosnativeDeploy.js +10 -1
- package/dist/token/cosmosnativeDeploy.js.map +1 -1
- package/dist/token/types.d.ts +1 -1
- package/dist/token/types.d.ts.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/cosmos.d.ts +169 -519
- package/dist/utils/cosmos.d.ts.map +1 -1
- package/dist/utils/cosmos.js +20 -221
- package/dist/utils/cosmos.js.map +1 -1
- package/dist/utils/ism.d.ts +1 -1
- package/dist/utils/ism.d.ts.map +1 -1
- package/package.json +7 -6
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import fetch from 'cross-fetch';
|
|
2
1
|
import { buildArtifact as zksyncBuildArtifact } from '@hyperlane-xyz/core/buildArtifact-zksync.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { assert, retryAsync, rootLogger, strip0x, } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { checkContractVerificationStatus, getContractSourceCode, verifyContractSourceCodeViaStandardJsonInput, verifyProxyContract, } from '../../block-explorer/etherscan.js';
|
|
5
4
|
import { ContractVerificationStatus } from '../../token/types.js';
|
|
6
5
|
import { BaseContractVerifier } from './BaseContractVerifier.js';
|
|
7
|
-
import { EXPLORER_GET_ACTIONS, ExplorerApiActions, ExplorerApiErrors, } from './types.js';
|
|
8
6
|
export class ContractVerifier extends BaseContractVerifier {
|
|
9
7
|
multiProvider;
|
|
10
8
|
apiKeys;
|
|
@@ -30,184 +28,90 @@ export class ContractVerifier extends BaseContractVerifier {
|
|
|
30
28
|
}
|
|
31
29
|
async verify(chain, input, verificationLogger) {
|
|
32
30
|
const contractType = input.isProxy ? 'proxy' : 'implementation';
|
|
33
|
-
verificationLogger.debug(`📝 Verifying ${contractType}...`);
|
|
34
|
-
const data = input.isProxy
|
|
35
|
-
? this.getProxyData(input)
|
|
36
|
-
: this.getImplementationData(chain, input, verificationLogger);
|
|
37
31
|
try {
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
32
|
+
const verificationStatus = await this.getContractVerificationStatus(chain, input.address, verificationLogger);
|
|
33
|
+
if (verificationStatus === ContractVerificationStatus.Verified ||
|
|
34
|
+
verificationStatus === ContractVerificationStatus.Skipped) {
|
|
35
|
+
verificationLogger.debug(`Contract ${contractType} at address "${input.address}" on chain "${chain}" is already verified. Skipping...`);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
let verificationId;
|
|
39
|
+
if (input.isProxy) {
|
|
40
|
+
verificationId = await this.verifyProxy(chain, input);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
verificationId = await this.verifyImplementation(chain, input, verificationLogger);
|
|
44
|
+
}
|
|
45
|
+
verificationLogger.debug(`Verification request for ${contractType} contract at address "${input.address}" on chain "${chain}" sent. GUID ${verificationId}`);
|
|
46
|
+
await this.checkStatus(chain, verificationId, !!input.isProxy, verificationLogger);
|
|
47
|
+
verificationLogger.debug(`Contract ${contractType} at address "${input.address}" on chain "${chain}" successfully verified`);
|
|
49
48
|
}
|
|
50
|
-
catch (
|
|
51
|
-
verificationLogger.
|
|
52
|
-
throw error;
|
|
49
|
+
catch (err) {
|
|
50
|
+
verificationLogger.error(`Failed to verify ${contractType} contract at address "${input.address}" on chain "${chain}"`, err);
|
|
53
51
|
}
|
|
54
52
|
}
|
|
55
|
-
async
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
53
|
+
async verifyImplementation(chain, input, verificationLogger) {
|
|
54
|
+
const { apiUrl, apiKey } = this.multiProvider.getEvmExplorerMetadata(chain);
|
|
55
|
+
const data = this.getImplementationData(chain, input, verificationLogger);
|
|
56
|
+
return verifyContractSourceCodeViaStandardJsonInput({
|
|
57
|
+
apiUrl,
|
|
58
|
+
apiKey,
|
|
59
|
+
}, {
|
|
60
|
+
compilerVersion: this.compilerOptions.compilerversion,
|
|
61
|
+
constructorArguments: input.constructorArguments,
|
|
62
|
+
contractAddress: input.address,
|
|
63
|
+
contractName: data.contractname,
|
|
64
|
+
sourceCode: data.sourceCode,
|
|
65
|
+
licenseType: this.compilerOptions.licenseType,
|
|
66
|
+
zkCompilerVersion: this.compilerOptions.zksolcversion,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
async verifyProxy(chain, input) {
|
|
70
|
+
assert(input.expectedimplementation, `Implementation address not provided for proxied contract at address "${input.address}" on chain "${chain}". Skipping verification`);
|
|
71
|
+
const { apiUrl, apiKey } = this.multiProvider.getEvmExplorerMetadata(chain);
|
|
72
|
+
return verifyProxyContract({
|
|
73
|
+
apiUrl,
|
|
74
|
+
apiKey,
|
|
75
|
+
}, {
|
|
76
|
+
implementationAddress: input.expectedimplementation,
|
|
77
|
+
contractAddress: input.address,
|
|
61
78
|
});
|
|
62
79
|
}
|
|
80
|
+
async checkStatus(chain, verificationId, isProxy, verificationLogger) {
|
|
81
|
+
const contractType = isProxy ? 'proxy' : 'implementation';
|
|
82
|
+
verificationLogger.trace({ verificationId }, `Checking ${contractType} verification status on chain "${chain}"...`);
|
|
83
|
+
const { apiUrl, apiKey } = this.multiProvider.getEvmExplorerMetadata(chain);
|
|
84
|
+
await retryAsync(() => checkContractVerificationStatus({
|
|
85
|
+
apiUrl,
|
|
86
|
+
apiKey,
|
|
87
|
+
}, { isProxy, verificationId }), undefined, 1000);
|
|
88
|
+
}
|
|
63
89
|
prepareImplementationData(sourceName, input, filteredStandardInputJson) {
|
|
64
90
|
return {
|
|
65
|
-
sourceCode:
|
|
91
|
+
sourceCode: filteredStandardInputJson,
|
|
66
92
|
contractname: `${sourceName}:${input.name}`,
|
|
67
93
|
contractaddress: input.address,
|
|
68
94
|
constructorArguements: strip0x(input.constructorArguments ?? ''),
|
|
69
95
|
...this.compilerOptions,
|
|
70
96
|
};
|
|
71
97
|
}
|
|
72
|
-
/**
|
|
73
|
-
* @notice Submits the verification form to the explorer API
|
|
74
|
-
* @param chain The name of the chain where the contract is deployed
|
|
75
|
-
* @param verificationLogger A logger instance for verification-specific logging
|
|
76
|
-
* @param options Additional options for the API request
|
|
77
|
-
* @returns The response from the explorer API
|
|
78
|
-
*/
|
|
79
|
-
async submitForm(chain, action, verificationLogger, options) {
|
|
80
|
-
const { family } = this.multiProvider.getExplorerApi(chain);
|
|
81
|
-
const apiUrl = this.multiProvider.getExplorerApiUrl(chain);
|
|
82
|
-
const params = new URLSearchParams();
|
|
83
|
-
params.set('module', 'contract');
|
|
84
|
-
params.set('action', action);
|
|
85
|
-
for (const [key, value] of Object.entries(options ?? {})) {
|
|
86
|
-
params.set(key, value);
|
|
87
|
-
}
|
|
88
|
-
let timeout = 1000;
|
|
89
|
-
const url = new URL(apiUrl);
|
|
90
|
-
const isGetRequest = EXPLORER_GET_ACTIONS.includes(action);
|
|
91
|
-
// For GET requests, merge the parameters with existing ones instead of overwriting
|
|
92
|
-
if (isGetRequest) {
|
|
93
|
-
for (const [key, value] of params.entries()) {
|
|
94
|
-
url.searchParams.set(key, value);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
switch (family) {
|
|
98
|
-
case ExplorerFamily.ZkSync:
|
|
99
|
-
case ExplorerFamily.Etherscan:
|
|
100
|
-
timeout = 5000;
|
|
101
|
-
break;
|
|
102
|
-
case ExplorerFamily.Blockscout:
|
|
103
|
-
timeout = 1000;
|
|
104
|
-
url.searchParams.set('module', 'contract');
|
|
105
|
-
url.searchParams.set('action', action);
|
|
106
|
-
break;
|
|
107
|
-
case ExplorerFamily.Routescan:
|
|
108
|
-
timeout = 500;
|
|
109
|
-
break;
|
|
110
|
-
case ExplorerFamily.Other:
|
|
111
|
-
default:
|
|
112
|
-
throw new Error(`Unsupported explorer family: ${family}, ${chain}, ${apiUrl}`);
|
|
113
|
-
}
|
|
114
|
-
verificationLogger.trace({ apiUrl, chain }, 'Sending request to explorer...');
|
|
115
|
-
// Add debug logging to show the final URL
|
|
116
|
-
verificationLogger.debug({
|
|
117
|
-
apiUrl,
|
|
118
|
-
chain,
|
|
119
|
-
finalUrl: url.toString(),
|
|
120
|
-
isGetRequest,
|
|
121
|
-
family,
|
|
122
|
-
}, 'Contract verification URL details');
|
|
123
|
-
let response;
|
|
124
|
-
if (isGetRequest) {
|
|
125
|
-
response = await fetch(url.toString(), {
|
|
126
|
-
method: 'GET',
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
const init = {
|
|
131
|
-
method: 'POST',
|
|
132
|
-
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
133
|
-
body: params,
|
|
134
|
-
};
|
|
135
|
-
response = await fetch(url.toString(), init);
|
|
136
|
-
}
|
|
137
|
-
let responseJson;
|
|
138
|
-
try {
|
|
139
|
-
const responseTextString = await response.text();
|
|
140
|
-
verificationLogger.trace({ apiUrl, chain }, 'Parsing response from explorer...');
|
|
141
|
-
responseJson = JSON.parse(responseTextString);
|
|
142
|
-
}
|
|
143
|
-
catch {
|
|
144
|
-
verificationLogger.trace({
|
|
145
|
-
failure: response.statusText,
|
|
146
|
-
status: response.status,
|
|
147
|
-
chain,
|
|
148
|
-
apiUrl,
|
|
149
|
-
family,
|
|
150
|
-
}, 'Failed to parse response from explorer.');
|
|
151
|
-
throw new Error(`Failed to parse response from explorer (${apiUrl}, ${chain}): ${response.statusText || 'UNKNOWN STATUS TEXT'} (${response.status || 'UNKNOWN STATUS'})`);
|
|
152
|
-
}
|
|
153
|
-
if (responseJson.message !== 'OK') {
|
|
154
|
-
let errorMessage;
|
|
155
|
-
switch (responseJson.result) {
|
|
156
|
-
case ExplorerApiErrors.VERIFICATION_PENDING:
|
|
157
|
-
verificationLogger.trace({
|
|
158
|
-
result: responseJson.result,
|
|
159
|
-
}, 'Verification still pending');
|
|
160
|
-
await sleep(timeout);
|
|
161
|
-
return this.submitForm(chain, action, verificationLogger, options);
|
|
162
|
-
case ExplorerApiErrors.ALREADY_VERIFIED:
|
|
163
|
-
case ExplorerApiErrors.ALREADY_VERIFIED_ALT:
|
|
164
|
-
break;
|
|
165
|
-
case ExplorerApiErrors.NOT_VERIFIED:
|
|
166
|
-
case ExplorerApiErrors.PROXY_FAILED:
|
|
167
|
-
case ExplorerApiErrors.BYTECODE_MISMATCH:
|
|
168
|
-
errorMessage = `${responseJson.message}: ${responseJson.result}`;
|
|
169
|
-
break;
|
|
170
|
-
default:
|
|
171
|
-
errorMessage = `Verification failed: ${JSON.stringify(responseJson.result ?? response.statusText)}`;
|
|
172
|
-
break;
|
|
173
|
-
}
|
|
174
|
-
if (errorMessage) {
|
|
175
|
-
verificationLogger.debug(errorMessage);
|
|
176
|
-
throw new Error(`[${chain}] ${errorMessage}`);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
if (responseJson.result === ExplorerApiErrors.UNKNOWN_UID) {
|
|
180
|
-
await sleep(timeout);
|
|
181
|
-
return this.submitForm(chain, action, verificationLogger, options);
|
|
182
|
-
}
|
|
183
|
-
if (responseJson.result === ExplorerApiErrors.UNABLE_TO_VERIFY) {
|
|
184
|
-
const errorMessage = `Verification failed. ${JSON.stringify(responseJson.result ?? response.statusText)}`;
|
|
185
|
-
verificationLogger.debug(errorMessage);
|
|
186
|
-
throw new Error(`[${chain}] ${errorMessage}`);
|
|
187
|
-
}
|
|
188
|
-
verificationLogger.trace({ apiUrl, chain, result: responseJson.result }, 'Returning result from explorer.');
|
|
189
|
-
await sleep(timeout);
|
|
190
|
-
return responseJson.result;
|
|
191
|
-
}
|
|
192
98
|
async getContractVerificationStatus(chain, address, verificationLogger = this.logger) {
|
|
193
99
|
try {
|
|
100
|
+
const { apiUrl, apiKey } = this.multiProvider.getEvmExplorerMetadata(chain);
|
|
194
101
|
verificationLogger.trace(`Fetching contract ABI for ${chain} address ${address}`);
|
|
195
|
-
const sourceCodeResults =
|
|
102
|
+
const sourceCodeResults = await getContractSourceCode({
|
|
103
|
+
apiUrl,
|
|
104
|
+
apiKey,
|
|
105
|
+
}, { contractAddress: address });
|
|
196
106
|
// Explorer won't return ContractName if unverified
|
|
197
107
|
return sourceCodeResults.ContractName
|
|
198
108
|
? ContractVerificationStatus.Verified
|
|
199
109
|
: ContractVerificationStatus.Unverified;
|
|
200
110
|
}
|
|
201
111
|
catch (e) {
|
|
202
|
-
this.logger.
|
|
112
|
+
this.logger.error(`Error fetching contract verification status for ${address} on chain ${chain}: ${e}`);
|
|
203
113
|
return ContractVerificationStatus.Error;
|
|
204
114
|
}
|
|
205
115
|
}
|
|
206
|
-
getProxyData(input) {
|
|
207
|
-
return {
|
|
208
|
-
address: input.address,
|
|
209
|
-
expectedimplementation: input.expectedimplementation,
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
116
|
}
|
|
213
117
|
//# sourceMappingURL=ContractVerifier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractVerifier.js","sourceRoot":"","sources":["../../../src/deploy/verify/ContractVerifier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContractVerifier.js","sourceRoot":"","sources":["../../../src/deploy/verify/ContractVerifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ExplorerLicenseType } from '../../block-explorer/etherscan.js';
|
|
1
2
|
export type ContractVerificationInput = {
|
|
2
3
|
name: string;
|
|
3
4
|
address: string;
|
|
@@ -26,22 +27,6 @@ export type BuildArtifact = {
|
|
|
26
27
|
solcLongVersion: string;
|
|
27
28
|
zk_version?: string;
|
|
28
29
|
};
|
|
29
|
-
export declare enum ExplorerLicenseType {
|
|
30
|
-
NO_LICENSE = "1",
|
|
31
|
-
UNLICENSED = "2",
|
|
32
|
-
MIT = "3",
|
|
33
|
-
GPL2 = "4",
|
|
34
|
-
GPL3 = "5",
|
|
35
|
-
LGPL2 = "6",
|
|
36
|
-
LGPL3 = "7",
|
|
37
|
-
BSD2 = "8",
|
|
38
|
-
BSD3 = "9",
|
|
39
|
-
MPL2 = "10",
|
|
40
|
-
OSL3 = "11",
|
|
41
|
-
APACHE2 = "12",
|
|
42
|
-
AGPL3 = "13",
|
|
43
|
-
BSL = "14"
|
|
44
|
-
}
|
|
45
30
|
export type CompilerOptions = {
|
|
46
31
|
codeformat: 'solidity-standard-json-input';
|
|
47
32
|
compilerversion: string;
|
|
@@ -54,42 +39,9 @@ export type ZKSyncCompilerOptions = {
|
|
|
54
39
|
compilerZksolcVersion: string;
|
|
55
40
|
optimizationUsed: boolean;
|
|
56
41
|
};
|
|
57
|
-
export declare enum ExplorerApiActions {
|
|
58
|
-
GETSOURCECODE = "getsourcecode",
|
|
59
|
-
VERIFY_IMPLEMENTATION = "verifysourcecode",
|
|
60
|
-
VERIFY_PROXY = "verifyproxycontract",
|
|
61
|
-
CHECK_IMPLEMENTATION_STATUS = "checkverifystatus",
|
|
62
|
-
CHECK_PROXY_STATUS = "checkproxyverification"
|
|
63
|
-
}
|
|
64
|
-
export declare const EXPLORER_GET_ACTIONS: ExplorerApiActions[];
|
|
65
42
|
export declare enum VerifyContractTypes {
|
|
66
43
|
Proxy = "proxy",
|
|
67
44
|
ProxyAdmin = "proxyAdmin",
|
|
68
45
|
Implementation = "implementation"
|
|
69
46
|
}
|
|
70
|
-
export declare enum ExplorerApiErrors {
|
|
71
|
-
ALREADY_VERIFIED = "Contract source code already verified",
|
|
72
|
-
ALREADY_VERIFIED_ALT = "Already Verified",
|
|
73
|
-
NOT_VERIFIED = "Contract source code not verified",
|
|
74
|
-
VERIFICATION_PENDING = "Pending in queue",
|
|
75
|
-
PROXY_FAILED = "A corresponding implementation contract was unfortunately not detected for the proxy address.",
|
|
76
|
-
BYTECODE_MISMATCH = "Fail - Unable to verify. Compiled contract deployment bytecode does NOT match the transaction deployment bytecode.",
|
|
77
|
-
UNABLE_TO_VERIFY = "Fail - Unable to verify",
|
|
78
|
-
UNKNOWN_UID = "Unknown UID"
|
|
79
|
-
}
|
|
80
|
-
export type FormOptions<Action extends ExplorerApiActions> = Action extends ExplorerApiActions.GETSOURCECODE ? {
|
|
81
|
-
address: string;
|
|
82
|
-
} : Action extends ExplorerApiActions.VERIFY_IMPLEMENTATION ? CompilerOptions & {
|
|
83
|
-
contractaddress: string;
|
|
84
|
-
sourceCode: string;
|
|
85
|
-
contractname: string;
|
|
86
|
-
constructorArguements?: string;
|
|
87
|
-
} : Action extends ExplorerApiActions.VERIFY_PROXY ? {
|
|
88
|
-
address: string;
|
|
89
|
-
expectedimplementation: string;
|
|
90
|
-
} : Action extends ExplorerApiActions.CHECK_IMPLEMENTATION_STATUS ? {
|
|
91
|
-
guid: string;
|
|
92
|
-
} : Action extends ExplorerApiActions.CHECK_PROXY_STATUS ? {
|
|
93
|
-
guid: string;
|
|
94
|
-
} : never;
|
|
95
47
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/deploy/verify/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,yBAAyB,EAAE,CAAC;AAE5D,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE;QACP,CAAC,UAAU,EAAE,MAAM,GAAG;YACpB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE;QACR,SAAS,EAAE;YACT,OAAO,EAAE,OAAO,CAAC;YACjB,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,eAAe,EAAE,GAAG,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,yBAAyB,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/deploy/verify/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,yBAAyB,EAAE,CAAC;AAE5D,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE;QACP,CAAC,UAAU,EAAE,MAAM,GAAG;YACpB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE;QACR,SAAS,EAAE;YACT,OAAO,EAAE,OAAO,CAAC;YACjB,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,eAAe,EAAE,GAAG,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,yBAAyB,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,8BAA8B,CAAC;IAC3C,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,8BAA8B,CAAC;IAC3C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,oBAAY,mBAAmB;IAC7B,KAAK,UAAU;IACf,UAAU,eAAe;IACzB,cAAc,mBAAmB;CAClC"}
|
|
@@ -1,49 +1,7 @@
|
|
|
1
|
-
// see https://etherscan.io/contract-license-types
|
|
2
|
-
export var ExplorerLicenseType;
|
|
3
|
-
(function (ExplorerLicenseType) {
|
|
4
|
-
ExplorerLicenseType["NO_LICENSE"] = "1";
|
|
5
|
-
ExplorerLicenseType["UNLICENSED"] = "2";
|
|
6
|
-
ExplorerLicenseType["MIT"] = "3";
|
|
7
|
-
ExplorerLicenseType["GPL2"] = "4";
|
|
8
|
-
ExplorerLicenseType["GPL3"] = "5";
|
|
9
|
-
ExplorerLicenseType["LGPL2"] = "6";
|
|
10
|
-
ExplorerLicenseType["LGPL3"] = "7";
|
|
11
|
-
ExplorerLicenseType["BSD2"] = "8";
|
|
12
|
-
ExplorerLicenseType["BSD3"] = "9";
|
|
13
|
-
ExplorerLicenseType["MPL2"] = "10";
|
|
14
|
-
ExplorerLicenseType["OSL3"] = "11";
|
|
15
|
-
ExplorerLicenseType["APACHE2"] = "12";
|
|
16
|
-
ExplorerLicenseType["AGPL3"] = "13";
|
|
17
|
-
ExplorerLicenseType["BSL"] = "14";
|
|
18
|
-
})(ExplorerLicenseType || (ExplorerLicenseType = {}));
|
|
19
|
-
export var ExplorerApiActions;
|
|
20
|
-
(function (ExplorerApiActions) {
|
|
21
|
-
ExplorerApiActions["GETSOURCECODE"] = "getsourcecode";
|
|
22
|
-
ExplorerApiActions["VERIFY_IMPLEMENTATION"] = "verifysourcecode";
|
|
23
|
-
ExplorerApiActions["VERIFY_PROXY"] = "verifyproxycontract";
|
|
24
|
-
ExplorerApiActions["CHECK_IMPLEMENTATION_STATUS"] = "checkverifystatus";
|
|
25
|
-
ExplorerApiActions["CHECK_PROXY_STATUS"] = "checkproxyverification";
|
|
26
|
-
})(ExplorerApiActions || (ExplorerApiActions = {}));
|
|
27
|
-
export const EXPLORER_GET_ACTIONS = [
|
|
28
|
-
ExplorerApiActions.CHECK_IMPLEMENTATION_STATUS,
|
|
29
|
-
ExplorerApiActions.CHECK_PROXY_STATUS,
|
|
30
|
-
ExplorerApiActions.GETSOURCECODE,
|
|
31
|
-
];
|
|
32
1
|
export var VerifyContractTypes;
|
|
33
2
|
(function (VerifyContractTypes) {
|
|
34
3
|
VerifyContractTypes["Proxy"] = "proxy";
|
|
35
4
|
VerifyContractTypes["ProxyAdmin"] = "proxyAdmin";
|
|
36
5
|
VerifyContractTypes["Implementation"] = "implementation";
|
|
37
6
|
})(VerifyContractTypes || (VerifyContractTypes = {}));
|
|
38
|
-
export var ExplorerApiErrors;
|
|
39
|
-
(function (ExplorerApiErrors) {
|
|
40
|
-
ExplorerApiErrors["ALREADY_VERIFIED"] = "Contract source code already verified";
|
|
41
|
-
ExplorerApiErrors["ALREADY_VERIFIED_ALT"] = "Already Verified";
|
|
42
|
-
ExplorerApiErrors["NOT_VERIFIED"] = "Contract source code not verified";
|
|
43
|
-
ExplorerApiErrors["VERIFICATION_PENDING"] = "Pending in queue";
|
|
44
|
-
ExplorerApiErrors["PROXY_FAILED"] = "A corresponding implementation contract was unfortunately not detected for the proxy address.";
|
|
45
|
-
ExplorerApiErrors["BYTECODE_MISMATCH"] = "Fail - Unable to verify. Compiled contract deployment bytecode does NOT match the transaction deployment bytecode.";
|
|
46
|
-
ExplorerApiErrors["UNABLE_TO_VERIFY"] = "Fail - Unable to verify";
|
|
47
|
-
ExplorerApiErrors["UNKNOWN_UID"] = "Unknown UID";
|
|
48
|
-
})(ExplorerApiErrors || (ExplorerApiErrors = {}));
|
|
49
7
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/deploy/verify/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/deploy/verify/types.ts"],"names":[],"mappings":"AAgDA,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,gDAAyB,CAAA;IACzB,wDAAiC,CAAA;AACnC,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B"}
|
package/dist/deploy/warp.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Address } from '@hyperlane-xyz/utils';
|
|
2
2
|
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
3
|
+
import { TypedAnnotatedTransaction } from '../providers/ProviderType.js';
|
|
3
4
|
import { WarpRouteDeployConfigMailboxRequired } from '../token/types.js';
|
|
4
5
|
import { ChainMap, IMultiProtocolSignerManager } from '../types.js';
|
|
5
6
|
type ChainAddresses = Record<string, string>;
|
|
@@ -9,6 +10,6 @@ export declare function enrollCrossChainRouters({ multiProvider, multiProtocolSi
|
|
|
9
10
|
multiProtocolSigner: IMultiProtocolSignerManager;
|
|
10
11
|
registryAddresses: ChainMap<ChainAddresses>;
|
|
11
12
|
warpDeployConfig: WarpRouteDeployConfigMailboxRequired;
|
|
12
|
-
}, deployedContracts: ChainMap<Address>): Promise<
|
|
13
|
+
}, deployedContracts: ChainMap<Address>): Promise<ChainMap<TypedAnnotatedTransaction[]>>;
|
|
13
14
|
export {};
|
|
14
15
|
//# sourceMappingURL=warp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../src/deploy/warp.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,EAQR,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../src/deploy/warp.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,EAQR,MAAM,sBAAsB,CAAC;AAa9B,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAOzE,OAAO,EAEL,oCAAoC,EACrC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAMpE,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7C,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,oCAAoC,EACtD,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,2BAA2B,EAChD,iBAAiB,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC3C,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAqF5B;AA0MD,wBAAsB,uBAAuB,CAC3C,EACE,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GACjB,EAAE;IACD,aAAa,EAAE,aAAa,CAAC;IAC7B,mBAAmB,EAAE,2BAA2B,CAAC;IACjD,iBAAiB,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC5C,gBAAgB,EAAE,oCAAoC,CAAC;CACxD,EACD,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,GACnC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAqIhD"}
|
package/dist/deploy/warp.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { ProxyAdmin__factory } from '@hyperlane-xyz/core';
|
|
2
2
|
import { buildArtifact as coreBuildArtifact } from '@hyperlane-xyz/core/buildArtifact.js';
|
|
3
3
|
import { ProtocolType, isObjEmpty, objFilter, objKeys, objMap, promiseObjAll, rootLogger, } from '@hyperlane-xyz/utils';
|
|
4
|
+
import { ExplorerLicenseType } from '../block-explorer/etherscan.js';
|
|
4
5
|
import { CCIPContractCache } from '../ccip/utils.js';
|
|
5
6
|
import { EvmHookModule } from '../hook/EvmHookModule.js';
|
|
6
7
|
import { CosmosNativeIsmModule } from '../ism/CosmosNativeIsmModule.js';
|
|
7
8
|
import { EvmIsmModule } from '../ism/EvmIsmModule.js';
|
|
8
9
|
import { CosmosNativeWarpModule } from '../token/CosmosNativeWarpModule.js';
|
|
9
10
|
import { EvmERC20WarpModule } from '../token/EvmERC20WarpModule.js';
|
|
11
|
+
import { gasOverhead } from '../token/config.js';
|
|
10
12
|
import { hypERC20factories } from '../token/contracts.js';
|
|
11
13
|
import { CosmosNativeDeployer } from '../token/cosmosnativeDeploy.js';
|
|
12
14
|
import { HypERC20Deployer, HypERC721Deployer } from '../token/deploy.js';
|
|
13
15
|
import { extractIsmAndHookFactoryAddresses } from '../utils/ism.js';
|
|
14
16
|
import { HyperlaneProxyFactoryDeployer } from './HyperlaneProxyFactoryDeployer.js';
|
|
15
17
|
import { ContractVerifier } from './verify/ContractVerifier.js';
|
|
16
|
-
import { ExplorerLicenseType } from './verify/types.js';
|
|
17
18
|
export async function executeWarpDeploy(warpDeployConfig, multiProvider, multiProtocolSigner, registryAddresses, apiKeys) {
|
|
18
19
|
const contractVerifier = new ContractVerifier(multiProvider, apiKeys, coreBuildArtifact, ExplorerLicenseType.MIT);
|
|
19
20
|
const ismFactoryDeployer = new HyperlaneProxyFactoryDeployer(multiProvider, contractVerifier);
|
|
@@ -24,7 +25,8 @@ export async function executeWarpDeploy(warpDeployConfig, multiProvider, multiPr
|
|
|
24
25
|
// get unique list of protocols
|
|
25
26
|
const protocols = Array.from(new Set(Object.keys(modifiedConfig).map((chainName) => multiProvider.getProtocol(chainName))));
|
|
26
27
|
for (const protocol of protocols) {
|
|
27
|
-
const protocolSpecificConfig = objFilter(modifiedConfig, (chainName,
|
|
28
|
+
const protocolSpecificConfig = objFilter(modifiedConfig, (chainName, config) => multiProvider.getProtocol(chainName) === protocol &&
|
|
29
|
+
!config.foreignDeployment);
|
|
28
30
|
if (isObjEmpty(protocolSpecificConfig)) {
|
|
29
31
|
continue;
|
|
30
32
|
}
|
|
@@ -176,17 +178,17 @@ async function createWarpHook({ ccipContractCache, chain, chainAddresses, multiP
|
|
|
176
178
|
}
|
|
177
179
|
export async function enrollCrossChainRouters({ multiProvider, multiProtocolSigner, registryAddresses, warpDeployConfig, }, deployedContracts) {
|
|
178
180
|
const resolvedConfigMap = objMap(warpDeployConfig, (_, config) => ({
|
|
179
|
-
gas:
|
|
181
|
+
gas: gasOverhead(config.type).toString(),
|
|
180
182
|
...config,
|
|
181
183
|
}));
|
|
182
184
|
const configMapToDeploy = objFilter(resolvedConfigMap, (_, config) => !config.foreignDeployment);
|
|
183
185
|
const allChains = Object.keys(configMapToDeploy);
|
|
186
|
+
const updateTransactions = {};
|
|
184
187
|
for (const chain of allChains) {
|
|
185
188
|
const protocol = multiProvider.getProtocol(chain);
|
|
186
189
|
const allRemoteChains = multiProvider
|
|
187
190
|
.getRemoteChains(chain)
|
|
188
191
|
.filter((c) => allChains.includes(c));
|
|
189
|
-
const protocolTransactions = {};
|
|
190
192
|
switch (protocol) {
|
|
191
193
|
case ProtocolType.Ethereum: {
|
|
192
194
|
const { domainRoutingIsmFactory, staticMerkleRootMultisigIsmFactory, staticMessageIdMultisigIsmFactory, staticAggregationIsmFactory, staticAggregationHookFactory, staticMerkleRootWeightedMultisigIsmFactory, staticMessageIdWeightedMultisigIsmFactory, } = registryAddresses[chain];
|
|
@@ -207,6 +209,7 @@ export async function enrollCrossChainRouters({ multiProvider, multiProtocolSign
|
|
|
207
209
|
const actualConfig = await evmWarpModule.read();
|
|
208
210
|
const expectedConfig = {
|
|
209
211
|
...actualConfig,
|
|
212
|
+
owner: configMapToDeploy[chain].owner,
|
|
210
213
|
remoteRouters: (() => {
|
|
211
214
|
const routers = {};
|
|
212
215
|
for (const c of allRemoteChains) {
|
|
@@ -216,12 +219,18 @@ export async function enrollCrossChainRouters({ multiProvider, multiProtocolSign
|
|
|
216
219
|
}
|
|
217
220
|
return routers;
|
|
218
221
|
})(),
|
|
222
|
+
destinationGas: (() => {
|
|
223
|
+
const dGas = {};
|
|
224
|
+
for (const c of allRemoteChains) {
|
|
225
|
+
dGas[multiProvider.getDomainId(c).toString()] =
|
|
226
|
+
configMapToDeploy[c].gas;
|
|
227
|
+
}
|
|
228
|
+
return dGas;
|
|
229
|
+
})(),
|
|
219
230
|
};
|
|
220
231
|
const transactions = await evmWarpModule.update(expectedConfig);
|
|
221
232
|
if (transactions.length) {
|
|
222
|
-
|
|
223
|
-
[chain]: transactions,
|
|
224
|
-
};
|
|
233
|
+
updateTransactions[chain] = transactions;
|
|
225
234
|
}
|
|
226
235
|
break;
|
|
227
236
|
}
|
|
@@ -237,6 +246,7 @@ export async function enrollCrossChainRouters({ multiProvider, multiProtocolSign
|
|
|
237
246
|
const actualConfig = await cosmosNativeWarpModule.read();
|
|
238
247
|
const expectedConfig = {
|
|
239
248
|
...actualConfig,
|
|
249
|
+
owner: configMapToDeploy[chain].owner,
|
|
240
250
|
remoteRouters: (() => {
|
|
241
251
|
const routers = {};
|
|
242
252
|
for (const c of allRemoteChains) {
|
|
@@ -246,12 +256,18 @@ export async function enrollCrossChainRouters({ multiProvider, multiProtocolSign
|
|
|
246
256
|
}
|
|
247
257
|
return routers;
|
|
248
258
|
})(),
|
|
259
|
+
destinationGas: (() => {
|
|
260
|
+
const dGas = {};
|
|
261
|
+
for (const c of allRemoteChains) {
|
|
262
|
+
dGas[multiProvider.getDomainId(c).toString()] =
|
|
263
|
+
configMapToDeploy[c].gas;
|
|
264
|
+
}
|
|
265
|
+
return dGas;
|
|
266
|
+
})(),
|
|
249
267
|
};
|
|
250
268
|
const transactions = await cosmosNativeWarpModule.update(expectedConfig);
|
|
251
269
|
if (transactions.length) {
|
|
252
|
-
|
|
253
|
-
[chain]: transactions,
|
|
254
|
-
};
|
|
270
|
+
updateTransactions[chain] = transactions;
|
|
255
271
|
}
|
|
256
272
|
break;
|
|
257
273
|
}
|
|
@@ -260,6 +276,7 @@ export async function enrollCrossChainRouters({ multiProvider, multiProtocolSign
|
|
|
260
276
|
}
|
|
261
277
|
}
|
|
262
278
|
}
|
|
279
|
+
return updateTransactions;
|
|
263
280
|
}
|
|
264
281
|
function getRouter(contracts) {
|
|
265
282
|
for (const key of objKeys(hypERC20factories)) {
|
package/dist/deploy/warp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warp.js","sourceRoot":"","sources":["../../src/deploy/warp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"warp.js","sourceRoot":"","sources":["../../src/deploy/warp.ts"],"names":[],"mappings":"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"}
|