You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Trim the README and refresh the deployments list - #1430
Stacked on #1429. It retargets to main once the earlier PRs merge.
The README goes from 946 lines to 77. It keeps what Seaport is, the canonical addresses, links, a quick start, audits, and contributing. The longer material moves to dedicated files, so the README has little that can go stale.
docs/Deployments.md has the canonical addresses for every version and helper, plus the chains with Seaport 1.6. Each chain was re-checked onchain: the runtime code matches Ethereum's apart from the chain ID, domain separator, and transient-storage flag that the constructor stores.
It adds about 45 chains the README was missing, including Unichain, Monad, Sonic, zkSync Era, Abstract, Linea, Scroll, ApeChain, Berachain, Ink, Soneium, Ronin, Arc, Elysium, Robinhood Chain, and their testnets.
Gnosis, Chiado, Celo, Moonbeam, Moonriver, and Fantom Opera only have Seaport 1.5, so they move out of the 1.6 list.
Klaytn and Baobab become Kaia and Kairos, and dead explorer links are gone.
The per-chain columns for 1.1, 1.5, the validator, and the navigator are dropped. Those contracts sit at their canonical addresses, and cast code checks any chain.
docs/Development.md holds the build, test, coverage, and lint instructions.
docs/Deploying.md is the existing deployment guide, renamed from Deployment.md so it doesn't collide with Deployments.md.
diagrams/README.md now holds the Mermaid flowchart.
The README now covers what Seaport is, the canonical addresses, links,
a quick start, audits, and contributing. Longer material moves to
dedicated files:
- docs/Deployments.md: canonical addresses for every version and the
chains with Seaport 1.6, re-checked onchain. It adds about 40 chains
the README was missing, and moves Gnosis, Chiado, Celo, Moonbeam,
Moonriver, and Fantom, which only have 1.5, out of the 1.6 list.
- docs/Development.md: build, test, coverage, and lint instructions.
- docs/Deploying.md: the existing deployment guide, renamed from
Deployment.md to sit beside Deployments.md.
- diagrams/README.md: the Mermaid flowchart.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This documentation-only PR makes the README a concise entry point for Seaport, moving detailed guidance into dedicated files without changing contracts or deployed bytecode.
Changes:
Shortens the README while retaining canonical addresses, key links, quick-start commands, and contribution guidance.
Expands the deployment reference and separates Seaport 1.6 networks from 1.5-only networks.
Consolidates development instructions, renames the deployment guide, and relocates the Mermaid flowchart.
File
Description
README.md
Replaces lengthy sections with concise guidance and links.
docs/Development.md
Collects setup, testing, coverage, and linting instructions.
docs/Deployments.md
Lists canonical addresses and refreshed network deployments.
docs/Deploying.md
Renames the existing deployment guide to distinguish it from the deployment list.
diagrams/README.md
Houses the Mermaid flowchart alongside the full diagram.
Sonic is a separate chain with Seaport 1.6, so "Fantom (now Sonic)"
read as if Sonic lacked it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
The deployment equivalence caveat omits _tstoreInitialSupport, whose deployment-time EIP-1153 probe can cause legitimate runtime-bytecode differences and lead readers to misidentify valid canonical deployments as mismatches.
No open issues 🎉
1 previously missed issue
In code that hasn't changed since last review
Include TLOAD support immutable in bytecode equivalence caveat
docs/Deployments.md:3
The 1.6 release's ReentrancyGuard constructor also embeds _tstoreInitialSupport, whose value comes from probing TLOAD support at deployment. Chains with different EIP-1153 support at deployment can therefore have another legitimate runtime-bytecode difference, even with identical init code. Please include this immutable in the equivalence caveat so readers do not mistake a valid canonical deployment for a bytecode mismatch.
Seaport 1.6's ReentrancyGuard records at deployment whether TSTORE
works, so chains without EIP-1153 at the time have a third legitimate
difference from Ethereum's runtime code.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot's body-only finding about _tstoreInitialSupport is fixed in c9ced0a. docs/Deployments.md now lists all three constructor-stored values that legitimately differ per chain: the chain ID, the domain separator, and whether the chain supported transient storage (EIP-1153) at deployment. The onchain check behind the chain list already allowed for all three.
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
The expanded deployment list and cross-chain runtime-bytecode equivalence claims require independent on-chain verification, but no RPC results are provided and this review environment cannot validate them.
On Copilot's note that it couldn't verify the chain list itself: here's how each entry was checked, for reviewers.
For every chain in docs/Deployments.md, eth_getCode on 0x0000000000000068F116a894984e2DB1123eB395 returned code. That code was compared byte for byte with Ethereum's after substituting the three constructor-stored values (the chain ID, the domain separator computed from that ID, and the transient-storage flag), and every listed chain matched. The ConduitController was compared directly. Any chain that returned no code was retried on a second RPC before being called "not deployed". That second check is how Gnosis, Chiado, Celo, Moonbeam, Moonriver, and Fantom Opera ended up 1.5-only.
To spot-check a chain: cast code 0x0000000000000068F116a894984e2DB1123eB395 --rpc-url <rpc>.
All three mainnets, plus the Arc and Robinhood Chain testnets, have the
canonical Seaport 1.6 deployment, checked onchain the same way as the
other chains.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
The expanded deployment list and cross-chain runtime-bytecode equivalence claims require independent onchain validation, as no supporting RPC verification results are available.
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
The expanded cross-chain deployment inventory and runtime-bytecode equivalence claims require independent onchain verification, but no independently checkable per-chain results or validated RPC access were available.
Review: safe to merge, 9/10. This PR changes docs only. All 9 canonical addresses are checksummed, match the old README and have code on Ethereum. I spot-checked about 35 of the listed chains with cast against public RPCs. On every one the chain ID matched, and Seaport 1.6 (23981 bytes) and the ConduitController were deployed. Gnosis, Chiado, Celo and Fantom have 1.5 deployed but not 1.6, so moving them to the 1.5-only list is correct. Bugcrowd, the audit link, the license and the #deployments anchor are all kept.
P0: none P1: none P2:
docs/Deployments.md:58: the opBNB explorer link is dead because opbnb.bscscan.com doesn't resolve. Suggest https://opbnbscan.com/address/0x0000000000000068F116a894984e2DB1123eB395.
docs/Deployments.md:73: the zkSync Era link to era.zksync.network/address/... returns a 301 to the explorer.zksync.io home page, so the address is lost. Suggest https://explorer.zksync.io/address/0x0000000000000068F116a894984e2DB1123eB395, which also matches the zkSync Sepolia row.
Canto (1.6, 1.5, 1.1 and ConduitController in the old README) is now missing from both the 1.6 tables and the 1.5-only list, and the PR description doesn't mention it. Suggest adding a one-line note saying why it was dropped, e.g. that its RPCs are no longer reachable.
Optional:
Leave a one-line stub at the old docs/Deployment.md path so external links don't 404.
Note the date and the RPCs used for the onchain check, so the deployments list can be audited.
I couldn't reach Moonbeam, Moonriver, Arc mainnet, Animechain, Shape or Zora over public RPCs, so I haven't verified those rows independently.
The opBNB link is now opbnbscan.com, and zkSync Era uses explorer.zksync.io. Both return 200 with the address page.
Canto: none of its chainlist RPCs answer today, so I couldn't verify it. A new "Unverified" section says it was listed before and why it's left out.
docs/Deployment.md is back as a stub pointing to Deploying.md and Deployments.md.
The doc now gives the check dates and method (cast chain-id plus cast codesize against public RPCs).
I checked the rows you couldn't reach. Arc mainnet (rpc.mainnet.arc.io), Animechain, Shape, and Zora all return chain IDs 5042, 69000, 360, and 7777777, with Seaport 1.6 at 23981 bytes and the ConduitController present. Moonbeam and Moonriver (via dRPC, since the official endpoint fails its TLS handshake from here) have Seaport 1.5 and the ConduitController but no 1.6 code, which matches the 1.5-only list.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #1429. It retargets to
mainonce the earlier PRs merge.The README goes from 946 lines to 77. It keeps what Seaport is, the canonical addresses, links, a quick start, audits, and contributing. The longer material moves to dedicated files, so the README has little that can go stale.
docs/Deployments.mdhas the canonical addresses for every version and helper, plus the chains with Seaport 1.6. Each chain was re-checked onchain: the runtime code matches Ethereum's apart from the chain ID, domain separator, and transient-storage flag that the constructor stores.cast codechecks any chain.docs/Development.mdholds the build, test, coverage, and lint instructions.docs/Deploying.mdis the existing deployment guide, renamed fromDeployment.mdso it doesn't collide withDeployments.md.diagrams/README.mdnow holds the Mermaid flowchart.Docs only.
🤖 Generated with Claude Code