julien/lovepublic Fork 0
3a20a7c
Commits
Clone
git clone https://git.rickub.com/julien/love.git
git clone ssh://git@rickub.com/julien/love.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

document multichain check

julienbrg committed 2026-09-17T21:18:51+02:00 Browse files
3a20a7c parent: 201cd45
modified CHANGELOG.md +2 -0
@@ -20,5 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2020 and CREATE2 tests pinning address determinism across chain IDs.
2121 - `foundry.toml` with pinned solc 0.8.30, optimizer, fmt rules, fuzz/invariant
2222 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.
2325 - `remappings.txt` for `@openzeppelin/contracts/` and `forge-std/`.
2426 - `.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/invariant21 - `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 \
3333 --verify
3434 ```
3535
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+
3646 ## Mint
3747
3848 ```shell
@@ -33,6 +33,16 @@ forge script script/Love.s.sol:LoveScript \
33 --verify33 --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 ## Mint46 ## Mint
37 47
38 ```shell48 ```shell