web3 7.14.0__tar.gz → 7.14.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. {web3-7.14.0/web3.egg-info → web3-7.14.1}/PKG-INFO +4 -4
  2. web3-7.14.1/ens/specs/.DS_Store +0 -0
  3. {web3-7.14.0 → web3-7.14.1}/pyproject.toml +5 -1
  4. {web3-7.14.0 → web3-7.14.1}/setup.py +2 -2
  5. web3-7.14.1/tests/.DS_Store +0 -0
  6. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_call_interface.py +1 -2
  7. {web3-7.14.0 → web3-7.14.1}/tests/core/providers/test_http_provider.py +92 -0
  8. web3-7.14.1/tests/ens/.DS_Store +0 -0
  9. web3-7.14.1/tests/integration/.DS_Store +0 -0
  10. web3-7.14.1/tests/integration/geth-1.16.7-fixture.zip +0 -0
  11. {web3-7.14.0 → web3-7.14.1}/tests/integration/go_ethereum/conftest.py +1 -1
  12. {web3-7.14.0 → web3-7.14.1}/web3/_utils/http_session_manager.py +7 -0
  13. {web3-7.14.0 → web3-7.14.1}/web3/beacon/async_beacon.py +1 -1
  14. {web3-7.14.0 → web3-7.14.1}/web3/providers/rpc/rpc.py +3 -6
  15. {web3-7.14.0 → web3-7.14.1}/web3/types.py +2 -2
  16. {web3-7.14.0 → web3-7.14.1/web3.egg-info}/PKG-INFO +4 -4
  17. {web3-7.14.0 → web3-7.14.1}/web3.egg-info/SOURCES.txt +5 -1
  18. {web3-7.14.0 → web3-7.14.1}/web3.egg-info/requires.txt +3 -3
  19. web3-7.14.0/tests/integration/geth-1.16.2-fixture.zip +0 -0
  20. {web3-7.14.0 → web3-7.14.1}/LICENSE +0 -0
  21. {web3-7.14.0 → web3-7.14.1}/MANIFEST.in +0 -0
  22. {web3-7.14.0 → web3-7.14.1}/README.md +0 -0
  23. {web3-7.14.0 → web3-7.14.1}/ens/__init__.py +0 -0
  24. {web3-7.14.0 → web3-7.14.1}/ens/_normalization.py +0 -0
  25. {web3-7.14.0 → web3-7.14.1}/ens/abis.py +0 -0
  26. {web3-7.14.0 → web3-7.14.1}/ens/async_ens.py +0 -0
  27. {web3-7.14.0 → web3-7.14.1}/ens/auto.py +0 -0
  28. {web3-7.14.0 → web3-7.14.1}/ens/base_ens.py +0 -0
  29. {web3-7.14.0 → web3-7.14.1}/ens/constants.py +0 -0
  30. {web3-7.14.0 → web3-7.14.1}/ens/contract_data.py +0 -0
  31. {web3-7.14.0 → web3-7.14.1}/ens/ens.py +0 -0
  32. {web3-7.14.0 → web3-7.14.1}/ens/exceptions.py +0 -0
  33. {web3-7.14.0 → web3-7.14.1}/ens/specs/nf.json +0 -0
  34. {web3-7.14.0 → web3-7.14.1}/ens/specs/normalization_spec.json +0 -0
  35. {web3-7.14.0 → web3-7.14.1}/ens/utils.py +0 -0
  36. {web3-7.14.0 → web3-7.14.1}/scripts/release/test_package.py +0 -0
  37. {web3-7.14.0 → web3-7.14.1}/setup.cfg +0 -0
  38. {web3-7.14.0 → web3-7.14.1}/tests/__init__.py +0 -0
  39. {web3-7.14.0 → web3-7.14.1}/tests/beacon/test_async_beacon.py +0 -0
  40. {web3-7.14.0 → web3-7.14.1}/tests/beacon/test_beacon.py +0 -0
  41. {web3-7.14.0 → web3-7.14.1}/tests/conftest.py +0 -0
  42. {web3-7.14.0 → web3-7.14.1}/tests/core/admin-module/test_admin_addPeer.py +0 -0
  43. {web3-7.14.0 → web3-7.14.1}/tests/core/admin-module/test_admin_nodeInfo.py +0 -0
  44. {web3-7.14.0 → web3-7.14.1}/tests/core/admin-module/test_admin_peers.py +0 -0
  45. {web3-7.14.0 → web3-7.14.1}/tests/core/block-utils/test_select_method_for_block_identifier.py +0 -0
  46. {web3-7.14.0 → web3-7.14.1}/tests/core/caching-utils/test_generate_cache_key.py +0 -0
  47. {web3-7.14.0 → web3-7.14.1}/tests/core/caching-utils/test_request_caching.py +0 -0
  48. {web3-7.14.0 → web3-7.14.1}/tests/core/conftest.py +0 -0
  49. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/conftest.py +0 -0
  50. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_ambiguous_events.py +0 -0
  51. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_ambiguous_functions.py +0 -0
  52. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_attributes.py +0 -0
  53. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_build_transaction.py +0 -0
  54. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_caller_interface.py +0 -0
  55. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_class_construction.py +0 -0
  56. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_constructor.py +0 -0
  57. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_constructor_encoding.py +0 -0
  58. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_deployment.py +0 -0
  59. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_estimate_gas.py +0 -0
  60. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_events.py +0 -0
  61. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_events_build_filter.py +0 -0
  62. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_example.py +0 -0
  63. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_init.py +0 -0
  64. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_method_abi_decoding.py +0 -0
  65. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_method_abi_encoding.py +0 -0
  66. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_method_to_argument_matching.py +0 -0
  67. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_panic_errors.py +0 -0
  68. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_transact_interface.py +0 -0
  69. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_contract_util_functions.py +0 -0
  70. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_extracting_event_data.py +0 -0
  71. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_extracting_event_data_old.py +0 -0
  72. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/test_offchain_lookup.py +0 -0
  73. {web3-7.14.0 → web3-7.14.1}/tests/core/contracts/utils.py +0 -0
  74. {web3-7.14.0 → web3-7.14.1}/tests/core/datastructures/test_datastructures.py +0 -0
  75. {web3-7.14.0 → web3-7.14.1}/tests/core/empty-object/test_empty_object_is_falsy.py +0 -0
  76. {web3-7.14.0 → web3-7.14.1}/tests/core/eth-module/conftest.py +0 -0
  77. {web3-7.14.0 → web3-7.14.1}/tests/core/eth-module/test_accounts.py +0 -0
  78. {web3-7.14.0 → web3-7.14.1}/tests/core/eth-module/test_block_api.py +0 -0
  79. {web3-7.14.0 → web3-7.14.1}/tests/core/eth-module/test_default_account_api.py +0 -0
  80. {web3-7.14.0 → web3-7.14.1}/tests/core/eth-module/test_eth_contract.py +0 -0
  81. {web3-7.14.0 → web3-7.14.1}/tests/core/eth-module/test_eth_fee_history.py +0 -0
  82. {web3-7.14.0 → web3-7.14.1}/tests/core/eth-module/test_eth_filter.py +0 -0
  83. {web3-7.14.0 → web3-7.14.1}/tests/core/eth-module/test_eth_properties.py +0 -0
  84. {web3-7.14.0 → web3-7.14.1}/tests/core/eth-module/test_gas_pricing.py +0 -0
  85. {web3-7.14.0 → web3-7.14.1}/tests/core/eth-module/test_poa.py +0 -0
  86. {web3-7.14.0 → web3-7.14.1}/tests/core/eth-module/test_transactions.py +0 -0
  87. {web3-7.14.0 → web3-7.14.1}/tests/core/eth-tester-api/test_withdrawals.py +0 -0
  88. {web3-7.14.0 → web3-7.14.1}/tests/core/exceptions/test_exceptions.py +0 -0
  89. {web3-7.14.0 → web3-7.14.1}/tests/core/filtering/conftest.py +0 -0
  90. {web3-7.14.0 → web3-7.14.1}/tests/core/filtering/test_basic_filter_tests.py +0 -0
  91. {web3-7.14.0 → web3-7.14.1}/tests/core/filtering/test_contract_create_filter_topic_merging.py +0 -0
  92. {web3-7.14.0 → web3-7.14.1}/tests/core/filtering/test_contract_data_filters.py +0 -0
  93. {web3-7.14.0 → web3-7.14.1}/tests/core/filtering/test_contract_get_logs.py +0 -0
  94. {web3-7.14.0 → web3-7.14.1}/tests/core/filtering/test_contract_on_event_filtering.py +0 -0
  95. {web3-7.14.0 → web3-7.14.1}/tests/core/filtering/test_contract_past_event_filtering.py +0 -0
  96. {web3-7.14.0 → web3-7.14.1}/tests/core/filtering/test_contract_topic_filters.py +0 -0
  97. {web3-7.14.0 → web3-7.14.1}/tests/core/filtering/test_existing_filter_instance.py +0 -0
  98. {web3-7.14.0 → web3-7.14.1}/tests/core/filtering/test_filter_against_latest_blocks.py +0 -0
  99. {web3-7.14.0 → web3-7.14.1}/tests/core/filtering/test_filter_against_pending_transactions.py +0 -0
  100. {web3-7.14.0 → web3-7.14.1}/tests/core/filtering/test_filter_against_transaction_logs.py +0 -0
  101. {web3-7.14.0 → web3-7.14.1}/tests/core/filtering/test_filters_against_many_blocks.py +0 -0
  102. {web3-7.14.0 → web3-7.14.1}/tests/core/filtering/test_utils_functions.py +0 -0
  103. {web3-7.14.0 → web3-7.14.1}/tests/core/filtering/utils.py +0 -0
  104. {web3-7.14.0 → web3-7.14.1}/tests/core/gas-strategies/test_rpc_gas_pricing_strategies.py +0 -0
  105. {web3-7.14.0 → web3-7.14.1}/tests/core/gas-strategies/test_time_based_gas_price_strategy.py +0 -0
  106. {web3-7.14.0 → web3-7.14.1}/tests/core/manager/conftest.py +0 -0
  107. {web3-7.14.0 → web3-7.14.1}/tests/core/manager/test_default_middlewares.py +0 -0
  108. {web3-7.14.0 → web3-7.14.1}/tests/core/manager/test_middleware_can_be_stateful.py +0 -0
  109. {web3-7.14.0 → web3-7.14.1}/tests/core/manager/test_middleware_onion_api.py +0 -0
  110. {web3-7.14.0 → web3-7.14.1}/tests/core/manager/test_provider_property.py +0 -0
  111. {web3-7.14.0 → web3-7.14.1}/tests/core/manager/test_provider_request_wrapping.py +0 -0
  112. {web3-7.14.0 → web3-7.14.1}/tests/core/manager/test_response_formatters.py +0 -0
  113. {web3-7.14.0 → web3-7.14.1}/tests/core/method-class/test_method.py +0 -0
  114. {web3-7.14.0 → web3-7.14.1}/tests/core/method-class/test_result_formatters.py +0 -0
  115. {web3-7.14.0 → web3-7.14.1}/tests/core/middleware/test_attrdict_middleware.py +0 -0
  116. {web3-7.14.0 → web3-7.14.1}/tests/core/middleware/test_eth_tester_middleware.py +0 -0
  117. {web3-7.14.0 → web3-7.14.1}/tests/core/middleware/test_filter_middleware.py +0 -0
  118. {web3-7.14.0 → web3-7.14.1}/tests/core/middleware/test_formatting_middleware.py +0 -0
  119. {web3-7.14.0 → web3-7.14.1}/tests/core/middleware/test_gas_price_strategy.py +0 -0
  120. {web3-7.14.0 → web3-7.14.1}/tests/core/middleware/test_middleware.py +0 -0
  121. {web3-7.14.0 → web3-7.14.1}/tests/core/middleware/test_name_to_address_middleware.py +0 -0
  122. {web3-7.14.0 → web3-7.14.1}/tests/core/middleware/test_stalecheck.py +0 -0
  123. {web3-7.14.0 → web3-7.14.1}/tests/core/middleware/test_transaction_signing.py +0 -0
  124. {web3-7.14.0 → web3-7.14.1}/tests/core/module-class/test_module.py +0 -0
  125. {web3-7.14.0 → web3-7.14.1}/tests/core/providers/test_async_http_provider.py +0 -0
  126. {web3-7.14.0 → web3-7.14.1}/tests/core/providers/test_async_ipc_provider.py +0 -0
  127. {web3-7.14.0 → web3-7.14.1}/tests/core/providers/test_async_tester_provider.py +0 -0
  128. {web3-7.14.0 → web3-7.14.1}/tests/core/providers/test_auto_provider.py +0 -0
  129. {web3-7.14.0 → web3-7.14.1}/tests/core/providers/test_base_provider.py +0 -0
  130. {web3-7.14.0 → web3-7.14.1}/tests/core/providers/test_http_request_retry.py +0 -0
  131. {web3-7.14.0 → web3-7.14.1}/tests/core/providers/test_ipc_provider.py +0 -0
  132. {web3-7.14.0 → web3-7.14.1}/tests/core/providers/test_legacy_websocket_provider.py +0 -0
  133. {web3-7.14.0 → web3-7.14.1}/tests/core/providers/test_provider_init.py +0 -0
  134. {web3-7.14.0 → web3-7.14.1}/tests/core/providers/test_tester_provider.py +0 -0
  135. {web3-7.14.0 → web3-7.14.1}/tests/core/providers/test_websocket_provider.py +0 -0
  136. {web3-7.14.0 → web3-7.14.1}/tests/core/subscriptions/test_subscription_manager.py +0 -0
  137. {web3-7.14.0 → web3-7.14.1}/tests/core/subscriptions/test_subscriptions.py +0 -0
  138. {web3-7.14.0 → web3-7.14.1}/tests/core/test_library_files.py +0 -0
  139. {web3-7.14.0 → web3-7.14.1}/tests/core/testing-module/test_testing_mine.py +0 -0
  140. {web3-7.14.0 → web3-7.14.1}/tests/core/testing-module/test_testing_snapshot_and_revert.py +0 -0
  141. {web3-7.14.0 → web3-7.14.1}/tests/core/testing-module/test_testing_timeTravel.py +0 -0
  142. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/__init__.py +0 -0
  143. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/conftest.py +0 -0
  144. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_abi.py +0 -0
  145. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_abi_filtering_by_argument_name.py +0 -0
  146. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_abi_is_encodable.py +0 -0
  147. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_abi_named_tree.py +0 -0
  148. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_address.py +0 -0
  149. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_async_transaction.py +0 -0
  150. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_attach_modules.py +0 -0
  151. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_attributedict.py +0 -0
  152. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_caching_utils.py +0 -0
  153. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_construct_event_data_set.py +0 -0
  154. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_construct_event_filter_params.py +0 -0
  155. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_construct_event_topics.py +0 -0
  156. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_datatypes.py +0 -0
  157. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_decorators.py +0 -0
  158. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_encoding.py +0 -0
  159. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_event_filter_builder.py +0 -0
  160. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_event_interface.py +0 -0
  161. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_fee_utils.py +0 -0
  162. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_formatters.py +0 -0
  163. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_http_session_manager.py +0 -0
  164. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_is_predefined_block_number.py +0 -0
  165. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_is_probably_enum.py +0 -0
  166. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_is_recognized_type.py +0 -0
  167. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_math.py +0 -0
  168. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_method_formatters.py +0 -0
  169. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_prepare_transaction_replacement.py +0 -0
  170. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_select_filter_method.py +0 -0
  171. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_threads.py +0 -0
  172. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_valid_transaction_params.py +0 -0
  173. {web3-7.14.0 → web3-7.14.1}/tests/core/utilities/test_validation.py +0 -0
  174. {web3-7.14.0 → web3-7.14.1}/tests/core/web3-module/test_api.py +0 -0
  175. {web3-7.14.0 → web3-7.14.1}/tests/core/web3-module/test_attach_modules.py +0 -0
  176. {web3-7.14.0 → web3-7.14.1}/tests/core/web3-module/test_client_version.py +0 -0
  177. {web3-7.14.0 → web3-7.14.1}/tests/core/web3-module/test_conversions.py +0 -0
  178. {web3-7.14.0 → web3-7.14.1}/tests/core/web3-module/test_import_and_version.py +0 -0
  179. {web3-7.14.0 → web3-7.14.1}/tests/core/web3-module/test_keccak.py +0 -0
  180. {web3-7.14.0 → web3-7.14.1}/tests/core/web3-module/test_providers.py +0 -0
  181. {web3-7.14.0 → web3-7.14.1}/tests/core/web3-module/test_strict_bytes_type_checking.py +0 -0
  182. {web3-7.14.0 → web3-7.14.1}/tests/core/web3-module/test_web3_inheritance.py +0 -0
  183. {web3-7.14.0 → web3-7.14.1}/tests/ens/conftest.py +0 -0
  184. {web3-7.14.0 → web3-7.14.1}/tests/ens/normalization/normalization_tests.json +0 -0
  185. {web3-7.14.0 → web3-7.14.1}/tests/ens/normalization/test_normalize_name_ensip15.py +0 -0
  186. {web3-7.14.0 → web3-7.14.1}/tests/ens/test_ens.py +0 -0
  187. {web3-7.14.0 → web3-7.14.1}/tests/ens/test_get_registry.py +0 -0
  188. {web3-7.14.0 → web3-7.14.1}/tests/ens/test_get_text.py +0 -0
  189. {web3-7.14.0 → web3-7.14.1}/tests/ens/test_nameprep.py +0 -0
  190. {web3-7.14.0 → web3-7.14.1}/tests/ens/test_offchain_resolution.py +0 -0
  191. {web3-7.14.0 → web3-7.14.1}/tests/ens/test_setup_address.py +0 -0
  192. {web3-7.14.0 → web3-7.14.1}/tests/ens/test_setup_name.py +0 -0
  193. {web3-7.14.0 → web3-7.14.1}/tests/ens/test_utils.py +0 -0
  194. {web3-7.14.0 → web3-7.14.1}/tests/ens/test_wildcard_resolution.py +0 -0
  195. {web3-7.14.0 → web3-7.14.1}/tests/integration/README.md +0 -0
  196. {web3-7.14.0 → web3-7.14.1}/tests/integration/common.py +0 -0
  197. {web3-7.14.0 → web3-7.14.1}/tests/integration/conftest.py +0 -0
  198. {web3-7.14.0 → web3-7.14.1}/tests/integration/generate_fixtures/common.py +0 -0
  199. {web3-7.14.0 → web3-7.14.1}/tests/integration/generate_fixtures/go_ethereum.py +0 -0
  200. {web3-7.14.0 → web3-7.14.1}/tests/integration/go_ethereum/__init__.py +0 -0
  201. {web3-7.14.0 → web3-7.14.1}/tests/integration/go_ethereum/common.py +0 -0
  202. {web3-7.14.0 → web3-7.14.1}/tests/integration/go_ethereum/test_goethereum_http.py +0 -0
  203. {web3-7.14.0 → web3-7.14.1}/tests/integration/go_ethereum/test_goethereum_ipc.py +0 -0
  204. {web3-7.14.0 → web3-7.14.1}/tests/integration/go_ethereum/test_goethereum_legacy_ws.py +0 -0
  205. {web3-7.14.0 → web3-7.14.1}/tests/integration/go_ethereum/test_goethereum_ws/__init__.py +0 -0
  206. {web3-7.14.0 → web3-7.14.1}/tests/integration/go_ethereum/test_goethereum_ws/conftest.py +0 -0
  207. {web3-7.14.0 → web3-7.14.1}/tests/integration/go_ethereum/test_goethereum_ws/test_async_await_w3.py +0 -0
  208. {web3-7.14.0 → web3-7.14.1}/tests/integration/go_ethereum/test_goethereum_ws/test_async_ctx_manager_w3.py +0 -0
  209. {web3-7.14.0 → web3-7.14.1}/tests/integration/go_ethereum/test_goethereum_ws/test_async_iterator_w3.py +0 -0
  210. {web3-7.14.0 → web3-7.14.1}/tests/integration/go_ethereum/utils.py +0 -0
  211. {web3-7.14.0 → web3-7.14.1}/tests/integration/test_ethereum_tester.py +0 -0
  212. {web3-7.14.0 → web3-7.14.1}/tests/utils.py +0 -0
  213. {web3-7.14.0 → web3-7.14.1}/web3/__init__.py +0 -0
  214. {web3-7.14.0 → web3-7.14.1}/web3/_utils/__init__.py +0 -0
  215. {web3-7.14.0 → web3-7.14.1}/web3/_utils/abi.py +0 -0
  216. {web3-7.14.0 → web3-7.14.1}/web3/_utils/abi_element_identifiers.py +0 -0
  217. {web3-7.14.0 → web3-7.14.1}/web3/_utils/async_caching.py +0 -0
  218. {web3-7.14.0 → web3-7.14.1}/web3/_utils/async_transactions.py +0 -0
  219. {web3-7.14.0 → web3-7.14.1}/web3/_utils/batching.py +0 -0
  220. {web3-7.14.0 → web3-7.14.1}/web3/_utils/blocks.py +0 -0
  221. {web3-7.14.0 → web3-7.14.1}/web3/_utils/caching/__init__.py +0 -0
  222. {web3-7.14.0 → web3-7.14.1}/web3/_utils/caching/caching_utils.py +0 -0
  223. {web3-7.14.0 → web3-7.14.1}/web3/_utils/caching/request_caching_validation.py +0 -0
  224. {web3-7.14.0 → web3-7.14.1}/web3/_utils/compat/__init__.py +0 -0
  225. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/__init__.py +0 -0
  226. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/compile_contracts.py +0 -0
  227. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/__init__.py +0 -0
  228. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/_custom_contract_data.py +0 -0
  229. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/ambiguous_function_contract.py +0 -0
  230. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/arrays_contract.py +0 -0
  231. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/bytes_contracts.py +0 -0
  232. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/constructor_contracts.py +0 -0
  233. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/contract_caller_tester.py +0 -0
  234. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/emitter_contract.py +0 -0
  235. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/event_contracts.py +0 -0
  236. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/extended_resolver.py +0 -0
  237. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/fallback_function_contract.py +0 -0
  238. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/function_name_tester_contract.py +0 -0
  239. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/math_contract.py +0 -0
  240. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/offchain_lookup.py +0 -0
  241. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/offchain_resolver.py +0 -0
  242. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/panic_errors_contract.py +0 -0
  243. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/payable_tester.py +0 -0
  244. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/receive_function_contracts.py +0 -0
  245. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/reflector_contracts.py +0 -0
  246. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/revert_contract.py +0 -0
  247. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/simple_resolver.py +0 -0
  248. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/storage_contract.py +0 -0
  249. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/string_contract.py +0 -0
  250. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contract_sources/contract_data/tuple_contracts.py +0 -0
  251. {web3-7.14.0 → web3-7.14.1}/web3/_utils/contracts.py +0 -0
  252. {web3-7.14.0 → web3-7.14.1}/web3/_utils/datatypes.py +0 -0
  253. {web3-7.14.0 → web3-7.14.1}/web3/_utils/decorators.py +0 -0
  254. {web3-7.14.0 → web3-7.14.1}/web3/_utils/empty.py +0 -0
  255. {web3-7.14.0 → web3-7.14.1}/web3/_utils/encoding.py +0 -0
  256. {web3-7.14.0 → web3-7.14.1}/web3/_utils/ens.py +0 -0
  257. {web3-7.14.0 → web3-7.14.1}/web3/_utils/error_formatters_utils.py +0 -0
  258. {web3-7.14.0 → web3-7.14.1}/web3/_utils/events.py +0 -0
  259. {web3-7.14.0 → web3-7.14.1}/web3/_utils/fee_utils.py +0 -0
  260. {web3-7.14.0 → web3-7.14.1}/web3/_utils/filters.py +0 -0
  261. {web3-7.14.0 → web3-7.14.1}/web3/_utils/formatters.py +0 -0
  262. {web3-7.14.0 → web3-7.14.1}/web3/_utils/http.py +0 -0
  263. {web3-7.14.0 → web3-7.14.1}/web3/_utils/hypothesis.py +0 -0
  264. {web3-7.14.0 → web3-7.14.1}/web3/_utils/math.py +0 -0
  265. {web3-7.14.0 → web3-7.14.1}/web3/_utils/method_formatters.py +0 -0
  266. {web3-7.14.0 → web3-7.14.1}/web3/_utils/module.py +0 -0
  267. {web3-7.14.0 → web3-7.14.1}/web3/_utils/module_testing/__init__.py +0 -0
  268. {web3-7.14.0 → web3-7.14.1}/web3/_utils/module_testing/eth_module.py +0 -0
  269. {web3-7.14.0 → web3-7.14.1}/web3/_utils/module_testing/go_ethereum_admin_module.py +0 -0
  270. {web3-7.14.0 → web3-7.14.1}/web3/_utils/module_testing/go_ethereum_debug_module.py +0 -0
  271. {web3-7.14.0 → web3-7.14.1}/web3/_utils/module_testing/go_ethereum_txpool_module.py +0 -0
  272. {web3-7.14.0 → web3-7.14.1}/web3/_utils/module_testing/module_testing_utils.py +0 -0
  273. {web3-7.14.0 → web3-7.14.1}/web3/_utils/module_testing/net_module.py +0 -0
  274. {web3-7.14.0 → web3-7.14.1}/web3/_utils/module_testing/persistent_connection_provider.py +0 -0
  275. {web3-7.14.0 → web3-7.14.1}/web3/_utils/module_testing/utils.py +0 -0
  276. {web3-7.14.0 → web3-7.14.1}/web3/_utils/module_testing/web3_module.py +0 -0
  277. {web3-7.14.0 → web3-7.14.1}/web3/_utils/normalizers.py +0 -0
  278. {web3-7.14.0 → web3-7.14.1}/web3/_utils/rpc_abi.py +0 -0
  279. {web3-7.14.0 → web3-7.14.1}/web3/_utils/threads.py +0 -0
  280. {web3-7.14.0 → web3-7.14.1}/web3/_utils/transactions.py +0 -0
  281. {web3-7.14.0 → web3-7.14.1}/web3/_utils/type_conversion.py +0 -0
  282. {web3-7.14.0 → web3-7.14.1}/web3/_utils/utility_methods.py +0 -0
  283. {web3-7.14.0 → web3-7.14.1}/web3/_utils/validation.py +0 -0
  284. {web3-7.14.0 → web3-7.14.1}/web3/_utils/windows.py +0 -0
  285. {web3-7.14.0 → web3-7.14.1}/web3/auto/__init__.py +0 -0
  286. {web3-7.14.0 → web3-7.14.1}/web3/auto/gethdev.py +0 -0
  287. {web3-7.14.0 → web3-7.14.1}/web3/beacon/__init__.py +0 -0
  288. {web3-7.14.0 → web3-7.14.1}/web3/beacon/api_endpoints.py +0 -0
  289. {web3-7.14.0 → web3-7.14.1}/web3/beacon/beacon.py +0 -0
  290. {web3-7.14.0 → web3-7.14.1}/web3/constants.py +0 -0
  291. {web3-7.14.0 → web3-7.14.1}/web3/contract/__init__.py +0 -0
  292. {web3-7.14.0 → web3-7.14.1}/web3/contract/async_contract.py +0 -0
  293. {web3-7.14.0 → web3-7.14.1}/web3/contract/base_contract.py +0 -0
  294. {web3-7.14.0 → web3-7.14.1}/web3/contract/contract.py +0 -0
  295. {web3-7.14.0 → web3-7.14.1}/web3/contract/utils.py +0 -0
  296. {web3-7.14.0 → web3-7.14.1}/web3/datastructures.py +0 -0
  297. {web3-7.14.0 → web3-7.14.1}/web3/eth/__init__.py +0 -0
  298. {web3-7.14.0 → web3-7.14.1}/web3/eth/async_eth.py +0 -0
  299. {web3-7.14.0 → web3-7.14.1}/web3/eth/base_eth.py +0 -0
  300. {web3-7.14.0 → web3-7.14.1}/web3/eth/eth.py +0 -0
  301. {web3-7.14.0 → web3-7.14.1}/web3/exceptions.py +0 -0
  302. {web3-7.14.0 → web3-7.14.1}/web3/gas_strategies/__init__.py +0 -0
  303. {web3-7.14.0 → web3-7.14.1}/web3/gas_strategies/rpc.py +0 -0
  304. {web3-7.14.0 → web3-7.14.1}/web3/gas_strategies/time_based.py +0 -0
  305. {web3-7.14.0 → web3-7.14.1}/web3/geth.py +0 -0
  306. {web3-7.14.0 → web3-7.14.1}/web3/logs.py +0 -0
  307. {web3-7.14.0 → web3-7.14.1}/web3/main.py +0 -0
  308. {web3-7.14.0 → web3-7.14.1}/web3/manager.py +0 -0
  309. {web3-7.14.0 → web3-7.14.1}/web3/method.py +0 -0
  310. {web3-7.14.0 → web3-7.14.1}/web3/middleware/__init__.py +0 -0
  311. {web3-7.14.0 → web3-7.14.1}/web3/middleware/attrdict.py +0 -0
  312. {web3-7.14.0 → web3-7.14.1}/web3/middleware/base.py +0 -0
  313. {web3-7.14.0 → web3-7.14.1}/web3/middleware/buffered_gas_estimate.py +0 -0
  314. {web3-7.14.0 → web3-7.14.1}/web3/middleware/filter.py +0 -0
  315. {web3-7.14.0 → web3-7.14.1}/web3/middleware/formatting.py +0 -0
  316. {web3-7.14.0 → web3-7.14.1}/web3/middleware/gas_price_strategy.py +0 -0
  317. {web3-7.14.0 → web3-7.14.1}/web3/middleware/names.py +0 -0
  318. {web3-7.14.0 → web3-7.14.1}/web3/middleware/proof_of_authority.py +0 -0
  319. {web3-7.14.0 → web3-7.14.1}/web3/middleware/pythonic.py +0 -0
  320. {web3-7.14.0 → web3-7.14.1}/web3/middleware/signing.py +0 -0
  321. {web3-7.14.0 → web3-7.14.1}/web3/middleware/stalecheck.py +0 -0
  322. {web3-7.14.0 → web3-7.14.1}/web3/middleware/validation.py +0 -0
  323. {web3-7.14.0 → web3-7.14.1}/web3/module.py +0 -0
  324. {web3-7.14.0 → web3-7.14.1}/web3/net.py +0 -0
  325. {web3-7.14.0 → web3-7.14.1}/web3/providers/__init__.py +0 -0
  326. {web3-7.14.0 → web3-7.14.1}/web3/providers/async_base.py +0 -0
  327. {web3-7.14.0 → web3-7.14.1}/web3/providers/auto.py +0 -0
  328. {web3-7.14.0 → web3-7.14.1}/web3/providers/base.py +0 -0
  329. {web3-7.14.0 → web3-7.14.1}/web3/providers/eth_tester/__init__.py +0 -0
  330. {web3-7.14.0 → web3-7.14.1}/web3/providers/eth_tester/defaults.py +0 -0
  331. {web3-7.14.0 → web3-7.14.1}/web3/providers/eth_tester/main.py +0 -0
  332. {web3-7.14.0 → web3-7.14.1}/web3/providers/eth_tester/middleware.py +0 -0
  333. {web3-7.14.0 → web3-7.14.1}/web3/providers/ipc.py +0 -0
  334. {web3-7.14.0 → web3-7.14.1}/web3/providers/legacy_websocket.py +0 -0
  335. {web3-7.14.0 → web3-7.14.1}/web3/providers/persistent/__init__.py +0 -0
  336. {web3-7.14.0 → web3-7.14.1}/web3/providers/persistent/async_ipc.py +0 -0
  337. {web3-7.14.0 → web3-7.14.1}/web3/providers/persistent/persistent.py +0 -0
  338. {web3-7.14.0 → web3-7.14.1}/web3/providers/persistent/persistent_connection.py +0 -0
  339. {web3-7.14.0 → web3-7.14.1}/web3/providers/persistent/request_processor.py +0 -0
  340. {web3-7.14.0 → web3-7.14.1}/web3/providers/persistent/subscription_container.py +0 -0
  341. {web3-7.14.0 → web3-7.14.1}/web3/providers/persistent/subscription_manager.py +0 -0
  342. {web3-7.14.0 → web3-7.14.1}/web3/providers/persistent/utils.py +0 -0
  343. {web3-7.14.0 → web3-7.14.1}/web3/providers/persistent/websocket.py +0 -0
  344. {web3-7.14.0 → web3-7.14.1}/web3/providers/rpc/__init__.py +0 -0
  345. {web3-7.14.0 → web3-7.14.1}/web3/providers/rpc/async_rpc.py +0 -0
  346. {web3-7.14.0 → web3-7.14.1}/web3/providers/rpc/utils.py +0 -0
  347. {web3-7.14.0 → web3-7.14.1}/web3/py.typed +0 -0
  348. {web3-7.14.0 → web3-7.14.1}/web3/scripts/__init__.py +0 -0
  349. {web3-7.14.0 → web3-7.14.1}/web3/scripts/install_pre_releases.py +0 -0
  350. {web3-7.14.0 → web3-7.14.1}/web3/scripts/parse_pygeth_version.py +0 -0
  351. {web3-7.14.0 → web3-7.14.1}/web3/scripts/release/__init__.py +0 -0
  352. {web3-7.14.0 → web3-7.14.1}/web3/scripts/release/test_package.py +0 -0
  353. {web3-7.14.0 → web3-7.14.1}/web3/testing.py +0 -0
  354. {web3-7.14.0 → web3-7.14.1}/web3/tracing.py +0 -0
  355. {web3-7.14.0 → web3-7.14.1}/web3/utils/__init__.py +0 -0
  356. {web3-7.14.0 → web3-7.14.1}/web3/utils/abi.py +0 -0
  357. {web3-7.14.0 → web3-7.14.1}/web3/utils/address.py +0 -0
  358. {web3-7.14.0 → web3-7.14.1}/web3/utils/async_exception_handling.py +0 -0
  359. {web3-7.14.0 → web3-7.14.1}/web3/utils/caching.py +0 -0
  360. {web3-7.14.0 → web3-7.14.1}/web3/utils/exception_handling.py +0 -0
  361. {web3-7.14.0 → web3-7.14.1}/web3/utils/subscriptions.py +0 -0
  362. {web3-7.14.0 → web3-7.14.1}/web3.egg-info/dependency_links.txt +0 -0
  363. {web3-7.14.0 → web3-7.14.1}/web3.egg-info/not-zip-safe +0 -0
  364. {web3-7.14.0 → web3-7.14.1}/web3.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: web3
