-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Align NamedTuples #2312
Merged
Merged
Align NamedTuples #2312
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Thanks @calina-c! Do you mind adding a test to this? It will probably be fastest if you can add it, otherwise I'll put it in our queue |
@kclowes Added the test. |
kclowes
approved these changes
Feb 4, 2022
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.
Thanks @calina-c! Will merge once tests pass.
dsahdr
added a commit
to Rock-n-Block/web3.py
that referenced
this pull request
Feb 15, 2022
* move default_account and default_block properties and setters to BaseEth so Eth and AsyncEth can access * Feature/ens request (ethereum#2319) * fixed ens contract function called twice * newsfragment * small typo in documentation * add newsfragment * Only apply ``to_hexbytes`` formatter if value is not null * asyncify eth.get_logs (ethereum#2310) * asyncify eth.get_logs * factor out `assert_contains_log` function Co-authored-by: Paul Robinson <paul@pacrob.com> * Add Github link to the main doc landing Because Github link is extremely useful * Newsfragment for github link to docs * Update typing extensions to allow v4 (ethereum#2217) * Update typing extensions to allow v4 * Loosen typing-extensions version * Add newsfragment for typing-extensions bump * Try out new py-evm requirements in eth-tester * Remove xfails for newly passing eth-tester tests * Upgrade eth-account requirement * Add newsfragment for eth-tester bump * correct misspellings and update referenced geth version * Compile release notes * Bump version: 5.26.0 → 5.27.0 * Add Async Geth Personal module (ethereum#2299) * fix: Missing commas (ethereum#2327) * fix: Missing commas * Add newsfragment for exception retry middleware whitelist Co-authored-by: kclowes <kclowes@users.noreply.github.com> * Fixes ethereum#2259, remove dependency on eth_maxPriorityFeePerGas * fix lint and integration tests * refactor: utility for estimating maxPriorityFeePerGas via eth_feeHistory Refactor idea from PR ethereum#2259 into sync and async fee utility methods. Change params passed into eth_feeHistory to values that allowed for better results when we tested locally. Add a min and max to the estimated fee history so that we don't allow unsuspecting users to contribute to fee bloating. Max and min values keep the priority fee within a range that healthy blocks should accept, so these transactions would be accepted when fee prices settle from high-fee periods. * add tests for max_priority_fee when eth_maxPriorityFeePerGas is not available * asyncify eth.syncing * formatting and validation middleware async support * Properly test unused code in test * Align NamedTuples (ethereum#2312) * Align NamedTuples * Add NamedTuple alignment test. * Add newsfragment for NamedTuple change Co-authored-by: kclowes <kclowes@users.noreply.github.com> * rm ens.utils.dict_copy Signed-off-by: Harmouch101 <mahmoudddharmouchhh@gmail.com> * fixed lint error Signed-off-by: Harmouch101 <mahmoudddharmouchhh@gmail.com> * Update main.py * add newsfragment * Feature/async geth admin (ethereum#2329) * Added BaseGethPersonal to geth.py * Added AsyncGethPersonal and test * Added Docs * lint fixes * news fragment update * removed import_raw_key test for now * mypy typing issues * typo * Added AsyncGethAdmin and BaseGethAdmin. Also, fixed test due to typing * made suggested changes * made suggested changes * fixed spelling errors * added test and docs * newsfragment * merge conflict * remove setSolc * copy in suggested test * forgot to check liniting before commit * linting * linting * Properly initialize external modules Properly initialize modules that do not inherit from the `web3.module.Module` class. We weren't properly testing self-referential, non-static methods with this functionality and so a test was also added for this. * correct docs for external modules * Refactor attach_module logic * Allow for accepting the ``Web3`` instance as the first argument in any module's ``__init()`` method, rather than requiring a module to inherit from ``web3.module.Module`` if it needs to make use of the ``Web3`` instance. * Update tests to test the above change. * Add a more friendly error message if the module has more than one __init__() argument. Add test for this error message / case. * recorrect docs for external modules * Compile release notes * Bump version: 5.27.0 → 5.28.0 * Add 'Breaking Changes' and 'Deprecation' to our valid newsfragment types (ethereum#2340) * Add 'Breaking Change' and 'Deprecation' to our valid newsfragment types * Add newsfragment for new newsfragment categories * Remove removal section of release notes * Drop python 3.6 (ethereum#2343) * Drop python 3.6 * Remove parity tests * Add newsfragment for py36 drop * Fix gas types (ethereum#2330) * fix: correct type for effectiveGasPrice (Wei, not int) * fix: correct type for gas and gas_limit (int, not Wei) * lint: removed unused type imports of Wei * Add newsfragment for Wei/int typing fixes Co-authored-by: kclowes <kclowes@users.noreply.github.com> * Upgrade websockets dependency to v10+ (ethereum#2324) * Require websockets v10+ - Remove event loop parameter * Add newsfragment for websockets upgrade * ➕ Add Python 3.10 support (ethereum#2175) * ➕ Add Python 3.10 support to CI * Dropped support for all parities * Change docker image to use 3.10 * Update pytest-asyncio plugin * Mark async fixture as such, clean up pytest DeprecationWarnings Signed-off-by: Harmouch101 <mahmoudddharmouchhh@gmail.com> Co-authored-by: Felipe Selmo <fselmo2@gmail.com> Co-authored-by: kclowes <kclowes@users.noreply.github.com> * add fork description * [NBA-39] add multiple nodes for web3 HTTPProvider (#1) * Update README.md * Update README.md * Update README.md * typo fix Co-authored-by: pacrob <paul@pacrob.com> Co-authored-by: AlwaysData <dbfreem2@yahoo.com> Co-authored-by: alex <67626131+alexpvpmindustry@users.noreply.github.com> Co-authored-by: Felipe Selmo <fselmo2@gmail.com> Co-authored-by: DefiDebauchery <75273961+DefiDebauchery@users.noreply.github.com> Co-authored-by: Mikko Ohtamaa <mikko@opensourcehacker.com> Co-authored-by: kclowes <kclowes@users.noreply.github.com> Co-authored-by: Marek Šuppa <mrshu@users.noreply.github.com> Co-authored-by: broper2 <brianroper7@gmail.com> Co-authored-by: Călina Cenan <calina@cenan.net> Co-authored-by: Harmouch101 <mahmoudddharmouchhh@gmail.com> Co-authored-by: Marc Garreau <marcdgarreau@gmail.com> Co-authored-by: coccoinomane <guido.pettinari@gmail.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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?
Using the Python NamedTuple structure, the ABI is not recognised.
How was it fixed?
Converted named tuples to tuples. Given a NamedTuple with name "MyTuple",
isinstance(t, tuple)
is True for both a regular tuple and a MyTuple object, but type(t) will be "tuple" for regular tuples and "MyTuple" respectively. This means the typing should be adapted.Todo:
Cute Animal Picture