Closed horsefacts closed 1 year ago
Coverage after merging horsefacts/update-deploy-scripts into main will be
98.69% |
---|
File | Stmts | Branches | Funcs | Lines | Uncovered Lines |
---|---|---|---|---|---|
src | |||||
Bundler.sol | 100% | 100% | 100% | 100% | |
FnameResolver.sol | 100% | 100% | 100% | 100% | |
IdRegistry.sol | 100% | 100% | 100% | 100% | |
KeyRegistry.sol | 100% | 100% | 100% | 100% | |
StorageRent.sol | 100% | 100% | 100% | 100% | |
src/lib | |||||
Signatures.sol | 100% | 100% | 100% | 100% | |
TransferHelper.sol | 0% | 0% | 0% | 0% | 15, 15, 15, 25–26, 26, 26 |
TrustedCaller.sol | 100% | 100% | 100% | 100% |
Motivation
We should have a single, reliable Foundry script that deploys our contracts and abstracts over deployment parameters. We should be able to test this deployment in a forked environment exactly like production.
Change Summary
Add an
ImmutableCreate2Deployer
base script contract that makes use of the cross-chain ImmutableCreate2Factory. Refactor existing deployment scripts to use it. Add a fork test that exercises the deploy script.Merge Checklist
Choose all relevant options below by adding an
x
now or at any time before submitting for reviewAdditional Context
Foundry uses Arachnid's keyless CREATE2 factory by default, but there are a few advantages to using 0age's ImmutableCreate2Factory:
Close #269
PR-Codex overview
Focus of the PR:
This PR focuses on adding testnet and mainnet RPC URLs, as well as making changes to the CI workflow.
Detailed summary:
TESTNET_RPC_URL
andMAINNET_RPC_URL
variables to the.env.example
file.TESTNET_RPC_URL
andMAINNET_RPC_URL
secrets to the CI workflow.foundry.toml
file to include amatch_path
andno_match_path
for testing purposes.rpc_endpoints
section to thefoundry.toml
file withtestnet
andmainnet
URLs.IdRegistryScript
,FnameResolverScript
,KeyRegistryScript
, andStorageRentScript
files to use theImmutableCreate2Deployer
contract.DeployTest
file with new deployment parameters and added test cases.LocalDeploy
script for local deployment.README.md
file with instructions on running tests and deploying locally.