Skip to content

Conversation

@avorylli
Copy link
Contributor

@avorylli avorylli commented Dec 7, 2025

Replace sequential await loop with join_all to execute all contract verifications concurrently.
This improves performance when verifyingmultiple contracts, especially for large deployments.

The change maintains the same error handling behavior while allowing all verification futures to run in parallel instead of waiting for each one to complete before starting the next.

Copy link
Collaborator

@grandizzy grandizzy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks, this would be a great improvement but in order to be really useful we need verification to happen with progress showing status for each contract that is verified and not fail on first failure (see forge test --show-progress) as an example, would you be willing adding such? Thank you!

@avorylli
Copy link
Contributor Author

avorylli commented Dec 7, 2025

@grandizzy thanks for review, did changes that you requested, is it going in the right direction?

@grandizzy
Copy link
Collaborator

grandizzy commented Dec 8, 2025

@grandizzy thanks for review, did changes that you requested, is it going in the right direction?

@avorylli yep, thank you, that's going in the right direction! Some things to fix

  • let's display details near each contract that is verified (like chain, evm version, compiler, constructor args, verifier)
  • let's display progress messages inline as the last entry - rn they are displayed inline and makes progress bar flaky

smth like instead
gg

to have

⡀ Mail (0xE51e8ae776431114628fD12E037044A2eE1ddec6)  
    - chain: 1111
    - EVM version: prague
    - Compiler version: 0.8.30
    - Constructor args: 00000000000000000000000020c00000000000000000000000000000000005aa
    - verifier: Sourcify
    - Submitted contract for verification:
	Verification Job ID: `56ead4aa-76c3-4b04-a1ff-9cf125d2d661`
	URL:                                                                                                                                                   
⡀ SimpleMail (0xB3Cf7142C78947281EdC6d634bB265B587300D81)
    - chain: 2222
    - EVM version: osaka
    - Compiler version: 0.8.18
    - verifier: Etherscan
    - Failed to deserialize response: data did not match any variant of untagged enum ResponseData res="{\"message\":\"unsupported media type application/x-www-form-urlencoded\",\"errors\":[{\"path\":\"/verify\",\"message\":\"unsupported media type application/x-www-form-urlencoded\"}]}"

@grandizzy
Copy link
Collaborator

ref part of #10593 CC @zerosnacks

@avorylli
Copy link
Contributor Author

avorylli commented Dec 8, 2025

@grandizzy wow, thanks for detailed explanation,

I hope my implementation includes what you asked for

@grandizzy
Copy link
Collaborator

@avorylli oh, yes, I tested and def the right direction, there's still a little flakiness to figure it out, will get on review it asap

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants