ipor-fusion 4.0.0.dev168__tar.gz → 4.0.0.dev171__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.dev168 → ipor_fusion-4.0.0.dev171}/MIGRATION_4.md +9 -1
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/PKG-INFO +1 -1
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/pyproject.toml +1 -1
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/__init__.py +2 -2
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/__init__.py +1 -1
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_public_api.py +10 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/.claude-plugin/marketplace.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/.claude-plugin/plugin.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/.env.example +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/.gemini/settings.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/.git-blame-ignore-revs +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/.github/workflows/cd.yml +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/.github/workflows/ci.yml +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/.github/workflows/commit-lint.yml +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/.github/workflows/notify-slack.yml +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/.github/workflows/python-build.yml +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/.github/workflows/python-publish.yml +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/.github/workflows/release.yml +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/.github/workflows/report-slack.yml +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/.gitignore +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/.pre-commit-config.yaml +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/.python-version +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/AGENTS.md +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/CHANGELOG.md +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/CLAUDE.md +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/CODEOWNERS +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/LICENSE +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/README.md +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/build.sh +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/examples/CONTRIBUTING.md +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/examples/README.md +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/examples/advanced_euler_v2_credit_market_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/examples/advanced_euler_v2_looping_arbitrum.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/examples/composed_hypercore_flow_arbitrum_hyperevm.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/examples/crosschain_ccip_usdc_arbitrum_hyperevm.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/examples/external_state_margin_leg_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/examples/simple_aave_v3_supply_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/pytest.ini +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/scripts/commit-check.sh +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/scripts/crosschain_readiness.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/skills/ipor-deploy-vault/SKILL.md +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/about.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/cache.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/chains.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/cli/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/cli/changelog_cmd.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/cli/config_cmd.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/cli/config_store.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/cli/main.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/cli/market_cmd.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/cli/options.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/cli/oracle_mapping_view.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/cli/vault_cmd.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/cli/vault_health.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/cli/vault_info_view.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/cli/vault_markets_view.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/cli/vault_rendering.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/config/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/config/roles.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/access.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/address.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/context.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/contract.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/erc20.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/external_state_executor.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/fee_manager.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/fuse.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/fuse_action.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/fusion_factory.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/logs.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/multicall.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/oracle.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/plasma_vault.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/rewards_manager.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/simulation.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/withdraw_manager.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/chainlink.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/codec.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/contracts.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/events.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/indexer.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/lane.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/quote.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/transport.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/contracts.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/discovery.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/errors.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/fuses/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/fuses/base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/fuses/ccip.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/fuses/stargate.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/lane.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/logs.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/messages.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/simulation.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/stargate/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/stargate/contracts.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/stargate/lane.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/stargate/layerzero.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/stargate/transport.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/transport.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/dependency_graph.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/entry_cli.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/entry_mcp.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/errors.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/explorer.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/field_docs.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/aave_v3.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/async_action.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/compound_v3.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/erc4626.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/euler_v2.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/events.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/external_state.py +0 -0
- /ipor_fusion-4.0.0.dev168/src/ipor_fusion/fuses/external_state_events.py → /ipor_fusion-4.0.0.dev171/src/ipor_fusion/fuses/external_state_event_decoding.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/fluid_instadapp.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/gearbox_v3.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/hypercore.py +0 -0
- /ipor_fusion-4.0.0.dev168/src/ipor_fusion/fuses/hypercore_events.py → /ipor_fusion-4.0.0.dev171/src/ipor_fusion/fuses/hypercore_event_decoding.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/merkl.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/morpho.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/ramses_v2.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/uniswap_v3.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/universal.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/guide/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/guide/architecture.md +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/guide/glossary.md +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/guide/invariants.md +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/guide/quickstart.md +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/market_ids.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/market_info.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/mcp/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/mcp/guide.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/mcp/models.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/mcp/server.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/morpho_api.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/py.typed +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/aave_v3.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/aave_v4.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/compound_v3.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/hypercore_outcome.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/lending_health.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/morpho.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/oracle_mapping.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/oracle_mapping_nodes.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/oracle_mapping_reader.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/position_manager.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/ramses_v2.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/uniswap_v3.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/unpriceable.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/substrates.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/types.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/validation.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/vault_data.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/vault_erc20.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/vault_info.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/vault_managers.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/vault_positions.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/vault_reads.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/UniswapV3UniversalRouter.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/_crosschain.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/_crosschain_lifecycle.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/_crosschain_recovery.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/_euler_v2.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/_event_args.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/_foundry.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/_golden.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/_guide.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/_hypercore_model.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/_hypercore_shadow.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/_multicall.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/_oracle_mapping_fake.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/_simulate.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/_validation.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/addresses.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/conftest.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/constants.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/hypercore_hip3_flow.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/hypercore_market55.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/market_golden/meta_morpho_v1.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/market_golden/meta_morpho_v1.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/market_golden/meta_morpho_v2.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/market_golden/meta_morpho_v2.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/market_golden/morpho_api/market.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/market_golden/morpho_api/vault_v1.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/market_golden/morpho_api/vault_v2.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/market_golden/morpho_api/vault_v2_not_found.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/market_golden/morpho_blue.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/market_golden/morpho_blue.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/market_golden/morpho_blue_api_error.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/market_golden/morpho_blue_api_error.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/market_golden/morpho_blue_no_api.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/market_golden/morpho_blue_no_api.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/oracle_mapping_golden/mapping.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/oracle_mapping_golden/mapping.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/simulate_v1_request.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/vault_info_golden/clean.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/vault_info_golden/clean.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/vault_info_golden/clean.txt +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/vault_info_golden/deployment_error.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/vault_info_golden/deployment_error.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/vault_info_golden/deployment_error.txt +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/vault_info_golden/full.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/vault_info_golden/full.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/vault_info_golden/full.txt +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/vault_info_golden/rich.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/vault_info_golden/rich.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/vault_info_golden/rich.txt +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_about.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_access_manager.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_cache.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_chains.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_cli_changelog.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_cli_commands.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_cli_config_store.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_cli_helpers.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_cli_hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_cli_lending_health.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_cli_market_golden.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_cli_market_morpho_blue.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_cli_oracle_mapping.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_cli_oracle_mapping_golden.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_cli_pending_requests_scan.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_cli_role_accounts.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_cli_vault_info_golden.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_cli_vault_predates_getters.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_cli_vault_validate.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_contract_call.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_contract_encoder.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_crosschain_ccip_events.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_crosschain_ccip_indexer.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_crosschain_ccip_quote.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_crosschain_chainlink.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_crosschain_contracts.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_crosschain_encoding.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_crosschain_errors.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_crosschain_lane.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_crosschain_layering.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_crosschain_readiness.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_crosschain_readiness_report.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_crosschain_transport.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_docs_typing.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_erc20.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_error_hierarchy.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_examples_composed_hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_examples_crosschain.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_examples_euler_looping_arbitrum.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_examples_vaults.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_explorer.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_external_state_events.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_external_state_executor.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_fee_manager.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_fuse_encoding.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_fusion_instance.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_guide.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_hypercore_deployment.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_hypercore_events.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_hypercore_flow.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_hypercore_live.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_hypercore_outcome.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_hypercore_readers.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_hypercore_simulation.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_logs.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_mcp_hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_mcp_models.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_mcp_server.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_mcp_vault_validate.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_multicall.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_oracle.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_oracle_mapping.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_plasma_vault.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_public_type_reachability.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_reader_encoding.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_readiness_selection.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_revert_decoding.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_rewards_manager.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_roles.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_sdk_layering.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_borrow_aave_v3_mainnet.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_claim_merkl_wrapper_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_claim_morpho_rewards.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_crosschain_canary.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_crosschain_hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_crosschain_hyperevm.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_crosschain_lifecycle.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_euler_v2_batch_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_euler_v2_credit_market_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_euler_v2_swap_deploy_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_euler_v2_swap_reconfigure_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_euler_v2_swap_registry_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_examples_arbitrum.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_examples_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_examples_crosschain.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_external_state_executor_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_fusion_factory_clone_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_looping_aave_v3_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_looping_morpho_blue_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_morpho_blue.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_pilot_v3.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_pilot_v4_uniswap.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_pilot_v5_ramses.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_pilot_v5_scheduled.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_plasma_vault_setters_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_readers_integration.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_release_funds.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_swap_on_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulate_vault_from_scratch_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulation_errors.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_simulation_observation.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_solidity_compiler.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_solidity_mirrors.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_substrates.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_types_and_events.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_unpriceable_tokens.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_validation.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_vault_data_block.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_vault_dep_graph.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_vault_info_onchain_base.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_vault_info_onchain_base_no_withdraw_manager.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_vault_simulator_blocks.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_web3_context.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/test_withdraw_manager.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/typed_client/consumer.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/typed_client/rejected.py +0 -0
- {ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/uv.lock +0 -0
|
@@ -306,6 +306,14 @@ The internal `ipor_fusion.fuses.base` still re-exports them. The CLI's internal
|
|
|
306
306
|
`ipor_fusion.cli.vault_cmd` was split into `options`, `vault_info_view`,
|
|
307
307
|
`vault_markets_view` and `oracle_mapping_view` (private names, not API).
|
|
308
308
|
|
|
309
|
+
**Event decoder modules renamed.** `ipor_fusion.fuses.external_state_events` and
|
|
310
|
+
`ipor_fusion.fuses.hypercore_events` are now `external_state_event_decoding` and
|
|
311
|
+
`hypercore_event_decoding`. The receipt decoder `hypercore_events`, re-exported
|
|
312
|
+
from `ipor_fusion.fuses`, hid its submodule of the same name (`import
|
|
313
|
+
ipor_fusion.fuses.hypercore_events as m` bound the function); the external-state
|
|
314
|
+
module was renamed to match. Import the decoders with `from ipor_fusion import
|
|
315
|
+
external_state_events, hypercore_events`; the modules are internal.
|
|
316
|
+
|
|
309
317
|
**Removed.**
|
|
310
318
|
|
|
311
319
|
- `IporFusionMarkets.RWA`: market 50 is `IporFusionMarkets.EXTERNAL_STATE`.
|
|
@@ -379,7 +387,7 @@ is the wrong one.
|
|
|
379
387
|
from `IporFusionError`, so an `except IporFusionError` placed before their own
|
|
380
388
|
handlers catches them first. All three live in `ipor_fusion.errors`, like every
|
|
381
389
|
other SDK exception, and are exported from `ipor_fusion`; the modules that raise
|
|
382
|
-
them (`ipor_fusion.morpho_api`, `ipor_fusion.fuses.
|
|
390
|
+
them (`ipor_fusion.morpho_api`, `ipor_fusion.fuses.external_state_event_decoding`,
|
|
383
391
|
`ipor_fusion.crosschain.ccip.indexer`) still import the same classes.
|
|
384
392
|
- `AccessManager.read_owner(ctx)` raises the new `OwnerNotFoundError` (a
|
|
385
393
|
`LookupError`) when no account holds `OWNER_ROLE`, instead of an `IndexError`.
|
|
@@ -315,7 +315,7 @@ from ipor_fusion.fuses import (
|
|
|
315
315
|
precompile_index_of,
|
|
316
316
|
system_address,
|
|
317
317
|
)
|
|
318
|
-
from ipor_fusion.fuses.
|
|
318
|
+
from ipor_fusion.fuses.external_state_event_decoding import (
|
|
319
319
|
EXTERNAL_STATE_EVENT_CLASSES,
|
|
320
320
|
EXTERNAL_STATE_EVENT_SPECS,
|
|
321
321
|
EXTERNAL_STATE_EVENTS,
|
|
@@ -343,7 +343,7 @@ from ipor_fusion.fuses.external_state_events import (
|
|
|
343
343
|
external_state_event_name,
|
|
344
344
|
external_state_events,
|
|
345
345
|
)
|
|
346
|
-
from ipor_fusion.fuses.
|
|
346
|
+
from ipor_fusion.fuses.hypercore_event_decoding import (
|
|
347
347
|
HYPERCORE_EVENT_CLASSES,
|
|
348
348
|
HyperCoreActionEnqueuedArgs,
|
|
349
349
|
HyperCoreActionEnqueuedEvent,
|
|
@@ -49,7 +49,7 @@ from ipor_fusion.fuses.hypercore import (
|
|
|
49
49
|
precompile_index_of,
|
|
50
50
|
system_address,
|
|
51
51
|
)
|
|
52
|
-
from ipor_fusion.fuses.
|
|
52
|
+
from ipor_fusion.fuses.hypercore_event_decoding import (
|
|
53
53
|
HYPERCORE_EVENT_CLASSES,
|
|
54
54
|
HYPERCORE_EVENT_SPECS,
|
|
55
55
|
HYPERCORE_EVENTS,
|
|
@@ -8,6 +8,7 @@ visible in review.
|
|
|
8
8
|
|
|
9
9
|
import importlib
|
|
10
10
|
import inspect
|
|
11
|
+
import pkgutil
|
|
11
12
|
import re
|
|
12
13
|
from types import ModuleType
|
|
13
14
|
|
|
@@ -1321,6 +1322,15 @@ def test_every_all_name_resolves(package: str) -> None:
|
|
|
1321
1322
|
assert not missing
|
|
1322
1323
|
|
|
1323
1324
|
|
|
1325
|
+
@pytest.mark.parametrize("package", sorted(_ALL_SNAPSHOT))
|
|
1326
|
+
def test_no_exported_name_hides_a_submodule(package: str) -> None:
|
|
1327
|
+
module = _module(package)
|
|
1328
|
+
if not hasattr(module, "__path__"):
|
|
1329
|
+
return
|
|
1330
|
+
submodules = {info.name for info in pkgutil.iter_modules(module.__path__)}
|
|
1331
|
+
assert not sorted(submodules & set(module.__all__))
|
|
1332
|
+
|
|
1333
|
+
|
|
1324
1334
|
@pytest.mark.parametrize(
|
|
1325
1335
|
"package", sorted(set(_ALL_SNAPSHOT) - _NOT_REEXPORTED - {"ipor_fusion"})
|
|
1326
1336
|
)
|
|
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
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/examples/advanced_euler_v2_looping_arbitrum.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/examples/external_state_margin_leg_base.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/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
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/cli/oracle_mapping_view.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/cli/vault_info_view.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/cli/vault_markets_view.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/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.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/rewards_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/core/withdraw_manager.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/__init__.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/__init__.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/chainlink.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/codec.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/contracts.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/events.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/indexer.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/lane.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/quote.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/ccip/transport.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/contracts.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/discovery.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/fuses/__init__.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/fuses/base.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/fuses/ccip.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/fuses/stargate.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/messages.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/simulation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/crosschain/stargate/lane.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/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
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/fuses/external_state.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/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.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/compound_v3.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/hypercore_outcome.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/lending_health.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/oracle_mapping.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/src/ipor_fusion/readers/position_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/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
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/hypercore_hip3_flow.json
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev168 → ipor_fusion-4.0.0.dev171}/tests/fixtures/hypercore_market55.json
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
|