feat: Add Parmigiana testnet support for fuzz tests#95
feat: Add Parmigiana testnet support for fuzz tests#95init4samwise wants to merge 4 commits intomainfrom
Conversation
- Add ParmigianaConstants library with Parmigiana contract addresses - Update setupStd() to auto-configure based on chain ID - Add fuzz-rollup and fuzz-host profiles to foundry.toml - Add Parmigiana fuzz test jobs to CI workflow Closes ENG-1861
Update fork-rollup and fork-host jobs to use PARMIGIANA_RU_RPC_URL and PARMIGIANA_HOST_RPC_URL instead of deprecated pecorino endpoints.
prestwich
left a comment
There was a problem hiding this comment.
[Claude Code]
Verified that all Parmigiana and Pecorino constants in SignetStd.sol match the canonical values in the SDK (signet-constants crate):
- Parmigiana: All 15 constants (chain IDs, contract addresses, token addresses) match
crates/constants/src/chains/parmigiana.rs✅ - Pecorino: All 15 constants match
crates/constants/src/chains/pecorino.rs✅
Minor note: a few host token addresses (USDC, USDT, WBTC) have different EIP-55 checksum casing between Solidity and Rust, but the underlying hex values are identical.
|
Re: "why is this changing?" on The variable name changed from The old generic names ( |
|
don't change variable names randomly. the names are generic so they can be configured across testnets via the github environment |
The existing fork-rollup and fork-host jobs should use the generic RU_RPC_URL and HOST_RPC_URL environment variables, which are configured per-environment via GitHub environments. The new parmigiana-fuzz-* jobs correctly use the PARMIGIANA_ prefixed vars since they're specifically for Parmigiana testnet fuzz testing.
|
Re: James's question on the workflow change — Adding two new CI jobs ( Should these be workflow_dispatch (triggerable) instead of running on every PR? Happy to change if you'd prefer that approach. |
Summary
Migrates Solidity fuzz tests to support the Parmigiana testnet.
Changes
ParmigianaConstantslibrary with Parmigiana contract addresses (chain ID 88888). UpdatedsetupStd()to auto-configure based on detected chain ID.fuzz-rollupandfuzz-hostprofiles for running fuzz tests against specific test directories.fuzz-rollupandfuzz-hostjobs using existing RPC endpoint variables.Notes
RU_RPC_URLandHOST_RPC_URLrepository variables (no new config required)Closes ENG-1861