Content
@
https://www.optimism.io
0 reply
0 recast
2 reactions
Pierrick
@pierrick
How are we supposed to build on top of Optimism when they use fixed pragma Solidity versions in their contract? Such a pain to deal with... https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/L1/L1CrossDomainMessenger.sol
1 reply
0 recast
0 reaction
smartcontracts
@kelvin
Hmmm this is an interesting point. I believe the motivation was that everything is being tested with that specific compiler version and can't fully guarantee correctness with future compiler versions. Interfaces are already pragma ^ but... 1/2
1 reply
0 recast
0 reaction
smartcontracts
@kelvin
... now that the OP Stack is really meant to be extended, I can see the argument for a principled approach to having pragma ^ on implementations too. cc @maurelian.eth
2 replies
0 recast
1 reaction
maurelian
@maurelian.eth
Yeah, makes a lot of sense. What happens in 'forge build' if we let them float ? Does the compiler version change when we update foundry?
2 replies
0 recast
0 reaction
alex
@alexgrover.eth
you can pin the version used by forge in your foundry.toml: `solc-version = "0.8.15"`
1 reply
0 recast
0 reaction
Mark Tyneway
@tynes
Nah the implementations should be pinned to a specific version, people building on top should use interfaces with relaxed versioning Otherwise compilation will be non-deterministic depending on the latest solc release
0 reply
0 recast
1 reaction