docs: name implementation in the NewClone determinant set - #244
Open
thedavidmeister wants to merge 3 commits into
Open
thedavidmeister wants to merge 3 commits into
thedavidmeister wants to merge 3 commits into
Conversation
The address is `keccak256(0xff ++ factory ++ effectiveOpenSalt(salt, keccak256(data)) ++ keccak256(cloneCreationCode(implementation)))`, so `salt` and `data` are the whole of the effective salt, not of the derivation. The event carries `implementation` as well, which is what makes the conclusion hold. Closes #135 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…events-note-implementation
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 41 minutes. View limit detailsLimit 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. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
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. Comment |
This branch has not been deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Closes #135
The
NewClonenote saidsender"is not part of the address derivation, butsaltanddatatogether are the whole of it". The antecedent of "it" is theaddress derivation, and
salt+dataare not the whole of it. The address iskeccak256(0xff ++ factory ++ effectiveOpenSalt(salt, keccak256(data)) ++ keccak256(cloneCreationCode(implementation))), soimplementation— acaller-supplied argument of
cloneDeterministicOpenSalt, not a fixed property ofthe factory — is a third input.
saltanddataare the whole of the EFFECTIVESALT only, which the same paragraph's neighbour at
:92already says.The file states the correct set two hundred lines earlier (
:98-99, "a purefunction of
(factory, implementation, salt, data)"), so the interfacecontradicted itself in the passage an indexer reads when deciding which event
fields reconstruct the address. The conclusion drawn from it held only because
NewClonehappens to carryimplementationas well — which the correctedsentence now says.
factorystays implicit, matching the house phrasing onICloneableFactoryV3.NewClone: the emitter is the factory.Comment-only. No source, ABI or bytecode change.
QA
text.
to mutate.
src/lib/LibICloneableFactoryV4.sol:116-128(
predictCloneAddresshasheskeccak256(cloneCreationCode(implementation))into the preimage) and
ICloneableFactoryV3.sol:38, whoseNewClonesignaturecarries
implementation.implementationdropped". Sibling instances in this file are filed separately — [F64] [LOW] Namespaced bullet says the address "does not commit to WHAT was deployed", but
implementationis in the CREATE2 preimage on both derivations #168 (thenamespaced comparison bullet) and [F21] [LOW] ICloneableFactoryV4's NatSpec is a multi-section essay that re-teaches CREATE2, front-running and Zoltu deploys #125's cross-network paragraph. NewClone's V3 NatSpec calls the clone address a pure function of (implementation, sender, salt), which is false on the open-salt derivation #79 quoted the
same shape but was closed not-planned because it sat in the deprecated
ICloneableFactoryV3, which is frozen.🤖 Generated with Claude Code