- Add: `eth_defi.provider.multi_provider.create_multi_provider_web3`: An easy way to configure a Web3 instance with multiple providers
0.22.1
- Add logging to `swap_with_slippage_protection()` on Uniswap v3 to trace slippage issues
0.22
- Refactor a lot of functionality to a new submodule [eth_defi.provider](https://web3-ethereum-defi.readthedocs.io/api/provider/index.html) - Add MEV blocking support in the form of `eth_defi.mev_blocker.MEVBlockerProvider` - Add JSON-RPC fallback switching in the form of `eth_defi.fallback_provider.FallbackProvider` - Add `HotWallet.create_for_testing` - Add utility function `get_onchain_price()` to ask on-chain price of a Uniswap v3 pool at any given block number - Add `eth_defi.event_reader.logresult.decode_log` and better documentation for `LogResult` class - Deprecate `eth_defi.anvil` -> `eth_defi.provider.anvil` - Deprecate `eth_defi.ganache` -> `eth_defi.provider.ganache`
0.21.8
- Add test coverage for `extract_timestamps_json_rpc_lazy` - Expose API call counter in `LazyTimestampContainer`
0.21.7
- Add `block_identifier` parameteter to `estimate_buy_received_amount() / estimate_sell_received_amount()`, so we can ask historical prices and also track the price information per block - Fix `0x` hash prefix missing in `LazyTimestampContainer` - looks like live RPC nodes where returning JSON-RPC responses differently formatted