ipor-fusion 4.0.0.dev137__tar.gz → 4.0.0.dev141__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.dev137 → ipor_fusion-4.0.0.dev141}/AGENTS.md +10 -5
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/MIGRATION_4.md +546 -434
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/PKG-INFO +24 -9
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/README.md +23 -8
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/pyproject.toml +1 -1
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/skills/ipor-deploy-vault/SKILL.md +17 -12
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/guide/architecture.md +6 -3
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/guide/glossary.md +3 -3
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/guide/invariants.md +1 -1
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/guide/quickstart.md +16 -11
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/_guide.py +3 -1
- ipor_fusion-4.0.0.dev141/tests/test_docs_typing.py +72 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/.claude-plugin/marketplace.json +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/.claude-plugin/plugin.json +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/.env.example +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/.gemini/settings.json +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/.git-blame-ignore-revs +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/.github/workflows/cd.yml +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/.github/workflows/ci.yml +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/.github/workflows/commit-lint.yml +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/.github/workflows/notify-slack.yml +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/.github/workflows/python-build.yml +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/.github/workflows/python-publish.yml +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/.github/workflows/release.yml +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/.github/workflows/report-slack.yml +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/.gitignore +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/.mcp.json +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/.pre-commit-config.yaml +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/.python-version +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/CHANGELOG.md +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/CLAUDE.md +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/CODEOWNERS +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/LICENSE +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/build.sh +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/examples/CONTRIBUTING.md +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/examples/README.md +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/examples/advanced_euler_v2_credit_market_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/examples/advanced_euler_v2_looping_arbitrum.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/examples/composed_hypercore_flow_arbitrum_hyperevm.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/examples/crosschain_ccip_usdc_arbitrum_hyperevm.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/examples/external_state_margin_leg_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/examples/simple_aave_v3_supply_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/pytest.ini +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/scripts/commit-check.sh +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/scripts/crosschain_readiness.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/about.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/cache.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/chains.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/cli/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/cli/changelog_cmd.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/cli/config_cmd.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/cli/config_store.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/cli/main.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/cli/market_cmd.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/cli/options.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/cli/oracle_mapping_view.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/cli/vault_cmd.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/cli/vault_health.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/cli/vault_info_view.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/cli/vault_markets_view.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/cli/vault_rendering.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/config/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/config/roles.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/access.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/address.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/context.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/contract.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/erc20.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/external_state_executor.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/fee_manager.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/fuse.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/fuse_action.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/fusion_factory.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/logs.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/multicall.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/oracle.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/plasma_vault.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/rewards_manager.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/simulation.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/core/withdraw_manager.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/ccip/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/ccip/chainlink.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/ccip/codec.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/ccip/contracts.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/ccip/events.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/ccip/indexer.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/ccip/lane.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/ccip/quote.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/ccip/transport.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/contracts.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/discovery.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/errors.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/fuses/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/fuses/base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/fuses/ccip.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/fuses/stargate.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/lane.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/logs.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/messages.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/simulation.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/stargate/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/stargate/contracts.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/stargate/lane.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/stargate/layerzero.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/stargate/transport.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/crosschain/transport.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/dependency_graph.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/entry_cli.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/entry_mcp.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/errors.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/explorer.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/field_docs.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/aave_v3.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/async_action.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/compound_v3.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/erc4626.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/euler_v2.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/events.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/external_state.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/external_state_events.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/fluid_instadapp.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/gearbox_v3.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/hypercore_events.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/merkl.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/morpho.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/ramses_v2.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/uniswap_v3.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/fuses/universal.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/guide/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/market_ids.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/market_info.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/mcp/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/mcp/guide.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/mcp/models.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/mcp/server.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/morpho_api.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/py.typed +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/readers/__init__.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/readers/aave_v3.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/readers/aave_v4.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/readers/compound_v3.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/readers/hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/readers/hypercore_outcome.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/readers/lending_health.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/readers/morpho.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/readers/oracle_mapping.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/readers/oracle_mapping_nodes.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/readers/oracle_mapping_reader.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/readers/position_manager.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/readers/ramses_v2.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/readers/uniswap_v3.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/readers/unpriceable.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/substrates.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/types.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/validation.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/vault_data.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/vault_erc20.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/vault_info.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/vault_managers.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/vault_positions.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/src/ipor_fusion/vault_reads.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/UniswapV3UniversalRouter.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/_crosschain.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/_crosschain_lifecycle.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/_crosschain_recovery.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/_euler_v2.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/_foundry.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/_hypercore_model.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/_hypercore_shadow.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/_multicall.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/_simulate.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/_validation.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/addresses.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/conftest.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/constants.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/fixtures/hypercore_hip3_flow.json +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/fixtures/hypercore_market55.json +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/fixtures/vault_info_golden/clean.json +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/fixtures/vault_info_golden/clean.txt +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/fixtures/vault_info_golden/rich.json +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/fixtures/vault_info_golden/rich.txt +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_about.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_access_manager.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_cache.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_chains.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_cli_changelog.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_cli_commands.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_cli_config_store.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_cli_helpers.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_cli_hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_cli_lending_health.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_cli_market_morpho_blue.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_cli_oracle_mapping.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_cli_pending_requests_scan.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_cli_role_accounts.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_cli_vault_info_golden.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_cli_vault_predates_getters.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_cli_vault_validate.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_contract_call.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_contract_encoder.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_crosschain_ccip_events.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_crosschain_ccip_indexer.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_crosschain_ccip_quote.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_crosschain_chainlink.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_crosschain_contracts.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_crosschain_encoding.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_crosschain_errors.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_crosschain_lane.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_crosschain_layering.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_crosschain_readiness.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_crosschain_readiness_report.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_crosschain_transport.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_erc20.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_error_hierarchy.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_examples_composed_hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_examples_crosschain.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_examples_euler_looping_arbitrum.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_examples_vaults.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_explorer.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_external_state_events.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_external_state_executor.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_fee_manager.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_fuse_encoding.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_fusion_instance.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_guide.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_hypercore_deployment.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_hypercore_events.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_hypercore_flow.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_hypercore_live.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_hypercore_outcome.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_hypercore_readers.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_hypercore_simulation.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_logs.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_mcp_hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_mcp_models.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_mcp_server.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_mcp_vault_validate.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_multicall.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_oracle.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_oracle_mapping.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_plasma_vault.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_public_api.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_public_type_reachability.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_reader_encoding.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_readiness_selection.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_revert_decoding.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_rewards_manager.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_roles.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_sdk_layering.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_borrow_aave_v3_mainnet.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_claim_merkl_wrapper_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_claim_morpho_rewards.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_crosschain_canary.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_crosschain_hypercore.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_crosschain_hyperevm.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_crosschain_lifecycle.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_euler_v2_batch_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_euler_v2_credit_market_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_euler_v2_swap_deploy_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_euler_v2_swap_reconfigure_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_euler_v2_swap_registry_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_examples_arbitrum.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_examples_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_examples_crosschain.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_external_state_executor_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_fusion_factory_clone_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_looping_aave_v3_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_looping_morpho_blue_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_morpho_blue.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_pilot_v3.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_pilot_v4_uniswap.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_pilot_v5_ramses.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_pilot_v5_scheduled.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_plasma_vault_setters_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_readers_integration.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_release_funds.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_swap_on_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_simulate_vault_from_scratch_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_solidity_compiler.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_solidity_mirrors.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_substrates.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_types_and_events.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_unpriceable_tokens.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_validation.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_vault_dep_graph.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_vault_info_onchain_base.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_vault_info_onchain_base_no_withdraw_manager.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_vault_simulator_blocks.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_web3_context.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/test_withdraw_manager.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/typed_client/consumer.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/tests/typed_client/rejected.py +0 -0
- {ipor_fusion-4.0.0.dev137 → ipor_fusion-4.0.0.dev141}/uv.lock +0 -0
|
@@ -141,11 +141,16 @@ the lifecycle matrix follows that.
|
|
|
141
141
|
it is pinned exactly (`ipor-fusion==3.17.0.dev4`); pip also takes it when
|
|
142
142
|
no stable release satisfies the specifier (`>=3.17` before 3.17.0). `fusion
|
|
143
143
|
changelog` has no section for a dev version.
|
|
144
|
-
- Release notes
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
144
|
+
- Release notes (CHANGELOG.md and the GitHub release) render only commit
|
|
145
|
+
subjects. python-semantic-release's default template (10.5.3) shows the
|
|
146
|
+
`BREAKING CHANGE:` / `NOTICE:` footers of only the first commit per section,
|
|
147
|
+
so in practice they do not reach the notes. Still write them: a `!` subject
|
|
148
|
+
requires a `BREAKING CHANGE: <what breaks, what to do instead>` footer (the
|
|
149
|
+
`!` bumps the version), and `NOTICE: <what the reader must do>` marks changes
|
|
150
|
+
that need action (a migration, a new env var or config key); the release
|
|
151
|
+
author uses them to edit the GitHub release notes by hand after a release.
|
|
152
|
+
Anything a consumer must do also belongs in the migration guide or README,
|
|
153
|
+
which ship in the wheel.
|
|
149
154
|
- No AI attribution trailers or "generated with" lines in commits or PRs.
|
|
150
155
|
- Branch and open a PR; `main` only moves through PRs and the release workflow.
|
|
151
156
|
- Dependencies: `>=x,<next-major` ranges in `pyproject.toml`, resolved by
|