Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What was wrong?
contract_function.call()
returns the latest result whenw3.eth.default_block
has been set.The default value "latest" for
block_identifier
parameter masksw3.eth.default_block
even when it is set to non-None.w3.eth.default_block
is by default set to 'latest'. Changing the default value to None will not change its default behaviour.If we do not change this, we have to add
block_identifier=past_block_number
to every.call()
. This breaks existing codes using web3.py and it's very tedious to do so.Related to Issue #
I found this wrong behaviour when running regression test with an earlier version of web3.py
How was it fixed?
Change the default value to
None
to makeparse_block_identifier
do the work.Todo:
Set default block_identifier in ContractFunction.call() to None
Cute Animal Picture