web3 7.9.0__py3-none-any.whl → 7.10.0__py3-none-any.whl

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.
web3/_utils/abi.py CHANGED
@@ -131,7 +131,7 @@ def filter_by_argument_name(
131
131
  argument_names: Collection[str], contract_abi: ABI
132
132
  ) -> Sequence[ABIElement]:
133
133
  """
134
- Return a list of each ``ABIElement`` which contain arguments matching provided
134
+ Return a list of each ``ABIElement`` which contains arguments matching provided
135
135
  names.
136
136
  """
137
137
  abis_with_matching_args = []
@@ -153,7 +153,7 @@ def filter_by_argument_type(
153
153
  argument_types: Collection[str], contract_abi: ABI
154
154
  ) -> List[ABIElement]:
155
155
  """
156
- Return a list of each ``ABIElement`` which contain arguments matching provided
156
+ Return a list of each ``ABIElement`` which contains arguments matching provided
157
157
  types.
158
158
  """
159
159
  abis_with_matching_args = []
@@ -429,7 +429,7 @@ def find_constructor_abi_element_by_type(contract_abi: ABI) -> ABIConstructor:
429
429
  Find the constructor ABI element in the contract ABI.
430
430
 
431
431
  This function is often used in place of `web3.utils.abi.get_abi_element` to find
432
- a constructor without considering it's argument types. This is used prior to
432
+ a constructor without considering its argument types. This is used prior to
433
433
  encoding the abi, since the argument types are not known at that time.
434
434
  """
435
435
  candidates = [abi for abi in contract_abi if abi["type"] == "constructor"]
web3/_utils/batching.py CHANGED
@@ -201,7 +201,7 @@ def sort_batch_response_by_response_ids(
201
201
  responses: List["RPCResponse"],
202
202
  ) -> List["RPCResponse"]:
203
203
  if all(response.get("id") is not None for response in responses):
204
- # If all responses have an `id`, sort them by `id, since the JSON-RPC 2.0 spec
204
+ # If all responses have an `id`, sort them by `id`, since the JSON-RPC 2.0 spec
205
205
  # doesn't guarantee order.
206
206
  return sorted(responses, key=lambda response: response["id"])
207
207
  else:
web3/_utils/validation.py CHANGED
@@ -131,7 +131,7 @@ def validate_abi_value(abi_type: TypeStr, value: Any) -> None:
131
131
  )
132
132
  if specified_length != len(value):
133
133
  raise Web3TypeError(
134
- "The following array length does not the length specified"
134
+ "The following array length does not match the length specified "
135
135
  f"by the abi-type, {abi_type}: {value}"
136
136
  )
137
137
 
@@ -15,6 +15,6 @@ def rpc_gas_price_strategy(
15
15
  w3: Web3, transaction_params: Optional[TxParams] = None
16
16
  ) -> Wei:
17
17
  """
