web3 6.20.2__py3-none-any.whl → 7.0.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.
Files changed (270) hide show
  1. ens/__init__.py +13 -2
  2. ens/_normalization.py +2 -17
  3. ens/async_ens.py +33 -21
  4. ens/base_ens.py +3 -1
  5. ens/ens.py +16 -11
  6. ens/exceptions.py +16 -29
  7. ens/specs/nf.json +1 -1
  8. ens/specs/normalization_spec.json +1 -1
  9. ens/utils.py +52 -63
  10. web3/__init__.py +20 -24
  11. web3/_utils/abi.py +115 -271
  12. web3/_utils/async_transactions.py +7 -4
  13. web3/_utils/batching.py +217 -0
  14. web3/_utils/blocks.py +6 -2
  15. web3/_utils/caching.py +128 -5
  16. web3/_utils/compat/__init__.py +2 -3
  17. web3/_utils/contract_sources/compile_contracts.py +1 -1
  18. web3/_utils/contract_sources/contract_data/arrays_contract.py +3 -3
  19. web3/_utils/contract_sources/contract_data/bytes_contracts.py +5 -5
  20. web3/_utils/contract_sources/contract_data/constructor_contracts.py +7 -7
  21. web3/_utils/contract_sources/contract_data/contract_caller_tester.py +3 -3
  22. web3/_utils/contract_sources/contract_data/emitter_contract.py +3 -3
  23. web3/_utils/contract_sources/contract_data/event_contracts.py +5 -5
  24. web3/_utils/contract_sources/contract_data/extended_resolver.py +3 -3
  25. web3/_utils/contract_sources/contract_data/fallback_function_contract.py +3 -3
  26. web3/_utils/contract_sources/contract_data/function_name_tester_contract.py +3 -3
  27. web3/_utils/contract_sources/contract_data/math_contract.py +3 -3
  28. web3/_utils/contract_sources/contract_data/offchain_lookup.py +3 -3
  29. web3/_utils/contract_sources/contract_data/offchain_resolver.py +3 -3
  30. web3/_utils/contract_sources/contract_data/panic_errors_contract.py +3 -3
  31. web3/_utils/contract_sources/contract_data/payable_tester.py +3 -3
  32. web3/_utils/contract_sources/contract_data/receive_function_contracts.py +5 -5
  33. web3/_utils/contract_sources/contract_data/reflector_contracts.py +3 -3
  34. web3/_utils/contract_sources/contract_data/revert_contract.py +3 -3
  35. web3/_utils/contract_sources/contract_data/simple_resolver.py +3 -3
  36. web3/_utils/contract_sources/contract_data/storage_contract.py +3 -3
  37. web3/_utils/contract_sources/contract_data/string_contract.py +3 -3
  38. web3/_utils/contract_sources/contract_data/tuple_contracts.py +5 -5
  39. web3/_utils/contracts.py +130 -236
  40. web3/_utils/datatypes.py +5 -1
  41. web3/_utils/decorators.py +13 -23
  42. web3/_utils/empty.py +1 -1
  43. web3/_utils/encoding.py +16 -12
  44. web3/_utils/ens.py +2 -1
  45. web3/_utils/error_formatters_utils.py +5 -3
  46. web3/_utils/events.py +66 -69
  47. web3/_utils/fee_utils.py +1 -3
  48. web3/_utils/filters.py +24 -22
  49. web3/_utils/formatters.py +2 -2
  50. web3/_utils/http.py +5 -3
  51. web3/_utils/http_session_manager.py +303 -0
  52. web3/_utils/math.py +14 -15
  53. web3/_utils/method_formatters.py +34 -36
  54. web3/_utils/module.py +2 -1
  55. web3/_utils/module_testing/__init__.py +0 -3
  56. web3/_utils/module_testing/eth_module.py +695 -643
  57. web3/_utils/module_testing/module_testing_utils.py +61 -34
  58. web3/_utils/module_testing/persistent_connection_provider.py +56 -25
  59. web3/_utils/module_testing/utils.py +258 -0
  60. web3/_utils/module_testing/web3_module.py +438 -17
  61. web3/_utils/normalizers.py +13 -11
  62. web3/_utils/rpc_abi.py +5 -32
  63. web3/_utils/threads.py +8 -7
  64. web3/_utils/transactions.py +14 -12
  65. web3/_utils/type_conversion.py +5 -1
  66. web3/_utils/validation.py +17 -17
  67. web3/auto/gethdev.py +7 -2
  68. web3/beacon/__init__.py +6 -1
  69. web3/beacon/async_beacon.py +9 -5
  70. web3/beacon/{main.py → beacon.py} +7 -5
  71. web3/contract/__init__.py +7 -0
  72. web3/contract/async_contract.py +47 -46
  73. web3/contract/base_contract.py +183 -158
  74. web3/contract/contract.py +49 -43
  75. web3/contract/utils.py +203 -59
  76. web3/datastructures.py +79 -31
  77. web3/eth/__init__.py +7 -0
  78. web3/eth/async_eth.py +39 -51
  79. web3/eth/base_eth.py +17 -10
  80. web3/eth/eth.py +30 -68
  81. web3/exceptions.py +108 -82
  82. web3/gas_strategies/time_based.py +8 -6
  83. web3/geth.py +1 -254
  84. web3/main.py +75 -122
  85. web3/manager.py +316 -146
  86. web3/method.py +38 -31
  87. web3/middleware/__init__.py +67 -89
  88. web3/middleware/attrdict.py +36 -49
  89. web3/middleware/base.py +174 -0
  90. web3/middleware/buffered_gas_estimate.py +20 -21
  91. web3/middleware/filter.py +157 -117
  92. web3/middleware/formatting.py +124 -108
  93. web3/middleware/gas_price_strategy.py +20 -32
  94. web3/middleware/names.py +29 -26
  95. web3/middleware/proof_of_authority.py +68 -0
  96. web3/middleware/pythonic.py +2 -2
  97. web3/middleware/signing.py +74 -89
  98. web3/middleware/stalecheck.py +52 -79
  99. web3/middleware/validation.py +5 -13
  100. web3/module.py +54 -10
  101. web3/providers/__init__.py +10 -6
  102. web3/providers/async_base.py +117 -39
  103. web3/providers/auto.py +3 -3
  104. web3/providers/base.py +89 -33
  105. web3/providers/eth_tester/__init__.py +5 -0
  106. web3/providers/eth_tester/defaults.py +1 -64
  107. web3/providers/eth_tester/main.py +99 -31
  108. web3/providers/eth_tester/middleware.py +45 -73
  109. web3/providers/ipc.py +42 -46
  110. web3/providers/{websocket/websocket.py → legacy_websocket.py} +32 -7
  111. web3/providers/persistent/__init__.py +22 -0
  112. web3/providers/persistent/async_ipc.py +153 -0
  113. web3/providers/{persistent.py → persistent/persistent.py} +106 -25
  114. web3/providers/persistent/persistent_connection.py +84 -0
  115. web3/providers/{websocket → persistent}/request_processor.py +94 -32
  116. web3/providers/persistent/utils.py +43 -0
  117. web3/providers/{websocket/websocket_v2.py → persistent/websocket.py} +29 -28
  118. web3/providers/rpc/__init__.py +11 -0
  119. web3/providers/rpc/async_rpc.py +171 -0
  120. web3/providers/rpc/rpc.py +179 -0
  121. web3/providers/rpc/utils.py +92 -0
  122. web3/testing.py +4 -4
  123. web3/tools/benchmark/main.py +22 -22
  124. web3/tools/benchmark/node.py +2 -8
  125. web3/tools/benchmark/reporting.py +2 -2
  126. web3/tools/benchmark/utils.py +1 -1
  127. web3/tracing.py +9 -5
  128. web3/types.py +30 -107
  129. web3/utils/__init__.py +58 -5
  130. web3/utils/abi.py +575 -10
  131. web3/utils/async_exception_handling.py +19 -7
  132. web3/utils/caching.py +32 -13
  133. web3/utils/exception_handling.py +7 -5
  134. {web3-6.20.2.dist-info → web3-7.0.0.dist-info}/LICENSE +1 -1
  135. web3-7.0.0.dist-info/METADATA +112 -0
  136. web3-7.0.0.dist-info/RECORD +167 -0
  137. {web3-6.20.2.dist-info → web3-7.0.0.dist-info}/WHEEL +1 -1
  138. {web3-6.20.2.dist-info → web3-7.0.0.dist-info}/top_level.txt +0 -1
  139. ethpm/__init__.py +0 -20
  140. ethpm/_utils/__init__.py +0 -0
  141. ethpm/_utils/backend.py +0 -93
  142. ethpm/_utils/cache.py +0 -44
  143. ethpm/_utils/chains.py +0 -119
  144. ethpm/_utils/contract.py +0 -35
  145. ethpm/_utils/deployments.py +0 -145
  146. ethpm/_utils/ipfs.py +0 -116
  147. ethpm/_utils/protobuf/__init__.py +0 -0
  148. ethpm/_utils/protobuf/ipfs_file_pb2.py +0 -33
  149. ethpm/_utils/registry.py +0 -29
  150. ethpm/assets/__init__.py +0 -0
  151. ethpm/assets/ens/v3.json +0 -1
  152. ethpm/assets/escrow/with_bytecode_v3.json +0 -1
  153. ethpm/assets/ipfs_file.proto +0 -32
  154. ethpm/assets/owned/output_v3.json +0 -1
  155. ethpm/assets/owned/with_contract_type_v3.json +0 -1
  156. ethpm/assets/registry/contracts/Authority.sol +0 -156
  157. ethpm/assets/registry/contracts/IndexedOrderedSetLib.sol +0 -106
  158. ethpm/assets/registry/contracts/PackageDB.sol +0 -225
  159. ethpm/assets/registry/contracts/PackageRegistry.sol +0 -361
  160. ethpm/assets/registry/contracts/PackageRegistryInterface.sol +0 -97
  161. ethpm/assets/registry/contracts/ReleaseDB.sol +0 -309
  162. ethpm/assets/registry/contracts/ReleaseValidator.sol +0 -152
  163. ethpm/assets/registry/solc_input.json +0 -1
  164. ethpm/assets/registry/solc_output.json +0 -1
  165. ethpm/assets/registry/v3.json +0 -1
  166. ethpm/assets/safe-math-lib/v3-strict-no-deployments.json +0 -1
  167. ethpm/assets/simple-registry/contracts/Ownable.sol +0 -63
  168. ethpm/assets/simple-registry/contracts/PackageRegistry.sol +0 -373
  169. ethpm/assets/simple-registry/contracts/PackageRegistryInterface.sol +0 -96
  170. ethpm/assets/simple-registry/solc_input.json +0 -33
  171. ethpm/assets/simple-registry/solc_output.json +0 -1
  172. ethpm/assets/simple-registry/v3.json +0 -1
  173. ethpm/assets/standard-token/output_v3.json +0 -1
  174. ethpm/assets/standard-token/with_bytecode_v3.json +0 -1
  175. ethpm/assets/vyper_registry/0.1.0.json +0 -1
  176. ethpm/assets/vyper_registry/registry.vy +0 -216
  177. ethpm/assets/vyper_registry/registry_with_delete.vy +0 -244
  178. ethpm/backends/__init__.py +0 -0
  179. ethpm/backends/base.py +0 -43
  180. ethpm/backends/http.py +0 -108
  181. ethpm/backends/ipfs.py +0 -219
  182. ethpm/backends/registry.py +0 -154
  183. ethpm/constants.py +0 -17
  184. ethpm/contract.py +0 -187
  185. ethpm/dependencies.py +0 -58
  186. ethpm/deployments.py +0 -80
  187. ethpm/ethpm-spec/examples/escrow/1.0.0-pretty.json +0 -146
  188. ethpm/ethpm-spec/examples/escrow/1.0.0.json +0 -1
  189. ethpm/ethpm-spec/examples/escrow/contracts/Escrow.sol +0 -32
  190. ethpm/ethpm-spec/examples/escrow/contracts/SafeSendLib.sol +0 -20
  191. ethpm/ethpm-spec/examples/escrow/v3-pretty.json +0 -171
  192. ethpm/ethpm-spec/examples/escrow/v3.json +0 -1
  193. ethpm/ethpm-spec/examples/owned/1.0.0-pretty.json +0 -21
  194. ethpm/ethpm-spec/examples/owned/1.0.0.json +0 -1
  195. ethpm/ethpm-spec/examples/owned/contracts/Owned.sol +0 -12
  196. ethpm/ethpm-spec/examples/owned/v3-pretty.json +0 -27
  197. ethpm/ethpm-spec/examples/owned/v3.json +0 -1
  198. ethpm/ethpm-spec/examples/piper-coin/1.0.0-pretty.json +0 -31
  199. ethpm/ethpm-spec/examples/piper-coin/1.0.0.json +0 -1
  200. ethpm/ethpm-spec/examples/piper-coin/v3-pretty.json +0 -21
  201. ethpm/ethpm-spec/examples/piper-coin/v3.json +0 -1
  202. ethpm/ethpm-spec/examples/safe-math-lib/1.0.0-pretty.json +0 -85
  203. ethpm/ethpm-spec/examples/safe-math-lib/1.0.0.json +0 -1
  204. ethpm/ethpm-spec/examples/safe-math-lib/contracts/SafeMathLib.sol +0 -24
  205. ethpm/ethpm-spec/examples/safe-math-lib/v3-pretty.json +0 -117
  206. ethpm/ethpm-spec/examples/safe-math-lib/v3.json +0 -1
  207. ethpm/ethpm-spec/examples/standard-token/1.0.0-pretty.json +0 -55
  208. ethpm/ethpm-spec/examples/standard-token/1.0.0.json +0 -1
  209. ethpm/ethpm-spec/examples/standard-token/contracts/AbstractToken.sol +0 -20
  210. ethpm/ethpm-spec/examples/standard-token/contracts/StandardToken.sol +0 -84
  211. ethpm/ethpm-spec/examples/standard-token/v3-pretty.json +0 -460
  212. ethpm/ethpm-spec/examples/standard-token/v3.json +0 -1
  213. ethpm/ethpm-spec/examples/transferable/1.0.0-pretty.json +0 -21
  214. ethpm/ethpm-spec/examples/transferable/1.0.0.json +0 -1
  215. ethpm/ethpm-spec/examples/transferable/contracts/Transferable.sol +0 -14
  216. ethpm/ethpm-spec/examples/transferable/v3-pretty.json +0 -27
  217. ethpm/ethpm-spec/examples/transferable/v3.json +0 -1
  218. ethpm/ethpm-spec/examples/wallet/1.0.0-pretty.json +0 -120
  219. ethpm/ethpm-spec/examples/wallet/1.0.0.json +0 -1
  220. ethpm/ethpm-spec/examples/wallet/contracts/Wallet.sol +0 -41
  221. ethpm/ethpm-spec/examples/wallet/v3-pretty.json +0 -181
  222. ethpm/ethpm-spec/examples/wallet/v3.json +0 -1
  223. ethpm/ethpm-spec/examples/wallet-with-send/1.0.0-pretty.json +0 -135
  224. ethpm/ethpm-spec/examples/wallet-with-send/1.0.0.json +0 -1
  225. ethpm/ethpm-spec/examples/wallet-with-send/contracts/WalletWithSend.sol +0 -18
  226. ethpm/ethpm-spec/examples/wallet-with-send/v3-pretty.json +0 -207
  227. ethpm/ethpm-spec/examples/wallet-with-send/v3.json +0 -1
  228. ethpm/ethpm-spec/spec/package.spec.json +0 -379
  229. ethpm/ethpm-spec/spec/v3.spec.json +0 -483
  230. ethpm/exceptions.py +0 -68
  231. ethpm/package.py +0 -438
  232. ethpm/tools/__init__.py +0 -4
  233. ethpm/tools/builder.py +0 -930
  234. ethpm/tools/checker.py +0 -312
  235. ethpm/tools/get_manifest.py +0 -19
  236. ethpm/uri.py +0 -141
  237. ethpm/validation/__init__.py +0 -0
  238. ethpm/validation/manifest.py +0 -146
  239. ethpm/validation/misc.py +0 -39
  240. ethpm/validation/package.py +0 -80
  241. ethpm/validation/uri.py +0 -163
  242. web3/_utils/contract_sources/contract_data/address_reflector.py +0 -29
  243. web3/_utils/miner.py +0 -88
  244. web3/_utils/module_testing/go_ethereum_personal_module.py +0 -323
  245. web3/_utils/request.py +0 -265
  246. web3/middleware/abi.py +0 -11
  247. web3/middleware/async_cache.py +0 -99
  248. web3/middleware/cache.py +0 -374
  249. web3/middleware/exception_handling.py +0 -49
  250. web3/middleware/exception_retry_request.py +0 -188
  251. web3/middleware/fixture.py +0 -190
  252. web3/middleware/geth_poa.py +0 -81
  253. web3/middleware/normalize_request_parameters.py +0 -11
  254. web3/middleware/simulate_unmined_transaction.py +0 -43
  255. web3/pm.py +0 -602
  256. web3/providers/async_rpc.py +0 -99
  257. web3/providers/rpc.py +0 -98
  258. web3/providers/websocket/__init__.py +0 -11
  259. web3/providers/websocket/websocket_connection.py +0 -42
  260. web3/tools/__init__.py +0 -4
  261. web3/tools/pytest_ethereum/__init__.py +0 -0
  262. web3/tools/pytest_ethereum/_utils.py +0 -145
  263. web3/tools/pytest_ethereum/deployer.py +0 -48
  264. web3/tools/pytest_ethereum/exceptions.py +0 -22
  265. web3/tools/pytest_ethereum/linker.py +0 -128
  266. web3/tools/pytest_ethereum/plugins.py +0 -33
  267. web3-6.20.2.dist-info/METADATA +0 -103
  268. web3-6.20.2.dist-info/RECORD +0 -283
  269. web3-6.20.2.dist-info/entry_points.txt +0 -2
  270. /web3/_utils/{function_identifiers.py → abi_element_identifiers.py} +0 -0
