@skalenetwork/upgrade-tools 3.0.0-verification.0 → 4.0.0-develop.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.
Files changed (145) hide show
  1. package/dist/hardhat.config.d.ts +3 -3
  2. package/dist/hardhat.config.js +6 -17
  3. package/dist/hardhat.config.js.map +1 -0
  4. package/dist/src/abi.d.ts +2 -2
  5. package/dist/src/abi.js +8 -4
  6. package/dist/src/abi.js.map +1 -0
  7. package/dist/src/contractFactory.d.ts +4 -0
  8. package/dist/src/contractFactory.js +84 -0
  9. package/dist/src/contractFactory.js.map +1 -0
  10. package/dist/src/contractVerifier.d.ts +25 -0
  11. package/dist/src/contractVerifier.js +71 -0
  12. package/dist/src/contractVerifier.js.map +1 -0
  13. package/dist/src/deploy.d.ts +5 -4
  14. package/dist/src/deploy.js +77 -58
  15. package/dist/src/deploy.js.map +1 -0
  16. package/dist/src/exitCodes.d.ts +8 -0
  17. package/dist/src/exitCodes.js +13 -0
  18. package/dist/src/exitCodes.js.map +1 -0
  19. package/dist/src/gnosis-safe.d.ts +2 -2
  20. package/dist/src/gnosis-safe.js +105 -96
  21. package/dist/src/gnosis-safe.js.map +1 -0
  22. package/dist/src/index.d.ts +0 -1
  23. package/dist/src/index.js +1 -1
  24. package/dist/src/index.js.map +1 -0
  25. package/dist/src/nonceProvider.d.ts +10 -0
  26. package/dist/src/nonceProvider.js +34 -0
  27. package/dist/src/nonceProvider.js.map +1 -0
  28. package/dist/src/proxyAdmin.d.ts +4 -0
  29. package/dist/src/proxyAdmin.js +56 -0
  30. package/dist/src/proxyAdmin.js.map +1 -0
  31. package/dist/src/submitters/auto-submitter.d.ts +22 -5
  32. package/dist/src/submitters/auto-submitter.js +135 -120
  33. package/dist/src/submitters/auto-submitter.js.map +1 -0
  34. package/dist/src/submitters/eoa-submitter.d.ts +3 -2
  35. package/dist/src/submitters/eoa-submitter.js +23 -12
  36. package/dist/src/submitters/eoa-submitter.js.map +1 -0
  37. package/dist/src/submitters/index.js +1 -0
  38. package/dist/src/submitters/index.js.map +1 -0
  39. package/dist/src/submitters/safe-ima-legacy-marionette-submitter.d.ts +4 -3
  40. package/dist/src/submitters/safe-ima-legacy-marionette-submitter.js +14 -13
  41. package/dist/src/submitters/safe-ima-legacy-marionette-submitter.js.map +1 -0
  42. package/dist/src/submitters/safe-ima-marionette-submitter.d.ts +3 -3
  43. package/dist/src/submitters/safe-ima-marionette-submitter.js +13 -11
  44. package/dist/src/submitters/safe-ima-marionette-submitter.js.map +1 -0
  45. package/dist/src/submitters/safe-submitter.d.ts +4 -4
  46. package/dist/src/submitters/safe-submitter.js +4 -3
  47. package/dist/src/submitters/safe-submitter.js.map +1 -0
  48. package/dist/src/submitters/safe-to-ima-submitter.d.ts +11 -6
  49. package/dist/src/submitters/safe-to-ima-submitter.js +23 -15
  50. package/dist/src/submitters/safe-to-ima-submitter.js.map +1 -0
  51. package/dist/src/submitters/submitter.d.ts +3 -3
  52. package/dist/src/submitters/submitter.js +11 -7
  53. package/dist/src/submitters/submitter.js.map +1 -0
  54. package/dist/src/submitters/types/marionette.d.ts +6 -3
  55. package/dist/src/submitters/types/marionette.js +1 -0
  56. package/dist/src/submitters/types/marionette.js.map +1 -0
  57. package/dist/src/types/SkaleManifestData.js +1 -0
  58. package/dist/src/types/SkaleManifestData.js.map +1 -0
  59. package/dist/src/types/upgrader.d.ts +12 -0
  60. package/dist/{typechain-types/AccessControlUpgradeable.js → src/types/upgrader.js} +1 -0
  61. package/dist/src/types/upgrader.js.map +1 -0
  62. package/dist/src/upgrader.d.ts +27 -12
  63. package/dist/src/upgrader.js +145 -95
  64. package/dist/src/upgrader.js.map +1 -0
  65. package/dist/src/verification.d.ts +2 -2
  66. package/dist/src/verification.js +69 -28
  67. package/dist/src/verification.js.map +1 -0
  68. package/dist/src/verifiers/blockscoutVerifier.d.ts +11 -0
  69. package/dist/src/verifiers/blockscoutVerifier.js +65 -0
  70. package/dist/src/verifiers/blockscoutVerifier.js.map +1 -0
  71. package/dist/src/verifiers/etherscanVerifier.d.ts +19 -0
  72. package/dist/src/verifiers/etherscanVerifier.js +105 -0
  73. package/dist/src/verifiers/etherscanVerifier.js.map +1 -0
  74. package/dist/src/verifiers/skaleBlockscoutVerifier.d.ts +7 -0
  75. package/dist/src/verifiers/skaleBlockscoutVerifier.js +60 -0
  76. package/dist/src/verifiers/skaleBlockscoutVerifier.js.map +1 -0
  77. package/dist/src/version.js +24 -2
  78. package/dist/src/version.js.map +1 -0
  79. package/dist/typechain-types/AdminUpgradeabilityProxy.d.ts +59 -54
  80. package/dist/typechain-types/AdminUpgradeabilityProxy.js +1 -0
  81. package/dist/typechain-types/AdminUpgradeabilityProxy.js.map +1 -0
  82. package/dist/typechain-types/ProxyAdmin.d.ts +94 -137
  83. package/dist/typechain-types/ProxyAdmin.js +1 -0
  84. package/dist/typechain-types/ProxyAdmin.js.map +1 -0
  85. package/dist/typechain-types/common.d.ts +40 -11
  86. package/dist/typechain-types/common.js +1 -0
  87. package/dist/typechain-types/common.js.map +1 -0
  88. package/dist/typechain-types/factories/AdminUpgradeabilityProxy__factory.d.ts +71 -41
  89. package/dist/typechain-types/factories/AdminUpgradeabilityProxy__factory.js +8 -11
  90. package/dist/typechain-types/factories/AdminUpgradeabilityProxy__factory.js.map +1 -0
  91. package/dist/typechain-types/factories/ProxyAdmin__factory.d.ts +129 -41
  92. package/dist/typechain-types/factories/ProxyAdmin__factory.js +8 -11
  93. package/dist/typechain-types/factories/ProxyAdmin__factory.js.map +1 -0
  94. package/dist/typechain-types/factories/index.d.ts +2 -0
  95. package/dist/typechain-types/factories/index.js +11 -0
  96. package/dist/typechain-types/factories/index.js.map +1 -0
  97. package/dist/typechain-types/index.d.ts +1 -22
  98. package/dist/typechain-types/index.js +36 -23
  99. package/dist/typechain-types/index.js.map +1 -0
  100. package/package.json +23 -27
  101. package/dist/src/multiSend.d.ts +0 -2
  102. package/dist/src/multiSend.js +0 -46
  103. package/dist/typechain-types/AccessControlEnumerableUpgradeable.d.ts +0 -183
  104. package/dist/typechain-types/AccessControlEnumerableUpgradeable.js +0 -2
  105. package/dist/typechain-types/AccessControlUpgradeable.d.ts +0 -167
  106. package/dist/typechain-types/ContextUpgradeable.d.ts +0 -40
  107. package/dist/typechain-types/ContextUpgradeable.js +0 -2
  108. package/dist/typechain-types/ERC165Upgradeable.d.ts +0 -53
  109. package/dist/typechain-types/ERC165Upgradeable.js +0 -2
  110. package/dist/typechain-types/IAccessControlEnumerableUpgradeable.d.ts +0 -159
  111. package/dist/typechain-types/IAccessControlEnumerableUpgradeable.js +0 -2
  112. package/dist/typechain-types/IAccessControlUpgradeable.d.ts +0 -143
  113. package/dist/typechain-types/IAccessControlUpgradeable.js +0 -2
  114. package/dist/typechain-types/IERC165Upgradeable.d.ts +0 -43
  115. package/dist/typechain-types/IERC165Upgradeable.js +0 -2
  116. package/dist/typechain-types/ISafeMock.d.ts +0 -86
  117. package/dist/typechain-types/ISafeMock.js +0 -2
  118. package/dist/typechain-types/Initializable.d.ts +0 -40
  119. package/dist/typechain-types/Initializable.js +0 -2
  120. package/dist/typechain-types/OwnableUpgradeable.d.ts +0 -97
  121. package/dist/typechain-types/OwnableUpgradeable.js +0 -2
  122. package/dist/typechain-types/SafeMock.d.ts +0 -172
  123. package/dist/typechain-types/SafeMock.js +0 -2
  124. package/dist/typechain-types/factories/AccessControlEnumerableUpgradeable__factory.d.ts +0 -35
  125. package/dist/typechain-types/factories/AccessControlEnumerableUpgradeable__factory.js +0 -279
  126. package/dist/typechain-types/factories/AccessControlUpgradeable__factory.d.ts +0 -35
  127. package/dist/typechain-types/factories/AccessControlUpgradeable__factory.js +0 -236
  128. package/dist/typechain-types/factories/ContextUpgradeable__factory.d.ts +0 -18
  129. package/dist/typechain-types/factories/ContextUpgradeable__factory.js +0 -32
  130. package/dist/typechain-types/factories/ERC165Upgradeable__factory.d.ts +0 -35
  131. package/dist/typechain-types/factories/ERC165Upgradeable__factory.js +0 -51
  132. package/dist/typechain-types/factories/IAccessControlEnumerableUpgradeable__factory.d.ts +0 -35
  133. package/dist/typechain-types/factories/IAccessControlEnumerableUpgradeable__factory.js +0 -234
  134. package/dist/typechain-types/factories/IAccessControlUpgradeable__factory.d.ts +0 -35
  135. package/dist/typechain-types/factories/IAccessControlUpgradeable__factory.js +0 -191
  136. package/dist/typechain-types/factories/IERC165Upgradeable__factory.d.ts +0 -22
  137. package/dist/typechain-types/factories/IERC165Upgradeable__factory.js +0 -38
  138. package/dist/typechain-types/factories/ISafeMock__factory.d.ts +0 -22
  139. package/dist/typechain-types/factories/ISafeMock__factory.js +0 -114
  140. package/dist/typechain-types/factories/Initializable__factory.d.ts +0 -18
  141. package/dist/typechain-types/factories/Initializable__factory.js +0 -32
  142. package/dist/typechain-types/factories/OwnableUpgradeable__factory.d.ts +0 -42
  143. package/dist/typechain-types/factories/OwnableUpgradeable__factory.js +0 -84
  144. package/dist/typechain-types/factories/SafeMock__factory.d.ts +0 -56
  145. package/dist/typechain-types/factories/SafeMock__factory.js +0 -247
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ // Cspell:words holesky hoodi
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.BlockscoutVerifier = void 0;
5
+ const contractVerifier_1 = require("../contractVerifier");
6
+ const blockscout_1 = require("@nomicfoundation/hardhat-verify/blockscout");
7
+ const BLOCKSCOUT_CHAINS = [
8
+ {
9
+ chainId: 1,
10
+ network: "mainnet",
11
+ urls: {
12
+ apiURL: "https://eth.blockscout.com/api",
13
+ browserURL: "https://eth.blockscout.com",
14
+ }
15
+ },
16
+ {
17
+ chainId: 11155111,
18
+ network: "sepolia",
19
+ urls: {
20
+ apiURL: "https://eth-sepolia.blockscout.com/api",
21
+ browserURL: "https://eth-sepolia.blockscout.com",
22
+ }
23
+ },
24
+ {
25
+ chainId: 17000,
26
+ network: "holesky",
27
+ urls: {
28
+ apiURL: "https://eth-holesky.blockscout.com/api",
29
+ browserURL: "https://eth-holesky.blockscout.com",
30
+ }
31
+ },
32
+ {
33
+ chainId: 560048,
34
+ network: "hoodi",
35
+ urls: {
36
+ apiURL: "https://eth-hoodi.blockscout.com/api",
37
+ browserURL: "https://eth-hoodi.blockscout.com",
38
+ }
39
+ }
40
+ ];
41
+ class BlockscoutVerifier extends contractVerifier_1.ContractVerifier {
42
+ constructor(apiURL, browserURL) {
43
+ super();
44
+ this.name = "Blockscout";
45
+ this.blockscout = new blockscout_1.Blockscout(apiURL, browserURL);
46
+ }
47
+ static createFromChainId(chainId) {
48
+ const config = BLOCKSCOUT_CHAINS.find(chain => chain.chainId === Number(chainId));
49
+ if (config) {
50
+ return new BlockscoutVerifier(config.urls.apiURL, config.urls.browserURL);
51
+ }
52
+ return null;
53
+ }
54
+ async isAlreadyVerified(verificationTarget) {
55
+ return await this.blockscout.isVerified(verificationTarget.contractAddress);
56
+ }
57
+ async submitVerificationRequest(target, params) {
58
+ return await this.blockscout.verify(target.contractAddress, params.solcInputJson, params.fullContractName, params.compilerVersion);
59
+ }
60
+ getContractUrl(verificationTarget) {
61
+ return this.blockscout.getContractUrl(verificationTarget.contractAddress);
62
+ }
63
+ }
64
+ exports.BlockscoutVerifier = BlockscoutVerifier;
65
+ //# sourceMappingURL=blockscoutVerifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockscoutVerifier.js","sourceRoot":"","sources":["../../../src/verifiers/blockscoutVerifier.ts"],"names":[],"mappings":";AAAA,6BAA6B;;;AAE7B,0DAAwG;AACxG,2EAAsE;AAItE,MAAM,iBAAiB,GAAkB;IACrC;QACI,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE;YACF,MAAM,EAAE,gCAAgC;YACxC,UAAU,EAAE,4BAA4B;SAC3C;KACJ;IACD;QACI,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE;YACF,MAAM,EAAE,wCAAwC;YAChD,UAAU,EAAE,oCAAoC;SACnD;KACJ;IACD;QACI,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE;YACF,MAAM,EAAE,wCAAwC;YAChD,UAAU,EAAE,oCAAoC;SACnD;KACJ;IACD;QACI,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE;YACF,MAAM,EAAE,sCAAsC;YAC9C,UAAU,EAAE,kCAAkC;SACjD;KACJ;CACJ,CAAA;AAED,MAAa,kBAAmB,SAAQ,mCAAgB;IAIpD,YAAY,MAAc,EAAE,UAAkB;QAC1C,KAAK,EAAE,CAAC;QAJL,SAAI,GAAG,YAAY,CAAC;QAKvB,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACzD,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAAC,OAAe;QAC3C,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAClF,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,kBAAsC;QACpE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAChF,CAAC;IAES,KAAK,CAAC,yBAAyB,CAAC,MAA0B,EAAE,MAAqC;QACvG,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAC/B,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,gBAAgB,EACvB,MAAM,CAAC,eAAe,CACzB,CAAC;IACN,CAAC;IAES,cAAc,CAAC,kBAAsC;QAC3D,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC9E,CAAC;CACJ;AAjCD,gDAiCC"}
@@ -0,0 +1,19 @@
1
+ import { ContractVerifier, VerificationRequestParameters, VerificationTarget } from '../contractVerifier';
2
+ import { ValidationResponse } from '@nomicfoundation/hardhat-verify/internal/utilities';
3
+ export declare class EtherscanVerifier extends ContractVerifier {
4
+ readonly name = "Etherscan";
5
+ private readonly etherscan;
6
+ constructor(apiKey: string, chainId: bigint);
7
+ static isChainSupported(chainId: bigint): Promise<boolean>;
8
+ protected isAlreadyVerified(verificationTarget: VerificationTarget): Promise<boolean>;
9
+ protected submitVerificationRequest(target: VerificationTarget, params: VerificationRequestParameters, retries?: number): Promise<ValidationResponse>;
10
+ protected getContractUrl(verificationTarget: VerificationTarget): string;
11
+ protected getVerifyParameters(contractName: string): Promise<{
12
+ compilerVersion: string;
13
+ fullContractName: string;
14
+ solcInputJson: string;
15
+ }>;
16
+ private static loadEtherscanSupportedChains;
17
+ private processContractVerificationMissingBytecodeError;
18
+ private static waitForBlocks;
19
+ }
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ // Cspell:words apiurl blockexplorer chainname
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.EtherscanVerifier = void 0;
8
+ const contractVerifier_1 = require("../contractVerifier");
9
+ const etherscan_1 = require("@nomicfoundation/hardhat-verify/etherscan");
10
+ const semaphore_async_await_1 = __importDefault(require("semaphore-async-await"));
11
+ const chalk_1 = __importDefault(require("chalk"));
12
+ const hardhat_1 = require("hardhat");
13
+ const MAX_CONCURRENCY = 1;
14
+ const DEFAULT_RETRIES_AMOUNT = 5;
15
+ const BLOCKS_TO_WAIT = 5;
16
+ const ZERO_ATTEMPTS = 0;
17
+ const ONE_ATTEMPT = 1;
18
+ const lock = new semaphore_async_await_1.default(MAX_CONCURRENCY);
19
+ class EtherscanVerifier extends contractVerifier_1.ContractVerifier {
20
+ constructor(apiKey, chainId) {
21
+ super();
22
+ this.name = "Etherscan";
23
+ this.etherscan = new etherscan_1.Etherscan(apiKey,
24
+ // API url is set automatically because chainId is provided
25
+ "", "https://etherscan.io", Number(chainId));
26
+ }
27
+ static async isChainSupported(chainId) {
28
+ const supportedChains = await EtherscanVerifier.loadEtherscanSupportedChains();
29
+ return supportedChains.some(config => config.chainId === Number(chainId));
30
+ }
31
+ // Protected
32
+ async isAlreadyVerified(verificationTarget) {
33
+ return await this.etherscan.isVerified(verificationTarget.contractAddress);
34
+ }
35
+ async submitVerificationRequest(target, params, retries = DEFAULT_RETRIES_AMOUNT) {
36
+ try {
37
+ await lock.acquire();
38
+ return await this.etherscan.verify(target.contractAddress, params.solcInputJson, params.fullContractName, params.compilerVersion, "");
39
+ }
40
+ catch (error) {
41
+ if (error instanceof Error && error.name === 'ContractVerificationMissingBytecodeError') {
42
+ lock.release();
43
+ return await this.processContractVerificationMissingBytecodeError(error, { params, target }, retries);
44
+ }
45
+ throw error;
46
+ }
47
+ finally {
48
+ lock.release();
49
+ }
50
+ }
51
+ getContractUrl(verificationTarget) {
52
+ return this.etherscan.getContractUrl(verificationTarget.contractAddress);
53
+ }
54
+ async getVerifyParameters(contractName) {
55
+ const parameters = await super.getVerifyParameters(contractName);
56
+ return { ...parameters, compilerVersion: `v${parameters.compilerVersion}` };
57
+ }
58
+ // Private
59
+ static async loadEtherscanSupportedChains() {
60
+ await lock.acquire();
61
+ try {
62
+ const resp = await fetch("https://api.etherscan.io/v2/chainlist");
63
+ if (!resp.ok) {
64
+ throw new Error(`Etherscan API error: ${resp.status} ${resp.statusText}`);
65
+ }
66
+ const data = await resp.json();
67
+ return data.result.map((element) => ({
68
+ chainId: parseInt(element.chainid, 10),
69
+ network: element.chainname,
70
+ urls: {
71
+ apiURL: element.apiurl,
72
+ browserURL: element.blockexplorer
73
+ }
74
+ }));
75
+ }
76
+ finally {
77
+ lock.release();
78
+ }
79
+ }
80
+ async processContractVerificationMissingBytecodeError(error, data, retries) {
81
+ if (retries > ZERO_ATTEMPTS) {
82
+ console.log(chalk_1.default.gray(error.message));
83
+ console.log(chalk_1.default.gray(`Waiting for ${BLOCKS_TO_WAIT} blocks before retrying...`));
84
+ await EtherscanVerifier.waitForBlocks(BLOCKS_TO_WAIT);
85
+ return this.submitVerificationRequest(data.target, data.params, retries - ONE_ATTEMPT);
86
+ }
87
+ throw error;
88
+ }
89
+ static waitForBlocks(numBlocks) {
90
+ return new Promise((resolve) => {
91
+ hardhat_1.ethers.provider.getBlockNumber().then((currentBlockNumber) => {
92
+ const targetBlock = currentBlockNumber + numBlocks;
93
+ const listener = (blockNumber) => {
94
+ if (blockNumber >= targetBlock) {
95
+ hardhat_1.ethers.provider.removeListener("block", listener);
96
+ resolve();
97
+ }
98
+ };
99
+ hardhat_1.ethers.provider.on("block", listener);
100
+ });
101
+ });
102
+ }
103
+ }
104
+ exports.EtherscanVerifier = EtherscanVerifier;
105
+ //# sourceMappingURL=etherscanVerifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"etherscanVerifier.js","sourceRoot":"","sources":["../../../src/verifiers/etherscanVerifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { BlockscoutVerifier } from "./blockscoutVerifier";
2
+ export declare class SkaleBlockscoutVerifier extends BlockscoutVerifier {
3
+ name: string;
4
+ static createFromEndpoint(endpoint: string): Promise<SkaleBlockscoutVerifier | null>;
5
+ private static parseEndpoint;
6
+ private static pingExplorer;
7
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ // Cspell:words skalenodes
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.SkaleBlockscoutVerifier = void 0;
5
+ const blockscoutVerifier_1 = require("./blockscoutVerifier");
6
+ const BASE_EXPLORER_URLS = {
7
+ legacy: "legacy-explorer.skalenodes.com",
8
+ mainnet: "explorer.mainnet.skalenodes.com",
9
+ testnet: "explorer.testnet.skalenodes.com"
10
+ };
11
+ class SkaleBlockscoutVerifier extends blockscoutVerifier_1.BlockscoutVerifier {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.name = "SKALE Blockscout";
15
+ }
16
+ static async createFromEndpoint(endpoint) {
17
+ const { schainName, networkType } = SkaleBlockscoutVerifier.parseEndpoint(endpoint);
18
+ const browserURL = `https://${schainName}.${BASE_EXPLORER_URLS[networkType]}`;
19
+ const apiURL = `${browserURL}/api`;
20
+ if (!await SkaleBlockscoutVerifier.pingExplorer(browserURL)) {
21
+ throw new Error(`SKALE block explorer (${browserURL}) is not reachable, set EXPLORER_URL`);
22
+ }
23
+ return new SkaleBlockscoutVerifier(apiURL, browserURL);
24
+ }
25
+ // Private
26
+ static parseEndpoint(endpoint) {
27
+ const { host, pathname } = new URL(endpoint);
28
+ const schainName = pathname.split("/").filter(Boolean).pop();
29
+ let networkType = "mainnet";
30
+ if (host.includes("mainnet.")) {
31
+ networkType = "mainnet";
32
+ }
33
+ else if (host.includes("testnet.")) {
34
+ networkType = "testnet";
35
+ }
36
+ else if (host.includes("legacy-proxy.")) {
37
+ networkType = "legacy";
38
+ }
39
+ else {
40
+ throw new Error(`The chain is not supported by SKALE block explorer or unknown network in ENDPOINT: ${endpoint}`);
41
+ }
42
+ return { networkType, schainName };
43
+ }
44
+ static async pingExplorer(baseUrl) {
45
+ const url = `${baseUrl}/api/health`;
46
+ try {
47
+ const res = await fetch(url);
48
+ if (!res.ok) {
49
+ return false;
50
+ }
51
+ const jsonResponse = await res.json();
52
+ return jsonResponse.healthy;
53
+ }
54
+ catch {
55
+ return false;
56
+ }
57
+ }
58
+ }
59
+ exports.SkaleBlockscoutVerifier = SkaleBlockscoutVerifier;
60
+ //# sourceMappingURL=skaleBlockscoutVerifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skaleBlockscoutVerifier.js","sourceRoot":"","sources":["../../../src/verifiers/skaleBlockscoutVerifier.ts"],"names":[],"mappings":";AAAA,0BAA0B;;;AAE1B,6DAAwD;AAExD,MAAM,kBAAkB,GAAG;IACvB,MAAM,EAAE,gCAAgC;IACxC,OAAO,EAAE,iCAAiC;IAC1C,OAAO,EAAE,iCAAiC;CAC7C,CAAC;AAEF,MAAa,uBAAwB,SAAQ,uCAAkB;IAA/D;;QACW,SAAI,GAAG,kBAAkB,CAAC;IA6CrC,CAAC;IA3CU,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAgB;QACnD,MAAM,EAAC,UAAU,EAAE,WAAW,EAAC,GAAG,uBAAuB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClF,MAAM,UAAU,GAAG,WAAW,UAAU,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9E,MAAM,MAAM,GAAG,GAAG,UAAU,MAAM,CAAC;QACnC,IAAI,CAAC,MAAM,uBAAuB,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,sCAAsC,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,IAAI,uBAAuB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,UAAU;IAEF,MAAM,CAAC,aAAa,CAAC,QAAgB;QACzC,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAG,CAAC;QAE9D,IAAI,WAAW,GAAoC,SAAS,CAAC;QAC7D,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,WAAW,GAAG,SAAS,CAAC;QAC5B,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,WAAW,GAAG,SAAS,CAAC;QAC5B,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACxC,WAAW,GAAG,QAAQ,CAAC;QAC3B,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CACX,sFAAsF,QAAQ,EAAE,CAAC,CAAC;QAC1G,CAAC;QACD,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,CAAC;IACrC,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,YAAY,CAAE,OAAe;QAC9C,MAAM,GAAG,GAAG,GAAG,OAAO,aAAa,CAAC;QACpC,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACtC,OAAO,YAAY,CAAC,OAAO,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;CACJ;AA9CD,0DA8CC"}
@@ -4,10 +4,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getVersion = void 0;
7
- const child_process_1 = require("child_process");
8
7
  const fs_1 = require("fs");
