ipor-fusion 4.1.0.dev48__tar.gz → 4.1.0.dev50__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.1.0.dev48 → ipor_fusion-4.1.0.dev50}/PKG-INFO +1 -1
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/pyproject.toml +1 -1
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_sdk_layering.py +11 -4
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/.claude-plugin/marketplace.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/.claude-plugin/plugin.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/.env.example +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/.gemini/settings.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/.git-blame-ignore-revs +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/.github/workflows/cd.yml +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/.github/workflows/ci.yml +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/.github/workflows/commit-lint.yml +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/.github/workflows/notify-slack.yml +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/.github/workflows/python-build.yml +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/.github/workflows/python-publish.yml +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/.github/workflows/release.yml +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/.github/workflows/report-slack.yml +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/.gitignore +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/.pre-commit-config.yaml +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/.python-version +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/AGENTS.md +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/CHANGELOG.md +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/CLAUDE.md +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/CODEOWNERS +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/LICENSE +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/MIGRATION_4.md +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/README.md +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/build.sh +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/examples/CONTRIBUTING.md +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/examples/README.md +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/examples/advanced_euler_v2_credit_market_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/examples/advanced_euler_v2_looping_arbitrum.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/examples/crosschain_ccip_usdc_arbitrum_hyperevm.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/examples/external_state_margin_leg_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/examples/hypercore_vault_official_deployment_hyperevm.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/examples/simple_aave_v3_supply_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/pytest.ini +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/scripts/commit-check.sh +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/scripts/fusion_error_signatures.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/skills/ipor-deploy-vault/SKILL.md +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/about.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cache.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/chains.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cli/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cli/address_cmd.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cli/changelog_cmd.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cli/config_cmd.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cli/config_store.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cli/main.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cli/market_cmd.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cli/options.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cli/oracle_mapping_view.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cli/preflight_cmd.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cli/vault_cmd.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cli/vault_health.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cli/vault_info_view.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cli/vault_markets_view.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cli/vault_rendering.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/config/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/config/roles.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/access.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/address.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/context.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/context_manager.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/contract.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/erc20.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/external_state_executor.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/fee_manager.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/fuse.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/fuse_action.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/fuse_decoding.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/fusion_factory.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/logs.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/multicall.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/oracle.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/plasma_vault.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/rewards_manager.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/simulation.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/simulation_result.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/withdraw_manager.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/ccip/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/ccip/chainlink.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/ccip/codec.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/ccip/contracts.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/ccip/events.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/ccip/indexer.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/ccip/lane.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/ccip/quote.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/ccip/transport.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/contracts.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/discovery.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/errors.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/fuses/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/fuses/base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/fuses/ccip.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/fuses/stargate.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/lane.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/logs.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/messages.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/simulation.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/stargate/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/stargate/contracts.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/stargate/lane.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/stargate/layerzero.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/stargate/transport.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/transport.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/dependency_graph.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/entry_cli.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/entry_mcp.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/errors.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/explorer.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/field_docs.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/aave_v3.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/async_action.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/compound_v3.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/erc4626.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/euler_v2.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/events.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/external_state.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/external_state_event_decoding.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/fluid_instadapp.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/gearbox_v3.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/hypercore.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/hypercore_event_decoding.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/hypercore_pre_hooks.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/merkl.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/morpho.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/ramses_v2.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/uniswap_v3.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/universal.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fusion_errors.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/guide/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/guide/architecture.md +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/guide/glossary.md +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/guide/invariants.md +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/guide/quickstart.md +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/hypercore/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/market_ids.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/market_info.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/mcp/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/mcp/guide.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/mcp/models.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/mcp/server.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/morpho_api.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/preflight.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/py.typed +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/aave_v3.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/aave_v4.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/compound_v3.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/euler_v2.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/hypercore.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/hypercore_outcome.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/lending_health.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/morpho.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/oracle_mapping.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/oracle_mapping_nodes.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/oracle_mapping_reader.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/position_manager.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/ramses_v2.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/uniswap_v3.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/unpriceable.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/registry.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/substrates.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/types.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/validation.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/vault_data.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/vault_erc20.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/vault_info.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/vault_managers.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/vault_positions.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/vault_reads.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/UniswapV3UniversalRouter.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/_addresses.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/_crosschain.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/_crosschain_lifecycle.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/_crosschain_recovery.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/_euler_v2.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/_event_args.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/_fake_rpc.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/_foundry.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/_golden.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/_guide.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/_hypercore_model.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/_hypercore_shadow.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/_live.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/_multicall.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/_oracle_mapping_fake.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/_simulate.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/_validation.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/addresses.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/conftest.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/constants.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/hypercore_hip3_flow.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/hypercore_market55.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/hypercore_official.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/market_golden/meta_morpho_v1.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/market_golden/meta_morpho_v1.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/market_golden/meta_morpho_v2.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/market_golden/meta_morpho_v2.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/market_golden/morpho_api/market.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/market_golden/morpho_api/vault_v1.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/market_golden/morpho_api/vault_v2.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/market_golden/morpho_api/vault_v2_not_found.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/market_golden/morpho_blue.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/market_golden/morpho_blue.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/market_golden/morpho_blue_api_error.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/market_golden/morpho_blue_api_error.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/market_golden/morpho_blue_no_api.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/market_golden/morpho_blue_no_api.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/oracle_mapping_golden/mapping.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/oracle_mapping_golden/mapping.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/simulate_v1_request.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/vault_info_golden/clean.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/vault_info_golden/clean.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/vault_info_golden/clean.txt +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/vault_info_golden/deployment_error.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/vault_info_golden/deployment_error.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/vault_info_golden/deployment_error.txt +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/vault_info_golden/fetched.cli.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/vault_info_golden/fetched.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/vault_info_golden/fetched.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/vault_info_golden/full.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/vault_info_golden/full.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/vault_info_golden/full.txt +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/vault_info_golden/rich.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/vault_info_golden/rich.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/vault_info_golden/rich.txt +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_about.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_access_manager.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_addresses_helper.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cache.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_chains.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_address.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_changelog.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_commands.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_config_store.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_helpers.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_hypercore.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_lending_health.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_market_golden.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_market_morpho_blue.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_mcp_parity.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_oracle_mapping.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_oracle_mapping_golden.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_pending_requests_scan.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_preflight.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_role_accounts.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_vault_info_golden.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_vault_predates_getters.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_cli_vault_validate.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_contract_call.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_contract_encoder.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_crosschain_ccip_events.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_crosschain_ccip_indexer.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_crosschain_ccip_quote.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_crosschain_chainlink.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_crosschain_contracts.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_crosschain_encoding.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_crosschain_errors.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_crosschain_lane.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_crosschain_layering.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_crosschain_transport.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_docs_typing.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_erc20.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_error_hierarchy.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_examples_crosschain.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_examples_euler_looping_arbitrum.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_examples_hypercore_hyperevm.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_examples_vaults.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_explorer.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_external_state_events.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_external_state_executor.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_fee_manager.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_fuse_decoding.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_fuse_encoding.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_fusion_errors.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_fusion_instance.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_governance_wrappers.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_guide.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_hypercore_deployment.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_hypercore_events.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_hypercore_flow.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_hypercore_live.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_hypercore_outcome.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_hypercore_pre_hooks.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_hypercore_readers.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_hypercore_simulation.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_logs.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_mcp_address.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_mcp_hypercore.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_mcp_models.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_mcp_preflight.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_mcp_server.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_mcp_vault_validate.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_multicall.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_oracle.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_oracle_mapping.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_plasma_vault.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_preflight.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_public_api.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_public_type_reachability.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_reader_encoding.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_registry.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_revert_decoding.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_rewards_manager.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_roles.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_borrow_aave_v3_mainnet.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_claim_merkl_wrapper_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_claim_morpho_rewards.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_crosschain_hyperevm.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_euler_v2_batch_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_euler_v2_credit_market_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_euler_v2_swap_deploy_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_euler_v2_swap_reconfigure_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_euler_v2_swap_registry_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_examples_arbitrum.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_examples_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_examples_crosschain.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_examples_hyperevm.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_external_state_executor_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_fusion_factory_clone_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_looping_aave_v3_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_looping_morpho_blue_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_morpho_blue.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_pilot_v3.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_pilot_v4_uniswap.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_pilot_v5_ramses.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_pilot_v5_scheduled.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_plasma_vault_setters_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_preflight_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_readers_integration.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_release_funds.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_swap_on_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_timelock_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulate_vault_from_scratch_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulation_errors.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_simulation_observation.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_solidity_compiler.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_solidity_mirrors.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_substrates.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_types_and_events.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_unpriceable_tokens.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_validation.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_vault_data_block.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_vault_dep_graph.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_vault_info_fetched_golden.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_vault_info_onchain_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_vault_info_onchain_base_no_withdraw_manager.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_vault_reconciliation_onchain_base.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_vault_simulator_blocks.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_web3_context.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/test_withdraw_manager.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/typed_client/consumer.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/typed_client/rejected.py +0 -0
- {ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/uv.lock +0 -0
|
@@ -40,16 +40,23 @@ class _Blocked:
|
|
|
40
40
|
return None
|
|
41
41
|
|
|
42
42
|
sys.meta_path.insert(0, _Blocked())
|
|
43
|
-
|
|
43
|
+
for module in sys.argv[1:]:
|
|
44
|
+
importlib.import_module(module)
|
|
44
45
|
leaked = sorted(m for m in sys.modules if m.startswith("ipor_fusion.cli"))
|
|
45
46
|
assert not leaked, leaked
|
|
46
47
|
"""
|
|
47
48
|
|
|
48
49
|
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
# A fresh interpreter, since anything the test process already imported (click,
|
|
51
|
+
# ipor_fusion.cli) would pass unseen. One for all modules: importing any of them
|
|
52
|
+
# runs ``ipor_fusion/__init__`` first, which imports the rest, so separate
|
|
53
|
+
# processes would load the same set. Both checks (the click block and the
|
|
54
|
+
# ipor_fusion.cli assert) see everything the modules load together. A blocked
|
|
55
|
+
# click import fails with its import chain; a leaked CLI module is listed by
|
|
56
|
+
# name. An interpreter start costs seconds on a slow filesystem, once per process.
|
|
57
|
+
def test_core_modules_import_without_the_cli_layer() -> None:
|
|
51
58
|
result = subprocess.run( # noqa: S603
|
|
52
|
-
[sys.executable, "-c", _PROBE,
|
|
59
|
+
[sys.executable, "-c", _PROBE, *CORE_MODULES],
|
|
53
60
|
capture_output=True,
|
|
54
61
|
text=True,
|
|
55
62
|
check=False,
|
|
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.1.0.dev48 → ipor_fusion-4.1.0.dev50}/examples/advanced_euler_v2_credit_market_base.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/examples/advanced_euler_v2_looping_arbitrum.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/examples/external_state_margin_leg_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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cli/oracle_mapping_view.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/cli/vault_markets_view.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
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/external_state_executor.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
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/simulation_result.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/core/withdraw_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/ccip/__init__.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/ccip/chainlink.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/ccip/codec.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/ccip/contracts.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/ccip/events.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/ccip/indexer.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/ccip/quote.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/ccip/transport.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/fuses/__init__.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/fuses/base.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/fuses/ccip.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/fuses/stargate.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/simulation.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/stargate/__init__.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/stargate/contracts.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/stargate/lane.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/stargate/layerzero.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/crosschain/stargate/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/fluid_instadapp.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/fuses/hypercore_pre_hooks.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.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/hypercore_outcome.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/lending_health.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/oracle_mapping.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/oracle_mapping_nodes.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/oracle_mapping_reader.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/src/ipor_fusion/readers/position_manager.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
|
|
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.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/market_golden/meta_morpho_v1.json
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev48 → ipor_fusion-4.1.0.dev50}/tests/fixtures/market_golden/meta_morpho_v2.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|