Use supported Etherscan verification for maintained deployments - #190
Open
mswilkison wants to merge 1 commit into
Open
mswilkison wants to merge 1 commit into
mswilkison wants to merge 1 commit into
Conversation
5 tasks
mswilkison
marked this pull request as ready for review
September 8, 2026 23:39
This was referenced Sep 8, 2026
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replace hardhat-deploy's legacy
etherscan-verifyCI task with@nomicfoundation/hardhat-verify2.1.3, the supportedhh2release. Configure a single Etherscan API V2 key and verify the four non-staking deployment records emitted by the current scripts: T, VendingMachineNuCypher, TokenholderTimelock, and TokenholderGovernor on mainnet or Sepolia.The new
verify-deploymentstask reads saved addresses, constructor arguments, and linked libraries, including the VendingMachine and TimelockController aliases. It rejects missing records/arguments before submission, lets the plugin skip already-verified contracts, and propagates verification failures to CI. CI transfers compiler artifacts with the deployment records. Documentation covers commands, scope, historical source requirements, and the retained upgrades dependency.TokenStaking/proxy verification is excluded per #185. The OpenZeppelin upgrades plugin remains because deployment scripts and proxy/staking tests still use it; #176 and #186 also retain consumer/testnet proxy behavior.
This PR is stacked on #182 (
chore/dependency-toolchain-refresh, base14843ac). Merge #182 first, then retarget tomain. Refs #185; supersedes the deprecated-plugin approach in #125.Validation:
git diff --checkpass.contracts/token/T.sol:T, compiler0.8.9+commit.e5eed63a, and the empty constructor argument list.A live Etherscan submission was not performed: no
ETHERSCAN_API_KEYis available in this session. That final authenticated verification check remains for the configured CI environment; the issue should remain open until it succeeds. No public-network deployment or npm publication was performed.