Skip to content

Type fixes for pyright #1165

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

Open
wants to merge 45 commits into
base: forks/prague
Choose a base branch
from
Open

Conversation

SamWilsn
Copy link
Contributor

What was wrong?

We're hitting a performance issue in mypy in #1038. This PR is the first of many fixing type errors caught by pyright that aren't caught by mypy.

How was it fixed?

Slowly fixing type errors.

Cute Animal Picture

Put a link to a cute animal picture inside the parenthesis-->

gurukamath and others added 30 commits January 21, 2025 16:33
* enable testing for all forks

* catch invalid signatures

* refactor validate_transaction

* define accessed_addresses at the start

* update variable name to BLOB_BASE_FEE_UPDATE_FRACTION

* refund_counter definition

* create encode_receipt function

* create process_system_transaction

* update gas calc

* explicitly define code_address in call*

* fix decode_receipt
SamWilsn and others added 9 commits February 13, 2025 16:34
* refactor blob gas logic

There are parallels between how the regular block gas is handled and how the blob gas is handled. This commit
refactors blob gas canculation to bring them in line with block gas

* create BlockEnvironment and TransactionEnvironment

Create the BlockEnvironment and TransactionEnvironment dataclasses

BlockEnvironment holds data that is chain or block scoped
TransactionEnvironment holds data that is transaction scoped
Message holds data that is specific to a message call

* refactor validate_header

* update t8n

* update evm tracing

* backport changes to cancun

* port to shanghai

* port changes to paris

* port to london

* port berlin

* port istanbul

* port constantinople

* port byzantium

* port spurious_dragon

* port older forks

* fix t8n receipts

* update testing

* process_withdrawals update

* fixes for doc

* remove execution_spec_tests entry

The tests from execution_spec_tests should now be a part of EEST

* use default_factory in BlockOutput

* minor fixes 1

* define current_block_number in block_hash opcode

* rename tx_index to index_in_block

* fix vm test runs
…m#1138)

* validate_transaction now raises InvalidTransaction

* Update src/ethereum/cancun/transactions.py

Co-authored-by: Guruprasad Kamath <[email protected]>

* Update src/ethereum/cancun/transactions.py

Co-authored-by: Guruprasad Kamath <[email protected]>

* Update src/ethereum/cancun/transactions.py

Co-authored-by: Guruprasad Kamath <[email protected]>

* exception specified within InvalidTransaction

* isort formatting issue resolved

* fix issues from static checks

---------

Co-authored-by: Guruprasad Kamath <[email protected]>
Co-authored-by: Guruprasad Kamath <[email protected]>
@SamWilsn SamWilsn requested a review from Carsons-Eels March 20, 2025 12:31
* Simplified validate_header func in post-merge forks

* Simplified parent hash calculation in post-merge forks

* validate_header modification in paris and prague forks

* fix formatting

---------

Co-authored-by: Guruprasad Kamath <[email protected]>
@SamWilsn
Copy link
Contributor Author

Bit of an unfortunate discovery re: pyright. Turns out it is smart enough to figure out those assertions, which means either: (a) there's an actual typing bug, or (b) pyright can only do that narrowing when all other errors are fixed. I think it means I need to do the whole switch in one PR...

@SamWilsn SamWilsn marked this pull request as draft March 28, 2025 21:01
@SamWilsn SamWilsn marked this pull request as ready for review April 1, 2025 17:23
Carsons-Eels
Carsons-Eels approved these changes Apr 2, 2025
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.

7 participants