Skip to content

Commit 80dd4f0

Browse files
dsahdrpacrobdbfreemalexpvpmindustryfselmo
authored
Rebase (#2)
* 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * rm ens.utils.dict_copy Signed-off-by: Harmouch101 <[email protected]> * fixed lint error Signed-off-by: Harmouch101 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Felipe Selmo <[email protected]> Co-authored-by: kclowes <[email protected]> * 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 <[email protected]> Co-authored-by: AlwaysData <[email protected]> Co-authored-by: alex <[email protected]> Co-authored-by: Felipe Selmo <[email protected]> Co-authored-by: DefiDebauchery <[email protected]> Co-authored-by: Mikko Ohtamaa <[email protected]> Co-authored-by: kclowes <[email protected]> Co-authored-by: Marek Šuppa <[email protected]> Co-authored-by: broper2 <[email protected]> Co-authored-by: Călina Cenan <[email protected]> Co-authored-by: Harmouch101 <[email protected]> Co-authored-by: Marc Garreau <[email protected]> Co-authored-by: coccoinomane <[email protected]>
1 parent 72fd6aa commit 80dd4f0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+1833
-665
lines changed

.bumpversion.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 5.26.0
2+
current_version = 5.28.0
33
commit = True
44
tag = True
55
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(-(?P<stage>[^.]*)\.(?P<devnum>\d+))?

.circleci/config.yml

Lines changed: 76 additions & 230 deletions
Original file line numberDiff line numberDiff line change
@@ -57,44 +57,6 @@ docs_steps: &docs_steps
5757
- ~/.py-geth
5858
key: cache-docs-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.py" }}-{{ checksum "tox.ini" }}
5959

60-
# parity_steps: &parity_steps
61-
# working_directory: ~/repo
62-
# steps:
63-
# - checkout
64-
# - restore_cache:
65-
# keys:
66-
# - cache-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.py" }}-{{ checksum "tox.ini" }}
67-
# - run:
68-
# name: install dependencies
69-
# command: pip install --user tox
70-
# - run:
71-
# name: install parity if needed
72-
# command: |
73-
# pip install --user requests eth_utils tqdm eth-hash[pycryptodome]
74-
# echo "Job specifies Parity version $PARITY_VERSION"
75-
# python tests/integration/parity/install_parity.py $PARITY_VERSION
76-
# - run:
77-
# name: update parity deps from testing repo if needed
78-
# command: |
79-
# [ "`cat /etc/*release | grep jessie`" != "" ] && echo "On Jessie - installing missing deps..." || echo "Not on Jessie - doing nothing."
80-
# [ "`cat /etc/*release | grep jessie`" != "" ] || exit 0
81-
# echo "deb http://ftp.debian.org/debian testing main" > testing.list && sudo mv testing.list /etc/apt/sources.list.d/
82-
# sudo apt update
83-
# sudo apt-get -t testing install libstdc++6
84-
# - run:
85-
# name: run tox
86-
# command: ~/.local/bin/tox -r
87-
# - save_cache:
88-
# paths:
89-
# - .tox
90-
# - ~/.cache/pip
91-
# - ~/.local
92-
# - ./eggs
93-
# - ~/.ethash
94-
# - ~/.py-geth
95-
# - ~/.parity-bin
96-
# key: cache-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.py" }}-{{ checksum "tox.ini" }}
97-
9860
geth_steps: &geth_steps
9961
working_directory: ~/repo
10062
steps:
@@ -247,105 +209,17 @@ jobs:
247209
lint:
248210
<<: *common
249211
docker:
250-
- image: circleci/python:3.6
212+
- image: circleci/python:3.9
251213
environment:
252214
TOXENV: lint
253215

254216
docs:
255217
<<: *docs_steps
256218
docker:
257-
- image: circleci/python:3.6
219+
- image: circleci/python:3.9
258220
environment:
259221
TOXENV: docs
260222

261-
py36-core:
262-
<<: *common
263-
docker:
264-
- image: circleci/python:3.6
265-
environment:
266-
TOXENV: py36-core
267-
268-
py36-ens:
269-
<<: *common
270-
docker:
271-
- image: circleci/python:3.6
272-
environment:
273-
TOXENV: py36-ens
274-
275-
py36-ethpm:
276-
<<: *ethpm_steps
277-
docker:
278-
- image: circleci/python:3.6
279-
environment:
280-
TOXENV: py36-ethpm
281-
# Please don't use this key for any shenanigans
282-
WEB3_INFURA_PROJECT_ID: 7707850c2fb7465ebe6f150d67182e22
283-
284-
py36-integration-goethereum-ipc:
285-
<<: *geth_steps
286-
docker:
287-
- image: circleci/python:3.6
288-
environment:
289-
TOXENV: py36-integration-goethereum-ipc
290-
GETH_VERSION: v1.10.13
291-
292-
py36-integration-goethereum-http:
293-
<<: *geth_steps
294-
docker:
295-
- image: circleci/python:3.6
296-
environment:
297-
TOXENV: py36-integration-goethereum-http
298-
GETH_VERSION: v1.10.13
299-
300-
py36-integration-goethereum-ws:
301-
<<: *geth_steps
302-
docker:
303-
- image: circleci/python:3.6
304-
environment:
305-
TOXENV: py36-integration-goethereum-ws
306-
GETH_VERSION: v1.10.13
307-
308-
# py36-integration-parity-ipc:
309-
# <<: *parity_steps
310-
# docker:
311-
# - image: circleci/python:3.6-stretch
312-
# environment:
313-
# TOXENV: py36-integration-parity-ipc
314-
# PARITY_VERSION: v2.3.5
315-
# PARITY_OS: linux
316-
317-
# py36-integration-parity-http:
318-
# <<: *parity_steps
319-
# docker:
320-
# - image: circleci/python:3.6-stretch
321-
# environment:
322-
# TOXENV: py36-integration-parity-http
323-
# PARITY_VERSION: v2.3.5
324-
# PARITY_OS: linux
325-
326-
# py36-integration-parity-ws:
327-
# <<: *parity_steps
328-
# docker:
329-
# - image: circleci/python:3.6-stretch
330-
# environment:
331-
# TOXENV: py36-integration-parity-ws
332-
# PARITY_VERSION: v2.3.5
333-
# PARITY_OS: linux
334-
335-
py36-integration-ethtester-pyevm:
336-
<<: *common
337-
docker:
338-
- image: circleci/python:3.6
339-
environment:
340-
TOXENV: py36-integration-ethtester
341-
ETHEREUM_TESTER_CHAIN_BACKEND: eth_tester.backends.PyEVMBackend
342-
343-
py36-wheel-cli:
344-
<<: *common
345-
docker:
346-
- image: circleci/python:3.6
347-
environment:
348-
TOXENV: py36-wheel-cli
349223

350224
#
351225
# Python 3.7
@@ -397,33 +271,6 @@ jobs:
397271
TOXENV: py37-integration-goethereum-ws
398272
GETH_VERSION: v1.10.13
399273

400-
# py37-integration-parity-ipc:
401-
# <<: *parity_steps
402-
# docker:
403-
# - image: circleci/python:3.7-stretch
404-
# environment:
405-
# TOXENV: py37-integration-parity-ipc
406-
# PARITY_VERSION: v2.3.5
407-
# PARITY_OS: linux
408-
409-
# py37-integration-parity-http:
410-
# <<: *parity_steps
411-
# docker:
412-
# - image: circleci/python:3.7-stretch
413-
# environment:
414-
# TOXENV: py37-integration-parity-http
415-
# PARITY_VERSION: v2.3.5
416-
# PARITY_OS: linux
417-
418-
# py37-integration-parity-ws:
419-
# <<: *parity_steps
420-
# docker:
421-
# - image: circleci/python:3.7-stretch
422-
# environment:
423-
# TOXENV: py37-integration-parity-ws
424-
# PARITY_VERSION: v2.3.5
425-
# PARITY_OS: linux
426-
427274
py37-integration-ethtester-pyevm:
428275
<<: *common
429276
docker:
@@ -494,33 +341,6 @@ jobs:
494341
TOXENV: py38-integration-goethereum-ws
495342
GETH_VERSION: v1.10.13
496343

497-
# py38-integration-parity-ipc:
498-
# <<: *parity_steps
499-
# docker:
500-
# - image: circleci/python:3.8
501-
# environment:
502-
# TOXENV: py38-integration-parity-ipc
503-
# PARITY_VERSION: v2.3.5
504-
# PARITY_OS: linux
505-
506-
# py38-integration-parity-http:
507-
# <<: *parity_steps
508-
# docker:
509-
# - image: circleci/python:3.8
510-
# environment:
511-
# TOXENV: py38-integration-parity-http
512-
# PARITY_VERSION: v2.3.5
513-
# PARITY_OS: linux
514-
515-
# py38-integration-parity-ws:
516-
# <<: *parity_steps
517-
# docker:
518-
# - image: circleci/python:3.8
519-
# environment:
520-
# TOXENV: py38-integration-parity-ws
521-
# PARITY_VERSION: v2.3.5
522-
# PARITY_OS: linux
523-
524344
py38-integration-ethtester-pyevm:
525345
<<: *common
526346
docker:
@@ -586,33 +406,6 @@ jobs:
586406
TOXENV: py39-integration-goethereum-ws
587407
GETH_VERSION: v1.10.13
588408

589-
# py39-integration-parity-ipc:
590-
# <<: *parity_steps
591-
# docker:
592-
# - image: circleci/python:3.9
593-
# environment:
594-
# TOXENV: py39-integration-parity-ipc
595-
# PARITY_VERSION: v2.3.5
596-
# PARITY_OS: linux
597-
598-
# py39-integration-parity-http:
599-
# <<: *parity_steps
600-
# docker:
601-
# - image: circleci/python:3.9
602-
# environment:
603-
# TOXENV: py39-integration-parity-http
604-
# PARITY_VERSION: v2.3.5
605-
# PARITY_OS: linux
606-
607-
# py39-integration-parity-ws:
608-
# <<: *parity_steps
609-
# docker:
610-
# - image: circleci/python:3.9
611-
# environment:
612-
# TOXENV: py39-integration-parity-ws
613-
# PARITY_VERSION: v2.3.5
614-
# PARITY_OS: linux
615-
616409
py39-integration-ethtester-pyevm:
617410
<<: *common
618411
docker:
@@ -628,10 +421,75 @@ jobs:
628421
environment:
629422
TOXENV: py39-wheel-cli
630423

424+
#
425+
# Python 3.10
426+
#
427+
py310-core:
428+
<<: *common
429+
docker:
430+
- image: circleci/python:3.10
431+
environment:
432+
TOXENV: py310-core
433+
434+
py310-ens:
435+
<<: *common
436+
docker:
437+
- image: circleci/python:3.10
438+
environment:
439+
TOXENV: py310-ens
440+
441+
py310-ethpm:
442+
<<: *ethpm_steps
443+
docker:
444+
- image: circleci/python:3.10
445+
environment:
446+
TOXENV: py310-ethpm
447+
# Please don't use this key for any shenanigans
448+
WEB3_INFURA_PROJECT_ID: 7707850c2fb7465ebe6f150d67182e22
449+
450+
py310-integration-goethereum-ipc:
451+
<<: *geth_steps
452+
docker:
453+
- image: circleci/python:3.10
454+
environment:
455+
TOXENV: py310-integration-goethereum-ipc
456+
GETH_VERSION: v1.10.11
457+
458+
py310-integration-goethereum-http:
459+
<<: *geth_steps
460+
docker:
461+
- image: circleci/python:3.10
462+
environment:
463+
TOXENV: py310-integration-goethereum-http
464+
GETH_VERSION: v1.10.11
465+
466+
py310-integration-goethereum-ws:
467+
<<: *geth_steps
468+
docker:
469+
- image: circleci/python:3.10
470+
environment:
471+
TOXENV: py310-integration-goethereum-ws
472+
GETH_VERSION: v1.10.11
473+
474+
py310-integration-ethtester-pyevm:
475+
<<: *common
476+
docker:
477+
- image: circleci/python:3.10
478+
environment:
479+
TOXENV: py310-integration-ethtester
480+
ETHEREUM_TESTER_CHAIN_BACKEND: eth_tester.backends.PyEVMBackend
481+
482+
py310-wheel-cli:
483+
<<: *common
484+
docker:
485+
- image: circleci/python:3.10
486+
environment:
487+
TOXENV: py310-wheel-cli
488+
631489
benchmark:
632490
<<: *geth_steps
633491
docker:
634-
- image: circleci/python:3.9
492+
- image: circleci/python:3.10
635493
environment:
636494
TOXENV: benchmark
637495
GETH_VERSION: v1.10.13
@@ -641,31 +499,18 @@ workflows:
641499
test:
642500
jobs:
643501
# These are the longest running tests, start them first
644-
- py36-core
645502
- py37-core
646503
- py38-core
647504
- py39-core
505+
- py310-core
648506
- lint
649507
- docs
650508
- benchmark
651-
- py36-ens
652-
- py36-ethpm
653-
- py36-integration-goethereum-ipc
654-
- py36-integration-goethereum-http
655-
- py36-integration-goethereum-ws
656-
# - py36-integration-parity-ipc
657-
# - py36-integration-parity-http
658-
# - py36-integration-parity-ws
659-
- py36-integration-ethtester-pyevm
660-
- py36-wheel-cli
661509
- py37-ens
662510
- py37-ethpm
663511
- py37-integration-goethereum-ipc
664512
- py37-integration-goethereum-http
665513
- py37-integration-goethereum-ws
666-
# - py37-integration-parity-ipc
667-
# - py37-integration-parity-http
668-
# - py37-integration-parity-ws
669514
- py37-integration-ethtester-pyevm
670515
- py37-wheel-cli
671516
- py37-wheel-cli-windows
@@ -674,18 +519,19 @@ workflows:
674519
- py38-integration-goethereum-ipc
675520
- py38-integration-goethereum-http
676521
- py38-integration-goethereum-ws
677-
# - py38-integration-parity-ipc
678-
# - py38-integration-parity-http
679-
# - py38-integration-parity-ws
680522
- py38-integration-ethtester-pyevm
681523
- py38-wheel-cli
682524
- py39-ens
683525
- py39-ethpm
684526
- py39-integration-goethereum-ipc
685527
- py39-integration-goethereum-http
686528
- py39-integration-goethereum-ws
687-
# - py39-integration-parity-ipc
688-
# - py39-integration-parity-http
689-
# - py39-integration-parity-ws
690529
- py39-integration-ethtester-pyevm
691530
- py39-wheel-cli
531+
- py310-ens
532+
- py310-ethpm
533+
- py310-integration-goethereum-ipc
534+
- py310-integration-goethereum-http
535+
- py310-integration-goethereum-ws
536+
- py310-integration-ethtester-pyevm
537+
- py310-wheel-cli

0 commit comments

Comments
 (0)