@skalenetwork/upgrade-tools 3.0.0-develop.43 → 3.0.0-develop.44

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,14 @@
1
+ import { VerificationTarget } from "./verification";
2
+ export declare class ContractVerifier {
3
+ private readonly contractName;
4
+ private readonly contractAddress;
5
+ private readonly apiURL;
6
+ private readonly browserURL;
7
+ private readonly isEtherscan;
8
+ private readonly etherscan;
9
+ constructor(target: VerificationTarget);
10
+ private isAlreadyVerified;
11
+ private submitVerification;
12
+ private checkVerificationStatus;
13
+ attempt(): Promise<boolean>;
14
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ContractVerifier = void 0;
7
+ const verification_1 = require("./verification");
8
+ const etherscan_1 = require("@nomicfoundation/hardhat-verify/etherscan");
9
+ const chalk_1 = __importDefault(require("chalk"));
10
+ class ContractVerifier {
11
+ constructor(target) {
12
+ this.contractName = target.contractName;
13
+ this.contractAddress = target.contractAddress;
14
+ this.apiURL = target.explorerUrls.apiURL;
15
+ this.browserURL = target.explorerUrls.browserURL;
16
+ this.isEtherscan = Boolean(target.isEtherscan);
17
+ this.etherscan = new etherscan_1.Etherscan(process.env.ETHERSCAN ?? "", this.apiURL, this.browserURL);
18
+ }
19
+ async isAlreadyVerified() {
20
+ let verified = false;
21
+ if (this.isEtherscan) {
22
+ verified = await this.etherscan.isVerified(this.contractAddress);
23
+ }
24
+ if (!verified) {
25
+ verified = await (0, verification_1.isVerifiedOnBlockscout)(this.apiURL, this.contractAddress);
26
+ }
27
+ if (verified) {
28
+ console.log(`${this.contractName} is already verified on: ${this.etherscan.getContractUrl(this.contractAddress)}`);
29
+ }
30
+ return verified;
31
+ }
32
+ async submitVerification(params) {
33
+ try {
34
+ const res = await this.etherscan.verify(this.contractAddress, params.solcInputJson, params.fullContractName, params.compilerVersion, "0x");
35
+ return res.message;
36
+ }
37
+ catch (error) {
38
+ console.log(chalk_1.default.yellow(`Verification attempt for ${this.contractName} failed with error: ${error}`));
39
+ return null;
40
+ }
41
+ }
42
+ async checkVerificationStatus(guid) {
43
+ const status = await this.etherscan.getVerificationStatus(guid);
44
+ if (status.isFailure()) {
45
+ console.log(chalk_1.default.red(`Failed to verify contract ${this.contractName}`));
46
+ return false;
47
+ }
48
+ console.log(`${this.contractName} is successfully verified on: ${this.etherscan.getContractUrl(this.contractAddress)}`);
49
+ return true;
50
+ }
51
+ async attempt() {
52
+ if (await this.isAlreadyVerified()) {
53
+ return true;
54
+ }
55
+ const params = await (0, verification_1.getVerifyParameters)(this.contractName);
56
+ const guid = await this.submitVerification(params);
57
+ if (!guid) {
58
+ return false;
59
+ }
60
+ return this.checkVerificationStatus(guid);
61
+ }
62
+ }
63
+ exports.ContractVerifier = ContractVerifier;
64
+ //# sourceMappingURL=contractVerifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contractVerifier.js","sourceRoot":"","sources":["../../src/contractVerifier.ts"],"names":[],"mappings":";;;;;;AAAA,iDAIwB;AACxB,yEAAoE;AACpE,kDAA0B;AAE1B,MAAa,gBAAgB;IAQzB,YAAY,MAA0B;QAClC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAC1B,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,EAC3B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,CAClB,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC3B,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,QAAQ,GAAG,MAAM,IAAA,qCAAsB,EACnC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,eAAe,CACvB,CAAC;QACN,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CACP,GAAG,IAAI,CAAC,YAAY,4BAA4B,IAAI,CAAC,SAAS,CAAC,cAAc,CACzE,IAAI,CAAC,eAAe,CACvB,EAAE,CACN,CAAC;QACN,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAIhC;QACG,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CACnC,IAAI,CAAC,eAAe,EACpB,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,gBAAgB,EACvB,MAAM,CAAC,eAAe,EACtB,IAAI,CACP,CAAC;YACF,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,MAAM,CACR,4BAA4B,IAAI,CAAC,YAAY,uBAAuB,KAAK,EAAE,CAC9E,CACJ,CAAC;YACF,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,IAAY;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAEhE,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,GAAG,CAAC,6BAA6B,IAAI,CAAC,YAAY,EAAE,CAAC,CAC9D,CAAC;YACF,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,CAAC,GAAG,CACP,GAAG,IAAI,CAAC,YAAY,iCAAiC,IAAI,CAAC,SAAS,CAAC,cAAc,CAC9E,IAAI,CAAC,eAAe,CACvB,EAAE,CACN,CAAC;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,IAAI,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,kCAAmB,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;CACJ;AAlGD,4CAkGC"}
@@ -88,7 +88,7 @@ class Upgrader {
88
88
  }
89
89
  else {
90
90
  console.log("Start verification");
91
- await Promise.all(contractsToUpgrade.map((contract) => (0, verification_1.verify)(contract.name, contract.implementationAddress, [])));
91
+ await Promise.all(contractsToUpgrade.map((contract) => (0, verification_1.verify)(contract.name, contract.implementationAddress)));
92
92
  }
93
93
  }
