v4.0.0
Most 3.x code needs changes. Read the migration guide before upgrading. Many 3.x calls fail only when the line runs, so test your reads against a real node, not only your test suite.
Breaking changes
- The context goes to the call. Wrappers take only an address (
PlasmaVault(vault)); pass the context when executing (.call(ctx),.send(ctx)). Methods that read the chain areread_*(ctx, ...). - Typed ids, addresses and amounts (
ChainId,MarketId,PlasmaVaultAddress,Amount, …). Raw input goes throughparse_*. - One vault snapshot.
fetch_vault_data(ctx, vault)reads everything at one block; validation andfusion vault infoare built from it. - Typed batches and simulations.
batch.add(call)andVaultSimulator.observe(call)return handles you read afterrun();SimulationResult.getis removed. - Market limits are WAD shares (
10**18= 100%). 3.x documented them as asset amounts, so check limits you set with 3.x. - CLI and MCP JSON output changed.
vault validatereturns onefindingslist (filter byseverity) instead of separate warning and critical lists, and absent optional fields are left out instead ofnull. - Morpho amounts may change. Share conversion now uses Morpho Blue’s exact integer math, and 3.x figures could be far off. Recheck thresholds built on them.
- Renamed and removed:
RWAis nowEXTERNAL_STATE,MORPHO_BLUE_ADDRESSis nowmorpho_blue_address(chain_id), cross-chain and HyperCore names import only fromipor_fusion.crosschainandipor_fusion.hypercore, and every SDK exception derives fromIporFusionError. The full list is in the migration guide.
New features
preflight_executeandfusion vault preflightcheck anexecutebatch before you sign it.- Timelocked AccessManager operations: plan, schedule, execute and cancel.
fetch_address_registry(chain_id)andfusion addresslook up IPOR Fusion addresses by name.- Contract reverts are decoded by name instead of a bare selector.
- Exact decimal conversion with
parse_amountandformat_amount. - 11 chains, now including Ink and Robinhood. Python 3.11 to 3.13.
- Cross-chain and HyperCore (preview): the modules follow the official 2026-10-21 deployment only; pilot and canary deployments are no longer supported.
Bug fixes
- Validation reports a read that fails as a warning instead of a silent zero.
Upgrade with pip install -U ipor-fusion after reading the migration guide. Full notes on GitHub: v4.0.0.