ipor-fusion 4.0.0.dev141__tar.gz → 4.0.0.dev144__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.dev141 → ipor_fusion-4.0.0.dev144}/MIGRATION_4.md +13 -10
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/PKG-INFO +1 -1
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/pyproject.toml +1 -1
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/oracle_mapping.py +2 -2
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_docs_typing.py +5 -1
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/.claude-plugin/marketplace.json +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/.claude-plugin/plugin.json +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/.env.example +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/.gemini/settings.json +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/.git-blame-ignore-revs +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/.github/workflows/cd.yml +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/.github/workflows/ci.yml +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/.github/workflows/commit-lint.yml +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/.github/workflows/notify-slack.yml +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/.github/workflows/python-build.yml +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/.github/workflows/python-publish.yml +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/.github/workflows/release.yml +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/.github/workflows/report-slack.yml +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/.gitignore +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/.pre-commit-config.yaml +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/.python-version +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/AGENTS.md +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/CHANGELOG.md +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/CLAUDE.md +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/CODEOWNERS +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/LICENSE +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/README.md +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/build.sh +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/examples/CONTRIBUTING.md +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/examples/README.md +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/examples/advanced_euler_v2_credit_market_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/examples/advanced_euler_v2_looping_arbitrum.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/examples/composed_hypercore_flow_arbitrum_hyperevm.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/examples/crosschain_ccip_usdc_arbitrum_hyperevm.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/examples/external_state_margin_leg_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/examples/simple_aave_v3_supply_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/pytest.ini +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/scripts/commit-check.sh +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/scripts/crosschain_readiness.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/skills/ipor-deploy-vault/SKILL.md +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/about.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/cache.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/chains.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/cli/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/cli/changelog_cmd.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/cli/config_cmd.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/cli/config_store.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/cli/main.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/cli/market_cmd.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/cli/options.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/cli/oracle_mapping_view.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/cli/vault_cmd.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/cli/vault_health.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/cli/vault_info_view.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/cli/vault_markets_view.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/cli/vault_rendering.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/config/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/config/roles.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/access.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/address.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/context.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/contract.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/erc20.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/external_state_executor.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/fee_manager.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/fuse.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/fuse_action.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/fusion_factory.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/logs.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/multicall.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/oracle.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/plasma_vault.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/rewards_manager.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/simulation.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/withdraw_manager.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/chainlink.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/codec.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/contracts.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/events.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/indexer.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/lane.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/quote.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/transport.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/contracts.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/discovery.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/errors.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/fuses/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/fuses/base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/fuses/ccip.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/fuses/stargate.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/lane.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/logs.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/messages.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/simulation.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/stargate/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/stargate/contracts.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/stargate/lane.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/stargate/layerzero.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/stargate/transport.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/transport.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/dependency_graph.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/entry_cli.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/entry_mcp.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/errors.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/explorer.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/field_docs.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/aave_v3.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/async_action.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/compound_v3.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/erc4626.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/euler_v2.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/events.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/external_state.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/external_state_events.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/fluid_instadapp.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/gearbox_v3.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/hypercore_events.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/merkl.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/morpho.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/ramses_v2.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/uniswap_v3.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/universal.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/guide/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/guide/architecture.md +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/guide/glossary.md +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/guide/invariants.md +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/guide/quickstart.md +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/market_ids.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/market_info.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/mcp/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/mcp/guide.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/mcp/models.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/mcp/server.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/morpho_api.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/py.typed +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/aave_v3.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/aave_v4.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/compound_v3.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/hypercore_outcome.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/lending_health.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/morpho.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/oracle_mapping_nodes.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/oracle_mapping_reader.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/position_manager.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/ramses_v2.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/uniswap_v3.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/unpriceable.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/substrates.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/types.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/validation.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/vault_data.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/vault_erc20.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/vault_info.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/vault_managers.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/vault_positions.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/vault_reads.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/UniswapV3UniversalRouter.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/_crosschain.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/_crosschain_lifecycle.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/_crosschain_recovery.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/_euler_v2.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/_foundry.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/_guide.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/_hypercore_model.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/_hypercore_shadow.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/_multicall.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/_simulate.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/_validation.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/addresses.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/conftest.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/constants.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/fixtures/hypercore_hip3_flow.json +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/fixtures/hypercore_market55.json +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/fixtures/vault_info_golden/clean.json +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/fixtures/vault_info_golden/clean.txt +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/fixtures/vault_info_golden/rich.json +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/fixtures/vault_info_golden/rich.txt +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_about.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_access_manager.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_cache.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_chains.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_cli_changelog.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_cli_commands.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_cli_config_store.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_cli_helpers.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_cli_hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_cli_lending_health.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_cli_market_morpho_blue.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_cli_oracle_mapping.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_cli_pending_requests_scan.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_cli_role_accounts.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_cli_vault_info_golden.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_cli_vault_predates_getters.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_cli_vault_validate.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_contract_call.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_contract_encoder.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_crosschain_ccip_events.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_crosschain_ccip_indexer.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_crosschain_ccip_quote.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_crosschain_chainlink.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_crosschain_contracts.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_crosschain_encoding.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_crosschain_errors.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_crosschain_lane.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_crosschain_layering.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_crosschain_readiness.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_crosschain_readiness_report.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_crosschain_transport.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_erc20.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_error_hierarchy.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_examples_composed_hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_examples_crosschain.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_examples_euler_looping_arbitrum.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_examples_vaults.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_explorer.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_external_state_events.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_external_state_executor.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_fee_manager.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_fuse_encoding.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_fusion_instance.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_guide.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_hypercore_deployment.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_hypercore_events.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_hypercore_flow.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_hypercore_live.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_hypercore_outcome.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_hypercore_readers.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_hypercore_simulation.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_logs.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_mcp_hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_mcp_models.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_mcp_server.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_mcp_vault_validate.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_multicall.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_oracle.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_oracle_mapping.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_plasma_vault.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_public_api.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_public_type_reachability.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_reader_encoding.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_readiness_selection.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_revert_decoding.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_rewards_manager.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_roles.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_sdk_layering.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_borrow_aave_v3_mainnet.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_claim_merkl_wrapper_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_claim_morpho_rewards.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_crosschain_canary.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_crosschain_hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_crosschain_hyperevm.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_crosschain_lifecycle.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_euler_v2_batch_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_euler_v2_credit_market_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_euler_v2_swap_deploy_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_euler_v2_swap_reconfigure_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_euler_v2_swap_registry_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_examples_arbitrum.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_examples_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_examples_crosschain.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_external_state_executor_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_fusion_factory_clone_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_looping_aave_v3_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_looping_morpho_blue_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_morpho_blue.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_pilot_v3.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_pilot_v4_uniswap.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_pilot_v5_ramses.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_pilot_v5_scheduled.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_plasma_vault_setters_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_readers_integration.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_release_funds.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_swap_on_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_simulate_vault_from_scratch_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_solidity_compiler.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_solidity_mirrors.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_substrates.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_types_and_events.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_unpriceable_tokens.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_validation.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_vault_dep_graph.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_vault_info_onchain_base.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_vault_info_onchain_base_no_withdraw_manager.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_vault_simulator_blocks.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_web3_context.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/test_withdraw_manager.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/typed_client/consumer.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/typed_client/rejected.py +0 -0
- {ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/uv.lock +0 -0
|
@@ -6,10 +6,11 @@ the details, and each change is described once, in its section.
|
|
|
6
6
|
|
|
7
7
|
## Start here
|
|
8
8
|
|
|
9
|
-
> **
|
|
10
|
-
> `
|
|
11
|
-
>
|
|
12
|
-
>
|
|
9
|
+
> **Most 3.x calls fail only when the line runs.** A removed import
|
|
10
|
+
> (`ipor_fusion.fuses.crosschain`, `NavMark`, the 3.x cache functions) fails at
|
|
11
|
+
> import, but `PlasmaVault(ctx, address)`, `ERC20(ctx, token)` or any other
|
|
12
|
+
> `Wrapper(ctx, ...)` raises `TypeError` only when that line executes, and so does
|
|
13
|
+
> `call.call()` without a context. A service that wraps its reads in a broad `except Exception` degrades
|
|
13
14
|
> silently (empty values, skipped vaults) instead of failing. Before you deploy:
|
|
14
15
|
>
|
|
15
16
|
> - search for wrappers built with a context (`(ctx,`, `(self.ctx,`, `(self._ctx,`)
|
|
@@ -189,8 +190,7 @@ The vault read is one pinned snapshot, and the chain is always the context's:
|
|
|
189
190
|
no longer takes `resolve_symbol`. `metadata=True` names the ERC20 holdings in the
|
|
190
191
|
result and its findings. `validate_vault_state(state)` is pure: a custom
|
|
191
192
|
`VaultState` also provides `vault`, `chain_id`, `market_balances`, `erc20` and the
|
|
192
|
-
queue's `shares_to_release_assets`.
|
|
193
|
-
`VaultData.erc20`.
|
|
193
|
+
queue's `shares_to_release_assets`.
|
|
194
194
|
- `build_vault_info_json(data, *, resolve_name=None)` renders from the snapshot and
|
|
195
195
|
reads nothing; the chain and its label come from `data.chain_id`. Without
|
|
196
196
|
`resolve_name` it names no contract (see
|
|
@@ -280,7 +280,8 @@ fails at run time:
|
|
|
280
280
|
zero-address placeholder. `execute()` without `vault` and `alpha` raises
|
|
281
281
|
`ValueError`, as does `execute_call` without `from_` or `alpha`.
|
|
282
282
|
- `fetch_unpriceable_priced_tokens(ctx, *, price_oracle, underlying, balance_fuses,
|
|
283
|
-
market_substrates, morpho_positions)` takes everything after `ctx` by keyword
|
|
283
|
+
market_substrates, morpho_positions)` takes everything after `ctx` by keyword, and
|
|
284
|
+
its `oracle_address` parameter is renamed `price_oracle`.
|
|
284
285
|
- `get_contract_name(chain_id, address, *, api_key=None, cache=None)` and
|
|
285
286
|
`get_deployment_tx(chain_id, address, *, api_key=None)` take `api_key` by keyword.
|
|
286
287
|
- `build_morpho_blue_market_json(*, market_id, chain_id, params, state, rates,
|
|
@@ -346,9 +347,11 @@ is the wrong one.
|
|
|
346
347
|
- The Morpho API client raises `MorphoApiError` for every answer it cannot use and
|
|
347
348
|
every transport failure, never `KeyError`, `TypeError` or `ValueError`:
|
|
348
349
|
- a required market id or address (market and V1 allocation ids, V1 flow-cap ids,
|
|
349
|
-
vault/asset/owner/token/oracle/IRM
|
|
350
|
-
|
|
351
|
-
|
|
350
|
+
vault/asset/owner/token/oracle/IRM addresses) that is absent or invalid; an
|
|
351
|
+
optional address (curator, guardian, fee recipients, ...) that is absent or `""`
|
|
352
|
+
reads as `None`, and raises only when present and invalid; an allocator or
|
|
353
|
+
sentinel entry without an address is skipped, and one with an invalid address
|
|
354
|
+
raises;
|
|
352
355
|
- any other answer it cannot read (a missing key such as a `loanAsset` without
|
|
353
356
|
`address`, a value of the wrong type, a body that is not a JSON object);
|
|
354
357
|
- any `OSError` or `http.client.HTTPException` while fetching (it caught only
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/oracle_mapping.py
RENAMED
|
@@ -433,8 +433,8 @@ def build_oracle_mapping(
|
|
|
433
433
|
) -> OracleMapping:
|
|
434
434
|
"""Build the full oracle mapping for ``vault``.
|
|
435
435
|
|
|
436
|
-
``ctx`` must already be pinned to ``effective_block`` (
|
|
437
|
-
``ctx.
|
|
436
|
+
``ctx`` must already be pinned to ``effective_block`` (pass
|
|
437
|
+
``ctx.at_block(effective_block)``); the block is echoed in the output. Raises
|
|
438
438
|
`UnsupportedVaultVersionError` for a vault that exposes no price-oracle
|
|
439
439
|
getter.
|
|
440
440
|
"""
|
|
@@ -43,7 +43,11 @@ def _write_samples(directory: Path) -> dict[str, Path]:
|
|
|
43
43
|
|
|
44
44
|
def test_doc_samples_type_check_as_a_consumer(tmp_path):
|
|
45
45
|
modules = _write_samples(tmp_path)
|
|
46
|
-
assert {
|
|
46
|
+
assert {
|
|
47
|
+
"README.md",
|
|
48
|
+
"src/ipor_fusion/guide/quickstart.md",
|
|
49
|
+
"skills/ipor-deploy-vault/SKILL.md",
|
|
50
|
+
} <= set(modules)
|
|
47
51
|
(tmp_path / "pyrightconfig.json").write_text(json.dumps(_CONSUMER_CONFIG))
|
|
48
52
|
result = subprocess.run( # noqa: S603 - fixed argv, the test's own interpreter
|
|
49
53
|
[
|
|
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.dev141 → ipor_fusion-4.0.0.dev144}/examples/advanced_euler_v2_looping_arbitrum.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/examples/external_state_margin_leg_base.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/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.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/cli/oracle_mapping_view.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/cli/vault_info_view.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/cli/vault_markets_view.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/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.dev141 → ipor_fusion-4.0.0.dev144}/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.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/rewards_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/core/withdraw_manager.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/__init__.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/__init__.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/chainlink.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/codec.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/contracts.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/events.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/indexer.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/lane.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/quote.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/ccip/transport.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/contracts.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/discovery.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/fuses/__init__.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/fuses/base.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/fuses/ccip.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/fuses/stargate.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/messages.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/simulation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/crosschain/stargate/lane.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/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.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/external_state.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/external_state_events.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/fluid_instadapp.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/fuses/hypercore_events.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
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/compound_v3.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/hypercore_outcome.py
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/lending_health.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/src/ipor_fusion/readers/position_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/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
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/fixtures/hypercore_hip3_flow.json
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/fixtures/hypercore_market55.json
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/fixtures/vault_info_golden/clean.json
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/fixtures/vault_info_golden/clean.txt
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/fixtures/vault_info_golden/rich.json
RENAMED
|
File without changes
|
{ipor_fusion-4.0.0.dev141 → ipor_fusion-4.0.0.dev144}/tests/fixtures/vault_info_golden/rich.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|