94
94
  async switchToNewImplementations(contractsToUpgrade) {
@@ -1 +1 @@
1
- {"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,17 @@
1
- export declare const verify: (contractName: string, contractAddress: string, constructorArguments: object) => Promise<void>;
2
- export declare const verifyProxy: (contractName: string, proxyAddress: string, constructorArguments: object) => Promise<void>;
1
+ export interface VerificationTarget {
2
+ contractName: string;
3
+ contractAddress: string;
4
+ explorerUrls: {
5
+ browserURL: string;
6
+ apiURL: string;
7
+ };
8
+ isEtherscan?: boolean;
9
+ }
10
+ export declare const isVerifiedOnBlockscout: (apiURL: string, address: string) => Promise<boolean>;
11
+ export declare const getVerifyParameters: (contractName: string) => Promise<{
12
+ compilerVersion: string;
13
+ fullContractName: string;
14
+ solcInputJson: string;
15
+ }>;
16
+ export declare const verify: (contractName: string, contractAddress: string) => Promise<void>;
17
+ export declare const verifyProxy: (contractName: string, proxyAddress: string) => Promise<void>;
@@ -3,65 +3,201 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.verifyProxy = exports.verify = void 0;
6
+ exports.verifyProxy = exports.verify = exports.getVerifyParameters = exports.isVerifiedOnBlockscout = void 0;
7
7
  const hardhat_1 = require("hardhat");
8
+ const contractVerifier_1 = require("./contractVerifier");
8
9
  const chain_config_1 = require("@nomicfoundation/hardhat-verify/internal/chain-config");
9
10
  const chalk_1 = __importDefault(require("chalk"));
10
11
  const upgrades_core_1 = require("@openzeppelin/upgrades-core");
12
+ const TransparentUpgradeableProxy_json_1 = __importDefault(require("@openzeppelin/upgrades-core/artifacts/@openzeppelin/contracts-v5/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json"));
13
+ const build_info_v5_json_1 = __importDefault(require("@openzeppelin/upgrades-core/artifacts/build-info-v5.json"));
14
+ // Cspell:words skalenodes holesky hoodi
11
15
  const RETRIES_AMOUNT = 5;
12
- const processError = (error, contractName) => {
13
- if (error instanceof Error) {
14
- const alreadyVerifiedErrorLine = "Contract source code already verified";
15
- if (error.toString().includes(alreadyVerifiedErrorLine)) {
16
- const infoMessage = `${contractName} is already verified`;
17
- console.log(chalk_1.default.grey(infoMessage));
18
- return;
16
+ const BASE_EXPLORER_URLS = {
17
+ legacy: "legacy-explorer.skalenodes.com",
18
+ mainnet: "explorer.mainnet.skalenodes.com",
19
+ testnet: "explorer.testnet.skalenodes.com"
20
+ };
21
+ const blockscoutChains = [
22
+ {
23
+ chainId: 1,
24
+ network: "mainnet",
25
+ urls: {
26
+ apiURL: "https://eth.blockscout.com/api",
27
+ browserURL: "https://eth.blockscout.com",
28
+ }
29
+ },
30
+ {
31
+ chainId: 11155111,
32
+ network: "sepolia",
33
+ urls: {
34
+ apiURL: "https://eth-sepolia.blockscout.com/api",
35
+ browserURL: "https://eth-sepolia.blockscout.com",
36
+ }
37
+ },
38
+ {
39
+ chainId: 17000,
40
+ network: "holesky",
41
+ urls: {
42
+ apiURL: "https://eth-holesky.blockscout.com/api",
43
+ browserURL: "https://eth-holesky.blockscout.com",
19
44
  }
20
- const errorMessage = `Contract ${contractName} was not verified on etherscan`;
21
- console.log(chalk_1.default.red(errorMessage));
22
- console.log(error.toString());
45
+ },
46
+ {
47
+ chainId: 560048,
48
+ network: "hoodi",
49
+ urls: {
50
+ apiURL: "https://eth-hoodi.blockscout.com/api",
51
+ browserURL: "https://eth-hoodi.blockscout.com",
52
+ }
53
+ }
54
+ ];
55
+ const pingExplorer = async (baseUrl) => {
56
+ const url = `${baseUrl}/api/health`;
57
+ try {
58
+ const res = await fetch(url);
59
+ if (!res.ok) {
60
+ return false;
61
+ }
62
+ const jsonResponse = await res.json();
63
+ return jsonResponse.healthy;
64
+ }
65
+ catch {
66
+ return false;
67
+ }
68
+ };
69
+ const parseEndpoint = (endpoint) => {
70
+ const { host, pathname } = new URL(endpoint);
71
+ const schainName = pathname.split("/").filter(Boolean).pop();
72
+ let networkType = "mainnet";
73
+ if (host.includes("mainnet.")) {
74
+ networkType = "mainnet";
75
+ }
76
+ else if (host.includes("testnet.")) {
77
+ networkType = "testnet";
78
+ }
79
+ else if (host.includes("legacy-proxy.")) {
80
+ networkType = "legacy";
23
81
  }
24
82
  else {
25
- console.log("Unknown exception type:", error);
83
+ throw new Error(`Unknown network in ENDPOINT: ${endpoint}`);
84
+ }
85
+ return { networkType, schainName };
86
+ };
87
+ const getSchainExplorerUrls = async () => {
88
+ if (!process.env.ENDPOINT) {
89
+ throw new Error("ENDPOINT is not set");
90
+ }
91
+ const { schainName, networkType } = parseEndpoint(process.env.ENDPOINT);
92
+ const browserURL = `https://${schainName}.${BASE_EXPLORER_URLS[networkType]}`;
93
+ const apiURL = `${browserURL}/api`;
94
+ if (!await pingExplorer(browserURL)) {
95
+ throw new Error(`Explorer is not reachable, set EXPLORER_URL`);
96
+ }
97
+ return { apiURL, browserURL };
98
+ };
99
+ const getExplorerUrls = async (chainConfig) => {
100
+ if (process.env.EXPLORER_URL) {
101
+ return {
102
+ apiURL: `${process.env.EXPLORER_URL}/api`,
103
+ browserURL: process.env.EXPLORER_URL
104
+ };
105
+ }
106
+ if (chainConfig) {
107
+ return chainConfig.urls;
26
108
  }
109
+ return await getSchainExplorerUrls();
27
110
  };
28
- const verificationAttempt = async (contractName, contractAddress, constructorArguments) => {
111
+ const isVerifiedOnBlockscout = async (apiURL, address) => {
112
+ const url = `${apiURL}/v2/smart-contracts/${address}`;
29
113
  try {
30
- await (0, hardhat_1.run)("verify:verify", {
31
- "address": contractAddress,
32
- constructorArguments
33
- });
34
- return true;
114
+ const response = await fetch(url);
115
+ const data = await response.json();
116
+ return data?.is_verified;
35
117
  }
36
- catch (error) {
37
- processError(error, contractName);
118
+ catch {
119
+ return false;
38
120
  }
39
- return false;
40
121
  };
122
+ exports.isVerifiedOnBlockscout = isVerifiedOnBlockscout;
123
+ const getVerifyParameters = async (contractName) => {
124
+ if (contractName === "TransparentUpgradeableProxy") {
125
+ return {
126
+ compilerVersion: build_info_v5_json_1.default.solcLongVersion,
127
+ fullContractName: `${TransparentUpgradeableProxy_json_1.default.sourceName}:${contractName}`,
128
+ solcInputJson: JSON.stringify(build_info_v5_json_1.default.input)
129
+ };
130
+ }
131
+ const artifact = await hardhat_1.artifacts.readArtifact(contractName);
132
+ const fullContractName = `${artifact.sourceName}:${contractName}`;
133
+ const buildInfo = await hardhat_1.artifacts.getBuildInfo(fullContractName);
134
+ if (!buildInfo) {
135
+ throw new Error(`No build-info for ${contractName}`);
136
+ }
137
+ return {
138
+ compilerVersion: buildInfo.solcLongVersion,
139
+ fullContractName,
140
+ solcInputJson: JSON.stringify(buildInfo.input)
141
+ };
142
+ };
143
+ exports.getVerifyParameters = getVerifyParameters;
41
144
  const verifyWithRetry = async (verificationTarget, attempts) => {
42
145
  if (attempts) {
43
- if (!await verificationAttempt(verificationTarget.contractName, verificationTarget.contractAddress, verificationTarget.constructorArguments)) {
146
+ const verifier = new contractVerifier_1.ContractVerifier(verificationTarget);
147
+ if (!await verifier.attempt()) {
44
148
  const failedAttempts = 1;
45
149
  await verifyWithRetry(verificationTarget, attempts - failedAttempts);
46
150
  }
47
151
  }
48
152
  };
49
- const verify = async (contractName, contractAddress, constructorArguments) => {
50
- const { chainId } = await hardhat_1.ethers.provider.getNetwork();
51
- if (!chain_config_1.builtinChains.map((chain) => chain.chainId).includes(Number(chainId))) {
52
- const errorMessage = "Verification on this network is not supported";
53
- console.log(chalk_1.default.grey(errorMessage));
153
+ const verifyOnEtherscan = async (contractName, contractAddress, chainConfig) => {
154
+ if (!process.env.ETHERSCAN) {
155
+ console.log(chalk_1.default.yellow(`No etherscan API key provided. Skipping verification for ${contractName}.`));
54
156
  return;
55
157
  }
158
+ const explorerUrls = await getExplorerUrls(chainConfig);
56
159
  await verifyWithRetry({
57
- constructorArguments,
58
160
  contractAddress,
59
- contractName
161
+ contractName,
162
+ explorerUrls,
163
+ isEtherscan: true
60
164
  }, RETRIES_AMOUNT);
61
165
  };
166
+ const verifyOnBlockscout = async (contractName, contractAddress, chainConfig) => {
167
+ const explorerUrls = await getExplorerUrls(chainConfig);
168
+ await verifyWithRetry({
169
+ contractAddress,
170
+ contractName,
171
+ explorerUrls
172
+ }, RETRIES_AMOUNT);
173
+ };
174
+ const verifyOnSkale = async (contractName, contractAddress) => {
175
+ const explorerUrls = await getExplorerUrls();
176
+ await verifyWithRetry({
177
+ contractAddress,
178
+ contractName,
179
+ explorerUrls
180
+ }, RETRIES_AMOUNT);
181
+ };
182
+ const verify = async (contractName, contractAddress) => {
183
+ const { chainId } = await hardhat_1.ethers.provider.getNetwork();
184
+ const etherscanConfig = chain_config_1.builtinChains.find(config => config.chainId === Number(chainId));
185
+ const blockscoutConfig = blockscoutChains.find(config => config.chainId === Number(chainId));
186
+ const isSkaleChain = !etherscanConfig && !blockscoutConfig;
187
+ if (etherscanConfig) {
188
+ await verifyOnEtherscan(contractName, contractAddress, etherscanConfig);
189
+ }
190
+ if (blockscoutConfig) {
191
+ await verifyOnBlockscout(contractName, contractAddress, blockscoutConfig);
192
+ }
193
+ if (isSkaleChain) {
194
+ await verifyOnSkale(contractName, contractAddress);
195
+ }
196
+ };
62
197
  exports.verify = verify;
63
- const verifyProxy = async (contractName, proxyAddress, constructorArguments) => {
64
- await (0, exports.verify)(contractName, await (0, upgrades_core_1.getImplementationAddress)(hardhat_1.network.provider, proxyAddress), constructorArguments);
198
+ const verifyProxy = async (contractName, proxyAddress) => {
199
+ await (0, exports.verify)(contractName, await (0, upgrades_core_1.getImplementationAddress)(hardhat_1.network.provider, proxyAddress));
200
+ await (0, exports.verify)("TransparentUpgradeableProxy", proxyAddress);
65
201
  };
66
202
  exports.verifyProxy = verifyProxy;
67
203
  //# sourceMappingURL=verification.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/verification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/verification.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skalenetwork/upgrade-tools",
3
- "version": "3.0.0-develop.43",
3
+ "version": "3.0.0-develop.44",
4
4
  "description": "Scripts to support upgrades of smart contracts",
5
5
  "files": [
6
6
  "dist/**/*"
@@ -48,11 +48,10 @@
48
48
  },
49
49
  "peerDependencies": {
50
50
  "@nomicfoundation/hardhat-ethers": "^3.0.0",
51
- "@nomicfoundation/hardhat-verify": "^2.0.0",
51
+ "@nomicfoundation/hardhat-verify": "^2.0.13",
52
52
  "@openzeppelin/hardhat-upgrades": "^3.1.1",
53
53
  "@openzeppelin/upgrades-core": "^1.27.1",
54
54
  "@types/mocha": "^9.1.0",
55
- "ethers": "^6.13.4",
56
55
  "hardhat": "^2.9.9"
57
56
  }
58
57
  }