Skip to content

docs: cut the CREATE2, front-running and registry essays from the interface - #253

Open
thedavidmeister wants to merge 6 commits into
mainfrom
2026-09-21-issue-125-interface-natspec-essay
Open

thedavidmeister wants to merge 6 commits into
mainfrom
2026-09-21-issue-125-interface-natspec-essay

Conversation

@thedavidmeister

Copy link
Copy Markdown
Contributor

Closes #125

ICloneableFactoryV4 was 240 lines, ~175 of them NatSpec prose, structured as a
document with markdown # headings inside comment blocks, attached to a
two-function interface. Three blocks argued rather than described:

  • the "Neither dominates" trade-off framing plus a nine-line tutorial on why
    cross-chain CREATE2 identity needs matching factory AND implementation
    addresses — EVM mechanics, not a property of this interface;
  • a five-line analogy to Zoltu deployment, a different deployment scheme, after
    the front-running bullets have already stated the property;
  • a worked design discussion of rain.deploy's address registry, naming another
    repo's product and reasoning about its rebinding windows.

Cut. What survives is the normative content they buried: the exact salt
preimages, the MUST-NOT-mix-caller-derived-values rule, the atomic-initialize
chain, the tx.origin and gas obligations on implementations, the permitted
shape of resolving names from data, and the disjointness property. The four #
headings go with them; the paragraphs stand without.

The cross-network statement is kept as one line, because
predictDeterministicAddressOpenSalt points at it, and the "reproduce the exact
data bytes, ABI encoding and all" caveat is kept as the consumer-facing cost of
open-salt.

Branch shape

Branched off origin/main and merges 2026-09-21-issue-133-create-address-chain-claim
and 2026-09-21-issue-165-open-salt-must-not-property. This cut deletes the
sentence #133 rewrites and removes the heading immediately above the clause #165
rewrites, so it cannot land independently of either without conflicting. Their
diffs appear here unchanged.

Overlap with open PRs on this file

Comment-only. No source, ABI or bytecode change.

QA

🤖 Generated with Claude Code

claude and others added 6 commits September 21, 2026 11:18
`CREATE` derives `keccak256(rlp([deployer, nonce]))[12:]` — no chain id — so
the same deployer at the same nonce lands at the identical address on every
chain. The sentence asserted the opposite as the justification for the
necessary condition stated just above it, which stands on its own.

Closes #133

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The clause forbade only entry points taking caller-supplied initialization
data, so one reaching the same effective-salt image while initializing from a
constant, from storage, or not at all was conformant and still occupied the
pinned address with a clone the address does not describe. The property is
agreement between the `data` hashed into the salt and the bytes `initialize`
receives.

Closes #165

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…'2026-09-21-issue-165-open-salt-must-not-property' into 2026-09-21-issue-125-interface-natspec-essay
The interface carried ~175 lines of NatSpec on two functions, structured with
markdown headings around three rationale blocks: a tutorial on why cross-chain
CREATE2 identity needs matching factory and implementation addresses, a Zoltu
analogy about a different deployment scheme, and a worked design discussion of
another repo's address registry. The normative statements they buried stay;
the headings go with them.

Merges the #133 and #165 branches, which rewrite lines this cut removes or
abuts.

Closes #125

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@thedavidmeister thedavidmeister self-assigned this Sep 21, 2026
@coderabbitai

coderabbitai Bot commented Sep 21, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 40 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 2ecb2a2b-18be-4108-93dc-8cd5cfa7edc6

📥 Commits

Reviewing files that changed from the base of the PR and between 710dff5 and b5e4d1d.

📒 Files selected for processing (1)
  • src/interface/ICloneableFactoryV4.sol

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[F21] [LOW] ICloneableFactoryV4's NatSpec is a multi-section essay that re-teaches CREATE2, front-running and Zoltu deploys

2 participants