-
Notifications
You must be signed in to change notification settings - Fork 857
Fix #1451, option 1: Simply upgrade ethers #1452
Conversation
@adria0 I'm also excited about alloy, but I feel it's too soon to introduce alloy. The reasonings are as follows.
Let me know if you have thoughts on this. |
ea08744
to
fd36b7d
Compare
9d7bf93
to
5a7db3c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Just have a question.
.first_mut() | ||
.expect("first exists") | ||
.clone() | ||
.evm_version(EvmVersion::London); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you have some comments to explain why we don't need to set evm version before but we need it now? Or we just have to set evm version here bcs it's part of rules of 2.0.7? Just would like to know what kind of situations we might need to upgrade the version in the future.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point that we should add comments here. I added the comment in e118683
I checked ethers.rs and found it defaulted evm version to Shanghai, which is incompatible with my local 0.8.16
version.
I printed out the CI solidity version, which is 0.8.19
. The Solidity doc for 0.8.19
says Paris is the latest supported EVM version. So if the ethers-solc selects Shanghai as EVM version, the Solidity compiler would not recognize it.
5a7db3c
to
e118683
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With a comment decoration suggestions.
Other LGTM!
let compiled = Solc::default() | ||
.compile_source(&path_sol) | ||
let inputs = CompilerInput::new(&path_sol).expect("Compile success"); | ||
// ethers-solc defaults evm version to Shanghai |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This comment will be easily out of date
Maybe can just have one line comment
- // ethers-solc defaults evm version to Shanghai
- // We explicitly specify EvmVersion here for some old Solidity version to work.
- // We can change to Shanghai later.
+ // ethers-solc: explicitly indicate the EvmVersion that corresponds to the zkevm circuit's supported Upgrade, e.g. `London/Shanghai/...` specifications.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Simplifying the comment sounds good. I applied the suggestion in 548c876
f34fb35
to
548c876
Compare
Description
Change ethers-rs related packages from 0.17.0 to 2.0.7
Issue Link
#1451
Type of change
Rationale
We need nothing more than simply upgrading the package.