@hyperlane-xyz/sdk 13.1.0 → 13.2.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/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +35 -1
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/consts/testChains.d.ts.map +1 -1
- package/dist/consts/testChains.js +8 -0
- package/dist/consts/testChains.js.map +1 -1
- package/dist/core/EvmCoreModule.d.ts +12 -0
- package/dist/core/EvmCoreModule.d.ts.map +1 -1
- package/dist/core/EvmCoreModule.js +22 -2
- package/dist/core/EvmCoreModule.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +6 -0
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +1 -0
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +45 -14
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js +9 -0
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -1
- package/dist/deploy/verify/BaseContractVerifier.d.ts +23 -0
- package/dist/deploy/verify/BaseContractVerifier.d.ts.map +1 -0
- package/dist/deploy/verify/BaseContractVerifier.js +127 -0
- package/dist/deploy/verify/BaseContractVerifier.js.map +1 -0
- package/dist/deploy/verify/ContractVerifier.d.ts +21 -22
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +52 -165
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts +4 -2
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/PostDeploymentContractVerifier.js +9 -1
- package/dist/deploy/verify/PostDeploymentContractVerifier.js.map +1 -1
- package/dist/deploy/verify/ZKSyncContractVerifier.d.ts +50 -0
- package/dist/deploy/verify/ZKSyncContractVerifier.d.ts.map +1 -0
- package/dist/deploy/verify/ZKSyncContractVerifier.js +99 -0
- package/dist/deploy/verify/ZKSyncContractVerifier.js.map +1 -0
- package/dist/deploy/verify/types.d.ts +8 -0
- package/dist/deploy/verify/types.d.ts.map +1 -1
- package/dist/deploy/verify/types.js.map +1 -1
- package/dist/deploy/verify/utils.d.ts +22 -1
- package/dist/deploy/verify/utils.d.ts.map +1 -1
- package/dist/deploy/verify/utils.js +71 -1
- package/dist/deploy/verify/utils.js.map +1 -1
- package/dist/gas/utils.d.ts.map +1 -1
- package/dist/gas/utils.js +12 -1
- package/dist/gas/utils.js.map +1 -1
- package/dist/hook/EvmHookModule.d.ts.map +1 -1
- package/dist/hook/EvmHookModule.js +3 -3
- package/dist/hook/EvmHookModule.js.map +1 -1
- package/dist/hook/utils.d.ts +14 -0
- package/dist/hook/utils.d.ts.map +1 -0
- package/dist/hook/utils.js +12 -0
- package/dist/hook/utils.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/ism/EvmIsmModule.d.ts.map +1 -1
- package/dist/ism/EvmIsmModule.hardhat-test.js +1 -1
- package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
- package/dist/ism/EvmIsmModule.js +1 -1
- package/dist/ism/EvmIsmModule.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +3 -2
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +26 -10
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/utils.d.ts +8 -2
- package/dist/ism/utils.d.ts.map +1 -1
- package/dist/ism/utils.js +27 -5
- package/dist/ism/utils.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +2 -1
- package/dist/metadata/agentConfig.d.ts.map +1 -1
- package/dist/metadata/agentConfig.js +1 -0
- package/dist/metadata/agentConfig.js.map +1 -1
- package/dist/metadata/blockExplorer.d.ts.map +1 -1
- package/dist/metadata/blockExplorer.js +15 -1
- package/dist/metadata/blockExplorer.js.map +1 -1
- package/dist/metadata/blockExplorer.test.js +13 -2
- package/dist/metadata/blockExplorer.test.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +3 -1
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +46 -16
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.js +2 -2
- package/dist/token/deploy.js.map +1 -1
- package/dist/warp/WarpCore.d.ts +1 -0
- package/dist/warp/WarpCore.d.ts.map +1 -1
- package/dist/warp/WarpCore.js +14 -10
- package/dist/warp/WarpCore.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,80 +1,81 @@
|
|
|
1
1
|
import fetch from 'cross-fetch';
|
|
2
|
-
import {
|
|
2
|
+
import { buildArtifact as zksyncBuildArtifact } from '@hyperlane-xyz/core/buildArtifact-zksync.js';
|
|
3
3
|
import { rootLogger, sleep, strip0x } from '@hyperlane-xyz/utils';
|
|
4
4
|
import { ExplorerFamily } from '../../metadata/chainMetadataTypes.js';
|
|
5
5
|
import { ContractVerificationStatus } from '../../token/types.js';
|
|
6
|
+
import { BaseContractVerifier } from './BaseContractVerifier.js';
|
|
6
7
|
import { EXPLORER_GET_ACTIONS, ExplorerApiActions, ExplorerApiErrors, } from './types.js';
|
|
7
|
-
export class ContractVerifier {
|
|
8
|
+
export class ContractVerifier extends BaseContractVerifier {
|
|
8
9
|
multiProvider;
|
|
9
10
|
apiKeys;
|
|
10
11
|
logger = rootLogger.child({ module: 'ContractVerifier' });
|
|
11
|
-
contractSourceMap = {};
|
|
12
|
-
standardInputJson;
|
|
13
12
|
compilerOptions;
|
|
14
13
|
constructor(multiProvider, apiKeys, buildArtifact, licenseType) {
|
|
14
|
+
super(multiProvider, buildArtifact);
|
|
15
15
|
this.multiProvider = multiProvider;
|
|
16
16
|
this.apiKeys = apiKeys;
|
|
17
|
-
this.standardInputJson = buildArtifact.input;
|
|
18
17
|
const compilerversion = `v${buildArtifact.solcLongVersion}`;
|
|
19
|
-
// double check compiler version matches expected format
|
|
20
18
|
const versionRegex = /v(\d.\d.\d+)\+commit.\w+/;
|
|
21
19
|
const matches = versionRegex.exec(compilerversion);
|
|
22
20
|
if (!matches) {
|
|
23
21
|
throw new Error(`Invalid compiler version ${compilerversion}`);
|
|
24
22
|
}
|
|
25
|
-
// set compiler options
|
|
26
|
-
// only license type is configurable, empty if not provided
|
|
27
23
|
this.compilerOptions = {
|
|
28
24
|
codeformat: 'solidity-standard-json-input',
|
|
29
25
|
compilerversion,
|
|
30
26
|
licenseType,
|
|
31
27
|
};
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const contractRegex = /contract\s+([A-Z][a-zA-Z0-9]*)/g;
|
|
35
|
-
Object.entries(buildArtifact.input.sources).forEach(([sourceName, { content }]) => {
|
|
36
|
-
const matches = content.matchAll(contractRegex);
|
|
37
|
-
for (const match of matches) {
|
|
38
|
-
const contractName = match[1];
|
|
39
|
-
if (contractName) {
|
|
40
|
-
this.contractSourceMap[contractName] = sourceName;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
});
|
|
28
|
+
if (zksyncBuildArtifact?.zk_version)
|
|
29
|
+
this.compilerOptions.zksolcversion = `v${zksyncBuildArtifact.zk_version}`;
|
|
44
30
|
}
|
|
45
|
-
async
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
verificationLogger.debug(`No explorer family set, skipping`);
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
if (explorerApi.family === ExplorerFamily.Other) {
|
|
67
|
-
verificationLogger.debug(`Unsupported explorer family, skipping`);
|
|
68
|
-
return;
|
|
31
|
+
async verify(chain, input, verificationLogger) {
|
|
32
|
+
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
|
+
try {
|
|
38
|
+
const guid = await this.submitForm(chain, input.isProxy
|
|
39
|
+
? ExplorerApiActions.VERIFY_PROXY
|
|
40
|
+
: ExplorerApiActions.VERIFY_IMPLEMENTATION, verificationLogger, data);
|
|
41
|
+
verificationLogger.trace({ guid }, `Retrieved guid from verified ${contractType}.`);
|
|
42
|
+
await this.checkStatus(chain, input, verificationLogger, guid, contractType);
|
|
43
|
+
const addressUrl = await this.multiProvider.tryGetExplorerAddressUrl(chain, input.address);
|
|
44
|
+
verificationLogger.debug({
|
|
45
|
+
addressUrl: addressUrl
|
|
46
|
+
? `${addressUrl}#code`
|
|
47
|
+
: `Could not retrieve ${contractType} explorer URL.`,
|
|
48
|
+
}, `✅ Successfully verified ${contractType}.`);
|
|
69
49
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
verificationLogger.debug('Constructor arguments in legacy format, skipping');
|
|
74
|
-
return;
|
|
50
|
+
catch (error) {
|
|
51
|
+
verificationLogger.debug({ error }, `Verification of ${contractType} failed`);
|
|
52
|
+
throw error;
|
|
75
53
|
}
|
|
76
|
-
await this.verify(chain, input, verificationLogger);
|
|
77
54
|
}
|
|
55
|
+
async checkStatus(chain, input, verificationLogger, guid, contractType) {
|
|
56
|
+
verificationLogger.trace({ guid }, `Checking ${contractType} status...`);
|
|
57
|
+
await this.submitForm(chain, input.isProxy
|
|
58
|
+
? ExplorerApiActions.CHECK_PROXY_STATUS
|
|
59
|
+
: ExplorerApiActions.CHECK_IMPLEMENTATION_STATUS, verificationLogger, {
|
|
60
|
+
guid: guid,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
prepareImplementationData(sourceName, input, filteredStandardInputJson) {
|
|
64
|
+
return {
|
|
65
|
+
sourceCode: JSON.stringify(filteredStandardInputJson),
|
|
66
|
+
contractname: `${sourceName}:${input.name}`,
|
|
67
|
+
contractaddress: input.address,
|
|
68
|
+
constructorArguements: strip0x(input.constructorArguments ?? ''),
|
|
69
|
+
...this.compilerOptions,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
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
|
+
*/
|
|
78
79
|
async submitForm(chain, action, verificationLogger, options) {
|
|
79
80
|
const { apiUrl, family, apiKey = this.apiKeys[chain], } = this.multiProvider.getExplorerApi(chain);
|
|
80
81
|
const params = new URLSearchParams();
|
|
@@ -91,6 +92,7 @@ export class ContractVerifier {
|
|
|
91
92
|
if (isGetRequest)
|
|
92
93
|
url.search = params.toString();
|
|
93
94
|
switch (family) {
|
|
95
|
+
case ExplorerFamily.ZkSync:
|
|
94
96
|
case ExplorerFamily.Etherscan:
|
|
95
97
|
timeout = 5000;
|
|
96
98
|
break;
|
|
@@ -176,38 +178,6 @@ export class ContractVerifier {
|
|
|
176
178
|
await sleep(timeout);
|
|
177
179
|
return responseJson.result;
|
|
178
180
|
}
|
|
179
|
-
async verify(chain, input, verificationLogger) {
|
|
180
|
-
const contractType = input.isProxy ? 'proxy' : 'implementation';
|
|
181
|
-
verificationLogger.debug(`📝 Verifying ${contractType}...`);
|
|
182
|
-
const data = input.isProxy
|
|
183
|
-
? this.getProxyData(input)
|
|
184
|
-
: this.getImplementationData(chain, input, verificationLogger);
|
|
185
|
-
try {
|
|
186
|
-
const guid = await this.submitForm(chain, input.isProxy
|
|
187
|
-
? ExplorerApiActions.VERIFY_PROXY
|
|
188
|
-
: ExplorerApiActions.VERIFY_IMPLEMENTATION, verificationLogger, data);
|
|
189
|
-
verificationLogger.trace({ guid }, `Retrieved guid from verified ${contractType}.`);
|
|
190
|
-
await this.checkStatus(chain, input, verificationLogger, guid, contractType);
|
|
191
|
-
const addressUrl = await this.multiProvider.tryGetExplorerAddressUrl(chain, input.address);
|
|
192
|
-
verificationLogger.debug({
|
|
193
|
-
addressUrl: addressUrl
|
|
194
|
-
? `${addressUrl}#code`
|
|
195
|
-
: `Could not retrieve ${contractType} explorer URL.`,
|
|
196
|
-
}, `✅ Successfully verified ${contractType}.`);
|
|
197
|
-
}
|
|
198
|
-
catch (error) {
|
|
199
|
-
verificationLogger.debug({ error }, `Verification of ${contractType} failed`);
|
|
200
|
-
throw error;
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
async checkStatus(chain, input, verificationLogger, guid, contractType) {
|
|
204
|
-
verificationLogger.trace({ guid }, `Checking ${contractType} status...`);
|
|
205
|
-
await this.submitForm(chain, input.isProxy
|
|
206
|
-
? ExplorerApiActions.CHECK_PROXY_STATUS
|
|
207
|
-
: ExplorerApiActions.CHECK_IMPLEMENTATION_STATUS, verificationLogger, {
|
|
208
|
-
guid: guid,
|
|
209
|
-
});
|
|
210
|
-
}
|
|
211
181
|
async getContractVerificationStatus(chain, address, verificationLogger = this.logger) {
|
|
212
182
|
try {
|
|
213
183
|
const metadata = this.multiProvider.tryGetChainMetadata(chain);
|
|
@@ -234,88 +204,5 @@ export class ContractVerifier {
|
|
|
234
204
|
expectedimplementation: input.expectedimplementation,
|
|
235
205
|
};
|
|
236
206
|
}
|
|
237
|
-
getImplementationData(chain, input, verificationLogger) {
|
|
238
|
-
const sourceName = this.contractSourceMap[input.name];
|
|
239
|
-
if (!sourceName) {
|
|
240
|
-
const errorMessage = `Contract '${input.name}' not found in provided build artifact`;
|
|
241
|
-
verificationLogger.error(errorMessage);
|
|
242
|
-
throw new Error(`[${chain}] ${errorMessage}`);
|
|
243
|
-
}
|
|
244
|
-
const filteredStandardInputJson = this.filterStandardInputJsonByContractName(input.name, this.standardInputJson, verificationLogger);
|
|
245
|
-
return {
|
|
246
|
-
sourceCode: JSON.stringify(filteredStandardInputJson),
|
|
247
|
-
contractname: `${sourceName}:${input.name}`,
|
|
248
|
-
contractaddress: input.address,
|
|
249
|
-
/* TYPO IS ENFORCED BY API */
|
|
250
|
-
constructorArguements: strip0x(input.constructorArguments ?? ''),
|
|
251
|
-
...this.compilerOptions,
|
|
252
|
-
};
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Filters the solidity standard input for a specific contract name.
|
|
256
|
-
*
|
|
257
|
-
* This is a BFS impl to traverse the source input dependency graph.
|
|
258
|
-
* 1. Named contract file is set as root node.
|
|
259
|
-
* 2. The next level is formed by the direct imports of the contract file.
|
|
260
|
-
* 3. Each subsequent level's dependencies form the next level, etc.
|
|
261
|
-
* 4. The queue tracks the next files to process, and ensures the dependency graph explorered level by level.
|
|
262
|
-
*/
|
|
263
|
-
filterStandardInputJsonByContractName(contractName, input, verificationLogger) {
|
|
264
|
-
verificationLogger.trace({ contractName }, 'Filtering unused contracts from solidity standard input JSON....');
|
|
265
|
-
const filteredSources = {};
|
|
266
|
-
const sourceFiles = Object.keys(input.sources);
|
|
267
|
-
const contractFile = this.getContractFile(contractName, sourceFiles);
|
|
268
|
-
const queue = [contractFile];
|
|
269
|
-
const processed = new Set();
|
|
270
|
-
while (queue.length > 0) {
|
|
271
|
-
const file = queue.shift();
|
|
272
|
-
if (processed.has(file))
|
|
273
|
-
continue;
|
|
274
|
-
processed.add(file);
|
|
275
|
-
filteredSources[file] = input.sources[file];
|
|
276
|
-
const content = input.sources[file].content;
|
|
277
|
-
const importStatements = this.getAllImportStatements(content);
|
|
278
|
-
importStatements.forEach((importStatement) => {
|
|
279
|
-
const importPath = importStatement.match(/["']([^"']+)["']/)?.[1];
|
|
280
|
-
if (importPath) {
|
|
281
|
-
const resolvedPath = this.resolveImportPath(file, importPath);
|
|
282
|
-
if (sourceFiles.includes(resolvedPath))
|
|
283
|
-
queue.push(resolvedPath);
|
|
284
|
-
}
|
|
285
|
-
});
|
|
286
|
-
}
|
|
287
|
-
return {
|
|
288
|
-
...input,
|
|
289
|
-
sources: filteredSources,
|
|
290
|
-
};
|
|
291
|
-
}
|
|
292
|
-
getContractFile(contractName, sourceFiles) {
|
|
293
|
-
const contractFile = sourceFiles.find((file) => file.endsWith(`/${contractName}.sol`));
|
|
294
|
-
if (!contractFile) {
|
|
295
|
-
throw new Error(`Contract ${contractName} not found in sources.`);
|
|
296
|
-
}
|
|
297
|
-
return contractFile;
|
|
298
|
-
}
|
|
299
|
-
getAllImportStatements(content) {
|
|
300
|
-
const importRegex = /import\s+(?:(?:(?:"[^"]+"|'[^']+')\s*;)|(?:{[^}]+}\s+from\s+(?:"[^"]+"|'[^']+')\s*;)|(?:\s*(?:"[^"]+"|'[^']+')\s*;))/g;
|
|
301
|
-
return content.match(importRegex) || [];
|
|
302
|
-
}
|
|
303
|
-
resolveImportPath(currentFile, importPath) {
|
|
304
|
-
/* Use as-is for external dependencies and absolute imports */
|
|
305
|
-
if (importPath.startsWith('@') || importPath.startsWith('http')) {
|
|
306
|
-
return importPath;
|
|
307
|
-
}
|
|
308
|
-
const currentDir = currentFile.split('/').slice(0, -1).join('/');
|
|
309
|
-
const resolvedPath = importPath.split('/').reduce((acc, part) => {
|
|
310
|
-
if (part === '..') {
|
|
311
|
-
acc.pop();
|
|
312
|
-
}
|
|
313
|
-
else if (part !== '.') {
|
|
314
|
-
acc.push(part);
|
|
315
|
-
}
|
|
316
|
-
return acc;
|
|
317
|
-
}, currentDir.split('/'));
|
|
318
|
-
return resolvedPath.join('/');
|
|
319
|
-
}
|
|
320
207
|
}
|
|
321
208
|
//# sourceMappingURL=ContractVerifier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractVerifier.js","sourceRoot":"","sources":["../../../src/deploy/verify/ContractVerifier.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContractVerifier.js","sourceRoot":"","sources":["../../../src/deploy/verify/ContractVerifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { MultiProvider } from '../../providers/MultiProvider.js';
|
|
2
2
|
import { ChainMap } from '../../types.js';
|
|
3
3
|
import { MultiGeneric } from '../../utils/MultiGeneric.js';
|
|
4
|
-
import {
|
|
4
|
+
import { BaseContractVerifier } from './BaseContractVerifier.js';
|
|
5
|
+
import { ZKSyncContractVerifier } from './ZKSyncContractVerifier.js';
|
|
5
6
|
import { BuildArtifact, CompilerOptions, VerificationInput } from './types.js';
|
|
6
7
|
export declare class PostDeploymentContractVerifier extends MultiGeneric<VerificationInput> {
|
|
7
8
|
protected readonly multiProvider: MultiProvider;
|
|
8
9
|
protected logger: import("pino").default.Logger<never>;
|
|
9
|
-
protected
|
|
10
|
+
protected contractVerifier: BaseContractVerifier;
|
|
11
|
+
protected zkSyncContractVerifier: ZKSyncContractVerifier;
|
|
10
12
|
constructor(verificationInputs: ChainMap<VerificationInput>, multiProvider: MultiProvider, apiKeys: ChainMap<string>, buildArtifact: BuildArtifact, licenseType: CompilerOptions['licenseType']);
|
|
11
13
|
verify(targets?: string[]): Promise<PromiseSettledResult<void>[]>;
|
|
12
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostDeploymentContractVerifier.d.ts","sourceRoot":"","sources":["../../../src/deploy/verify/PostDeploymentContractVerifier.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"PostDeploymentContractVerifier.d.ts","sourceRoot":"","sources":["../../../src/deploy/verify/PostDeploymentContractVerifier.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/E,qBAAa,8BAA+B,SAAQ,YAAY,CAAC,iBAAiB,CAAC;IAS/E,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IARjD,SAAS,CAAC,MAAM,uCAEb;IACH,SAAS,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IACjD,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;gBAGvD,kBAAkB,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAC5B,aAAa,EAAE,aAAa,EAC/C,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EACzB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC;IAY7C,MAAM,CAAC,OAAO,WAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;CAkCvE"}
|
|
@@ -2,21 +2,29 @@ import { rootLogger } from '@hyperlane-xyz/utils';
|
|
|
2
2
|
import { ExplorerFamily } from '../../metadata/chainMetadataTypes.js';
|
|
3
3
|
import { MultiGeneric } from '../../utils/MultiGeneric.js';
|
|
4
4
|
import { ContractVerifier } from './ContractVerifier.js';
|
|
5
|
+
import { ZKSyncContractVerifier } from './ZKSyncContractVerifier.js';
|
|
5
6
|
export class PostDeploymentContractVerifier extends MultiGeneric {
|
|
6
7
|
multiProvider;
|
|
7
8
|
logger = rootLogger.child({
|
|
8
9
|
module: 'PostDeploymentContractVerifier',
|
|
9
10
|
});
|
|
10
11
|
contractVerifier;
|
|
12
|
+
zkSyncContractVerifier;
|
|
11
13
|
constructor(verificationInputs, multiProvider, apiKeys, buildArtifact, licenseType) {
|
|
12
14
|
super(verificationInputs);
|
|
13
15
|
this.multiProvider = multiProvider;
|
|
14
16
|
this.contractVerifier = new ContractVerifier(multiProvider, apiKeys, buildArtifact, licenseType);
|
|
17
|
+
this.zkSyncContractVerifier = new ZKSyncContractVerifier(multiProvider);
|
|
15
18
|
}
|
|
16
19
|
verify(targets = this.chains()) {
|
|
17
20
|
return Promise.allSettled(targets.map(async (chain) => {
|
|
18
21
|
// can check explorer family here to avoid doing these checks for each input in verifier
|
|
19
22
|
const { family } = this.multiProvider.getExplorerApi(chain);
|
|
23
|
+
let contractVerifier = this.contractVerifier;
|
|
24
|
+
if (family === ExplorerFamily.ZkSync) {
|
|
25
|
+
this.logger.debug('Using ZkSync verifier');
|
|
26
|
+
contractVerifier = this.zkSyncContractVerifier;
|
|
27
|
+
}
|
|
20
28
|
if (family === ExplorerFamily.Other) {
|
|
21
29
|
this.logger.warn(`Skipping verification for ${chain} due to unsupported explorer family.`);
|
|
22
30
|
return;
|
|
@@ -24,7 +32,7 @@ export class PostDeploymentContractVerifier extends MultiGeneric {
|
|
|
24
32
|
this.logger.debug(`Verifying ${chain}...`);
|
|
25
33
|
for (const input of this.get(chain)) {
|
|
26
34
|
try {
|
|
27
|
-
await
|
|
35
|
+
await contractVerifier.verifyContract(chain, input, this.logger);
|
|
28
36
|
}
|
|
29
37
|
catch (error) {
|
|
30
38
|
this.logger.error({ name: input.name, address: input.address }, `Failed to verify contract on ${chain}`, error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostDeploymentContractVerifier.js","sourceRoot":"","sources":["../../../src/deploy/verify/PostDeploymentContractVerifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"PostDeploymentContractVerifier.js","sourceRoot":"","sources":["../../../src/deploy/verify/PostDeploymentContractVerifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAG3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,MAAM,OAAO,8BAA+B,SAAQ,YAA+B;IAS5D;IARX,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;QAClC,MAAM,EAAE,gCAAgC;KACzC,CAAC,CAAC;IACO,gBAAgB,CAAuB;IACvC,sBAAsB,CAAyB;IAEzD,YACE,kBAA+C,EAC5B,aAA4B,EAC/C,OAAyB,EACzB,aAA4B,EAC5B,WAA2C;QAE3C,KAAK,CAAC,kBAAkB,CAAC,CAAC;QALP,kBAAa,GAAb,aAAa,CAAe;QAM/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAC1C,aAAa,EACb,OAAO,EACP,aAAa,EACb,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE;QAC5B,OAAO,OAAO,CAAC,UAAU,CACvB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC1B,wFAAwF;YACxF,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI,gBAAgB,GAAyB,IAAI,CAAC,gBAAgB,CAAC;YAEnE,IAAI,MAAM,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC3C,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC;YACjD,CAAC;YAED,IAAI,MAAM,KAAK,cAAc,CAAC,KAAK,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,6BAA6B,KAAK,sCAAsC,CACzE,CAAC;gBACF,OAAO;YACT,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC;YAC3C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC;oBACH,MAAM,gBAAgB,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAC5C,gCAAgC,KAAK,EAAE,EACvC,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Logger } from 'pino';
|
|
2
|
+
import { MultiProvider } from '../../providers/MultiProvider.js';
|
|
3
|
+
import { ChainName } from '../../types.js';
|
|
4
|
+
import { BaseContractVerifier } from './BaseContractVerifier.js';
|
|
5
|
+
import { ContractVerificationInput, SolidityStandardJsonInput, ZKSyncCompilerOptions } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* @title ZKSyncContractVerifier
|
|
8
|
+
* @notice Handles the verification of ZkSync contracts on block explorers
|
|
9
|
+
* @dev This class manages the process of verifying ZkSync contracts, including
|
|
10
|
+
* preparing verification data and submitting it to the appropriate explorer API
|
|
11
|
+
* Note: Etherscan verification is managed by the ContractVerifier class
|
|
12
|
+
* Blockscout verification is not currently supported on ZkSync
|
|
13
|
+
*/
|
|
14
|
+
export declare class ZKSyncContractVerifier extends BaseContractVerifier {
|
|
15
|
+
protected readonly multiProvider: MultiProvider;
|
|
16
|
+
protected logger: import("pino").default.Logger<never>;
|
|
17
|
+
protected readonly standardInputJson: SolidityStandardJsonInput;
|
|
18
|
+
protected readonly compilerOptions: ZKSyncCompilerOptions;
|
|
19
|
+
/**
|
|
20
|
+
* @notice Creates a new ZKSyncContractVerifier instance
|
|
21
|
+
* @param multiProvider An instance of MultiProvider for interacting with multiple chains
|
|
22
|
+
*/
|
|
23
|
+
constructor(multiProvider: MultiProvider);
|
|
24
|
+
/**
|
|
25
|
+
* @notice Verifies a contract on the specified chain
|
|
26
|
+
* @param chain The name of the chain where the contract is deployed
|
|
27
|
+
* @param input The contract verification input data
|
|
28
|
+
* @param verificationLogger A logger instance for verification-specific logging
|
|
29
|
+
*/
|
|
30
|
+
protected verify(chain: ChainName, input: ContractVerificationInput, verificationLogger: Logger): Promise<void>;
|
|
31
|
+
protected prepareImplementationData(sourceName: string, input: ContractVerificationInput, filteredStandardInputJson: SolidityStandardJsonInput): {
|
|
32
|
+
codeFormat: "solidity-standard-json-input";
|
|
33
|
+
compilerSolcVersion: string;
|
|
34
|
+
compilerZksolcVersion: string;
|
|
35
|
+
optimizationUsed: boolean;
|
|
36
|
+
sourceCode: SolidityStandardJsonInput;
|
|
37
|
+
contractName: string;
|
|
38
|
+
contractAddress: string;
|
|
39
|
+
constructorArguments: string;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* @notice Submits the verification form to the explorer API
|
|
43
|
+
* @param chain The name of the chain where the contract is deployed
|
|
44
|
+
* @param verificationLogger A logger instance for verification-specific logging
|
|
45
|
+
* @param options Additional options for the API request
|
|
46
|
+
* @returns The response from the explorer API
|
|
47
|
+
*/
|
|
48
|
+
private submitForm;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=ZKSyncContractVerifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZKSyncContractVerifier.d.ts","sourceRoot":"","sources":["../../../src/deploy/verify/ZKSyncContractVerifier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAK9B,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAEL,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB;;;;;;;GAOG;AACH,qBAAa,sBAAuB,SAAQ,oBAAoB;IAUlD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAT3D,SAAS,CAAC,MAAM,uCAA0D;IAE1E,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;IAChE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC;IAE1D;;;OAGG;gBAC4B,aAAa,EAAE,aAAa;IAkB3D;;;;;OAKG;cACa,MAAM,CACpB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,yBAAyB,EAChC,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC;IA2BhB,SAAS,CAAC,yBAAyB,CACjC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,yBAAyB,EAChC,yBAAyB,EAAE,yBAAyB;;;;;;;;;;IAWtD;;;;;;OAMG;YACW,UAAU;CA8CzB"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import fetch from 'cross-fetch';
|
|
2
|
+
import { buildArtifact } from '@hyperlane-xyz/core/buildArtifact-zksync.js';
|
|
3
|
+
import { rootLogger } from '@hyperlane-xyz/utils';
|
|
4
|
+
import { BaseContractVerifier } from './BaseContractVerifier.js';
|
|
5
|
+
/**
|
|
6
|
+
* @title ZKSyncContractVerifier
|
|
7
|
+
* @notice Handles the verification of ZkSync contracts on block explorers
|
|
8
|
+
* @dev This class manages the process of verifying ZkSync contracts, including
|
|
9
|
+
* preparing verification data and submitting it to the appropriate explorer API
|
|
10
|
+
* Note: Etherscan verification is managed by the ContractVerifier class
|
|
11
|
+
* Blockscout verification is not currently supported on ZkSync
|
|
12
|
+
*/
|
|
13
|
+
export class ZKSyncContractVerifier extends BaseContractVerifier {
|
|
14
|
+
multiProvider;
|
|
15
|
+
logger = rootLogger.child({ module: 'ZKSyncContractVerifier' });
|
|
16
|
+
standardInputJson;
|
|
17
|
+
compilerOptions;
|
|
18
|
+
/**
|
|
19
|
+
* @notice Creates a new ZKSyncContractVerifier instance
|
|
20
|
+
* @param multiProvider An instance of MultiProvider for interacting with multiple chains
|
|
21
|
+
*/
|
|
22
|
+
constructor(multiProvider) {
|
|
23
|
+
super(multiProvider, buildArtifact);
|
|
24
|
+
this.multiProvider = multiProvider;
|
|
25
|
+
this.standardInputJson = buildArtifact.input;
|
|
26
|
+
const compilerZksolcVersion = `v${buildArtifact.zk_version}`;
|
|
27
|
+
const compilerSolcVersion = buildArtifact
|
|
28
|
+
.solcLongVersion;
|
|
29
|
+
this.compilerOptions = {
|
|
30
|
+
codeFormat: 'solidity-standard-json-input',
|
|
31
|
+
compilerSolcVersion,
|
|
32
|
+
compilerZksolcVersion,
|
|
33
|
+
optimizationUsed: true,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @notice Verifies a contract on the specified chain
|
|
38
|
+
* @param chain The name of the chain where the contract is deployed
|
|
39
|
+
* @param input The contract verification input data
|
|
40
|
+
* @param verificationLogger A logger instance for verification-specific logging
|
|
41
|
+
*/
|
|
42
|
+
async verify(chain, input, verificationLogger) {
|
|
43
|
+
const contractType = input.isProxy ? 'proxy' : 'implementation';
|
|
44
|
+
verificationLogger.debug(`📝 Verifying ${contractType}...`);
|
|
45
|
+
const data = this.getImplementationData(chain, input, verificationLogger);
|
|
46
|
+
try {
|
|
47
|
+
const verificationId = await this.submitForm(chain, verificationLogger, data);
|
|
48
|
+
verificationLogger.trace({ verificationId }, `Retrieved verificationId from verified ${contractType}.`);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
verificationLogger.debug({ error }, `Verification of ${contractType} failed`);
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
prepareImplementationData(sourceName, input, filteredStandardInputJson) {
|
|
56
|
+
return {
|
|
57
|
+
sourceCode: filteredStandardInputJson,
|
|
58
|
+
contractName: `${sourceName}:${input.name}`,
|
|
59
|
+
contractAddress: input.address,
|
|
60
|
+
constructorArguments: `0x${input.constructorArguments || ''}`,
|
|
61
|
+
...this.compilerOptions,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* @notice Submits the verification form to the explorer API
|
|
66
|
+
* @param chain The name of the chain where the contract is deployed
|
|
67
|
+
* @param verificationLogger A logger instance for verification-specific logging
|
|
68
|
+
* @param options Additional options for the API request
|
|
69
|
+
* @returns The response from the explorer API
|
|
70
|
+
*/
|
|
71
|
+
async submitForm(chain, verificationLogger, options) {
|
|
72
|
+
const { apiUrl, family } = this.multiProvider.getExplorerApi(chain);
|
|
73
|
+
const url = new URL(apiUrl);
|
|
74
|
+
verificationLogger.trace({ apiUrl, chain }, 'Sending request to explorer...');
|
|
75
|
+
const response = await fetch(url.toString(), {
|
|
76
|
+
method: 'POST',
|
|
77
|
+
headers: { 'Content-Type': 'application/json' },
|
|
78
|
+
body: JSON.stringify(options),
|
|
79
|
+
});
|
|
80
|
+
let responseJson;
|
|
81
|
+
try {
|
|
82
|
+
responseJson = await response.json();
|
|
83
|
+
verificationLogger.trace({ apiUrl, chain }, 'Parsing response from explorer...');
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
verificationLogger.trace({
|
|
87
|
+
error,
|
|
88
|
+
failure: response.statusText,
|
|
89
|
+
status: response.status,
|
|
90
|
+
chain,
|
|
91
|
+
apiUrl,
|
|
92
|
+
family,
|
|
93
|
+
}, 'Failed to parse response from explorer.');
|
|
94
|
+
throw new Error(`Failed to parse response from explorer (${apiUrl}, ${chain}): ${response.statusText || 'UNKNOWN STATUS TEXT'} (${response.status || 'UNKNOWN STATUS'})`);
|
|
95
|
+
}
|
|
96
|
+
return responseJson;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=ZKSyncContractVerifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZKSyncContractVerifier.js","sourceRoot":"","sources":["../../../src/deploy/verify/ZKSyncContractVerifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ export type SolidityStandardJsonInput = {
|
|
|
24
24
|
export type BuildArtifact = {
|
|
25
25
|
input: SolidityStandardJsonInput;
|
|
26
26
|
solcLongVersion: string;
|
|
27
|
+
zk_version?: string;
|
|
27
28
|
};
|
|
28
29
|
export declare enum ExplorerLicenseType {
|
|
29
30
|
NO_LICENSE = "1",
|
|
@@ -45,6 +46,13 @@ export type CompilerOptions = {
|
|
|
45
46
|
codeformat: 'solidity-standard-json-input';
|
|
46
47
|
compilerversion: string;
|
|
47
48
|
licenseType?: ExplorerLicenseType;
|
|
49
|
+
zksolcversion?: string;
|
|
50
|
+
};
|
|
51
|
+
export type ZKSyncCompilerOptions = {
|
|
52
|
+
codeFormat: 'solidity-standard-json-input';
|
|
53
|
+
compilerSolcVersion: string;
|
|
54
|
+
compilerZksolcVersion: string;
|
|
55
|
+
optimizationUsed: boolean;
|
|
48
56
|
};
|
|
49
57
|
export declare enum ExplorerApiActions {
|
|
50
58
|
GETSOURCECODE = "getsourcecode",
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/deploy/verify/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"AAgCA,kDAAkD;AAClD,MAAM,CAAN,IAAY,mBAeX;AAfD,WAAY,mBAAmB;IAC7B,uCAAgB,CAAA;IAChB,uCAAgB,CAAA;IAChB,gCAAS,CAAA;IACT,iCAAU,CAAA;IACV,iCAAU,CAAA;IACV,kCAAW,CAAA;IACX,kCAAW,CAAA;IACX,iCAAU,CAAA;IACV,iCAAU,CAAA;IACV,kCAAW,CAAA;IACX,kCAAW,CAAA;IACX,qCAAc,CAAA;IACd,mCAAY,CAAA;IACZ,iCAAU,CAAA;AACZ,CAAC,EAfW,mBAAmB,KAAnB,mBAAmB,QAe9B;AAgBD,MAAM,CAAN,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,qDAA+B,CAAA;IAC/B,gEAA0C,CAAA;IAC1C,0DAAoC,CAAA;IACpC,uEAAiD,CAAA;IACjD,mEAA6C,CAAA;AAC/C,CAAC,EANW,kBAAkB,KAAlB,kBAAkB,QAM7B;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,kBAAkB,CAAC,2BAA2B;IAC9C,kBAAkB,CAAC,kBAAkB;IACrC,kBAAkB,CAAC,aAAa;CACjC,CAAC;AAEF,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,gDAAyB,CAAA;IACzB,wDAAiC,CAAA;AACnC,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAED,MAAM,CAAN,IAAY,iBASX;AATD,WAAY,iBAAiB;IAC3B,+EAA0D,CAAA;IAC1D,8DAAyC,CAAA;IACzC,uEAAkD,CAAA;IAClD,8DAAyC,CAAA;IACzC,mIAA8G,CAAA;IAC9G,6JAAwI,CAAA;IACxI,iEAA4C,CAAA;IAC5C,gDAA2B,CAAA;AAC7B,CAAC,EATW,iBAAiB,KAAjB,iBAAiB,QAS5B"}
|