modified CHANGELOG.md +2 -0
| @@ -20,5 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 |
| 20 | 20 | and CREATE2 tests pinning address determinism across chain IDs. |
| 21 | 21 | - `foundry.toml` with pinned solc 0.8.30, optimizer, fmt rules, fuzz/invariant |
| 22 | 22 | defaults, and Base Sepolia RPC/Etherscan endpoints driven by env vars. |
| 23 | +- `script/multichain-check.sh`, deploying `Love` on two local anvil nodes with |
| 24 | + different chain IDs and failing if the two addresses don't match. |
| 23 | 25 | - `remappings.txt` for `@openzeppelin/contracts/` and `forge-std/`. |
| 24 | 26 | - `.env.example` documenting required environment variables. |
| @@ -20,5 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 |
| 20 | and CREATE2 tests pinning address determinism across chain IDs. | 20 | and CREATE2 tests pinning address determinism across chain IDs. |
| 21 | - `foundry.toml` with pinned solc 0.8.30, optimizer, fmt rules, fuzz/invariant | 21 | - `foundry.toml` with pinned solc 0.8.30, optimizer, fmt rules, fuzz/invariant |
| 22 | defaults, and Base Sepolia RPC/Etherscan endpoints driven by env vars. | 22 | defaults, and Base Sepolia RPC/Etherscan endpoints driven by env vars. |
| | 23 | +- `script/multichain-check.sh`, deploying `Love` on two local anvil nodes with |
| | 24 | + different chain IDs and failing if the two addresses don't match. |
| 23 | - `remappings.txt` for `@openzeppelin/contracts/` and `forge-std/`. | 25 | - `remappings.txt` for `@openzeppelin/contracts/` and `forge-std/`. |
| 24 | - `.env.example` documenting required environment variables. | 26 | - `.env.example` documenting required environment variables. |
modified README.md +10 -0
| @@ -33,6 +33,16 @@ forge script script/Love.s.sol:LoveScript \ |
| 33 | 33 | --verify |
| 34 | 34 | ``` |
| 35 | 35 | |
| 36 | +To check determinism for real, deploy on two local chains and compare: |
| 37 | + |
| 38 | +```shell |
| 39 | +./script/multichain-check.sh |
| 40 | +``` |
| 41 | + |
| 42 | +It starts two anvil nodes (chain IDs 31337 and 31338), broadcasts the script on |
| 43 | +both, and exits non-zero if the addresses differ. Override `PORT_A`, `PORT_B`, |
| 44 | +`CHAIN_ID_A`, `CHAIN_ID_B` or `SALT` as needed. |
| 45 | + |
| 36 | 46 | ## Mint |
| 37 | 47 | |
| 38 | 48 | ```shell |
| @@ -33,6 +33,16 @@ forge script script/Love.s.sol:LoveScript \ |
| 33 | --verify | 33 | --verify |
| 34 | ``` | 34 | ``` |
| 35 | | 35 | |
| | 36 | +To check determinism for real, deploy on two local chains and compare: |
| | 37 | + |
| | 38 | +```shell |
| | 39 | +./script/multichain-check.sh |
| | 40 | +``` |
| | 41 | + |
| | 42 | +It starts two anvil nodes (chain IDs 31337 and 31338), broadcasts the script on |
| | 43 | +both, and exits non-zero if the addresses differ. Override `PORT_A`, `PORT_B`, |
| | 44 | +`CHAIN_ID_A`, `CHAIN_ID_B` or `SALT` as needed. |
| | 45 | + |
| 36 | ## Mint | 46 | ## Mint |
| 37 | | 47 | |
| 38 | ```shell | 48 | ```shell |