Merge 12-add-networks-readme into main
b20d6e4 parent: 32e187f modified
CHANGELOG.md +3 -0 | @@ -54,6 +54,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | ||
| 54 | 54 | |
| 55 | 55 | ### Added |
| 56 | 56 | |
| 57 | +- The README lists the 14 allowlisted chains with their chain IDs and wETH | |
| 58 | + implementations, so where LOVE can be deployed is visible without reading | |
| 59 | + `WETHRegistry.sol`. | |
| 57 | 60 | - `test_RevertWhen_ReviewedHashOnWrongChain` and |
| 58 | 61 | `test_RevertWhen_RegisteringCanonicalWethOnWrongChain`, pinning the fix: |
| 59 | 62 | canonical WETH9's byte-identical bytecode registers on Ethereum and reverts |
| @@ -54,6 +54,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | |||
| 54 | 54 | ||
| 55 | ### Added | 55 | ### Added |
| 56 | 56 | ||
| 57 | +- The README lists the 14 allowlisted chains with their chain IDs and wETH | ||
| 58 | + implementations, so where LOVE can be deployed is visible without reading | ||
| 59 | + `WETHRegistry.sol`. | ||
| 57 | - `test_RevertWhen_ReviewedHashOnWrongChain` and | 60 | - `test_RevertWhen_ReviewedHashOnWrongChain` and |
| 58 | `test_RevertWhen_RegisteringCanonicalWethOnWrongChain`, pinning the fix: | 61 | `test_RevertWhen_RegisteringCanonicalWethOnWrongChain`, pinning the fix: |
| 59 | canonical WETH9's byte-identical bytecode registers on Ethereum and reverts | 62 | canonical WETH9's byte-identical bytecode registers on Ethereum and reverts |
modified
README.md +23 -5 | @@ -41,11 +41,29 @@ ERC-20 or an unreviewed wrapper. And because wETH is no longer in the creation | ||
| 41 | 41 | code, the creation code is byte-identical everywhere, so CREATE2 gives LOVE one |
| 42 | 42 | address on every chain instead of one per wETH deployment. |
| 43 | 43 | |
| 44 | -The allowlist covers 14 chains across 5 implementations. Deployment is blocked | |
| 45 | -elsewhere, on purpose: the remaining chains either carry bridged ETH with no | |
| 46 | -`deposit()`/`withdraw()`, or put wETH behind an upgradeable proxy, where a | |
| 47 | -codehash commits to a forwarder rather than to behaviour. To re-derive the list | |
| 48 | -from chain state: | |
| 44 | +The allowlist covers 14 chains across 5 implementations: | |
| 45 | + | |
| 46 | +| Chain | Chain ID | wETH implementation | | |
| 47 | +| ------------- | -------- | --------------------- | | |
| 48 | +| Optimism | 10 | OP Stack legacy WETH9 | | |
| 49 | +| Base | 8453 | OP Stack legacy WETH9 | | |
| 50 | +| Mode | 34443 | OP Stack legacy WETH9 | | |
| 51 | +| Zora | 7777777 | OP Stack legacy WETH9 | | |
| 52 | +| World Chain | 480 | OP Stack legacy WETH9 | | |
| 53 | +| Lisk | 1135 | OP Stack legacy WETH9 | | |
| 54 | +| Ethereum | 1 | Canonical WETH9 | | |
| 55 | +| Linea | 59144 | Canonical WETH9 | | |
| 56 | +| Polygon zkEVM | 1101 | Canonical WETH9 | | |
| 57 | +| Unichain | 130 | OP Stack WETH | | |
| 58 | +| Soneium | 1868 | OP Stack WETH | | |
| 59 | +| Ink | 57073 | OP Stack WETH | | |
| 60 | +| Taiko | 167000 | Taiko | | |
| 61 | +| Scroll | 534352 | Scroll | | |
| 62 | + | |
| 63 | +Deployment is blocked elsewhere, on purpose: the remaining chains either carry | |
| 64 | +bridged ETH with no `deposit()`/`withdraw()`, or put wETH behind an upgradeable | |
| 65 | +proxy, where a codehash commits to a forwarder rather than to behaviour. To | |
| 66 | +re-derive the list from chain state: | |
| 49 | 67 | |
| 50 | 68 | ```shell |
| 51 | 69 | ./script/weth-codehashes.sh |
| @@ -41,11 +41,29 @@ ERC-20 or an unreviewed wrapper. And because wETH is no longer in the creation | |||
| 41 | code, the creation code is byte-identical everywhere, so CREATE2 gives LOVE one | 41 | code, the creation code is byte-identical everywhere, so CREATE2 gives LOVE one |
| 42 | address on every chain instead of one per wETH deployment. | 42 | address on every chain instead of one per wETH deployment. |
| 43 | 43 | ||
| 44 | -The allowlist covers 14 chains across 5 implementations. Deployment is blocked | 44 | +The allowlist covers 14 chains across 5 implementations: |
| 45 | -elsewhere, on purpose: the remaining chains either carry bridged ETH with no | 45 | + |
| 46 | -`deposit()`/`withdraw()`, or put wETH behind an upgradeable proxy, where a | 46 | +| Chain | Chain ID | wETH implementation | |
| 47 | -codehash commits to a forwarder rather than to behaviour. To re-derive the list | 47 | +| ------------- | -------- | --------------------- | |
| 48 | -from chain state: | 48 | +| Optimism | 10 | OP Stack legacy WETH9 | |
| 49 | +| Base | 8453 | OP Stack legacy WETH9 | | ||
| 50 | +| Mode | 34443 | OP Stack legacy WETH9 | | ||
| 51 | +| Zora | 7777777 | OP Stack legacy WETH9 | | ||
| 52 | +| World Chain | 480 | OP Stack legacy WETH9 | | ||
| 53 | +| Lisk | 1135 | OP Stack legacy WETH9 | | ||
| 54 | +| Ethereum | 1 | Canonical WETH9 | | ||
| 55 | +| Linea | 59144 | Canonical WETH9 | | ||
| 56 | +| Polygon zkEVM | 1101 | Canonical WETH9 | | ||
| 57 | +| Unichain | 130 | OP Stack WETH | | ||
| 58 | +| Soneium | 1868 | OP Stack WETH | | ||
| 59 | +| Ink | 57073 | OP Stack WETH | | ||
| 60 | +| Taiko | 167000 | Taiko | | ||
| 61 | +| Scroll | 534352 | Scroll | | ||
| 62 | + | ||
| 63 | +Deployment is blocked elsewhere, on purpose: the remaining chains either carry | ||
| 64 | +bridged ETH with no `deposit()`/`withdraw()`, or put wETH behind an upgradeable | ||
| 65 | +proxy, where a codehash commits to a forwarder rather than to behaviour. To | ||
| 66 | +re-derive the list from chain state: | ||
| 49 | 67 | ||
| 50 | ```shell | 68 | ```shell |
| 51 | ./script/weth-codehashes.sh | 69 | ./script/weth-codehashes.sh |