-
Notifications
You must be signed in to change notification settings - Fork 148
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
Additional changes to fully support Cancun #285
Conversation
bec3179
to
f588ec6
Compare
a1fed23
to
bcbeb3c
Compare
02228be
to
4adc743
Compare
- Pull out the blob data when sending a transaction to the execution layer (py-evm). The execution layer does not deal with blob data, that's the whole point of blob transactions. We pull out the data and re-send with only the versioned hashes. - Sum up the correct number of `blob_gas_used` since this is validated in the execution layer. This is basically simulating what the CL computes and sends to EL. - Add validation and normalization for Cancun-related fields for blocks / block headers and transactions - Add `y_parity` to non-legacy receipts - newsfragment for PR ethereum#285
007556a
to
4555851
Compare
9f576a7
to
ac6845e
Compare
ac6845e
to
b3155bd
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.
Nice work, I left a couple comments you can take or leave. Not a blocker in any sense.
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.
Looks good to me! I put this in the comments too, but I like @reedsa's idea to have descriptive method names instead of if any(...)
and if all(...)
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.
Looks good! I like the Stu idea of using constants for transaction types for readability. Whaddya think?
- Refactor block evm guessing logic into utility methods - Use constants for transaction types for clarity - Keep integer for transaction type internally, normalize to hex (as clients do) on the way out.
- Refactor block evm guessing logic into utility methods - Use constants for transaction types for clarity - Keep integer for transaction type internally, normalize to hex (as clients do) on the way out.
f9057e6
to
61739e8
Compare
- Refactor block evm guessing logic into utility methods - Use constants for transaction types for clarity - Keep integer for transaction type internally, normalize to hex (as clients do) on the way out.
61739e8
to
e88daae
Compare
- Refactor block evm guessing logic into utility methods - Use constants for transaction types for clarity - Keep integer for transaction type internally, normalize to hex (as clients do) on the way out.
e88daae
to
6f19aa8
Compare
- Refactor block evm guessing logic into utility methods - Use constants for transaction types for clarity - Keep integer for transaction type internally, normalize to hex (as clients do) on the way out.
6f19aa8
to
087739b
Compare
- Refactor block evm guessing logic into utility methods - Use constants for transaction types for clarity - Keep integer for transaction type internally, normalize to hex (as clients do) on the way out.
087739b
to
7366878
Compare
- Refactor block evm guessing logic into utility methods - Use constants for transaction types for clarity - Keep integer for transaction type internally, normalize to hex (as clients do) on the way out.
7366878
to
448c9da
Compare
@reedsa @pacrob @kclowes the last commit should have some refactors that I think are along the lines of what was asked for. Will wait for extra eyes there before merging. |
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.
Looks awesome, great refactor!
- Pull out the blob data when sending a transaction to the execution layer (py-evm). The execution layer does not deal with blob data, that's the whole point of blob transactions. We pull out the data and re-send with only the versioned hashes. - Sum up the correct number of `blob_gas_used` since this is validated in the execution layer. This is basically simulating what the CL computes and sends to EL. - Add validation and normalization for Cancun-related fields for blocks / block headers and transactions - Add `y_parity` to non-legacy receipts - newsfragment for PR #285
Pull out the blob data when sending a transaction to the execution layer (py-evm). The execution layer does not deal with blob data, that's the whole point of blob transactions. We pull out the data and re-send with only the versioned hashes.
Sum up the correct value for
blob_gas_used
during block proposal. This is validated in the execution layer (py-evm).Note: this will require: ethereum/py-evm#2165 and ethereum/py-evm#2166 to be merged and released. I've tested locally and these changes make it so we can send a blob transaction via web3.py ->
EthereumTesterProvider
-> eth-tester -> py-evm.How was it fixed?
blob_gas_used
and send it to EL (py-evm)Todo:
Cute Animal Picture