web3/types.py CHANGED
@@ -5,10 +5,13 @@ from typing import (
5
5
  Coroutine,
6
6
  Dict,
7
7
  List,
8
+ Literal,
8
9
  NewType,
9
10
  Optional,
10
11
  Sequence,
12
+ Tuple,
11
13
  Type,
14
+ TypedDict,
12
15
  TypeVar,
13
16
  Union,
14
17
  )
@@ -24,17 +27,12 @@ from hexbytes import (
24
27
  HexBytes,
25
28
  )
26
29
 
27
- from web3._utils.compat import (
28
- Literal,
29
- NotRequired,
30
- TypedDict,
31
- )
32
- from web3._utils.function_identifiers import (
30
+ from web3._utils.abi_element_identifiers import (
33
31
  FallbackFn,
34
32
  ReceiveFn,
35
33
  )
36
- from web3.datastructures import (
37
- NamedElementOnion,
34
+ from web3._utils.compat import (
35
+ NotRequired,
38
36
  )
39
37
 
40
38
  if TYPE_CHECKING:
@@ -46,15 +44,16 @@ if TYPE_CHECKING:
46
44
  )
47
45
 
48
46
 
49
- TReturn = TypeVar("TReturn")
47
+ TFunc = TypeVar("TFunc", bound=Callable[..., Any])
50
48
  TParams = TypeVar("TParams")
49
+ TReturn = TypeVar("TReturn")
51
50
  TValue = TypeVar("TValue")
52
51
 
53
52
  BlockParams = Literal["latest", "earliest", "pending", "safe", "finalized"]
54
53
  BlockIdentifier = Union[BlockParams, BlockNumber, Hash32, HexStr, HexBytes, int]
55
54
  LatestBlockParam = Literal["latest"]
56
55
 
57
- FunctionIdentifier = Union[str, Type[FallbackFn], Type[ReceiveFn]]
56
+ ABIElementIdentifier = Union[str, Type[FallbackFn], Type[ReceiveFn]]
58
57
 
59
58
  # bytes, hexbytes, or hexstr representing a 32 byte hash
60
59
  _Hash32 = Union[Hash32, HexBytes, HexStr]
@@ -76,72 +75,6 @@ class AccessListEntry(TypedDict):
76
75
  AccessList = NewType("AccessList", Sequence[AccessListEntry])
77
76
 
78
77
 
79
- # todo: move these to eth_typing once web3 is type hinted
80
- class ABIEventParams(TypedDict, total=False):
81
- indexed: bool
82
- name: str
83
- type: str
84
-
85
-
86
- class ABIEvent(TypedDict, total=False):
87
- anonymous: bool
88
- inputs: Sequence["ABIEventParams"]
89
- name: str
90
- type: Literal["event"]
91
-
92
-
93
- class ABIFunctionComponents(TypedDict, total=False):
94
- components: Sequence["ABIFunctionComponents"]
95
- name: str
96
- type: str
97
-
98
-
99
- class ABIFunctionParams(TypedDict, total=False):
100
- components: Sequence["ABIFunctionComponents"]
101
- name: str
102
- type: str
103
-
104
-
105
- class ABIFunction(TypedDict, total=False):
106
- constant: bool
107
- inputs: Sequence["ABIFunctionParams"]
108
- name: str
109
- outputs: Sequence["ABIFunctionParams"]
110
- payable: bool
111
- stateMutability: Literal["pure", "view", "nonpayable", "payable"]
112
- type: Literal["function", "constructor", "fallback", "receive"]
113
-
114
-
115
- class ABIComponent(TypedDict):
116
- """
117
- TypedDict representing an `ABIElement` component.
118
- """
119
-
120
- name: str
121
- """Name of the component."""
122
- type: str
123
- """Type of the component."""
124
- components: NotRequired[Sequence["ABIComponent"]]
125
- """List of nested `ABI` components for ABI types."""
126
-
127
-
128
- class ABIError(TypedDict):
129
- """
130
- TypedDict representing the `ABI` for an error.
131
- """
132
-
133
- type: Literal["error"]
134
- """Type of the error."""
135
- name: str
136
- """Name of the error."""
137
- inputs: NotRequired[Sequence["ABIComponent"]]
138
- """Error input components."""
139
-
140
-
141
- ABIElement = Union[ABIFunction, ABIEvent, ABIError]
142
- ABI = Sequence[Union[ABIFunction, ABIEvent]]
143
-
144
-
145
78
  class EventData(TypedDict):
146
79
  address: ChecksumAddress
147
80
  args: Dict[str, Any]
@@ -217,15 +150,11 @@ TxParams = TypedDict(
217
150
  )
218
151
 
219
152
 
220
- WithdrawalData = TypedDict(
221
- "WithdrawalData",
222
- {
223
- "index": int,
224
- "validator_index": int,
225
- "address": ChecksumAddress,
226
- "amount": Gwei,
227
- },
228
- )
153
+ class WithdrawalData(TypedDict):
154
+ index: int
155
+ validator_index: int
156
+ address: ChecksumAddress
157
+ amount: Gwei
229
158
 
230
159
 
231
160
  class BlockData(TypedDict, total=False):
@@ -256,7 +185,7 @@ class BlockData(TypedDict, total=False):
256
185
  blobGasUsed: int
257
186
  excessBlobGas: int
258
187
 
259
- # geth_poa_middleware replaces extraData w/ proofOfAuthorityData
188
+ # ExtraDataToPOAMiddleware replaces extraData w/ proofOfAuthorityData
260
189
  proofOfAuthorityData: HexBytes
261
190
 
262
191
 
@@ -328,7 +257,7 @@ RPCId = Optional[Union[int, str]]
328
257
 
329
258
 
330
259
  class RPCResponse(TypedDict, total=False):
331
- error: Union[RPCError, str]
260
+ error: RPCError
332
261
  id: RPCId
333
262
  jsonrpc: Literal["2.0"]
334
263
  result: Any
@@ -350,15 +279,12 @@ class CreateAccessListResponse(TypedDict):
350
279
  gasUsed: int
351
280
 
352
281
 
353
- Middleware = Callable[[Callable[[RPCEndpoint, Any], RPCResponse], "Web3"], Any]
354
- AsyncMiddlewareCoroutine = Callable[
355
- [RPCEndpoint, Any], Coroutine[Any, Any, RPCResponse]
356
- ]
357
- AsyncMiddleware = Callable[
358
- [Callable[[RPCEndpoint, Any], RPCResponse], "AsyncWeb3"], Any
282
+ MakeRequestFn = Callable[[RPCEndpoint, Any], RPCResponse]
283
+ MakeBatchRequestFn = Callable[[List[Tuple[RPCEndpoint, Any]]], List[RPCResponse]]
284
+ AsyncMakeRequestFn = Callable[[RPCEndpoint, Any], Coroutine[Any, Any, RPCResponse]]
285
+ AsyncMakeBatchRequestFn = Callable[
286
+ [List[Tuple[RPCEndpoint, Any]]], Coroutine[Any, Any, List[RPCResponse]]
359
287
  ]
360
- MiddlewareOnion = NamedElementOnion[str, Middleware]
361
- AsyncMiddlewareOnion = NamedElementOnion[str, AsyncMiddleware]
362
288
 
363
289
 
364
290
  class FormattersDict(TypedDict, total=False):
@@ -382,20 +308,15 @@ class FeeHistory(TypedDict):
382
308
  reward: List[List[Wei]]
383
309
 
384
310
 
385
- CallOverrideParams = TypedDict(
386
- "CallOverrideParams",
387
- {
388
- "balance": Optional[Wei],
389
- "nonce": Optional[int],
390
- "code": Optional[Union[bytes, HexStr]],
391
- "state": Optional[Dict[HexStr, HexStr]],
392
- "stateDiff": Optional[Dict[HexStr, HexStr]],
393
- },
394
- total=False,
395
- )
311
+ class StateOverrideParams(TypedDict, total=False):
312
+ balance: Optional[Wei]
313
+ nonce: Optional[int]
314
+ code: Optional[Union[bytes, HexStr]]
315
+ state: Optional[Dict[HexStr, HexStr]]
316
+ stateDiff: Optional[Dict[HexStr, HexStr]]
396
317
 
397
318
 
398
- CallOverride = Dict[ChecksumAddress, CallOverrideParams]
319
+ StateOverride = Dict[ChecksumAddress, StateOverrideParams]
399
320
 
400
321
 
401
322
  GasPriceStrategy = Union[
@@ -425,6 +346,8 @@ TxReceipt = TypedDict(
425
346
  },
426
347
  )
427
348
 
349
+ BlockReceipts = List[TxReceipt]
350
+
428
351
 
429
352
  class SignedTx(TypedDict, total=False):
430
353
  raw: bytes
web3/utils/__init__.py CHANGED
@@ -3,17 +3,70 @@ NOTE: This is a public utility module. Any changes to these utility methods woul
3
3
  classify as breaking changes.
4
4
  """
5
5
 
6
- from .abi import ( # NOQA
6
+ from eth_utils.abi import (
7
+ abi_to_signature,
8
+ collapse_if_tuple,
9
+ event_abi_to_log_topic,
10
+ event_signature_to_log_topic,
11
+ filter_abi_by_name,
12
+ filter_abi_by_type,
13
+ function_abi_to_4byte_selector,
14
+ function_signature_to_4byte_selector,
7
15
  get_abi_input_names,
16
+ get_abi_input_types,
8
17
  get_abi_output_names,
18
+ get_abi_output_types,
19
+ get_aligned_abi_inputs,
20
+ get_all_event_abis,
21
+ get_all_function_abis,
22
+ get_normalized_abi_inputs,
23
+ )
24
+ from .abi import ( # NOQA
25
+ check_if_arguments_can_be_encoded,
26
+ get_abi_element_info,
27
+ get_abi_element,
28
+ get_event_abi,
29
+ get_event_log_topics,
30
+ log_topic_to_bytes,
9
31
  )
10
- from .address import get_create_address # NOQA
11
- from .async_exception_handling import ( # NOQA
32
+ from .address import (
33
+ get_create_address,
34
+ )
35
+ from .async_exception_handling import (
12
36
  async_handle_offchain_lookup,
13
37
  )
14
- from .caching import ( # NOQA
38
+ from .caching import (
15
39
  SimpleCache,
16
40
  )
17
- from .exception_handling import ( # NOQA
41
+ from .exception_handling import (
18
42
  handle_offchain_lookup,
19
43
  )
44
+
45
+ __all__ = [
46
+ "abi_to_signature",
47
+ "collapse_if_tuple",
48
+ "event_abi_to_log_topic",
49
+ "event_signature_to_log_topic",
50
+ "filter_abi_by_name",
51
+ "filter_abi_by_type",
52
+ "function_abi_to_4byte_selector",
53
+ "function_signature_to_4byte_selector",
54
+ "get_abi_input_names",
55
+ "get_abi_input_types",
56
+ "get_abi_output_names",
57
+ "get_abi_output_types",
58
+ "get_aligned_abi_inputs",
59
+ "get_all_event_abis",
60
+ "get_all_function_abis",
61
+ "get_normalized_abi_inputs",
62
+ "check_if_arguments_can_be_encoded",
63
+ "get_abi_element_info",
64
+ "get_abi_element",
65
+ "get_event_abi",
66
+ "get_event_log_topics",
67
+ "log_topic_to_bytes",
68
+ "get_create_address",
69
+ "async_handle_offchain_lookup",
70
+ "SimpleCache",
71
+ "handle_offchain_lookup",
72
+ ]