Skip to content

Understanding the "DifferentialTest" test contract, particularly the "stateless" modifier #809

Answered by emo-eth
PaulRBerg asked this question in Q&A
Discussion options

You must be logged in to vote

@PaulRBerg This is a great question with a nuanced answer, due both to how the Seaport repo is set up and quirks with the Foundry execution environment.

The core reason is because the repo contains two implementations of Seaport:

  • One is the "optimized" version, which lives in the contracts directory, heavily relies assembly for gas and bytecode optimizations, and is meant to be compiled with the latest version of solc and the --via-ir pipeline (0.8.17 in 1.2)

  • The other is the "reference" implementation, which is meant to mirror the "optimized" version's functionality 1:1*, uses no assembly, and is meant to be compiled with an older, more established version of solc and without the --v…

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@PaulRBerg
Comment options

Answer selected by PaulRBerg
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants