v3.6.10
v3.6.10 batches vault reads through Multicall3 and cuts each read to one round trip. It applies to anyone who reads vaults through the SDK or the fusion CLI. fusion config show now prints RPC provider URLs masked to scheme and host.
New
1. Batched reads with Multicall3
Now: Multicall3(ctx).aggregate(calls) runs many Call[T] reads in one aggregate3 round trip at a single block. try_aggregate(calls) returns None for each failed or undecodable read.
Usage: a list of Call[T] reads is passed to aggregate() or try_aggregate() on Multicall3(ctx). aggregate() raises for a failed read, as Call.call() would. Where Multicall3 is not deployed, both fall back to one eth_call per read.
2. Faster vault info
Before: fusion vault info took 4 to 9 seconds per vault. It made one eth_call per read across dependent phases.
Now: vault info runs independent pipelines concurrently, each a short chain of Multicall3 batches. It takes 0.7 to 2 seconds per vault, with the same output at pinned blocks.
Impact: None for existing code.
3. Fewer chain id requests
Before: web3’s validation middleware fetched eth_chainId, uncached, on the request and the response of every eth_call and eth_estimateGas. Each read took three round trips.
Now: Web3Context.from_url drops that middleware, and each read is one round trip. build_transaction still sets chainId from the chain id read at construction.
Impact: None for existing code.
Breaking changes
1. Masked provider URLs in config show
Before: fusion config show printed the stored RPC provider URL verbatim. Provider URLs carry the API key in the path, the query string or the userinfo.
Now: the command shows the scheme and host only. An unparsable value shows as ***. The stored configuration is unchanged.
Applies to: scripts that read the provider URL from the output of fusion config show. The stored value stays in ~/.config/ipor-fusion/config.json.
Upgrade with pip install -U ipor-fusion. Full changelog: v3.6.10 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.