Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: make abigen offline by default, fix ethers-solc features #2416

Merged
merged 2 commits into from
May 15, 2023

Conversation

DaniPopes
Copy link
Collaborator

@DaniPopes DaniPopes commented May 13, 2023

Motivation

  • ethers-contract-abigen is online by default in ethers-contract and ethers. If there are both ethers-contract-abigen as a build script, and ethers{-contract} with the abigen feature, then it will be built twice: once without online for the build script, and once with online. I'm not 100% sure about this, but that's what I've gathered from building Foundry a ton of times the past few days. This meant it also built its entire dependency tree, which includes ethers-etherscan -> ethers-solc (feature) -> solang-parser ... etc, so insane amount of work, duplicated.

  • Multicall and other stuff gated by #[cfg(feature = "abigen")] in ethers-contract are not accessible with abigen-offline

  • forward ethers-solc features from ethers-etherscan

Solution

PR Checklist

  • Added Tests
  • Added Documentation
  • Breaking changes

Copy link
Collaborator

@mattsse mattsse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is reasonable.
this should discourage http abigen links which aren't very stable anyway due flaky etherscan API

ci failing, likely feature snafu
it's new solc version check: #2417

@DaniPopes DaniPopes merged commit 7bc20db into gakonst:master May 15, 2023
1 of 14 checks passed
@DaniPopes DaniPopes deleted the chore/features branch May 15, 2023 13:21
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.

None yet

2 participants