ipor-fusion 4.0.0.dev291__tar.gz → 4.0.0.dev293__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/AGENTS.md +11 -1
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/PKG-INFO +7 -3
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/README.md +6 -2
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/pyproject.toml +1 -1
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/about.py +2 -1
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/mcp/models.py +3 -2
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/.claude-plugin/marketplace.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/.claude-plugin/plugin.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/.env.example +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/.gemini/settings.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/.git-blame-ignore-revs +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/.github/workflows/cd.yml +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/.github/workflows/ci.yml +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/.github/workflows/commit-lint.yml +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/.github/workflows/notify-slack.yml +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/.github/workflows/python-build.yml +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/.github/workflows/python-publish.yml +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/.github/workflows/release.yml +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/.github/workflows/report-slack.yml +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/.gitignore +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/.pre-commit-config.yaml +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/.python-version +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/CHANGELOG.md +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/CLAUDE.md +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/CODEOWNERS +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/LICENSE +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/MIGRATION_4.md +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/build.sh +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/examples/CONTRIBUTING.md +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/examples/README.md +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/examples/advanced_euler_v2_credit_market_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/examples/advanced_euler_v2_looping_arbitrum.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/examples/composed_hypercore_flow_arbitrum_hyperevm.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/examples/crosschain_ccip_usdc_arbitrum_hyperevm.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/examples/external_state_margin_leg_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/examples/simple_aave_v3_supply_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/pytest.ini +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/scripts/commit-check.sh +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/scripts/crosschain_readiness.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/skills/ipor-deploy-vault/SKILL.md +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cache.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/chains.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/address_cmd.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/changelog_cmd.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/config_cmd.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/config_store.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/main.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/market_cmd.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/options.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/oracle_mapping_view.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/vault_cmd.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/vault_health.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/vault_info_view.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/vault_markets_view.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/vault_rendering.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/config/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/config/roles.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/access.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/address.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/context.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/context_manager.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/contract.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/erc20.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/external_state_executor.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/fee_manager.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/fuse.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/fuse_action.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/fusion_factory.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/logs.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/multicall.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/oracle.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/plasma_vault.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/rewards_manager.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/simulation.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/simulation_result.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/withdraw_manager.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/chainlink.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/codec.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/contracts.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/events.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/indexer.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/lane.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/quote.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/transport.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/contracts.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/discovery.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/errors.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/fuses/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/fuses/base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/fuses/ccip.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/fuses/stargate.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/lane.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/logs.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/messages.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/simulation.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/stargate/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/stargate/contracts.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/stargate/lane.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/stargate/layerzero.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/stargate/transport.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/transport.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/dependency_graph.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/entry_cli.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/entry_mcp.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/errors.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/explorer.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/field_docs.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/aave_v3.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/async_action.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/compound_v3.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/erc4626.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/euler_v2.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/events.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/external_state.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/external_state_event_decoding.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/fluid_instadapp.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/gearbox_v3.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/hypercore_event_decoding.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/merkl.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/morpho.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/ramses_v2.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/uniswap_v3.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/universal.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/guide/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/guide/architecture.md +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/guide/glossary.md +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/guide/invariants.md +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/guide/quickstart.md +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/hypercore/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/market_ids.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/market_info.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/mcp/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/mcp/guide.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/mcp/server.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/morpho_api.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/py.typed +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/aave_v3.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/aave_v4.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/compound_v3.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/hypercore_outcome.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/lending_health.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/morpho.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/oracle_mapping.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/oracle_mapping_nodes.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/oracle_mapping_reader.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/position_manager.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/ramses_v2.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/uniswap_v3.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/unpriceable.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/registry.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/substrates.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/types.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/validation.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/vault_data.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/vault_erc20.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/vault_info.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/vault_managers.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/vault_positions.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/vault_reads.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/UniswapV3UniversalRouter.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/_crosschain.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/_crosschain_lifecycle.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/_crosschain_recovery.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/_euler_v2.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/_event_args.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/_fake_rpc.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/_foundry.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/_golden.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/_guide.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/_hypercore_model.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/_hypercore_shadow.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/_live.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/_multicall.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/_oracle_mapping_fake.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/_simulate.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/_validation.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/addresses.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/conftest.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/constants.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/hypercore_hip3_flow.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/hypercore_market55.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/hypercore_official.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/market_golden/meta_morpho_v1.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/market_golden/meta_morpho_v1.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/market_golden/meta_morpho_v2.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/market_golden/meta_morpho_v2.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/market_golden/morpho_api/market.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/market_golden/morpho_api/vault_v1.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/market_golden/morpho_api/vault_v2.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/market_golden/morpho_api/vault_v2_not_found.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/market_golden/morpho_blue.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/market_golden/morpho_blue.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/market_golden/morpho_blue_api_error.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/market_golden/morpho_blue_api_error.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/market_golden/morpho_blue_no_api.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/market_golden/morpho_blue_no_api.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/oracle_mapping_golden/mapping.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/oracle_mapping_golden/mapping.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/simulate_v1_request.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/vault_info_golden/clean.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/vault_info_golden/clean.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/vault_info_golden/clean.txt +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/vault_info_golden/deployment_error.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/vault_info_golden/deployment_error.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/vault_info_golden/deployment_error.txt +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/vault_info_golden/fetched.cli.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/vault_info_golden/fetched.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/vault_info_golden/fetched.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/vault_info_golden/full.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/vault_info_golden/full.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/vault_info_golden/full.txt +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/vault_info_golden/rich.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/vault_info_golden/rich.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/fixtures/vault_info_golden/rich.txt +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_about.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_access_manager.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cache.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_chains.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cli_address.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cli_changelog.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cli_commands.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cli_config_store.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cli_helpers.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cli_hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cli_lending_health.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cli_market_golden.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cli_market_morpho_blue.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cli_mcp_parity.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cli_oracle_mapping.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cli_oracle_mapping_golden.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cli_pending_requests_scan.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cli_role_accounts.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cli_vault_info_golden.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cli_vault_predates_getters.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_cli_vault_validate.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_contract_call.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_contract_encoder.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_crosschain_ccip_events.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_crosschain_ccip_indexer.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_crosschain_ccip_quote.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_crosschain_chainlink.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_crosschain_contracts.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_crosschain_encoding.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_crosschain_errors.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_crosschain_lane.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_crosschain_layering.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_crosschain_readiness.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_crosschain_readiness_report.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_crosschain_transport.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_docs_typing.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_erc20.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_error_hierarchy.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_examples_composed_hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_examples_crosschain.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_examples_euler_looping_arbitrum.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_examples_vaults.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_explorer.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_external_state_events.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_external_state_executor.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_fee_manager.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_fuse_encoding.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_fusion_instance.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_governance_wrappers.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_guide.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_hypercore_deployment.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_hypercore_events.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_hypercore_flow.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_hypercore_live.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_hypercore_outcome.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_hypercore_readers.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_hypercore_simulation.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_logs.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_mcp_address.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_mcp_hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_mcp_models.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_mcp_server.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_mcp_vault_validate.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_multicall.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_oracle.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_oracle_mapping.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_plasma_vault.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_public_api.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_public_type_reachability.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_reader_encoding.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_readiness_selection.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_registry.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_revert_decoding.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_rewards_manager.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_roles.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_sdk_layering.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_borrow_aave_v3_mainnet.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_claim_merkl_wrapper_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_claim_morpho_rewards.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_crosschain_canary.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_crosschain_hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_crosschain_hyperevm.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_crosschain_lifecycle.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_euler_v2_batch_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_euler_v2_credit_market_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_euler_v2_swap_deploy_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_euler_v2_swap_reconfigure_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_euler_v2_swap_registry_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_examples_arbitrum.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_examples_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_examples_crosschain.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_external_state_executor_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_fusion_factory_clone_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_looping_aave_v3_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_looping_morpho_blue_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_morpho_blue.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_pilot_v3.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_pilot_v4_uniswap.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_pilot_v5_ramses.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_pilot_v5_scheduled.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_plasma_vault_setters_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_readers_integration.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_release_funds.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_swap_on_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulate_vault_from_scratch_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulation_errors.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_simulation_observation.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_solidity_compiler.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_solidity_mirrors.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_substrates.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_types_and_events.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_unpriceable_tokens.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_validation.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_vault_data_block.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_vault_dep_graph.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_vault_info_fetched_golden.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_vault_info_onchain_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_vault_info_onchain_base_no_withdraw_manager.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_vault_reconciliation_onchain_base.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_vault_simulator_blocks.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_web3_context.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/test_withdraw_manager.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/typed_client/consumer.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/tests/typed_client/rejected.py +0 -0
- {ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/uv.lock +0 -0
|
@@ -154,6 +154,15 @@ the lifecycle matrix follows that.
|
|
|
154
154
|
`commit-lint.yml` fails a PR whose commit subjects or title break it. Never
|
|
155
155
|
hand-bump `project.version`; the release workflow stamps it and re-locks
|
|
156
156
|
`uv.lock`.
|
|
157
|
+
- Preview features (`ipor_fusion.crosschain` with its subpackages, and
|
|
158
|
+
`ipor_fusion.hypercore`) keep no backward compatibility: they follow the
|
|
159
|
+
current official contracts only, and support for retired deployments (the
|
|
160
|
+
pilot executors and factories, canaries) is removed rather than kept beside
|
|
161
|
+
them. From 4.1 on, a breaking change confined to them ships as `feat`/`fix`
|
|
162
|
+
without `!` or a `BREAKING CHANGE:` footer, so it never forces a major
|
|
163
|
+
release; anything it changes outside those packages (the top level, the
|
|
164
|
+
`vault info` document, the CLI and MCP) is still breaking by the usual rules.
|
|
165
|
+
4.0 itself keeps its MIGRATION_4.md entries for them, for 3.x users.
|
|
157
166
|
- This repository is public, and commit messages also ship in `CHANGELOG.md`
|
|
158
167
|
inside the wheel. No issue-tracker keys (`IL-` plus a number), internal hosts,
|
|
159
168
|
dashboard links or private repository names in commits, branch names, PR
|
|
@@ -207,7 +216,8 @@ the lifecycle matrix follows that.
|
|
|
207
216
|
path. Adding or removing a
|
|
208
217
|
name updates the snapshots in `tests/test_public_api.py` (every `__all__`, and
|
|
209
218
|
the names each public module keeps by path); moving a name out of a public
|
|
210
|
-
module leaves a re-export there. A removal or rename is a breaking change
|
|
219
|
+
module leaves a re-export there. A removal or rename is a breaking change,
|
|
220
|
+
except inside a preview package (see Conventions).
|
|
211
221
|
A project type used in a public signature or field is exported too
|
|
212
222
|
(`tests/test_public_type_reachability.py`). The package is `py.typed`, so public APIs stay fully
|
|
213
223
|
annotated.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: ipor-fusion
|
|
3
|
-
Version: 4.0.0.
|
|
3
|
+
Version: 4.0.0.dev293
|
|
4
4
|
Summary: The IPOR Fusion SDK for Python
|
|
5
5
|
Project-URL: homepage, https://ipor.io
|
|
6
6
|
Project-URL: repository, https://github.com/IPOR-Labs/ipor-fusion.py
|
|
@@ -418,7 +418,8 @@ release; adding one does not.
|
|
|
418
418
|
- **Preview features** (`PREVIEW_FEATURES` in `ipor_fusion.about`) export only
|
|
419
419
|
from their own subpackages, `ipor_fusion.crosschain` (with `crosschain.fuses`,
|
|
420
420
|
`crosschain.ccip` and `crosschain.stargate`) and `ipor_fusion.hypercore`, never
|
|
421
|
-
from the top level, and
|
|
421
|
+
from the top level, and keep no backward compatibility: a minor release may
|
|
422
|
+
change or remove them (see [Preview features](#preview-features-ipor_fusioncrosschain-ipor_fusionhypercore)). Their exception classes
|
|
422
423
|
stay in `ipor_fusion.errors`, and the `vault info` document's HyperCore blocks
|
|
423
424
|
(`HyperCoreJson`, ...) stay with the document.
|
|
424
425
|
- **Third-party types** are not re-exported: import `ChecksumAddress` and
|
|
@@ -488,7 +489,10 @@ Fuse.method() --> FuseAction --> PlasmaVault.execute([actions]) --> Call
|
|
|
488
489
|
### Preview features (`ipor_fusion.crosschain`, `ipor_fusion.hypercore`)
|
|
489
490
|
|
|
490
491
|
Not production (see the note at the top) and outside the stable top level:
|
|
491
|
-
import these from their subpackage
|
|
492
|
+
import these from their subpackage. They track the current official contracts
|
|
493
|
+
only, with no backward compatibility: from 4.1 on, a minor release may change or
|
|
494
|
+
remove any of these names and drops support for retired deployments (such as
|
|
495
|
+
the pilot executors and factories). Pin an exact version if you depend on them.
|
|
492
496
|
|
|
493
497
|
| Name | Purpose |
|
|
494
498
|
|------|---------|
|
|
@@ -369,7 +369,8 @@ release; adding one does not.
|
|
|
369
369
|
- **Preview features** (`PREVIEW_FEATURES` in `ipor_fusion.about`) export only
|
|
370
370
|
from their own subpackages, `ipor_fusion.crosschain` (with `crosschain.fuses`,
|
|
371
371
|
`crosschain.ccip` and `crosschain.stargate`) and `ipor_fusion.hypercore`, never
|
|
372
|
-
from the top level, and
|
|
372
|
+
from the top level, and keep no backward compatibility: a minor release may
|
|
373
|
+
change or remove them (see [Preview features](#preview-features-ipor_fusioncrosschain-ipor_fusionhypercore)). Their exception classes
|
|
373
374
|
stay in `ipor_fusion.errors`, and the `vault info` document's HyperCore blocks
|
|
374
375
|
(`HyperCoreJson`, ...) stay with the document.
|
|
375
376
|
- **Third-party types** are not re-exported: import `ChecksumAddress` and
|
|
@@ -439,7 +440,10 @@ Fuse.method() --> FuseAction --> PlasmaVault.execute([actions]) --> Call
|
|
|
439
440
|
### Preview features (`ipor_fusion.crosschain`, `ipor_fusion.hypercore`)
|
|
440
441
|
|
|
441
442
|
Not production (see the note at the top) and outside the stable top level:
|
|
442
|
-
import these from their subpackage
|
|
443
|
+
import these from their subpackage. They track the current official contracts
|
|
444
|
+
only, with no backward compatibility: from 4.1 on, a minor release may change or
|
|
445
|
+
remove any of these names and drops support for retired deployments (such as
|
|
446
|
+
the pilot executors and factories). Pin an exact version if you depend on them.
|
|
443
447
|
|
|
444
448
|
| Name | Purpose |
|
|
445
449
|
|------|---------|
|
|
@@ -41,7 +41,8 @@ PREVIEW_FEATURES: tuple[PreviewFeature, ...] = (
|
|
|
41
41
|
PREVIEW_STATEMENT = (
|
|
42
42
|
"Preview, not production: the contracts are under active development, the "
|
|
43
43
|
"mainnet deployments are a proof of concept and IPOR Labs canaries, and "
|
|
44
|
-
"interfaces may change between minor versions
|
|
44
|
+
"interfaces may change or be removed between minor versions, with no "
|
|
45
|
+
"backward compatibility."
|
|
45
46
|
)
|
|
46
47
|
|
|
47
48
|
_DISTRIBUTION = "ipor-fusion"
|
|
@@ -1176,8 +1176,9 @@ class PreviewFeatureModel(_Base):
|
|
|
1176
1176
|
default="preview",
|
|
1177
1177
|
description="Always 'preview': not production. The contracts are under "
|
|
1178
1178
|
"active development, the mainnet deployments are a proof of concept "
|
|
1179
|
-
"and IPOR Labs canaries, and interfaces may change
|
|
1180
|
-
"versions
|
|
1179
|
+
"and IPOR Labs canaries, and interfaces may change or be removed "
|
|
1180
|
+
"between minor versions, with no backward compatibility. Route no "
|
|
1181
|
+
"production capital through these features.",
|
|
1181
1182
|
)
|
|
1182
1183
|
|
|
1183
1184
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/examples/advanced_euler_v2_looping_arbitrum.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/examples/external_state_margin_leg_base.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/examples/simple_aave_v3_supply_base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/oracle_mapping_view.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/vault_info_view.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/vault_markets_view.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/cli/vault_rendering.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/context_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/fusion_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/rewards_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/simulation_result.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/core/withdraw_manager.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/__init__.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/__init__.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/chainlink.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/codec.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/contracts.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/events.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/indexer.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/lane.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/quote.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/ccip/transport.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/contracts.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/discovery.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/fuses/__init__.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/fuses/base.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/fuses/ccip.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/fuses/stargate.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/messages.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/simulation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/stargate/lane.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/crosschain/transport.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/external_state.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/fuses/fluid_instadapp.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/compound_v3.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/hypercore_outcome.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/lending_health.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/oracle_mapping.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/position_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev291 → ipor_fusion-4.0.0.dev293}/src/ipor_fusion/readers/unpriceable.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|