3
- Version: 7.14.0
3
+ Version: 7.14.1
4
4
  Summary: web3: A Python library for interacting with Ethereum
5
5
  Home-page: https://github.com/ethereum/web3.py
6
6
  Author: The Ethereum Foundation
@@ -37,7 +37,7 @@ Requires-Dist: websockets<16.0.0,>=10.0.0
37
37
  Requires-Dist: pyunormalize>=15.0.0
38
38
  Provides-Extra: tester
39
39
  Requires-Dist: eth-tester[py-evm]<0.14.0b1,>=0.13.0b1; extra == "tester"
40
- Requires-Dist: py-geth>=5.1.0; extra == "tester"
40
+ Requires-Dist: py-geth>=6.4.0; extra == "tester"
41
41
  Provides-Extra: dev
42
42
  Requires-Dist: build>=0.9.0; extra == "dev"
43
43
  Requires-Dist: bump_my_version>=0.19.0; extra == "dev"
@@ -60,7 +60,7 @@ Requires-Dist: tox>=4.0.0; extra == "dev"
60
60
  Requires-Dist: mypy==1.10.0; extra == "dev"
61
61
  Requires-Dist: pre-commit>=3.4.0; extra == "dev"
62
62
  Requires-Dist: eth-tester[py-evm]<0.14.0b1,>=0.13.0b1; extra == "dev"
