@rocketh/verifier 0.10.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.
@@ -0,0 +1,3 @@
1
+ dist/
2
+ node_modules/
3
+ package.json
package/.prettierrc ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "useTabs": true,
3
+ "singleQuote": true,
4
+
5
+ "printWidth": 120,
6
+ "bracketSpacing": false
7
+ }
package/CHANGELOG.md ADDED
@@ -0,0 +1,9 @@
1
+ # @rocketh/verifier
2
+
3
+ ## 0.10.1
4
+
5
+ ### Patch Changes
6
+
7
+ - use pkgroll and @rocketh namespace
8
+ - Updated dependencies
9
+ - rocketh@0.10.9
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # rocketh-verifier
package/dist/cli.cjs ADDED
@@ -0,0 +1,123 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+
4
+ var ldenv = require('ldenv');
5
+ var rocketh = require('rocketh');
6
+ var index = require('./index.cjs');
7
+ var commander = require('commander');
8
+ var fs = require('fs-extra');
9
+ var path = require('path');
10
+ require('fs');
11
+ require('qs');
12
+ require('chalk');
13
+
14
+ var name = "@rocketh/verifier";
15
+ var version = "0.10.0";
16
+ var description = "submit verification proof to verifier services (blockchain explorer, sourcify...";
17
+ var publishConfig = {
18
+ access: "public"
19
+ };
20
+ var type = "module";
21
+ var main = "dist/index.cjs";
22
+ var module$1 = "dist/index.mjs";
23
+ var types = "dist/index.d.ts";
24
+ var bin = {
25
+ "rocketh-verify": "dist/cli.cjs"
26
+ };
27
+ var devDependencies = {
28
+ "@types/node": "^20.12.7",
29
+ pkgroll: "^2.0.2",
30
+ rimraf: "^5.0.5",
31
+ typescript: "^5.4.5"
32
+ };
33
+ var dependencies = {
34
+ "@types/fs-extra": "^11.0.4",
35
+ "@types/qs": "^6.9.14",
36
+ chalk: "^5.3.0",
37
+ commander: "^12.0.0",
38
+ "fs-extra": "^11.2.0",
39
+ ldenv: "^0.3.10",
40
+ qs: "^6.12.1",
41
+ rocketh: "workspace:*"
42
+ };
43
+ var scripts = {
44
+ build: "rimraf dist && pkgroll --sourcemap",
45
+ dev: "pkgroll --watch"
46
+ };
47
+ var pkg = {
48
+ name: name,
49
+ version: version,
50
+ description: description,
51
+ publishConfig: publishConfig,
52
+ type: type,
53
+ main: main,
54
+ module: module$1,
55
+ types: types,
56
+ ".": {
57
+ require: {
58
+ types: "./dist/index.d.ts",
59
+ "default": "./dist/index.cjs"
60
+ },
61
+ "import": {
62
+ types: "./dist/index.d.ts",
63
+ "default": "./dist/index.mjs"
64
+ }
65
+ },
66
+ bin: bin,
67
+ devDependencies: devDependencies,
68
+ dependencies: dependencies,
69
+ scripts: scripts
70
+ };
71
+
72
+ function exportMetadata(config, { out }) {
73
+ const { deployments, chainId } = rocketh.loadDeployments(config.deployments, config.network.name, false);
74
+ if (Object.keys(deployments).length === 0) {
75
+ console.log(`the network ${config.network.name} has zero deployments`);
76
+ process.exit();
77
+ }
78
+ if (!chainId) {
79
+ console.error(`the network ${config.network.name} has no chainId recorded`);
80
+ process.exit(1);
81
+ }
82
+ const folder = path.join(out, config.network.name);
83
+ fs.emptyDirSync(folder);
84
+ const deploymentNames = Object.keys(deployments);
85
+ for (const deploymentName of deploymentNames) {
86
+ const deployment = deployments[deploymentName];
87
+ if (deployment.metadata) {
88
+ fs.writeFileSync(
89
+ path.join(folder, `${deploymentName}_at_${deployment.address}.metadata.json`),
90
+ deployment.metadata
91
+ );
92
+ }
93
+ }
94
+ }
95
+
96
+ ldenv.loadEnv();
97
+ const commandName = `rocketh-verify`;
98
+ const program = new commander.Command();
99
+ program.name(commandName).description("submit contract for verification").version(pkg.version).option("-d, --deployments <value>", "folder where deployments are saved").requiredOption("-n, --network <value>", "network context to use");
100
+ program.command("etherscan").description("submit contract for verification to etherscan").option("--endpoint <value>", "endpoint to connect to").action((options) => {
101
+ const programOptions = program.opts();
102
+ const resolvedConfig = rocketh.readAndResolveConfig({ ...programOptions, ignoreMissingRPC: true });
103
+ index.run(resolvedConfig, {
104
+ verifier: { type: "etherscan", apiKey: process.env["ETHERSCAN_API_KEY"], endpoint: options.endpoint }
105
+ });
106
+ });
107
+ program.command("sourcify").description("submit contract for verification to sourcify").option("--endpoint <value>", "endpoint to connect to").action((options) => {
108
+ const programOptions = program.opts();
109
+ const resolvedConfig = rocketh.readAndResolveConfig({ ...programOptions, ignoreMissingRPC: true });
110
+ index.run(resolvedConfig, { verifier: { type: "sourcify", endpoint: options.endpoint } });
111
+ });
112
+ program.command("blockscout").description("submit contract for verification to blockscout").option("--endpoint <value>", "endpoint to connect to").action((options) => {
113
+ const programOptions = program.opts();
114
+ const resolvedConfig = rocketh.readAndResolveConfig({ ...programOptions, ignoreMissingRPC: true });
115
+ index.run(resolvedConfig, { verifier: { type: "blockscout", endpoint: options.endpoint } });
116
+ });
117
+ program.command("metadata").description("export metadata").option("--out <value>", "folder to write metadata into").action((options) => {
118
+ const programOptions = program.opts();
119
+ const resolvedConfig = rocketh.readAndResolveConfig({ ...programOptions, ignoreMissingRPC: true });
120
+ exportMetadata(resolvedConfig, { out: options.out || "_metadata" });
121
+ });
122
+ program.parse(process.argv);
123
+ //# sourceMappingURL=cli.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.cjs","sources":["../src/metadata.ts","../src/cli.ts"],"sourcesContent":["import {ResolvedConfig, loadDeployments} from 'rocketh';\nimport fs from 'fs-extra';\nimport path from 'path';\n\nexport function exportMetadata(config: ResolvedConfig, {out}: {out: string}) {\n\tconst {deployments, chainId} = loadDeployments(config.deployments, config.network.name, false);\n\n\tif (Object.keys(deployments).length === 0) {\n\t\tconsole.log(`the network ${config.network.name} has zero deployments`);\n\t\tprocess.exit();\n\t}\n\n\tif (!chainId) {\n\t\tconsole.error(`the network ${config.network.name} has no chainId recorded`);\n\t\tprocess.exit(1);\n\t}\n\n\tconst folder = path.join(out, config.network.name);\n\tfs.emptyDirSync(folder);\n\tconst deploymentNames = Object.keys(deployments);\n\tfor (const deploymentName of deploymentNames) {\n\t\tconst deployment = deployments[deploymentName];\n\t\tif (deployment.metadata) {\n\t\t\tfs.writeFileSync(\n\t\t\t\tpath.join(folder, `${deploymentName}_at_${deployment.address}.metadata.json`),\n\t\t\t\tdeployment.metadata\n\t\t\t);\n\t\t}\n\t}\n}\n","#! /usr/bin/env node\nimport {loadEnv} from 'ldenv';\nimport {readAndResolveConfig} from 'rocketh';\nimport {run} from '.';\nimport {Command, Option} from 'commander';\nimport pkg from '../package.json';\nimport {ConfigOptions} from 'rocketh';\nimport {exportMetadata} from './metadata';\nloadEnv();\n\nconst commandName = `rocketh-verify`;\n\nconst program = new Command();\nprogram\n\t.name(commandName)\n\t.description('submit contract for verification')\n\t.version(pkg.version)\n\n\t.option('-d, --deployments <value>', 'folder where deployments are saved')\n\t.requiredOption('-n, --network <value>', 'network context to use');\n\nprogram\n\t.command('etherscan')\n\t.description('submit contract for verification to etherscan')\n\t.option('--endpoint <value>', 'endpoint to connect to')\n\t.action((options: {endpoint?: string}) => {\n\t\tconst programOptions = program.opts() as ConfigOptions;\n\t\tconst resolvedConfig = readAndResolveConfig({...programOptions, ignoreMissingRPC: true});\n\t\trun(resolvedConfig, {\n\t\t\tverifier: {type: 'etherscan', apiKey: process.env['ETHERSCAN_API_KEY'], endpoint: options.endpoint},\n\t\t});\n\t});\n\nprogram\n\t.command('sourcify')\n\t.description('submit contract for verification to sourcify')\n\t.option('--endpoint <value>', 'endpoint to connect to')\n\t.action((options: {endpoint?: string}) => {\n\t\tconst programOptions = program.opts() as ConfigOptions;\n\t\tconst resolvedConfig = readAndResolveConfig({...programOptions, ignoreMissingRPC: true});\n\t\trun(resolvedConfig, {verifier: {type: 'sourcify', endpoint: options.endpoint}});\n\t});\n\nprogram\n\t.command('blockscout')\n\t.description('submit contract for verification to blockscout')\n\t.option('--endpoint <value>', 'endpoint to connect to')\n\t// .option('--api <value>', 'api version (default to v2)')\n\t.action((options: {endpoint?: string}) => {\n\t\tconst programOptions = program.opts() as ConfigOptions;\n\t\tconst resolvedConfig = readAndResolveConfig({...programOptions, ignoreMissingRPC: true});\n\t\trun(resolvedConfig, {verifier: {type: 'blockscout', endpoint: options.endpoint}});\n\t});\n\nprogram\n\t.command('metadata')\n\t.description('export metadata')\n\t.option('--out <value>', 'folder to write metadata into')\n\t.action((options: {out?: string}) => {\n\t\tconst programOptions = program.opts() as ConfigOptions;\n\t\tconst resolvedConfig = readAndResolveConfig({...programOptions, ignoreMissingRPC: true});\n\t\texportMetadata(resolvedConfig, {out: options.out || '_metadata'});\n\t});\n\nprogram.parse(process.argv);\n"],"names":["loadDeployments","loadEnv","Command","readAndResolveConfig","run"],"mappings":"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A,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CA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AAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACL,CAAA,CAAE,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA"}
package/dist/cli.mjs ADDED
@@ -0,0 +1,120 @@
1
+ import { loadEnv } from 'ldenv';
2
+ import { loadDeployments, readAndResolveConfig } from 'rocketh';
3
+ import { run } from './index.mjs';
4
+ import { Command } from 'commander';
5
+ import fs from 'fs-extra';
6
+ import path from 'path';
7
+ import 'fs';
8
+ import 'qs';
9
+ import 'chalk';
10
+
11
+ var name = "@rocketh/verifier";
12
+ var version = "0.10.0";
13
+ var description = "submit verification proof to verifier services (blockchain explorer, sourcify...";
14
+ var publishConfig = {
15
+ access: "public"
16
+ };
17
+ var type = "module";
18
+ var main = "dist/index.cjs";
19
+ var module = "dist/index.mjs";
20
+ var types = "dist/index.d.ts";
21
+ var bin = {
22
+ "rocketh-verify": "dist/cli.cjs"
23
+ };
24
+ var devDependencies = {
25
+ "@types/node": "^20.12.7",
26
+ pkgroll: "^2.0.2",
27
+ rimraf: "^5.0.5",
28
+ typescript: "^5.4.5"
29
+ };
30
+ var dependencies = {
31
+ "@types/fs-extra": "^11.0.4",
32
+ "@types/qs": "^6.9.14",
33
+ chalk: "^5.3.0",
34
+ commander: "^12.0.0",
35
+ "fs-extra": "^11.2.0",
36
+ ldenv: "^0.3.10",
37
+ qs: "^6.12.1",
38
+ rocketh: "workspace:*"
39
+ };
40
+ var scripts = {
41
+ build: "rimraf dist && pkgroll --sourcemap",
42
+ dev: "pkgroll --watch"
43
+ };
44
+ var pkg = {
45
+ name: name,
46
+ version: version,
47
+ description: description,
48
+ publishConfig: publishConfig,
49
+ type: type,
50
+ main: main,
51
+ module: module,
52
+ types: types,
53
+ ".": {
54
+ require: {
55
+ types: "./dist/index.d.ts",
56
+ "default": "./dist/index.cjs"
57
+ },
58
+ "import": {
59
+ types: "./dist/index.d.ts",
60
+ "default": "./dist/index.mjs"
61
+ }
62
+ },
63
+ bin: bin,
64
+ devDependencies: devDependencies,
65
+ dependencies: dependencies,
66
+ scripts: scripts
67
+ };
68
+
69
+ function exportMetadata(config, { out }) {
70
+ const { deployments, chainId } = loadDeployments(config.deployments, config.network.name, false);
71
+ if (Object.keys(deployments).length === 0) {
72
+ console.log(`the network ${config.network.name} has zero deployments`);
73
+ process.exit();
74
+ }
75
+ if (!chainId) {
76
+ console.error(`the network ${config.network.name} has no chainId recorded`);
77
+ process.exit(1);
78
+ }
79
+ const folder = path.join(out, config.network.name);
80
+ fs.emptyDirSync(folder);
81
+ const deploymentNames = Object.keys(deployments);
82
+ for (const deploymentName of deploymentNames) {
83
+ const deployment = deployments[deploymentName];
84
+ if (deployment.metadata) {
85
+ fs.writeFileSync(
86
+ path.join(folder, `${deploymentName}_at_${deployment.address}.metadata.json`),
87
+ deployment.metadata
88
+ );
89
+ }
90
+ }
91
+ }
92
+
93
+ loadEnv();
94
+ const commandName = `rocketh-verify`;
95
+ const program = new Command();
96
+ program.name(commandName).description("submit contract for verification").version(pkg.version).option("-d, --deployments <value>", "folder where deployments are saved").requiredOption("-n, --network <value>", "network context to use");
97
+ program.command("etherscan").description("submit contract for verification to etherscan").option("--endpoint <value>", "endpoint to connect to").action((options) => {
98
+ const programOptions = program.opts();
99
+ const resolvedConfig = readAndResolveConfig({ ...programOptions, ignoreMissingRPC: true });
100
+ run(resolvedConfig, {
101
+ verifier: { type: "etherscan", apiKey: process.env["ETHERSCAN_API_KEY"], endpoint: options.endpoint }
102
+ });
103
+ });
104
+ program.command("sourcify").description("submit contract for verification to sourcify").option("--endpoint <value>", "endpoint to connect to").action((options) => {
105
+ const programOptions = program.opts();
106
+ const resolvedConfig = readAndResolveConfig({ ...programOptions, ignoreMissingRPC: true });
107
+ run(resolvedConfig, { verifier: { type: "sourcify", endpoint: options.endpoint } });
108
+ });
109
+ program.command("blockscout").description("submit contract for verification to blockscout").option("--endpoint <value>", "endpoint to connect to").action((options) => {
110
+ const programOptions = program.opts();
111
+ const resolvedConfig = readAndResolveConfig({ ...programOptions, ignoreMissingRPC: true });
112
+ run(resolvedConfig, { verifier: { type: "blockscout", endpoint: options.endpoint } });
113
+ });
114
+ program.command("metadata").description("export metadata").option("--out <value>", "folder to write metadata into").action((options) => {
115
+ const programOptions = program.opts();
116
+ const resolvedConfig = readAndResolveConfig({ ...programOptions, ignoreMissingRPC: true });
117
+ exportMetadata(resolvedConfig, { out: options.out || "_metadata" });
118
+ });
119
+ program.parse(process.argv);
120
+ //# sourceMappingURL=cli.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.mjs","sources":["../src/metadata.ts","../src/cli.ts"],"sourcesContent":["import {ResolvedConfig, loadDeployments} from 'rocketh';\nimport fs from 'fs-extra';\nimport path from 'path';\n\nexport function exportMetadata(config: ResolvedConfig, {out}: {out: string}) {\n\tconst {deployments, chainId} = loadDeployments(config.deployments, config.network.name, false);\n\n\tif (Object.keys(deployments).length === 0) {\n\t\tconsole.log(`the network ${config.network.name} has zero deployments`);\n\t\tprocess.exit();\n\t}\n\n\tif (!chainId) {\n\t\tconsole.error(`the network ${config.network.name} has no chainId recorded`);\n\t\tprocess.exit(1);\n\t}\n\n\tconst folder = path.join(out, config.network.name);\n\tfs.emptyDirSync(folder);\n\tconst deploymentNames = Object.keys(deployments);\n\tfor (const deploymentName of deploymentNames) {\n\t\tconst deployment = deployments[deploymentName];\n\t\tif (deployment.metadata) {\n\t\t\tfs.writeFileSync(\n\t\t\t\tpath.join(folder, `${deploymentName}_at_${deployment.address}.metadata.json`),\n\t\t\t\tdeployment.metadata\n\t\t\t);\n\t\t}\n\t}\n}\n","#! /usr/bin/env node\nimport {loadEnv} from 'ldenv';\nimport {readAndResolveConfig} from 'rocketh';\nimport {run} from '.';\nimport {Command, Option} from 'commander';\nimport pkg from '../package.json';\nimport {ConfigOptions} from 'rocketh';\nimport {exportMetadata} from './metadata';\nloadEnv();\n\nconst commandName = `rocketh-verify`;\n\nconst program = new Command();\nprogram\n\t.name(commandName)\n\t.description('submit contract for verification')\n\t.version(pkg.version)\n\n\t.option('-d, --deployments <value>', 'folder where deployments are saved')\n\t.requiredOption('-n, --network <value>', 'network context to use');\n\nprogram\n\t.command('etherscan')\n\t.description('submit contract for verification to etherscan')\n\t.option('--endpoint <value>', 'endpoint to connect to')\n\t.action((options: {endpoint?: string}) => {\n\t\tconst programOptions = program.opts() as ConfigOptions;\n\t\tconst resolvedConfig = readAndResolveConfig({...programOptions, ignoreMissingRPC: true});\n\t\trun(resolvedConfig, {\n\t\t\tverifier: {type: 'etherscan', apiKey: process.env['ETHERSCAN_API_KEY'], endpoint: options.endpoint},\n\t\t});\n\t});\n\nprogram\n\t.command('sourcify')\n\t.description('submit contract for verification to sourcify')\n\t.option('--endpoint <value>', 'endpoint to connect to')\n\t.action((options: {endpoint?: string}) => {\n\t\tconst programOptions = program.opts() as ConfigOptions;\n\t\tconst resolvedConfig = readAndResolveConfig({...programOptions, ignoreMissingRPC: true});\n\t\trun(resolvedConfig, {verifier: {type: 'sourcify', endpoint: options.endpoint}});\n\t});\n\nprogram\n\t.command('blockscout')\n\t.description('submit contract for verification to blockscout')\n\t.option('--endpoint <value>', 'endpoint to connect to')\n\t// .option('--api <value>', 'api version (default to v2)')\n\t.action((options: {endpoint?: string}) => {\n\t\tconst programOptions = program.opts() as ConfigOptions;\n\t\tconst resolvedConfig = readAndResolveConfig({...programOptions, ignoreMissingRPC: true});\n\t\trun(resolvedConfig, {verifier: {type: 'blockscout', endpoint: options.endpoint}});\n\t});\n\nprogram\n\t.command('metadata')\n\t.description('export metadata')\n\t.option('--out <value>', 'folder to write metadata into')\n\t.action((options: {out?: string}) => {\n\t\tconst programOptions = program.opts() as ConfigOptions;\n\t\tconst resolvedConfig = readAndResolveConfig({...programOptions, ignoreMissingRPC: true});\n\t\texportMetadata(resolvedConfig, {out: options.out || '_metadata'});\n\t});\n\nprogram.parse(process.argv);\n"],"names":[],"mappings":"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"}