docs: wire Hardhat verify for Arcscan on Arc Testnet - #384
Conversation
bd30337 to
63eda8b
Compare
|
Disclosure: I'm an external community contributor, not affiliated with Circle, not a maintainer, and I have no write access to this repository. This is advisory review only. I verified this against the It's also worth noting the One good scoping call: issue #84's suggested config also included an On CI: all real jobs on the head commit pass (Rust unit/integration tests, lint/format, Contracts build/test/lint, StepSecurity); only release/publish matrix jobs are skipped, which is expected for this kind of change. The combined status API reports One open item for the maintainer: the PR's own test plan checkbox for verifying a real deployed testnet contract against Arcscan is still unchecked. I'd do that end-to-end check before merging, since it would catch anything a static config review can't — for example how Arcscan's Blockscout instance handles multi-file source or optimizer metadata for this specific solc version. |
|
Thanks @osr21 for the careful advisory review. Agree on the framing: the missing piece was the etherscan/customChains/sourcify wiring, and leaving mainnet out avoids shipping the #84 / repo chain-id mismatch. I ran the live path from this branch:
That exercises eth_chainId matching, apiURL, and the non-empty apiKey path end to end. A fresh deploy then verify from a funded maintainer wallet would still be the cleanest merge checkbox for optimizer/metadata edge cases; I updated the PR test plan to reflect what was run. |
Summary
Addresses #84 by wiring
@nomicfoundation/hardhat-verifyfor Arc Testnet in this repository.Official Deploy on Arc docs already show Foundry/
arc-forge verify-contractagainsthttps://testnet.arcscan.app/api/. Hardhat users still had no workingcustomChainsconfig here, so Arcscan's "verify manually" path had no in-repo Hardhat reference.Changes
@nomicfoundation/hardhat-verifyand register Arc Testnet (5042002) with Arcscan Blockscout URLs inhardhat.config.tscontracts/README.md@nomicfoundation/hardhat-verifyexplicitly inpackage.jsonUsage
Notes
https://testnet.arcscan.app/apiTESTNET_CHAIN_ID/ genesis (5042002)evmVersion: 'prague'unchanged; that is separate from verification wiring4564, but this repo'snetworks.mainnet.chainIdis5042Test plan
npx hardhat verify --network testnet --helploads with the new pluginnpx hardhat verify --network testnet --contract contracts/src/memo/Memo.sol:Memo --force 0x5294E9927c3306DcBaDb03fe70b92e01cCede505reaches Arcscan and reports the genesis Memo contract is already verified (full config path exercised; fresh deploy/verify still welcome from a maintainer with a funded deployer)