63
- Requires-Dist: py-geth>=5.1.0; extra == "dev"
63
+ Requires-Dist: py-geth>=6.4.0; extra == "dev"
64
64
  Provides-Extra: docs
65
65
  Requires-Dist: sphinx>=6.0.0; extra == "docs"
66
66
  Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "docs"
@@ -77,7 +77,7 @@ Requires-Dist: tox>=4.0.0; extra == "test"
77
77
  Requires-Dist: mypy==1.10.0; extra == "test"
78
78
  Requires-Dist: pre-commit>=3.4.0; extra == "test"
79
79
  Requires-Dist: eth-tester[py-evm]<0.14.0b1,>=0.13.0b1; extra == "test"
80
- Requires-Dist: py-geth>=5.1.0; extra == "test"
80
+ Requires-Dist: py-geth>=6.4.0; extra == "test"
81
81
  Dynamic: author
82
82
  Dynamic: author-email
83
83
  Dynamic: classifier
Binary file
@@ -33,6 +33,10 @@ warn_return_any = false
33
33
  warn_unused_configs = true
34
34
  warn_unused_ignores = true
35
35
 
36
+ [[tool.mypy.overrides]]
37
+ module = "sphinx.*"
38
+ follow_imports = "skip"
39
+
36
40
  [tool.pydocstyle]
