From 4ebe2bcea118f4ec7a1b93d7b5fd9649f17b93ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8r=E2=88=82=C2=A1?= Date: Mon, 7 Apr 2025 13:39:08 +0100 Subject: [PATCH 1/3] Upgrading HardHat verify to support Sourcify --- .../99_conclude/10_verify-contracts.ts | 4 +- packages/contracts/package.json | 8 ++-- yarn.lock | 41 ++++--------------- 3 files changed, 14 insertions(+), 39 deletions(-) diff --git a/packages/contracts/deploy/verification/99_conclude/10_verify-contracts.ts b/packages/contracts/deploy/verification/99_conclude/10_verify-contracts.ts index 0a1c9b26b..251685420 100644 --- a/packages/contracts/deploy/verification/99_conclude/10_verify-contracts.ts +++ b/packages/contracts/deploy/verification/99_conclude/10_verify-contracts.ts @@ -21,9 +21,9 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { // Etherscan Max rate limit is 1/5s, // use 6s just to be safe. console.log( - `Delaying 6s, so we dont reach Etherscan's Max rate limit of 1/5s.` + `Delaying 5 seconds, to prevent hitting the block explorer's rate limit.` ); - await delay(6000); + await delay(5100); } }; export default func; diff --git a/packages/contracts/package.json b/packages/contracts/package.json index eb8495344..2c314a5e4 100644 --- a/packages/contracts/package.json +++ b/packages/contracts/package.json @@ -49,15 +49,14 @@ "@aragon/osx-v1.3.0": "npm:@aragon/osx@1.3.0", "@defi-wonderland/smock": "^2.3.4", "@matterlabs/hardhat-zksync-deploy": "0.8", + "@matterlabs/hardhat-zksync-ethers": "0.0.1-beta.2", "@matterlabs/hardhat-zksync-node": "0.2.0", "@matterlabs/hardhat-zksync-solc": "1.2.5", "@matterlabs/hardhat-zksync-upgradable": "0.4.0", "@matterlabs/hardhat-zksync-verify": "0.7.0", - "@matterlabs/hardhat-zksync-ethers": "0.0.1-beta.2", - "zksync-ethers": "5.7.0", "@nomicfoundation/hardhat-chai-matchers": "^1.0.5", "@nomicfoundation/hardhat-network-helpers": "^1.0.8", - "@nomicfoundation/hardhat-verify": "^1.0.4", + "@nomicfoundation/hardhat-verify": "^2.0.13", "@nomiclabs/hardhat-ethers": "^2.2.1", "@openzeppelin/hardhat-upgrades": "^1.23.1", "@typechain/ethers-v5": "7.2.0", @@ -82,6 +81,7 @@ "hardhat-deploy": "0.12.4", "hardhat-gas-reporter": "^1.0.4", "ipfs-http-client": "51.0.0", + "lodash.startcase": "^4.4.0", "solhint": "^3.3.6", "solidity-coverage": "^0.8.2", "solidity-docgen": "^0.6.0-beta.35", @@ -89,6 +89,6 @@ "ts-node": "^8.1.0", "typechain": "^5.2.0", "typescript": "^4.4.4", - "lodash.startcase": "^4.4.0" + "zksync-ethers": "5.7.0" } } diff --git a/yarn.lock b/yarn.lock index 7e759519a..545e26338 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1134,17 +1134,17 @@ dependencies: ethereumjs-util "^7.1.4" -"@nomicfoundation/hardhat-verify@^1.0.4": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-1.1.1.tgz#6a433d777ce0172d1f0edf7f2d3e1df14b3ecfc1" - integrity sha512-9QsTYD7pcZaQFEA3tBb/D/oCStYDiEVDN7Dxeo/4SCyHRSm86APypxxdOMEPlGmXsAvd+p1j/dTODcpxb8aztA== +"@nomicfoundation/hardhat-verify@^2.0.13": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.13.tgz#41691adc32e01dc5cf6b725615f64958fba2100b" + integrity sha512-i57GX1sC0kYGyRVnbQrjjyBTpWTKgrvKC+jH8CMKV6gHp959Upb8lKaZ58WRHIU0espkulTxLnacYeUDirwJ2g== dependencies: "@ethersproject/abi" "^5.1.2" "@ethersproject/address" "^5.0.2" cbor "^8.1.0" - chalk "^2.4.2" debug "^4.1.1" lodash.clonedeep "^4.5.0" + picocolors "^1.1.0" semver "^6.3.0" table "^6.8.0" undici "^5.14.0" @@ -8513,7 +8513,7 @@ string-format@^2.0.0: resolved "https://registry.yarnpkg.com/string-format/-/string-format-2.0.0.tgz#f2df2e7097440d3b65de31b6d40d54c96eaffb9b" integrity sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA== -"string-width-cjs@npm:string-width@^4.2.0": +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -8539,15 +8539,6 @@ string-width@^2.1.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" @@ -8608,7 +8599,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -8629,13 +8620,6 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -10003,7 +9987,7 @@ workerpool@^6.5.1: resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -10020,15 +10004,6 @@ wrap-ansi@^2.0.0: string-width "^1.0.1" strip-ansi "^3.0.1" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" From 747563c3819819ca89a647cc593881a1fdb532d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8r=E2=88=82=C2=A1?= Date: Mon, 7 Apr 2025 13:41:57 +0100 Subject: [PATCH 2/3] Minor edit --- .../deploy/verification/99_conclude/10_verify-contracts.ts | 2 +- packages/contracts/hardhat.config.ts | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/contracts/deploy/verification/99_conclude/10_verify-contracts.ts b/packages/contracts/deploy/verification/99_conclude/10_verify-contracts.ts index 251685420..3d797f03e 100644 --- a/packages/contracts/deploy/verification/99_conclude/10_verify-contracts.ts +++ b/packages/contracts/deploy/verification/99_conclude/10_verify-contracts.ts @@ -19,7 +19,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { await verifyContract(element.address, element.args || [], element.contract); // Etherscan Max rate limit is 1/5s, - // use 6s just to be safe. + // use 5.1s just to be safe. console.log( `Delaying 5 seconds, to prevent hitting the block explorer's rate limit.` ); diff --git a/packages/contracts/hardhat.config.ts b/packages/contracts/hardhat.config.ts index dee59932f..f7d5209d9 100644 --- a/packages/contracts/hardhat.config.ts +++ b/packages/contracts/hardhat.config.ts @@ -248,6 +248,11 @@ const config: HardhatUserConfig = { }, ], }, + sourcify: { + enabled: false, + apiUrl: 'https://sourcify-api-monad.blockvision.org', + browserUrl: 'https://testnet.monadexplorer.com', + }, namedAccounts: { deployer: 0, }, From 996e4a9507fe9814c1b35975372d34ed9618c7f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8r=E2=88=82=C2=A1?= Date: Mon, 7 Apr 2025 13:46:16 +0100 Subject: [PATCH 3/3] Adding support for Monad testnet --- packages/contracts/hardhat.config.ts | 1 + packages/contracts/networks.ts | 3 +++ 2 files changed, 4 insertions(+) diff --git a/packages/contracts/hardhat.config.ts b/packages/contracts/hardhat.config.ts index f7d5209d9..05556715f 100644 --- a/packages/contracts/hardhat.config.ts +++ b/packages/contracts/hardhat.config.ts @@ -137,6 +137,7 @@ const config: HardhatUserConfig = { currency: 'USD', }, etherscan: { + enabled: true, apiKey: { mainnet: process.env.ETHERSCAN_KEY || '', sepolia: process.env.ETHERSCAN_KEY || '', diff --git a/packages/contracts/networks.ts b/packages/contracts/networks.ts index 293f04882..c317e01e0 100644 --- a/packages/contracts/networks.ts +++ b/packages/contracts/networks.ts @@ -48,6 +48,9 @@ export const networkExtensions: {[index: string]: NetworkExtension} = { peaq: { deploy: ['./deploy/new', './deploy/verification'], }, + monadTestnet: { + deploy: ['./deploy/new', './deploy/verification'], + }, localhost: { deploy: ['./deploy/new'], },