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

EIP 1559 introductory support #2033

Merged
merged 1 commit into from
Jun 23, 2021
Merged

Conversation

wolovim
Copy link
Member

@wolovim wolovim commented Jun 15, 2021

What was wrong?

Etheriom keeps updating.

(Related to #1835)

How was it fixed?

This is early, exploratory code:

  • wrote some test cases (probably not comprehensive)
  • parsed out legacy vs. 1559 txs in the gas_price_strategy_middleware
  • pulled latest Geth from master & built from source London now available in Geth v1.10.4
  • generated a London test fixture from Geth v1.10.4 (common_1559.py is temporary for this purpose)
  • ran the integration test suite through the new fixture to see what explodes

Todo:

  • input munging
  • revisit gas price generation
  • debug a couple failing tests
  • update docs for sending txs (maxFeePerGas & maxPriorityFeePerGas)
  • update docs for retrieving blocks (baseFeePerGas)
  • Add entry to the release notes

Cute Animal Picture

@wolovim wolovim force-pushed the 1559-support branch 10 times, most recently from f29af53 to 3ff7f92 Compare June 18, 2021 10:07
@wolovim wolovim force-pushed the 1559-support branch 5 times, most recently from 101ddc4 to ece38ce Compare June 23, 2021 16:56
@wolovim wolovim changed the base branch from master to london June 23, 2021 17:05
@wolovim wolovim changed the title [wip] 1559 spike EIP 1559 introductory support Jun 23, 2021
@wolovim wolovim removed the No Merge label Jun 23, 2021
@wolovim
Copy link
Member Author

wolovim commented Jun 23, 2021

Theoretically London goes live on Ropsten tomorrow, so its about time to get this work off my fork and into a Web3.py branch for easier use on testnets. Once this is up on a branch, I can remove myself as the gatekeeper and anyone can create PRs against it. I've created a london branch, and this PR now points at it.

Current state:

  • Core functionality is there and ready for testnet testing. There's an edge case or two that needs a design decision or polish.
  • There are a couple of grumpy tests that we still need to track down; I don't believe their failures indicate anything mission critical, but rather some fine tuning that needs to happen/cleanup where some tests are polluting the context of those failing tests.
  • One of the bigger TODOs: gas price generation code needs a hard look. A naive version may be the short term solution, until 'smarter' ones are figured out, e.g., something involving feeHistory.

@wolovim wolovim requested review from kclowes and fselmo June 23, 2021 17:32
Copy link
Collaborator

@kclowes kclowes left a comment

Choose a reason for hiding this comment

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

LGTM for branch merge! Just left one question 🚀

web3/_utils/method_formatters.py Show resolved Hide resolved
web3/middleware/gas_price_strategy.py Outdated Show resolved Hide resolved
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.

3 participants