37
41
  # All error codes found here:
38
42
  # http://www.pydocstyle.org/en/3.0.0/error_codes.html
@@ -127,7 +131,7 @@ name = "Removals"
127
131
  showcontent = true
128
132
 
129
133
  [tool.bumpversion]
130
- current_version = "7.14.0"
134
+ current_version = "7.14.1"
131
135
  parse = """
132
136
  (?P<major>\\d+)
133
137
  \\.(?P<minor>\\d+)
@@ -9,7 +9,7 @@ extras_require = {
9
9
  # Note: ethereum-maintained libraries in this list should be added to the
10
10
  # `install_pre_releases.py` script.
11
11
  "eth-tester[py-evm]>=0.13.0b1,<0.14.0b1",
12
- "py-geth>=5.1.0",
12
+ "py-geth>=6.4.0",
13
13
  ],
14
14
  "dev": [
15
15
  "build>=0.9.0",
@@ -55,7 +55,7 @@ with open("./README.md") as readme:
55
55
  setup(
56
56
  name="web3",
57
57
  # *IMPORTANT*: Don't manually change the version here. See Contributing docs for the release process.
58
- version="7.14.0",
58
+ version="7.14.1",
59
59
  description="""web3: A Python library for interacting with Ethereum""",
60
60
  long_description=long_description,
61
61
  long_description_content_type="text/markdown",
Binary file
@@ -1334,8 +1334,7 @@ async def async_mismatched_math_contract(
1334
1334
  return _mismatched_math_contract
1335
1335
 
1336
1336
 
1337
- @pytest.fixture
1338
- @pytest.mark.asyncio
1337
+ @pytest_asyncio.fixture
1339
1338
  async def test_async_deploy_raises_due_to_strict_byte_checking_by_default(
1340
1339
  async_w3, async_bytes_contract_factory, address_conversion_func
1341
1340
  ):
@@ -1,4 +1,6 @@
1
1
  import pytest
2
+ import concurrent.futures
3
+ import threading
2
4
  from unittest.mock import (
3
5
  Mock,
4
6
  patch,
@@ -133,3 +135,93 @@ def test_http_empty_batch_response(mock_post):
133
135
 
134
136
  # assert that even though there was an error, we have reset the batching state
135
137
  assert not w3.provider._is_batching
138
+
139
+
140
+ def test_user_provided_session_shared_across_threads():
141
+ """
142
+ Test that when a user provides an explicit session to HTTPProvider,
143
+ that same session is used by ALL threads, not just the creating thread.
144
+
145
+ This is a regression test for:
146
+ https://github.com/ethereum/web3.py/issues/3789
147
+ """
148
+ shared_session = Session()
149
+ provider = HTTPProvider(endpoint_uri=URI, session=shared_session)
150
+
151
+ sessions_from_threads = []
152
+ errors = []
153
+
154
+ def get_session_from_thread():
155
+ try:
156
+ # This simulates what happens internally when a request is made
157
+ # from a different thread - it calls cache_and_return_session
158
+ session = provider._request_session_manager.cache_and_return_session(URI)
159
+ sessions_from_threads.append(session)
160
+ except Exception as e:
161
+ errors.append(e)
162
+
163
+ # Get session from main thread
164
+ main_thread_session = provider._request_session_manager.cache_and_return_session(
165
+ URI
166
+ )
167
+
168
+ # Get session from multiple different threads
169
+ with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
170
+ futures = [executor.submit(get_session_from_thread) for _ in range(10)]
171
+ concurrent.futures.wait(futures)
172
+
173
+ assert not errors, f"Errors occurred: {errors}"
174
+ assert len(sessions_from_threads) == 10
175
+
176
+ # The main assertion: ALL sessions should be the SAME shared session
177
+ assert main_thread_session is shared_session
178
+ for session in sessions_from_threads:
179
+ assert session is shared_session, (
180
+ "Session from different thread should be the same as the "
181
+ "explicitly provided session"
182
+ )
183
+
184
+
185
+ def test_no_explicit_session_creates_per_thread_sessions():
186
+ """
187
+ Test that when no explicit session is provided, each thread gets its own
188
+ session (the original thread-isolated behavior).
189
+ """
190
+ provider = HTTPProvider(endpoint_uri=URI)
191
+
192
+ sessions_from_threads = []
193
+
194
+ def get_session_from_thread():
195
+ session = provider._request_session_manager.cache_and_return_session(URI)
196
+ sessions_from_threads.append((threading.get_ident(), session))
197
+
198
+ # Get session from main thread
199
+ main_thread_id = threading.get_ident()
200
+ main_thread_session = provider._request_session_manager.cache_and_return_session(
201
+ URI
202
+ )
203
+
204
+ # Get sessions from different threads
205
+ with concurrent.futures.ThreadPoolExecutor(max_workers=3) as executor:
206
+ futures = [executor.submit(get_session_from_thread) for _ in range(3)]
207
+ concurrent.futures.wait(futures)
208
+
209
+ # Group sessions by thread ID
210
+ sessions_by_thread = {}
211
+ for thread_id, session in sessions_from_threads:
212
+ if thread_id not in sessions_by_thread:
213
+ sessions_by_thread[thread_id] = []
214
+ sessions_by_thread[thread_id].append(session)
215
+
216
+ # Verify thread isolation: same thread always gets the same session
217
+ for _, sessions in sessions_by_thread.items():
218
+ assert all(
219
+ s is sessions[0] for s in sessions
220
+ ), "Same thread should always get the same session"
221
+
222
+ # Verify different threads get different sessions (not the main thread's)
223
+ for thread_id, sessions in sessions_by_thread.items():
224
+ if thread_id != main_thread_id:
225
+ assert (
226
+ sessions[0] is not main_thread_session
227
+ ), "Different threads should have different sessions"
Binary file
Binary file
@@ -35,7 +35,7 @@ from .utils import (
35
35
  )
36
36
 
37
37
  KEYFILE_PW = "web3py-test"
38
- GETH_FIXTURE_ZIP = "geth-1.16.2-fixture.zip"
38
+ GETH_FIXTURE_ZIP = "geth-1.16.7-fixture.zip"
39
39
 
40
40
 
41
41
  @pytest.fixture
@@ -50,9 +50,11 @@ class HTTPSessionManager:
50
50
  self,
51
51
  cache_size: int = 100,
52
52
  session_pool_max_workers: int = 5,
53
+ explicit_session: Optional[requests.Session] = None,
53
54
  ) -> None:
54
55
  self.session_cache = SimpleCache(cache_size)
55
56
  self.session_pool = ThreadPoolExecutor(max_workers=session_pool_max_workers)
57
+ self._explicit_session = explicit_session
56
58
 
57
59
  @staticmethod
58
60
  def get_default_http_endpoint() -> URI:
@@ -64,6 +66,11 @@ class HTTPSessionManager:
64
66
  session: requests.Session = None,
65
67
  request_timeout: Optional[float] = None,
66
68
  ) -> requests.Session:
69
+ # If an explicit session was provided at init time, always use it
70
+ # regardless of which thread is making the request
71
+ if self._explicit_session is not None:
72
+ return self._explicit_session
73
+
67
74
  # cache key should have a unique thread identifier
68
75
  cache_key = generate_cache_key(f"{threading.get_ident()}:{endpoint_uri}")
69
76
 
@@ -89,7 +89,7 @@ class AsyncBeacon:
89
89
  ) -> Dict[str, Any]:
90
90
  uri = URI(self.base_url + endpoint_uri)
91
91
  return await self._request_session_manager.async_json_make_post_request(
92
- uri, json=body, timeout=self.request_timeout
92
+ uri, json=body, timeout=ClientTimeout(self.request_timeout)
93
93
  )
94
94
 
95
95
  # [ BEACON endpoints ]
@@ -72,7 +72,9 @@ class HTTPProvider(JSONBaseProvider):
72
72
  **kwargs: Any,
73
73
  ) -> None:
74
74
  super().__init__(**kwargs)
75
- self._request_session_manager = HTTPSessionManager()
75
+ # Pass explicit session to manager so it's used for ALL requests,
76
+ # regardless of which thread makes them
77
+ self._request_session_manager = HTTPSessionManager(explicit_session=session)
76
78
 
77
79
  if endpoint_uri is None:
78
80
  self.endpoint_uri = (
@@ -84,11 +86,6 @@ class HTTPProvider(JSONBaseProvider):
84
86
  self._request_kwargs = request_kwargs or {}
85
87
  self._exception_retry_configuration = exception_retry_configuration
86
88
 
87
- if session:
88
- self._request_session_manager.cache_and_return_session(
89
- self.endpoint_uri, session
90
- )
91
-
92
89
  def __str__(self) -> str:
93
90
  return f"RPC connection {self.endpoint_uri}"
94
91
 
@@ -156,7 +156,7 @@ class SetCodeAuthorizationParams(TypedDict):
156
156
  chainId: int
157
157
  address: Union[Address, ChecksumAddress, str]
158
158
  nonce: Nonce
159
- y_parity: int
159
+ yParity: int
160
160
  r: int
161
161
  s: int
162
162
 
@@ -193,7 +193,7 @@ TxParams = TypedDict(
193
193
 
194
194
  class WithdrawalData(TypedDict):
195
195
  index: int
196
- validator_index: int
196
+ validatorIndex: int
197
197
  address: ChecksumAddress
198
198
  amount: Gwei
199
199
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: web3
3
- Version: 7.14.0
3
+ Version: 7.14.1
4
4
  Summary: web3: A Python library for interacting with Ethereum
5
5
  Home-page: https://github.com/ethereum/web3.py
6
6
  Author: The Ethereum Foundation
@@ -37,7 +37,7 @@ Requires-Dist: websockets<16.0.0,>=10.0.0
37
37
  Requires-Dist: pyunormalize>=15.0.0
38
38
  Provides-Extra: tester
39
39
  Requires-Dist: eth-tester[py-evm]<0.14.0b1,>=0.13.0b1; extra == "tester"
40
- Requires-Dist: py-geth>=5.1.0; extra == "tester"
40
+ Requires-Dist: py-geth>=6.4.0; extra == "tester"
41
41
  Provides-Extra: dev
42
42
  Requires-Dist: build>=0.9.0; extra == "dev"
43
43
  Requires-Dist: bump_my_version>=0.19.0; extra == "dev"
@@ -60,7 +60,7 @@ Requires-Dist: tox>=4.0.0; extra == "dev"
60
60
  Requires-Dist: mypy==1.10.0; extra == "dev"
61
61
  Requires-Dist: pre-commit>=3.4.0; extra == "dev"
62
62
  Requires-Dist: eth-tester[py-evm]<0.14.0b1,>=0.13.0b1; extra == "dev"
63
- Requires-Dist: py-geth>=5.1.0; extra == "dev"
63
+ Requires-Dist: py-geth>=6.4.0; extra == "dev"
64
64
  Provides-Extra: docs
65
65
  Requires-Dist: sphinx>=6.0.0; extra == "docs"
66
66
  Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "docs"
@@ -77,7 +77,7 @@ Requires-Dist: tox>=4.0.0; extra == "test"
77
77
  Requires-Dist: mypy==1.10.0; extra == "test"
78
78
  Requires-Dist: pre-commit>=3.4.0; extra == "test"
79
79
  Requires-Dist: eth-tester[py-evm]<0.14.0b1,>=0.13.0b1; extra == "test"
80
- Requires-Dist: py-geth>=5.1.0; extra == "test"
80
+ Requires-Dist: py-geth>=6.4.0; extra == "test"
81
81
  Dynamic: author
82
82
  Dynamic: author-email
83
83
  Dynamic: classifier
@@ -14,9 +14,11 @@ ens/contract_data.py
14
14
  ens/ens.py
15
15
  ens/exceptions.py
16
16
  ens/utils.py
17
+ ens/specs/.DS_Store
17
18
  ens/specs/nf.json
18
19
  ens/specs/normalization_spec.json
19
20
  scripts/release/test_package.py
21
+ tests/.DS_Store
20
22
  tests/__init__.py
21
23
  tests/conftest.py
22
24
  tests/utils.py
@@ -165,6 +167,7 @@ tests/core/web3-module/test_keccak.py
165
167
  tests/core/web3-module/test_providers.py
166
168
  tests/core/web3-module/test_strict_bytes_type_checking.py
167
169
  tests/core/web3-module/test_web3_inheritance.py
170
+ tests/ens/.DS_Store
168
171
  tests/ens/conftest.py
169
172
  tests/ens/test_ens.py
170
173
  tests/ens/test_get_registry.py
@@ -177,10 +180,11 @@ tests/ens/test_utils.py
177
180
  tests/ens/test_wildcard_resolution.py
178
181
  tests/ens/normalization/normalization_tests.json
179
182
  tests/ens/normalization/test_normalize_name_ensip15.py
183
+ tests/integration/.DS_Store
180
184
  tests/integration/README.md
181
185
  tests/integration/common.py
182
186
  tests/integration/conftest.py
183
- tests/integration/geth-1.16.2-fixture.zip
187
+ tests/integration/geth-1.16.7-fixture.zip
184
188
  tests/integration/test_ethereum_tester.py
185
189
  tests/integration/generate_fixtures/common.py
186
190
  tests/integration/generate_fixtures/go_ethereum.py
@@ -37,7 +37,7 @@ tox>=4.0.0
37
37
  mypy==1.10.0
38
38
  pre-commit>=3.4.0
39
39
  eth-tester[py-evm]<0.14.0b1,>=0.13.0b1
40
- py-geth>=5.1.0
40
+ py-geth>=6.4.0
41
41
 
42
42
  [docs]
43
43
  sphinx>=6.0.0
@@ -56,8 +56,8 @@ tox>=4.0.0
56
56
  mypy==1.10.0
57
57
  pre-commit>=3.4.0
58
58
  eth-tester[py-evm]<0.14.0b1,>=0.13.0b1
59
- py-geth>=5.1.0
59
+ py-geth>=6.4.0
60
60
 
61
61
  [tester]
62
62
  eth-tester[py-evm]<0.14.0b1,>=0.13.0b1
63
- py-geth>=5.1.0
63
+ py-geth>=6.4.0
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes