fix: forge script --verifier sourcify
is ignored when ETHERSCAN_API_KEY
env var is defined
#10002
+105
−22
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.
Motivation
Closes: #10000
Solution
Reorders the way we check for the
--verifiers
:If
--verifier
is passed explicitly we always use that specified verifier.If
--verifier
is passed (excludingetherscan
) and we have anETHERSCAN_API_KEY
defined in the environment we always use the specified identifier, ignoring theETHERSCAN_API_KEY
.If
--verifier etherscan
is set, perform a hard check against whether theETHERSCAN_API_KEY
is set.If no
--verifier
is specified butETHERSCAN_API_KEY
is set, default to Etherscan.If no
--verifier
is specified and noETHERSCAN_API_KEY
is set we bail, throwing a useful error.This should satisfy all conditions.
PR Checklist
Manually tested against sandbox in #10000 confirming I was able to verify with Sourcify even if
ETHERSCAN_API_KEY
was set. Previously it would attempt to verify with Etherscan.