ipor-fusion 4.2.0.dev23__tar.gz → 4.2.1.dev2__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.2.0.dev23 → ipor_fusion-4.2.1.dev2}/.claude-plugin/plugin.json +1 -1
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/CHANGELOG.md +56 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/PKG-INFO +1 -1
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/pyproject.toml +1 -1
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/errors.py +4 -1
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/readers/lending_health.py +7 -1
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/vault_reads.py +6 -1
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_provider_url_redaction.py +41 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/uv.lock +1 -1
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/.claude-plugin/marketplace.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/.env.example +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/.gemini/settings.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/.git-blame-ignore-revs +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/.github/workflows/cd.yml +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/.github/workflows/ci.yml +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/.github/workflows/commit-lint.yml +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/.github/workflows/notify-slack.yml +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/.github/workflows/python-build.yml +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/.github/workflows/python-publish.yml +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/.github/workflows/release.yml +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/.github/workflows/report-slack.yml +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/.gitignore +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/.mcp.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/.pre-commit-config.yaml +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/.python-version +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/AGENTS.md +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/CLAUDE.md +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/CODEOWNERS +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/LICENSE +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/MIGRATION_4.md +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/README.md +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/build.sh +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/examples/CONTRIBUTING.md +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/examples/README.md +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/examples/advanced_compound_v3_institutional_usdc_ethereum.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/examples/advanced_euler_v2_credit_market_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/examples/advanced_euler_v2_looping_arbitrum.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/examples/crosschain_ccip_usdc_arbitrum_hyperevm.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/examples/external_state_margin_leg_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/examples/hypercore_vault_official_deployment_hyperevm.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/examples/simple_aave_v3_supply_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/pytest.ini +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/scripts/commit-check.sh +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/scripts/fusion_error_signatures.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/skills/ipor-deploy-vault/SKILL.md +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/__init__.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/about.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/cache.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/chains.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/cli/__init__.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/cli/address_cmd.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/cli/changelog_cmd.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/cli/config_cmd.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/cli/config_store.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/cli/fuse_cmd.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/cli/main.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/cli/market_cmd.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/cli/options.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/cli/oracle_mapping_view.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/cli/preflight_cmd.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/cli/vault_cmd.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/cli/vault_health.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/cli/vault_info_view.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/cli/vault_markets_view.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/cli/vault_rendering.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/config/__init__.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/config/roles.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/__init__.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/access.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/address.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/context.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/context_manager.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/contract.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/erc20.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/external_state_executor.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/fee_manager.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/fuse.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/fuse_action.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/fuse_decoding.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/fusion_factory.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/logs.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/multicall.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/oracle.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/plasma_vault.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/rewards_manager.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/simulation.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/simulation_result.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/withdraw_manager.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/__init__.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/ccip/__init__.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/ccip/chainlink.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/ccip/codec.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/ccip/contracts.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/ccip/events.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/ccip/indexer.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/ccip/lane.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/ccip/quote.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/ccip/transport.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/contracts.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/discovery.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/errors.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/fuses/__init__.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/fuses/base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/fuses/ccip.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/fuses/stargate.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/lane.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/logs.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/messages.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/simulation.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/stargate/__init__.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/stargate/contracts.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/stargate/lane.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/stargate/layerzero.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/stargate/transport.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/transport.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/dependency_graph.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/entry_cli.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/entry_mcp.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/explorer.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/field_docs.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuse_whitelist.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/__init__.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/aave_v3.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/async_action.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/compound_v3.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/erc4626.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/euler_v2.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/events.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/external_state.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/external_state_event_decoding.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/fluid_instadapp.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/gearbox_v3.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/hypercore.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/hypercore_event_decoding.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/hypercore_pre_hooks.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/merkl.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/morpho.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/ramses_v2.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/uniswap_v3.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/universal.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fusion_errors.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/guide/__init__.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/guide/architecture.md +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/guide/glossary.md +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/guide/invariants.md +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/guide/quickstart.md +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/hypercore/__init__.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/market_ids.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/market_info.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/mcp/__init__.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/mcp/guide.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/mcp/models.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/mcp/server.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/morpho_api.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/onchain_text.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/preflight.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/py.typed +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/readers/__init__.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/readers/aave_v3.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/readers/aave_v4.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/readers/compound_v3.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/readers/euler_v2.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/readers/hypercore.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/readers/hypercore_outcome.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/readers/morpho.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/readers/oracle_mapping.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/readers/oracle_mapping_nodes.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/readers/oracle_mapping_reader.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/readers/position_manager.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/readers/ramses_v2.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/readers/uniswap_v3.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/readers/unpriceable.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/redaction.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/registry.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/substrates.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/types.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/validation.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/vault_data.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/vault_erc20.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/vault_info.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/vault_managers.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/vault_positions.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/UniswapV3UniversalRouter.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/_addresses.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/_crosschain.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/_crosschain_lifecycle.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/_crosschain_recovery.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/_euler_v2.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/_event_args.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/_fake_rpc.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/_foundry.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/_golden.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/_guide.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/_hypercore_model.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/_hypercore_shadow.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/_live.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/_multicall.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/_oracle_mapping_fake.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/_simulate.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/_validation.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/addresses.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/conftest.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/constants.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/hypercore_hip3_flow.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/hypercore_market55.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/hypercore_official.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/market_golden/meta_morpho_v1.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/market_golden/meta_morpho_v1.mcp.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/market_golden/meta_morpho_v2.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/market_golden/meta_morpho_v2.mcp.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/market_golden/morpho_api/market.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/market_golden/morpho_api/vault_v1.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/market_golden/morpho_api/vault_v2.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/market_golden/morpho_api/vault_v2_not_found.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/market_golden/morpho_blue.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/market_golden/morpho_blue.mcp.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/market_golden/morpho_blue_api_error.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/market_golden/morpho_blue_api_error.mcp.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/market_golden/morpho_blue_no_api.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/market_golden/morpho_blue_no_api.mcp.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/oracle_mapping_golden/mapping.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/oracle_mapping_golden/mapping.mcp.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/simulate_v1_request.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/vault_info_golden/clean.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/vault_info_golden/clean.mcp.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/vault_info_golden/clean.txt +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/vault_info_golden/deployment_error.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/vault_info_golden/deployment_error.mcp.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/vault_info_golden/deployment_error.txt +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/vault_info_golden/fetched.cli.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/vault_info_golden/fetched.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/vault_info_golden/fetched.mcp.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/vault_info_golden/full.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/vault_info_golden/full.mcp.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/vault_info_golden/full.txt +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/vault_info_golden/rich.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/vault_info_golden/rich.mcp.json +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/fixtures/vault_info_golden/rich.txt +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_about.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_access_manager.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_addresses_helper.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cache.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_ccip_read_disabled.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_chains.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_address.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_changelog.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_commands.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_config_store.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_helpers.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_hypercore.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_lending_health.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_market_golden.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_market_morpho_blue.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_mcp_fuse_whitelist.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_mcp_parity.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_oracle_mapping.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_oracle_mapping_golden.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_pending_requests_scan.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_preflight.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_role_accounts.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_vault_info_golden.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_vault_predates_getters.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_cli_vault_validate.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_contract_call.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_contract_encoder.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_crosschain_ccip_events.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_crosschain_ccip_indexer.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_crosschain_ccip_quote.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_crosschain_chainlink.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_crosschain_contracts.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_crosschain_encoding.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_crosschain_errors.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_crosschain_lane.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_crosschain_layering.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_crosschain_transport.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_docs_typing.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_erc20.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_error_hierarchy.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_examples_compound_v3_ethereum.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_examples_crosschain.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_examples_euler_looping_arbitrum.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_examples_hypercore_hyperevm.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_examples_vaults.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_explorer.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_external_state_events.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_external_state_executor.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_fee_manager.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_fuse_decoding.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_fuse_encoding.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_fuse_whitelist.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_fusion_errors.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_fusion_instance.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_governance_wrappers.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_guide.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_hypercore_deployment.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_hypercore_events.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_hypercore_flow.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_hypercore_live.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_hypercore_outcome.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_hypercore_pre_hooks.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_hypercore_readers.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_hypercore_simulation.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_lending_health_compound_v3_onchain.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_logs.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_mcp_address.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_mcp_hypercore.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_mcp_models.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_mcp_preflight.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_mcp_server.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_mcp_vault_validate.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_multicall.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_onchain_text.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_oracle.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_oracle_mapping.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_plasma_vault.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_preflight.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_public_api.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_public_type_reachability.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_reader_encoding.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_registry.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_revert_decoding.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_rewards_manager.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_roles.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_sdk_layering.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_borrow_aave_v3_mainnet.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_claim_merkl_wrapper_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_claim_morpho_rewards.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_compound_v3_institutional_usdc.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_crosschain_hyperevm.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_euler_v2_batch_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_euler_v2_credit_market_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_euler_v2_swap_deploy_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_euler_v2_swap_reconfigure_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_euler_v2_swap_registry_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_examples_arbitrum.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_examples_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_examples_crosschain.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_examples_ethereum.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_examples_hyperevm.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_external_state_executor_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_fusion_factory_clone_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_looping_aave_v3_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_looping_morpho_blue_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_morpho_blue.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_pilot_v3.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_pilot_v4_uniswap.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_pilot_v5_ramses.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_pilot_v5_scheduled.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_plasma_vault_setters_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_preflight_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_readers_integration.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_release_funds.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_swap_on_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_timelock_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulate_vault_from_scratch_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulation_errors.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_simulation_observation.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_solidity_compiler.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_solidity_mirrors.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_substrates.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_types_and_events.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_unpriceable_tokens.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_validation.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_vault_data_block.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_vault_dep_graph.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_vault_info_fetched_golden.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_vault_info_onchain_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_vault_info_onchain_base_no_withdraw_manager.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_vault_reconciliation_onchain_base.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_vault_simulator_blocks.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_web3_context.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/test_withdraw_manager.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/typed_client/consumer.py +0 -0
- {ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/tests/typed_client/rejected.py +0 -0
|
@@ -2,6 +2,62 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- version list -->
|
|
4
4
|
|
|
5
|
+
## v4.2.0 (2026-11-05)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **sdk**: Harden the Fuse Whitelist check against unreadable and non-fuse entries
|
|
10
|
+
([`dbd2e55`](https://github.com/IPOR-Labs/ipor-fusion.py/commit/dbd2e5538368b2fdf0caa5e491cdea80f05c2bef))
|
|
11
|
+
|
|
12
|
+
- **sdk**: Keep a Comet position critical when its limit or an unused feed fails
|
|
13
|
+
([`cb6661c`](https://github.com/IPOR-Labs/ipor-fusion.py/commit/cb6661c066540aa699ec3e9f02928a63f0c34c09))
|
|
14
|
+
|
|
15
|
+
- **sdk**: Keep provider URLs and config values out of error text
|
|
16
|
+
([`276ab7b`](https://github.com/IPOR-Labs/ipor-fusion.py/commit/276ab7b95c3ea4a11b50b37c7b61d8fc11f015e9))
|
|
17
|
+
|
|
18
|
+
- **sdk**: Report Morpho and Euler debt that has no usable health as a risk
|
|
19
|
+
([`88a3c55`](https://github.com/IPOR-Labs/ipor-fusion.py/commit/88a3c55373ce857b7f79895332ff51fde25a89da))
|
|
20
|
+
|
|
21
|
+
- **sdk**: Sanitize text read from contracts
|
|
22
|
+
([`7d692af`](https://github.com/IPOR-Labs/ipor-fusion.py/commit/7d692af40030eba067657058efe1e58284099482))
|
|
23
|
+
|
|
24
|
+
- **sdk**: Tell agents to reuse whitelisted fuses instead of deploying copies
|
|
25
|
+
([`614ab00`](https://github.com/IPOR-Labs/ipor-fusion.py/commit/614ab003a24bf0b21c11dbd0f5000f8eaaadf1c4))
|
|
26
|
+
|
|
27
|
+
### Documentation
|
|
28
|
+
|
|
29
|
+
- **sdk**: Add a Compound V3 Institutional USDC borrow example
|
|
30
|
+
([`5616c46`](https://github.com/IPOR-Labs/ipor-fusion.py/commit/5616c46592ef374134e40645dc1f12cb6038ce61))
|
|
31
|
+
|
|
32
|
+
- **sdk**: Label the Compound example's simulation-only constructs
|
|
33
|
+
([`5fca364`](https://github.com/IPOR-Labs/ipor-fusion.py/commit/5fca3643c2c77dec82354e768b031a1ef7a9762c))
|
|
34
|
+
|
|
35
|
+
- **sdk**: Name the fuse whitelist command in the guide
|
|
36
|
+
([`b17b62f`](https://github.com/IPOR-Labs/ipor-fusion.py/commit/b17b62f157aa94eecbab214d10b1274887a72fe9))
|
|
37
|
+
|
|
38
|
+
### Features
|
|
39
|
+
|
|
40
|
+
- **sdk**: Check vault and batch fuses against the on-chain Fuse Whitelist
|
|
41
|
+
([`d289d6d`](https://github.com/IPOR-Labs/ipor-fusion.py/commit/d289d6db49d300be269967f3c58fbd501de53974))
|
|
42
|
+
|
|
43
|
+
- **sdk**: Report Compound V3 lending health
|
|
44
|
+
([`5baa9c2`](https://github.com/IPOR-Labs/ipor-fusion.py/commit/5baa9c243b9a8f8c9986f08bce701acda5ef98ad))
|
|
45
|
+
|
|
46
|
+
- **sdk**: Support Compound V3 Institutional USDC market fuses
|
|
47
|
+
([`b01c5db`](https://github.com/IPOR-Labs/ipor-fusion.py/commit/b01c5db8904e88ce734698f3037327e72234f676))
|
|
48
|
+
|
|
49
|
+
### Testing
|
|
50
|
+
|
|
51
|
+
- **sdk**: Drop type ignores from the redaction tests' RPC server
|
|
52
|
+
([`ffa57c1`](https://github.com/IPOR-Labs/ipor-fusion.py/commit/ffa57c1c7ea9f1341e7f8bde8a19f84f9c056d88))
|
|
53
|
+
|
|
54
|
+
- **sdk**: Keep the live preflight checks independent of the Fuse Whitelist
|
|
55
|
+
([`e9bc161`](https://github.com/IPOR-Labs/ipor-fusion.py/commit/e9bc1618228234b8b0c6e993b003eaca58cdc6ba))
|
|
56
|
+
|
|
57
|
+
- **sdk**: Pass the live context arguments in the Fuse Whitelist preflight test
|
|
58
|
+
([`b974e08`](https://github.com/IPOR-Labs/ipor-fusion.py/commit/b974e0864aaa9cf16786a74a4b39c268d4b7214a))
|
|
59
|
+
|
|
60
|
+
|
|
5
61
|
## v4.1.0 (2026-11-03)
|
|
6
62
|
|
|
7
63
|
### Bug Fixes
|
|
@@ -12,6 +12,7 @@ from web3.types import TxParams, TxReceipt
|
|
|
12
12
|
|
|
13
13
|
from ipor_fusion.fusion_errors import FUSION_ERROR_SIGNATURES
|
|
14
14
|
from ipor_fusion.onchain_text import sanitize_onchain_text
|
|
15
|
+
from ipor_fusion.redaction import redact_provider_urls
|
|
15
16
|
from ipor_fusion.types import TxHash
|
|
16
17
|
|
|
17
18
|
log = logging.getLogger(__name__)
|
|
@@ -148,7 +149,9 @@ def get_revert_reason(web3: Web3, tx_hash: TxHash, receipt: TxReceipt) -> str |
|
|
|
148
149
|
or "execution reverted" in exc_message.lower()
|
|
149
150
|
):
|
|
150
151
|
return exc_message
|
|
151
|
-
log.debug(
|
|
152
|
+
log.debug(
|
|
153
|
+
"Could not decode revert reason: %s", redact_provider_urls(exc_message)
|
|
154
|
+
)
|
|
152
155
|
return None
|
|
153
156
|
|
|
154
157
|
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/readers/lending_health.py
RENAMED
|
@@ -44,6 +44,7 @@ from ipor_fusion.readers.morpho import (
|
|
|
44
44
|
morpho_blue_address,
|
|
45
45
|
to_assets_up,
|
|
46
46
|
)
|
|
47
|
+
from ipor_fusion.redaction import redact_provider_urls
|
|
47
48
|
from ipor_fusion.substrates import decode_substrate, market_name
|
|
48
49
|
from ipor_fusion.types import (
|
|
49
50
|
ChainId,
|
|
@@ -227,7 +228,12 @@ class VaultLendingHealth:
|
|
|
227
228
|
|
|
228
229
|
def _reason(what: str, exc: Exception) -> str:
|
|
229
230
|
"""Why a read failed, for the unreadable entry and its finding."""
|
|
230
|
-
_logger.debug(
|
|
231
|
+
_logger.debug(
|
|
232
|
+
"lending %s read failed: %s: %s",
|
|
233
|
+
what,
|
|
234
|
+
type(exc).__name__,
|
|
235
|
+
redact_provider_urls(str(exc)),
|
|
236
|
+
)
|
|
231
237
|
return f"{what} read failed: {type(exc).__name__}"
|
|
232
238
|
|
|
233
239
|
|
|
@@ -12,6 +12,7 @@ from web3.exceptions import ContractLogicError, TimeExhausted, Web3RPCError
|
|
|
12
12
|
from ipor_fusion.core.context import Web3Context
|
|
13
13
|
from ipor_fusion.core.contract import Call
|
|
14
14
|
from ipor_fusion.errors import EmptyCallResultError, LogScanError
|
|
15
|
+
from ipor_fusion.redaction import redact_provider_urls
|
|
15
16
|
|
|
16
17
|
T = TypeVar("T")
|
|
17
18
|
|
|
@@ -36,7 +37,11 @@ def _scan_or_none(func: Callable[[], T]) -> T | None:
|
|
|
36
37
|
try:
|
|
37
38
|
return func()
|
|
38
39
|
except _ROLE_SCAN_ERRORS as exc:
|
|
39
|
-
_logger.debug(
|
|
40
|
+
_logger.debug(
|
|
41
|
+
"scan unavailable: %s: %s",
|
|
42
|
+
type(exc).__name__,
|
|
43
|
+
redact_provider_urls(str(exc)),
|
|
44
|
+
)
|
|
40
45
|
return None
|
|
41
46
|
|
|
42
47
|
|
|
@@ -6,21 +6,27 @@ from __future__ import annotations
|
|
|
6
6
|
|
|
7
7
|
import asyncio
|
|
8
8
|
import json
|
|
9
|
+
import logging
|
|
9
10
|
import socket
|
|
10
11
|
import sys
|
|
11
12
|
import threading
|
|
12
13
|
from collections.abc import Iterator
|
|
13
14
|
from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
|
|
14
15
|
from pathlib import Path
|
|
16
|
+
from unittest.mock import MagicMock
|
|
15
17
|
|
|
16
18
|
import pytest
|
|
19
|
+
import requests
|
|
17
20
|
from mcp.server.fastmcp.exceptions import ToolError
|
|
18
21
|
|
|
19
22
|
from ipor_fusion.cli import config_store
|
|
20
23
|
from ipor_fusion.cli.config_store import FusionConfig, save_config
|
|
21
24
|
from ipor_fusion.cli.main import main
|
|
25
|
+
from ipor_fusion.errors import get_revert_reason
|
|
22
26
|
from ipor_fusion.mcp import server
|
|
27
|
+
from ipor_fusion.readers.lending_health import _reason
|
|
23
28
|
from ipor_fusion.redaction import mask_provider_url, redact_provider_urls
|
|
29
|
+
from ipor_fusion.vault_reads import _scan_or_none
|
|
24
30
|
|
|
25
31
|
VAULT = "0x4c4f752fa54dafaa7770b2c6d6f0d6d7e5cf8b2f"
|
|
26
32
|
ACCESS_MANAGER_WORD = "0x" + "00" * 12 + "11" * 20
|
|
@@ -249,6 +255,41 @@ class TestCliErrorChannels:
|
|
|
249
255
|
assert secret not in output
|
|
250
256
|
|
|
251
257
|
|
|
258
|
+
class TestDebugLogs:
|
|
259
|
+
FAILURE = requests.ConnectionError(
|
|
260
|
+
f"Max retries exceeded with url: {PROVIDER_PATH}"
|
|
261
|
+
)
|
|
262
|
+
|
|
263
|
+
def _assert_redacted(self, caplog: pytest.LogCaptureFixture) -> None:
|
|
264
|
+
assert "<redacted>" in caplog.text
|
|
265
|
+
_assert_no_secret(caplog.text)
|
|
266
|
+
|
|
267
|
+
def test_unavailable_scan(self, caplog: pytest.LogCaptureFixture):
|
|
268
|
+
def scan() -> None:
|
|
269
|
+
raise self.FAILURE
|
|
270
|
+
|
|
271
|
+
with caplog.at_level(logging.DEBUG):
|
|
272
|
+
assert _scan_or_none(scan) is None
|
|
273
|
+
|
|
274
|
+
self._assert_redacted(caplog)
|
|
275
|
+
|
|
276
|
+
def test_failed_lending_read(self, caplog: pytest.LogCaptureFixture):
|
|
277
|
+
with caplog.at_level(logging.DEBUG):
|
|
278
|
+
_reason("market data", self.FAILURE)
|
|
279
|
+
|
|
280
|
+
self._assert_redacted(caplog)
|
|
281
|
+
|
|
282
|
+
def test_undecodable_revert(self, caplog: pytest.LogCaptureFixture):
|
|
283
|
+
web3 = MagicMock()
|
|
284
|
+
web3.eth.get_transaction.side_effect = self.FAILURE
|
|
285
|
+
|
|
286
|
+
with caplog.at_level(logging.DEBUG):
|
|
287
|
+
reason = get_revert_reason(web3, MagicMock(), MagicMock())
|
|
288
|
+
|
|
289
|
+
assert reason is None
|
|
290
|
+
self._assert_redacted(caplog)
|
|
291
|
+
|
|
292
|
+
|
|
252
293
|
class TestRedactProviderUrls:
|
|
253
294
|
@pytest.mark.parametrize(
|
|
254
295
|
("text", "expected"),
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.2.0.dev23 → ipor_fusion-4.2.1.dev2}/examples/advanced_euler_v2_credit_market_base.py
RENAMED
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/examples/advanced_euler_v2_looping_arbitrum.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/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
|
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/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.2.0.dev23 → ipor_fusion-4.2.1.dev2}/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.2.0.dev23 → ipor_fusion-4.2.1.dev2}/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.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/core/simulation_result.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/ccip/__init__.py
RENAMED
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/ccip/chainlink.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/ccip/contracts.py
RENAMED
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/ccip/events.py
RENAMED
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/ccip/indexer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/ccip/transport.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/fuses/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/fuses/stargate.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/stargate/__init__.py
RENAMED
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/stargate/contracts.py
RENAMED
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/stargate/lane.py
RENAMED
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/crosschain/stargate/layerzero.py
RENAMED
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/src/ipor_fusion/fuses/hypercore_event_decoding.py
RENAMED
|
File without changes
|
{ipor_fusion-4.2.0.dev23 → ipor_fusion-4.2.1.dev2}/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
|