Web3-ethereum-defi

Latest version: v0.28.1

Safety actively analyzes 715081 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 7 of 19

0.22.17

- Make testing and `launch_anvil` distrubuted safe by randomising Anvil localhost port it binds.
Test now run in few minutes instead of tens of minutes. Tests must be still run with
`pytest --dist loadscope` as individual test modules are not parallel safe.
- Add ``eth_defi.broken_provider.set_block_tip_latency()`` to control the default delays
for which we expect the chain tip to stabilise.

0.22.16

- Work around ``BadFunctionCallOutput``: Insufficient bytes exception: A special case of eth_call returning an empty result.
This happens if you call a smart contract for a block number
for which the node does not yet have data or is still processing data.
This happens often on low-quality RPC providers (Ankr)
that route your call between different nodes between subsequent calls, and those nodes
see a different state of EVM.
Down the line, not in the middleware stack, this would lead to `BadFunctionCallOutput` output. We work around this by detecting this condition in the middleware stack and triggering the middleware fall-over node switch if the condition is detected.
- Set `FallbackProvider` to have the default `4` blocks latency for all `latest` calls,
in `get_default_block_tip_latency()` so that fail over switches are more robust.

0.22.15

- Fix [FallbackProvider](https://web3-ethereum-defi.readthedocs.io/api/provider/_autosummary_provider/eth_defi.provider.fallback.html) to work with [certain problematic error codes](https://twitter.com/moo9000/status/1707672647264346205)
- Log non-retryable exceptions in fallback middleware, so
there is better diagnostics why fallback fails
- Add `HotWallet.fill_in_gas_estimations()`

0.22.14

- Add `{'code': -32043, 'message': 'Requested data is not available'}` to RPC exceptions where we assume it's
an error we can either resume or switch to the next node provider. This error was encoureted with `eth_getLogs`
when using LlamaNodes.

0.22.13

- Allow passing `request_kwargs` to [create_multi_provider_web3](https://web3-ethereum-defi.readthedocs.io/api/provider/_autosummary_provider/eth_defi.provider.multi_provider.create_multi_provider_web3.html#eth_defi.provider.multi_provider.create_multi_provider_web3)
- When setting up [TunedWeb3Factory](https://web3-ethereum-defi.readthedocs.io/api/event_reader/_autosummary_enzyne/eth_defi.event_reader.web3factory.TunedWeb3Factory.html?highlight=tunedweb3factory) use `create_multi_provider_web3` to set up the connections
instead pooled threads and processed
- Switch to ujson for JSON-RPC decoding by default with `create_multi_provider_web3`
- Fix `test_block_reader` tests

0.22.12

- Retry [nonce too low errors](https://github.com/tradingstrategy-ai/web3-ethereum-defi/pull/153),
(related to LLamaNodes).

Page 7 of 19

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.