All Developer News

v4.1.0

SDK/CLI

v4.1 adds a public address parser, HyperCore helpers for pre-hooks, order and price scales and the best bid and ask, and Morpho oracle feeds in the oracle mapping. It applies to Python code and CLI users on 4.0.

New

1. Checksum address parser

Now: parse_checksum_address turns 20 raw bytes, or hex with a 0x or 0X prefix in any case, into a ChecksumAddress. It applies the same strict validation as the other parsers.

Usage: parse_checksum_address(value). The role parsers parse_plasma_vault_address, parse_fuse_address and parse_access_manager_address build on it.

2. HyperCore pre-hook wiring (preview)

Now: HyperCorePreHookWiring in ipor_fusion.hypercore holds the capital-flow and pending-action pre-hook addresses. Its set_pre_hook_implementations builds the setPreHookImplementations call that installs them on the vault’s eight entry points.

Usage: HyperCorePreHookWiring(...).set_pre_hook_implementations(vault). One address for both hooks is rejected. The selectors are public as HYPERCORE_CAPITAL_FLOW_SELECTORS and HYPERCORE_PENDING_ACTION_SELECTORS.

3. HyperCore order and price scales (preview)

Now: ipor_fusion.hypercore exports the fixed-point scales HyperCore integers use: ORDER_DECIMALS (8) for sz and limit_px of HyperCoreOrderFuse.enter, and PERP_MAX_DECIMALS (6) with perp_px_decimals(sz_decimals) for a perp’s mark_px and oracle_px. USD6_DECIMALS is exported from the same module.

Usage: the constants and perp_px_decimals are imported from ipor_fusion.hypercore.

4. HyperCore best bid and ask (preview)

Now: HyperCoreReader.bbo(asset) reads the 0x80E precompile and returns HyperCoreBbo(bid, ask). An empty side of the book reads as None.

Usage: bbo takes the action asset an order takes. This differs from the read index the other perp reads take.

5. Morpho oracle feeds in the oracle mapping

Before: a Morpho collateral feed reported only the oracle’s address and price. The freshness of the collateral/loan rate could not be read.

Now: source_detail.oracle_feeds lists the feeds behind the oracle (BASE_FEED_1/2, QUOTE_FEED_1/2) with their role, address, description and latestRoundData round. Unused slots are skipped. The field is null when the oracle does not expose these getters.

Usage: fusion vault oracle-mapping --json, typed as MorphoOracleFeedJson. Values are raw, with no staleness judgment.

6. TAC support in the vault tooling

Before: chain 239 (TAC) raised UnsupportedChainError.

Now: TAC is back in SUPPORTED_CHAIN_IDS.

Usage: fusion vault info, validate, role-accounts and oracle-mapping accept chain 239.


Upgrade with pip install -U ipor-fusion. Full changelog: v4.1.0 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.