v3.8.0
New features
- Cross-chain vaults (preview). Move funds and commands between Fusion vaults on different chains over Chainlink CCIP and Stargate: find a deployment, attest remote balances, quote the bridge fee, execute a stuck message by hand, simulate deployments and decode the cross-chain events and errors. A full example runs the Arbitrum to HyperEVM lifecycle.
- Readiness checks for the Arbitrum and HyperEVM route flag messages that will need manual execution.
- HyperCore (preview): read the outcome of transfers between a vault and HyperCore.
- Simulations: a simulated call shows its decoded revert reason, can be given a gas cap, and can be funded by setting token balances directly.
fusionCLI: flags tokens a vault may hold but its price oracle cannot price.- Botanix and Ink are recognised by name.
Bug fixes
- Simulations merge state changes made in the same block, keep them across empty blocks and model block timestamps explicitly; a successful simulated call no longer reports a revert reason.
- HyperCore transfers still in transit are told apart from completed ones.
- Cross-chain: the token decimal conversion rate is read from the bridge, Stargate needs its asset and decimals set explicitly, and a relay settles at its round limit.
Security improvements
- Cross-chain transfers are refused between tokens with different decimals, and duplicate chain settings, malformed permissions, minimum-receive limits the bridge cannot enforce and malformed messages are rejected.
- Remote balances are attested only after the commands and recalls they depend on have settled.
- Vulnerable indirect dependencies upgraded.
Upgrade with pip install -U ipor-fusion. Full notes: v3.8.0 on GitHub.