8
+ const child_process_1 = require("child_process");
9
9
  const util_1 = __importDefault(require("util"));
10
10
  const exec = util_1.default.promisify(child_process_1.exec);
11
+ class VersionNotFound extends Error {
12
+ }
13
+ const getVersionFilename = async (folder) => {
14
+ if (typeof folder === "undefined") {
15
+ return getVersionFilename((await exec("git rev-parse --show-toplevel")).stdout.trim());
16
+ }
17
+ const VERSION_FILENAME = "VERSION";
18
+ const path = `${folder}/${VERSION_FILENAME}`;
19
+ if ((0, fs_1.existsSync)(path)) {
20
+ return path;
21
+ }
22
+ for (const entry of await fs_1.promises.readdir(folder, {
23
+ "recursive": true,
24
+ "withFileTypes": true
25
+ })) {
26
+ if (entry.isFile() && entry.name === VERSION_FILENAME) {
27
+ return `${entry.path}/${entry.name}`;
28
+ }
29
+ }
30
+ throw new VersionNotFound("Can't find version file");
31
+ };
11
32
  const getVersion = async () => {
12
33
  if (process.env.VERSION) {
13
34
  return process.env.VERSION;
@@ -17,7 +38,8 @@ const getVersion = async () => {
17
38
  return tag;
18
39
  }
19
40
  catch {
20
- return (await fs_1.promises.readFile("VERSION", "utf-8")).trim();
41
+ return (await fs_1.promises.readFile(await getVersionFilename(), "utf-8")).trim();
21
42
  }
22
43
  };
23
44
  exports.getVersion = getVersion;
45
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;;;;AAAA,2BAA8C;AAC9C,iDAAgD;AAChD,gDAAwB;AAGxB,MAAM,IAAI,GAAG,cAAI,CAAC,SAAS,CAAC,oBAAS,CAAC,CAAC;AAEvC,MAAM,eAAgB,SAAQ,KAAK;CAAG;AAEtC,MAAM,kBAAkB,GAAG,KAAK,EAAE,MAAe,EAAmB,EAAE;IAClE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO,kBAAkB,CAAC,CACtB,MAAM,IAAI,CAAC,+BAA+B,CAAC,CAC9C,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACrB,CAAC;IACD,MAAM,gBAAgB,GAAG,SAAS,CAAC;IACnC,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,gBAAgB,EAAE,CAAC;IAC7C,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,aAAE,CAAC,OAAO,CAChC,MAAM,EACN;QACI,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,IAAI;KACxB,CACJ,EAAE,CAAC;QACA,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACpD,OAAO,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC;IACL,CAAC;IACD,MAAM,IAAI,eAAe,CAAC,yBAAyB,CAAC,CAAC;AACzD,CAAC,CAAC;AAEK,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;IACjC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9D,OAAO,GAAG,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,CAAC,MAAM,aAAE,CAAC,QAAQ,CACrB,MAAM,kBAAkB,EAAE,EAC1B,OAAO,CACV,CAAC,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;AACL,CAAC,CAAC;AAbW,QAAA,UAAU,cAarB"}
@@ -1,60 +1,65 @@
1
- import { BaseContract, Signer, utils } from "ethers";
2
- import { EventFragment } from "@ethersproject/abi";
3
- import { Listener, Provider } from "@ethersproject/providers";
4
- import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common";
5
- export interface AdminUpgradeabilityProxyInterface extends utils.Interface {
6
- contractName: "AdminUpgradeabilityProxy";
7
- functions: {};
8
- events: {
9
- "AdminChanged(address,address)": EventFragment;
10
- "BeaconUpgraded(address)": EventFragment;
11
- "Upgraded(address)": EventFragment;
12
- };
13
- getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment;
14
- getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment;
15
- getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment;
1
+ import type { BaseContract, FunctionFragment, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
2
+ import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener } from "./common";
3
+ export interface AdminUpgradeabilityProxyInterface extends Interface {
4
+ getEvent(nameOrSignatureOrTopic: "AdminChanged" | "BeaconUpgraded" | "Upgraded"): EventFragment;
5
+ }
6
+ export declare namespace AdminChangedEvent {
7
+ type InputTuple = [previousAdmin: AddressLike, newAdmin: AddressLike];
8
+ type OutputTuple = [previousAdmin: string, newAdmin: string];
9
+ interface OutputObject {
10
+ previousAdmin: string;
11
+ newAdmin: string;
12
+ }
13
+ type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
14
+ type Filter = TypedDeferredTopicFilter<Event>;
15
+ type Log = TypedEventLog<Event>;
16
+ type LogDescription = TypedLogDescription<Event>;
17
+ }
18
+ export declare namespace BeaconUpgradedEvent {
19
+ type InputTuple = [beacon: AddressLike];
20
+ type OutputTuple = [beacon: string];
21
+ interface OutputObject {
22
+ beacon: string;
23
+ }
24
+ type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
25
+ type Filter = TypedDeferredTopicFilter<Event>;
26
+ type Log = TypedEventLog<Event>;
27
+ type LogDescription = TypedLogDescription<Event>;
28
+ }
29
+ export declare namespace UpgradedEvent {
30
+ type InputTuple = [implementation: AddressLike];
31
+ type OutputTuple = [implementation: string];
32
+ interface OutputObject {
33
+ implementation: string;
34
+ }
35
+ type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
36
+ type Filter = TypedDeferredTopicFilter<Event>;
37
+ type Log = TypedEventLog<Event>;
38
+ type LogDescription = TypedLogDescription<Event>;
16
39
  }
17
- export type AdminChangedEvent = TypedEvent<[
18
- string,
19
- string
20
- ], {
21
- previousAdmin: string;
22
- newAdmin: string;
23
- }>;
24
- export type AdminChangedEventFilter = TypedEventFilter<AdminChangedEvent>;
25
- export type BeaconUpgradedEvent = TypedEvent<[string], {
26
- beacon: string;
27
- }>;
28
- export type BeaconUpgradedEventFilter = TypedEventFilter<BeaconUpgradedEvent>;
29
- export type UpgradedEvent = TypedEvent<[string], {
30
- implementation: string;
31
- }>;
32
- export type UpgradedEventFilter = TypedEventFilter<UpgradedEvent>;
33
40
  export interface AdminUpgradeabilityProxy extends BaseContract {
34
- contractName: "AdminUpgradeabilityProxy";
35
- connect(signerOrProvider: Signer | Provider | string): this;
36
- attach(addressOrName: string): this;
37
- deployed(): Promise<this>;
41
+ connect(runner?: ContractRunner | null): AdminUpgradeabilityProxy;
42
+ waitForDeployment(): Promise<this>;
38
43
  interface: AdminUpgradeabilityProxyInterface;
39
- queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
40
- listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
41
- listeners(eventName?: string): Array<Listener>;
42
- removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
43
- removeAllListeners(eventName?: string): this;
44
- off: OnEvent<this>;
45
- on: OnEvent<this>;
46
- once: OnEvent<this>;
47
- removeListener: OnEvent<this>;
48
- functions: {};
49
- callStatic: {};
44
+ queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
45
+ queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
46
+ on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
47
+ on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
48
+ once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
49
+ once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
50
+ listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
51
+ listeners(eventName?: string): Promise<Array<Listener>>;
52
+ removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
53
+ getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
54
+ getEvent(key: "AdminChanged"): TypedContractEvent<AdminChangedEvent.InputTuple, AdminChangedEvent.OutputTuple, AdminChangedEvent.OutputObject>;
55
+ getEvent(key: "BeaconUpgraded"): TypedContractEvent<BeaconUpgradedEvent.InputTuple, BeaconUpgradedEvent.OutputTuple, BeaconUpgradedEvent.OutputObject>;
56
+ getEvent(key: "Upgraded"): TypedContractEvent<UpgradedEvent.InputTuple, UpgradedEvent.OutputTuple, UpgradedEvent.OutputObject>;
50
57
  filters: {
51
- "AdminChanged(address,address)"(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter;
52
- AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter;
53
- "BeaconUpgraded(address)"(beacon?: string | null): BeaconUpgradedEventFilter;
54
- BeaconUpgraded(beacon?: string | null): BeaconUpgradedEventFilter;
55
- "Upgraded(address)"(implementation?: string | null): UpgradedEventFilter;
56
- Upgraded(implementation?: string | null): UpgradedEventFilter;
58
+ "AdminChanged(address,address)": TypedContractEvent<AdminChangedEvent.InputTuple, AdminChangedEvent.OutputTuple, AdminChangedEvent.OutputObject>;
59
+ AdminChanged: TypedContractEvent<AdminChangedEvent.InputTuple, AdminChangedEvent.OutputTuple, AdminChangedEvent.OutputObject>;
60
+ "BeaconUpgraded(address)": TypedContractEvent<BeaconUpgradedEvent.InputTuple, BeaconUpgradedEvent.OutputTuple, BeaconUpgradedEvent.OutputObject>;
61
+ BeaconUpgraded: TypedContractEvent<BeaconUpgradedEvent.InputTuple, BeaconUpgradedEvent.OutputTuple, BeaconUpgradedEvent.OutputObject>;
62
+ "Upgraded(address)": TypedContractEvent<UpgradedEvent.InputTuple, UpgradedEvent.OutputTuple, UpgradedEvent.OutputObject>;
63
+ Upgraded: TypedContractEvent<UpgradedEvent.InputTuple, UpgradedEvent.OutputTuple, UpgradedEvent.OutputObject>;
57
64
  };
58
- estimateGas: {};
59
- populateTransaction: {};
60
65
  }
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=AdminUpgradeabilityProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminUpgradeabilityProxy.js","sourceRoot":"","sources":["../../typechain-types/AdminUpgradeabilityProxy.ts"],"names":[],"mappings":""}