18
- A simple gas price strategy deriving it's value from the eth_gasPrice JSON-RPC call.
18
+ A simple gas price strategy deriving its value from the eth_gasPrice JSON-RPC call.
19
19
  """
20
20
  return w3.eth.gas_price
@@ -53,7 +53,7 @@ from web3.utils import (
53
53
  )
54
54
 
55
55
  if TYPE_CHECKING:
56
- from websockets import (
56
+ from websockets.legacy.client import (
57
57
  WebSocketClientProtocol,
58
58
  )
59
59
 
@@ -21,11 +21,9 @@ from typing import (
21
21
  from eth_typing import (
22
22
  URI,
23
23
  )
24
- from websockets.client import (
25
- connect,
26
- )
27
24
  from websockets.legacy.client import (
28
25
  WebSocketClientProtocol,
26
+ connect,
29
27
  )
30
28
 
31
29
  from web3._utils.batching import (
@@ -68,11 +68,15 @@ class PersistentConnectionProvider(AsyncJSONBaseProvider, ABC):
68
68
  logger = logging.getLogger("web3.providers.PersistentConnectionProvider")
69
69
  has_persistent_connection = True
70
70
 
71
- _send_func_cache: Tuple[int, Callable[..., Coroutine[Any, Any, RPCRequest]]] = (
71
+ _send_func_cache: Tuple[
72
+ Optional[int], Optional[Callable[..., Coroutine[Any, Any, RPCRequest]]]
73
+ ] = (
72
74
  None,
73
75
  None,
74
76
  )
75
- _recv_func_cache: Tuple[int, Callable[..., Coroutine[Any, Any, RPCResponse]]] = (
77
+ _recv_func_cache: Tuple[
78
+ Optional[int], Optional[Callable[..., Coroutine[Any, Any, RPCResponse]]]
79
+ ] = (
76
80
  None,
77
81
  None,
78
82
  )
@@ -15,16 +15,14 @@ from eth_typing import (
15
15
  from toolz import (
16
16
  merge,
17
17
  )
18
- from websockets import (
19
- WebSocketClientProtocol,
20
- )
21
- from websockets.client import (
22
- connect,
23
- )
24
18
  from websockets.exceptions import (
25
19
  ConnectionClosedOK,
26
20
  WebSocketException,
27
21
  )
22
+ from websockets.legacy.client import (
23
+ WebSocketClientProtocol,
24
+ connect,
25
+ )
28
26
 
29
27
  from web3.exceptions import (
30
28
  PersistentConnectionClosedOK,
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: web3
3
- Version: 7.9.0
3
+ Version: 7.10.0
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
@@ -33,7 +33,7 @@ Requires-Dist: pywin32>=223; platform_system == "Windows"
33
33
  Requires-Dist: requests>=2.23.0
34
34
  Requires-Dist: typing-extensions>=4.0.1
35
35
  Requires-Dist: types-requests>=2.0.0
36
- Requires-Dist: websockets<14.0.0,>=10.0.0
36
+ 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.13.0b1,>=0.12.0b1; extra == "tester"
@@ -86,6 +86,7 @@ Dynamic: description-content-type
86
86
  Dynamic: home-page
87
87
  Dynamic: keywords
88
88
  Dynamic: license
89
+ Dynamic: license-file
89
90
  Dynamic: provides-extra
90
91
  Dynamic: requires-dist
91
92
  Dynamic: requires-python
@@ -27,11 +27,11 @@ web3/testing.py,sha256=Ury_-7XSstJ8bkCfdGEi4Cr76QzSfW7v_zfPlDlLJj0,923
27
27
  web3/tracing.py,sha256=ZcOam7t-uEZXyui6Cndv6RYeCZP5jh1TBn2hG8sv17Q,3098
28
28
  web3/types.py,sha256=-c1zBLyJOHey7CfkPO6saMVXxHUfVEvVUOcpNwO_ZB4,14450
29
29
  web3/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- web3/_utils/abi.py,sha256=Y0vIFLEKwiMTdedxRPxVMQ1l-GbRRJia1AP1DqLBvjU,27430
30
+ web3/_utils/abi.py,sha256=Nk-RSh1Zk5BXojgZM6QwleGErUjiD7wD2vvpMYw5knk,27431
31
31
  web3/_utils/abi_element_identifiers.py,sha256=m305lsvUZk-jkPixT0IJd9P5sXqMvmwlwlLeBgEAnBQ,55
32
32
  web3/_utils/async_caching.py,sha256=2XnaKCHBTTDK6B2R_YZvjJqIRUpbMDIU1uYrq-Lcyp8,486
33
33
  web3/_utils/async_transactions.py,sha256=fodlTP7zpoFhFycWQszJWN0UUAfu5neQTCYJ3eGRCA0,5581
34
- web3/_utils/batching.py,sha256=SbFKYFCRTrkFMFNa4HA4DkD_Qbjc6atnebMObyuQeHE,6316
34
+ web3/_utils/batching.py,sha256=rt4sBsZ283J4cnIyIbrRaGqzq4JbpgJawzSodfQxyaU,6317
35
35
  web3/_utils/blocks.py,sha256=SZ17qSJuPAH5Dz-eQPGOsZw_QtkG19zvpSYMv6mEDok,2138
36
36
  web3/_utils/contracts.py,sha256=YXErvYsi7OQ9S3KCjSv7nPbxj9DDTmixP8NYmv9GOmY,12091
37
37
  web3/_utils/datatypes.py,sha256=nI0C9XWl46gFj1RpwuoHfVqb4e73wlaerE1LNyMg3oo,1701
@@ -56,7 +56,7 @@ web3/_utils/threads.py,sha256=hNlSd_zheQYN0vC1faWWb9_UQxp_UzaM2fI5C8y0kB0,4245
56
56
  web3/_utils/transactions.py,sha256=aWMYWiCM_Qs6kFIRWwLGRqAAwCz5fXU8uXcsFGi_Xqo,9044
57
57
  web3/_utils/type_conversion.py,sha256=s6cg3WDCQIarQLWw_GfctaJjXhS_EcokUNO-S_ccvng,873
58
58
  web3/_utils/utility_methods.py,sha256=7VCpo5ysvPoGjFuDj5gT1Niva2l3BADUvNeJFlL3Yvg,2559
59
- web3/_utils/validation.py,sha256=afrnToH65Ki8yS4M_Lb0P5unfrmF4z2riyPuOM5H3I4,13344
59
+ web3/_utils/validation.py,sha256=DSmVq88k1ZPtu1NgBKNqGSAKYg5njrnG6rBKjUXIy-g,13351
60
60
  web3/_utils/windows.py,sha256=IlFUtqYSbUUfFRx60zvEwpiZd080WpOrA4ojm4tmSEE,994
61
61
  web3/_utils/caching/__init__.py,sha256=ri-5UGz5PPuYW9W1c2BX5lUJn1oZuvErbDz5NweiveA,284
62
62
  web3/_utils/caching/caching_utils.py,sha256=Big2HcJ9_CgIGNq59yGihheLOct-FlArpreBxcfjYUk,14281
@@ -114,7 +114,7 @@ web3/eth/async_eth.py,sha256=h3DpNdYn4b3kVdp54pAkapyfnC73w38biV9vPNtsvZU,24632
114
114
  web3/eth/base_eth.py,sha256=UUH0Fw0HVa_mBEQ_CbCDO01yCVDsj33d8yOv7Oe-QD0,6905
115
115
  web3/eth/eth.py,sha256=mD1TSPIl7gnRFrG1Mcq_rSJJm2Zf0ISGTv9BcLr19FU,20362
116
116
  web3/gas_strategies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
- web3/gas_strategies/rpc.py,sha256=3Va-32jdmHkX7tzQCmh17ms2D6te5zZcqHP1326BdpY,352
117
+ web3/gas_strategies/rpc.py,sha256=lQnKJSSZAjE2_klwdr7tkZkPiYN9mkz1IqbVS2WNo6M,351
118
118
  web3/gas_strategies/time_based.py,sha256=NQDYh9eKsmzhRIg5gWUI9xlKyI16z-qfN9DSIh3tM1Y,9070
119
119
  web3/middleware/__init__.py,sha256=fSmPCYJOO8Qp5p-Vm_Z4XPJATu2qN7KJRypYNSO6_uM,2830
120
120
  web3/middleware/attrdict.py,sha256=tIoMEZ3BkmEafnwitGY70o0GS9ShfwReDMxkHuvcOwI,2092
@@ -130,24 +130,24 @@ web3/middleware/signing.py,sha256=1DOYxpmCra-Qq5r42237q3b54uDO-QHjMVMulxVpLVQ,58
130
130
  web3/middleware/stalecheck.py,sha256=oWRA69BGIbNGjHSnUVOBnoxOYJZYjzRzlqqL5RRlnzk,2680
131
131
  web3/middleware/validation.py,sha256=QxActrJk_zsXXiwpadP2MUjZBS5E50OJOtUwVrm9XVo,4280
132
132
  web3/providers/__init__.py,sha256=YkcSzE9AubvSp-UfvJjyCrdepvziysbqeq2LT0ImDoc,936
133
- web3/providers/async_base.py,sha256=4u1okZDig5jEcmYtRwod13RpEafUAx-ZNdRy4JI-rWE,7687
133
+ web3/providers/async_base.py,sha256=fvfqexbB1bLamXQhmvRwmq8UdAUySCqUZy7RFwPcpLM,7701
134
134
  web3/providers/auto.py,sha256=Zx3CHKoRkmiw3Jte2BLNPiJAFd8rDXNGfA3XtxZvHgc,3465
135
135
  web3/providers/base.py,sha256=2morKtz6l_XuMQ8gt9eNtC0r64JnsIzFrUHlJQQ7F7Y,6440
136
136
  web3/providers/ipc.py,sha256=19jm5e-mytwx_s-s8hGMCK9sfOCgwwr_1hHcHQyB_7o,6514
137
- web3/providers/legacy_websocket.py,sha256=goS-ww86ijftbYs7QiqvrZZFycHBd5BD6U18yVQ7lF8,4767
137
+ web3/providers/legacy_websocket.py,sha256=p7EgbA6WzqGqIonnTjcYMS-2jPg5yLXdUtrOpp94ums,4733
138
138
  web3/providers/eth_tester/__init__.py,sha256=UggyBQdeAyjy1awATW1933jkJcpqqaUYUQEFAQnA2o0,163
139
139
  web3/providers/eth_tester/defaults.py,sha256=QQUdqqrkcN1AKW7WEY1A5RiPc_fmlHCLmdgB-5iY7Dc,12622
140
140
  web3/providers/eth_tester/main.py,sha256=U19sNDeHs36A4IYQ0HFGyXdZvuXiYvoSMNWVuki0WwI,7807
141
141
  web3/providers/eth_tester/middleware.py,sha256=3h8q1WBu5CLiBYwonWFeAR_5pUy_vqgiDmi7wOzuorc,12971
142
142
  web3/providers/persistent/__init__.py,sha256=X7tFKJL5BXSwciq5_bRwGRB6bfdWBkIPPWMqCjXIKrA,411
143
143
  web3/providers/persistent/async_ipc.py,sha256=dlySmRkVsKWOjb2w08n38PTcoI5MtviwqsRxq3YUg6M,5006
144
- web3/providers/persistent/persistent.py,sha256=XyWc6oRgqzteUyHkW8EsFv7eNlpHw2Ew8noRA7Iu53A,16108
144
+ web3/providers/persistent/persistent.py,sha256=_YNJnhCHEWP0Vhyh0geYIO5WwzOwN12jMJPdR9dwwSs,16176
145
145
  web3/providers/persistent/persistent_connection.py,sha256=NxxS-KeJhV07agg8CtJvmE-Ff-wLggQYpz4gdgVRDNU,3011
146
146
  web3/providers/persistent/request_processor.py,sha256=MEfPM5nezjvXS8KMpH65JEIP7qNZ4uf56CcbN-4Hhr0,14712
147
147
  web3/providers/persistent/subscription_container.py,sha256=yd5pjjz_YnRLuUoxZUxt29Md1VUTemdUIBq8PCJre6Y,1734
148
148
  web3/providers/persistent/subscription_manager.py,sha256=8HQgVlm5hgd55-FHEeVse13oh6mP1p6T_pWX5UfDWng,11564
149
149
  web3/providers/persistent/utils.py,sha256=gfY7w1HB8xuE7OujSrbwWYjQuQ8nzRBoxoL8ESinqWM,1140
150
- web3/providers/persistent/websocket.py,sha256=atseU7tiK21rwExREJyjtxrGV3fM7BP3ey9ZkJGYFJ8,4597
150
+ web3/providers/persistent/websocket.py,sha256=STf31VNdwidMeAeeL1r5f8v3l66xChKkxZpnZzUiYO8,4577
151
151
  web3/providers/rpc/__init__.py,sha256=mObsuwjr7xyHnnRlwzsmbp2JgZdn2NXSSctvpye4AuQ,149
152
152
  web3/providers/rpc/async_rpc.py,sha256=r8OYrCh0MoUUBwRLT8rLo98cjziLs1E782vCEzFzGVc,6314
153
153
  web3/providers/rpc/rpc.py,sha256=qb17d1rocm1xOV7Pcqye9lQqFfbWmRnB6W-m1E1mB5A,6075
@@ -164,8 +164,8 @@ web3/utils/async_exception_handling.py,sha256=OoKbLNwWcY9dxLCbOfxcQPSB1OxWraNqcw
164
164
  web3/utils/caching.py,sha256=Rkt5IN8A7YBZYXlCRaWa64FiDhTXsxzTGGQdGBB4Nzw,2514
165
165
  web3/utils/exception_handling.py,sha256=n-MtO5LNzJDVzHTzO6olzfb2_qEVtVRvink0ixswg-Y,2917
166
166
  web3/utils/subscriptions.py,sha256=iqlIK5xXM3XY6wEJQiovxrtKRvqpXmjhkPmrm15FnB8,8578
167
- web3-7.9.0.dist-info/LICENSE,sha256=ENGC4gSn0kYaC_mlaXOEwCKmA6W7Z9MeSemc5O2k-h0,1095
168
- web3-7.9.0.dist-info/METADATA,sha256=rgxIR971Dh_qRi3q_T5-eO0pqRXl-mQKTD2I4af_WHU,5598
169
- web3-7.9.0.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
170
- web3-7.9.0.dist-info/top_level.txt,sha256=iwupuJh7wgypXrpk_awszyri3TahRr5vxSphNyvt1bU,9
171
- web3-7.9.0.dist-info/RECORD,,
167
+ web3-7.10.0.dist-info/licenses/LICENSE,sha256=ENGC4gSn0kYaC_mlaXOEwCKmA6W7Z9MeSemc5O2k-h0,1095
168
+ web3-7.10.0.dist-info/METADATA,sha256=k-fchvuMg3dVw_Dy7hUa8w0K2us31LuM1yW0dtFTDQM,5621
169
+ web3-7.10.0.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
170
+ web3-7.10.0.dist-info/top_level.txt,sha256=iwupuJh7wgypXrpk_awszyri3TahRr5vxSphNyvt1bU,9
171
+ web3-7.10.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (76.0.0)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5