v3.14.0 – v3.14.1
v3.14.0 lets the SDK read event history from an indexer, and v3.14.1 fixes vault reads on nodes that report a revert in a non-standard format. They apply to teams on chains where providers cap eth_getLogs at 10,000 blocks, such as Unichain and Plasma, and to teams on revm/reth-based nodes.
New
1. Event history from a log source (v3.14.0)
Before: on Unichain and Plasma every provider caps eth_getLogs at 10,000 blocks. The role scan of an old vault needs 1,900 to 4,200 requests.
Now: Web3Context takes an optional log_source. get_logs asks it first and runs the eth_getLogs scan when it raises LogSourceUnavailable. Without a source, nothing changes.
Usage: a log source implements the ipor_fusion.LogSource protocol over an index of event logs, such as a cached explorer log API. It is passed as log_source to Web3Context or Web3Context.from_url.
Fixes
1. Revert errors from revm-based nodes (v3.14.1)
Before: some revm/reth-based nodes report a revert without return data with code -32603. web3 raised a generic Web3RPCError. On such a node, vault info and vault validate failed for every vault whose oracle is a current price oracle middleware.
Now: Web3Context.call raises ContractLogicError for this error. Other -32603 errors still raise Web3RPCError.
Impact: None for existing code.
Upgrade with pip install -U ipor-fusion. Full changelog: v3.14.0 on GitHub, v3.14.1 on GitHub.
These notes describe changes to the IPOR Fusion SDK. They are not operational or financial advice. Operators are responsible for testing changes against their own vaults and configuration before use.