ipor-fusion 4.1.0.dev40__tar.gz → 4.1.0.dev44__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/PKG-INFO +1 -1
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/pyproject.toml +1 -1
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/address.py +5 -3
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/hypercore/__init__.py +2 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/hypercore.py +28 -4
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_fuse_encoding.py +4 -4
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_hypercore_readers.py +23 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_public_api.py +1 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/.claude-plugin/marketplace.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/.claude-plugin/plugin.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/.env.example +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/.gemini/settings.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/.git-blame-ignore-revs +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/.github/workflows/cd.yml +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/.github/workflows/ci.yml +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/.github/workflows/commit-lint.yml +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/.github/workflows/notify-slack.yml +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/.github/workflows/python-build.yml +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/.github/workflows/python-publish.yml +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/.github/workflows/release.yml +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/.github/workflows/report-slack.yml +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/.gitignore +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/.pre-commit-config.yaml +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/.python-version +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/AGENTS.md +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/CHANGELOG.md +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/CLAUDE.md +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/CODEOWNERS +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/LICENSE +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/MIGRATION_4.md +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/README.md +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/build.sh +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/examples/CONTRIBUTING.md +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/examples/README.md +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/examples/advanced_euler_v2_credit_market_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/examples/advanced_euler_v2_looping_arbitrum.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/examples/crosschain_ccip_usdc_arbitrum_hyperevm.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/examples/external_state_margin_leg_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/examples/hypercore_vault_official_deployment_hyperevm.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/examples/simple_aave_v3_supply_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/pytest.ini +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/scripts/commit-check.sh +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/scripts/fusion_error_signatures.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/skills/ipor-deploy-vault/SKILL.md +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/about.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/cache.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/chains.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/cli/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/cli/address_cmd.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/cli/changelog_cmd.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/cli/config_cmd.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/cli/config_store.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/cli/main.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/cli/market_cmd.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/cli/options.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/cli/oracle_mapping_view.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/cli/preflight_cmd.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/cli/vault_cmd.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/cli/vault_health.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/cli/vault_info_view.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/cli/vault_markets_view.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/cli/vault_rendering.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/config/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/config/roles.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/access.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/context.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/context_manager.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/contract.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/erc20.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/external_state_executor.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/fee_manager.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/fuse.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/fuse_action.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/fuse_decoding.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/fusion_factory.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/logs.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/multicall.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/oracle.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/plasma_vault.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/rewards_manager.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/simulation.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/simulation_result.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/withdraw_manager.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/ccip/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/ccip/chainlink.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/ccip/codec.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/ccip/contracts.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/ccip/events.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/ccip/indexer.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/ccip/lane.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/ccip/quote.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/ccip/transport.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/contracts.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/discovery.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/errors.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/fuses/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/fuses/base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/fuses/ccip.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/fuses/stargate.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/lane.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/logs.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/messages.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/simulation.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/stargate/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/stargate/contracts.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/stargate/lane.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/stargate/layerzero.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/stargate/transport.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/transport.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/dependency_graph.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/entry_cli.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/entry_mcp.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/errors.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/explorer.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/field_docs.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/aave_v3.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/async_action.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/compound_v3.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/erc4626.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/euler_v2.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/events.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/external_state.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/external_state_event_decoding.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/fluid_instadapp.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/gearbox_v3.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/hypercore.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/hypercore_event_decoding.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/hypercore_pre_hooks.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/merkl.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/morpho.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/ramses_v2.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/uniswap_v3.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/universal.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fusion_errors.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/guide/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/guide/architecture.md +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/guide/glossary.md +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/guide/invariants.md +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/guide/quickstart.md +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/market_ids.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/market_info.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/mcp/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/mcp/guide.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/mcp/models.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/mcp/server.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/morpho_api.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/preflight.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/py.typed +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/__init__.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/aave_v3.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/aave_v4.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/compound_v3.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/euler_v2.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/hypercore_outcome.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/lending_health.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/morpho.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/oracle_mapping.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/oracle_mapping_nodes.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/oracle_mapping_reader.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/position_manager.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/ramses_v2.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/uniswap_v3.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/unpriceable.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/registry.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/substrates.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/types.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/validation.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/vault_data.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/vault_erc20.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/vault_info.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/vault_managers.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/vault_positions.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/vault_reads.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/UniswapV3UniversalRouter.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/_addresses.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/_crosschain.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/_crosschain_lifecycle.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/_crosschain_recovery.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/_euler_v2.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/_event_args.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/_fake_rpc.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/_foundry.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/_golden.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/_guide.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/_hypercore_model.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/_hypercore_shadow.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/_live.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/_multicall.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/_oracle_mapping_fake.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/_simulate.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/_validation.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/addresses.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/conftest.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/constants.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/hypercore_hip3_flow.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/hypercore_market55.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/hypercore_official.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/market_golden/meta_morpho_v1.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/market_golden/meta_morpho_v1.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/market_golden/meta_morpho_v2.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/market_golden/meta_morpho_v2.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/market_golden/morpho_api/market.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/market_golden/morpho_api/vault_v1.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/market_golden/morpho_api/vault_v2.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/market_golden/morpho_api/vault_v2_not_found.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/market_golden/morpho_blue.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/market_golden/morpho_blue.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/market_golden/morpho_blue_api_error.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/market_golden/morpho_blue_api_error.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/market_golden/morpho_blue_no_api.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/market_golden/morpho_blue_no_api.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/oracle_mapping_golden/mapping.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/oracle_mapping_golden/mapping.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/simulate_v1_request.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/vault_info_golden/clean.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/vault_info_golden/clean.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/vault_info_golden/clean.txt +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/vault_info_golden/deployment_error.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/vault_info_golden/deployment_error.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/vault_info_golden/deployment_error.txt +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/vault_info_golden/fetched.cli.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/vault_info_golden/fetched.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/vault_info_golden/fetched.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/vault_info_golden/full.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/vault_info_golden/full.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/vault_info_golden/full.txt +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/vault_info_golden/rich.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/vault_info_golden/rich.mcp.json +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/fixtures/vault_info_golden/rich.txt +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_about.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_access_manager.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_addresses_helper.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cache.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_chains.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_address.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_changelog.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_commands.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_config_store.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_helpers.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_hypercore.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_lending_health.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_market_golden.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_market_morpho_blue.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_mcp_parity.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_oracle_mapping.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_oracle_mapping_golden.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_pending_requests_scan.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_preflight.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_role_accounts.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_vault_info_golden.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_vault_predates_getters.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_cli_vault_validate.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_contract_call.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_contract_encoder.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_crosschain_ccip_events.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_crosschain_ccip_indexer.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_crosschain_ccip_quote.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_crosschain_chainlink.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_crosschain_contracts.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_crosschain_encoding.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_crosschain_errors.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_crosschain_lane.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_crosschain_layering.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_crosschain_transport.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_docs_typing.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_erc20.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_error_hierarchy.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_examples_crosschain.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_examples_euler_looping_arbitrum.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_examples_hypercore_hyperevm.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_examples_vaults.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_explorer.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_external_state_events.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_external_state_executor.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_fee_manager.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_fuse_decoding.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_fusion_errors.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_fusion_instance.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_governance_wrappers.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_guide.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_hypercore_deployment.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_hypercore_events.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_hypercore_flow.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_hypercore_live.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_hypercore_outcome.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_hypercore_pre_hooks.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_hypercore_simulation.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_logs.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_mcp_address.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_mcp_hypercore.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_mcp_models.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_mcp_preflight.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_mcp_server.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_mcp_vault_validate.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_multicall.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_oracle.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_oracle_mapping.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_plasma_vault.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_preflight.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_public_type_reachability.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_reader_encoding.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_registry.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_revert_decoding.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_rewards_manager.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_roles.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_sdk_layering.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_borrow_aave_v3_mainnet.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_claim_merkl_wrapper_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_claim_morpho_rewards.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_crosschain_hyperevm.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_euler_v2_batch_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_euler_v2_credit_market_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_euler_v2_swap_deploy_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_euler_v2_swap_reconfigure_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_euler_v2_swap_registry_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_examples_arbitrum.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_examples_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_examples_crosschain.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_examples_hyperevm.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_external_state_executor_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_fusion_factory_clone_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_looping_aave_v3_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_looping_morpho_blue_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_morpho_blue.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_pilot_v3.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_pilot_v4_uniswap.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_pilot_v5_ramses.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_pilot_v5_scheduled.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_plasma_vault_setters_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_preflight_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_readers_integration.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_release_funds.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_swap_on_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_timelock_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulate_vault_from_scratch_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulation_errors.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_simulation_observation.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_solidity_compiler.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_solidity_mirrors.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_substrates.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_types_and_events.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_unpriceable_tokens.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_validation.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_vault_data_block.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_vault_dep_graph.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_vault_info_fetched_golden.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_vault_info_onchain_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_vault_info_onchain_base_no_withdraw_manager.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_vault_reconciliation_onchain_base.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_vault_simulator_blocks.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_web3_context.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/test_withdraw_manager.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/typed_client/consumer.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/tests/typed_client/rejected.py +0 -0
- {ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/uv.lock +0 -0
|
@@ -2,13 +2,15 @@ def _validate_not_zero_address(value: str, name: str) -> None:
|
|
|
2
2
|
"""Reject an empty or zero address; ``name`` labels it in the error.
|
|
3
3
|
|
|
4
4
|
Compares the parsed bytes rather than the text, so every spelling of the
|
|
5
|
-
zero address is caught -- ``0x``-prefixed or bare. Input that
|
|
6
|
-
all falls through to the encoder, which reports the
|
|
5
|
+
zero address is caught -- ``0x``- or ``0X``-prefixed, or bare. Input that
|
|
6
|
+
is not hex at all falls through to the encoder, which reports the
|
|
7
|
+
malformed address.
|
|
7
8
|
"""
|
|
8
9
|
if not value:
|
|
9
10
|
raise ValueError(f"{name} is required and must not be zero address")
|
|
11
|
+
digits = value[2:] if value[:2].lower() == "0x" else value
|
|
10
12
|
try:
|
|
11
|
-
payload = bytes.fromhex(
|
|
13
|
+
payload = bytes.fromhex(digits)
|
|
12
14
|
except ValueError:
|
|
13
15
|
return
|
|
14
16
|
if payload == bytes(20):
|
|
@@ -73,6 +73,7 @@ from ipor_fusion.readers.hypercore import (
|
|
|
73
73
|
USD6_DECIMALS,
|
|
74
74
|
HyperCoreAccountMarginSummary,
|
|
75
75
|
HyperCoreActionClass,
|
|
76
|
+
HyperCoreBbo,
|
|
76
77
|
HyperCoreEffectKind,
|
|
77
78
|
HyperCoreNav,
|
|
78
79
|
HyperCorePendingReader,
|
|
@@ -137,6 +138,7 @@ __all__ = [
|
|
|
137
138
|
"HyperCoreActionSettledArgs",
|
|
138
139
|
"HyperCoreActionSettledEvent",
|
|
139
140
|
"HyperCoreAsset",
|
|
141
|
+
"HyperCoreBbo",
|
|
140
142
|
"HyperCoreBuilderFeeFuse",
|
|
141
143
|
"HyperCoreBuilderFeeFuseEnterArgs",
|
|
142
144
|
"HyperCoreBuilderFeeFuseEnterEvent",
|
|
@@ -99,6 +99,7 @@ ORACLE_PX_PRECOMPILE = _precompile(0x807)
|
|
|
99
99
|
L1_BLOCK_NUMBER_PRECOMPILE = _precompile(0x809)
|
|
100
100
|
PERP_ASSET_INFO_PRECOMPILE = _precompile(0x80A)
|
|
101
101
|
TOKEN_INFO_PRECOMPILE = _precompile(0x80C)
|
|
102
|
+
BBO_PRECOMPILE = _precompile(0x80E)
|
|
102
103
|
ACCOUNT_MARGIN_SUMMARY_PRECOMPILE = _precompile(0x80F)
|
|
103
104
|
CORE_USER_EXISTS_PRECOMPILE = _precompile(0x810)
|
|
104
105
|
#: ``position2``: same layout as ``position`` (``0x800``), which reads indexes up
|
|
@@ -170,6 +171,15 @@ class HyperCorePerpAssetInfo:
|
|
|
170
171
|
only_isolated: bool
|
|
171
172
|
|
|
172
173
|
|
|
174
|
+
@dataclass(frozen=True, slots=True)
|
|
175
|
+
class HyperCoreBbo:
|
|
176
|
+
"""``bbo`` precompile result: the best bid and ask, ``None`` for an empty
|
|
177
|
+
side of the book, which the precompile answers as 0 (never a real price)."""
|
|
178
|
+
|
|
179
|
+
bid: int | None
|
|
180
|
+
ask: int | None
|
|
181
|
+
|
|
182
|
+
|
|
173
183
|
@dataclass(frozen=True, slots=True)
|
|
174
184
|
class HyperCorePosition:
|
|
175
185
|
"""``position`` precompile result; ``szi`` and ``isolated_raw_usd`` are
|
|
@@ -225,14 +235,19 @@ def _position(values: tuple[int, int, int, int, bool]) -> HyperCorePosition:
|
|
|
225
235
|
return HyperCorePosition(*values)
|
|
226
236
|
|
|
227
237
|
|
|
238
|
+
def _bbo(values: tuple[int, int]) -> HyperCoreBbo:
|
|
239
|
+
bid, ask = values
|
|
240
|
+
return HyperCoreBbo(bid=bid or None, ask=ask or None)
|
|
241
|
+
|
|
242
|
+
|
|
228
243
|
class HyperCoreReader:
|
|
229
244
|
"""The HyperCore read precompiles as :class:`Call`s.
|
|
230
245
|
|
|
231
|
-
Mirrors ``HyperCoreLib``'s reads: a precompile takes its
|
|
232
|
-
ABI-encoded words (no selector) and answers one
|
|
233
|
-
perp reads take the *read index* of a market
|
|
246
|
+
Mirrors ``HyperCoreLib``'s reads, plus :meth:`bbo`: a precompile takes its
|
|
247
|
+
arguments as raw ABI-encoded words (no selector) and answers one
|
|
248
|
+
ABI-encoded value. The perp reads take the *read index* of a market
|
|
234
249
|
(:func:`ipor_fusion.hypercore.precompile_index_of`: the action asset without the HIP-3
|
|
235
|
-
offset)
|
|
250
|
+
offset); only :meth:`bbo` takes the action asset itself.
|
|
236
251
|
"""
|
|
237
252
|
|
|
238
253
|
def _read(
|
|
@@ -329,6 +344,15 @@ class HyperCoreReader:
|
|
|
329
344
|
_validate_uint(read_index, 32, "read_index")
|
|
330
345
|
return self._read(MARK_PX_PRECOMPILE, ["uint32"], [read_index], ["uint64"])
|
|
331
346
|
|
|
347
|
+
def bbo(self, asset: HyperCoreAsset) -> Call[HyperCoreBbo]:
|
|
348
|
+
"""The best bid and ask of ``asset``, the action asset an order takes
|
|
349
|
+
(a HIP-3 read index answers another market's book). A perp's prices
|
|
350
|
+
have :func:`perp_px_decimals` decimals."""
|
|
351
|
+
_validate_uint(asset, 32, "asset")
|
|
352
|
+
return self._read(
|
|
353
|
+
BBO_PRECOMPILE, ["uint32"], [asset], ["uint64", "uint64"], _bbo
|
|
354
|
+
)
|
|
355
|
+
|
|
332
356
|
def l1_block_number(self) -> Call[int]:
|
|
333
357
|
return self._read(L1_BLOCK_NUMBER_PRECOMPILE, [], [], ["uint64"])
|
|
334
358
|
|
|
@@ -748,7 +748,7 @@ class TestUniversalTokenSwapperSubstrates:
|
|
|
748
748
|
with pytest.raises(ValueError, match="20-byte"):
|
|
749
749
|
UniversalTokenSwapperSubstrates.token("0x1234") # type: ignore[arg-type]
|
|
750
750
|
|
|
751
|
-
@pytest.mark.parametrize("spelling", [ZERO_ADDRESS, "0" * 40])
|
|
751
|
+
@pytest.mark.parametrize("spelling", [ZERO_ADDRESS, "0X" + "0" * 40, "0" * 40])
|
|
752
752
|
def test_zero_address_rejected(self, spelling):
|
|
753
753
|
# Mirrors UniversalTokenSwapperSubstrateLibZeroAddress on-chain. The
|
|
754
754
|
# error names the field, so a guard wired to the wrong one would show.
|
|
@@ -1214,9 +1214,9 @@ class TestSlippageParamsAllowZero:
|
|
|
1214
1214
|
class TestFuseConstructorValidation:
|
|
1215
1215
|
"""Fuse constructor must reject zero and empty addresses."""
|
|
1216
1216
|
|
|
1217
|
-
@pytest.mark.parametrize("spelling", [ZERO_ADDR, "0" * 40])
|
|
1217
|
+
@pytest.mark.parametrize("spelling", [ZERO_ADDR, "0X" + "0" * 40, "0" * 40])
|
|
1218
1218
|
def test_zero_address_rejected(self, spelling):
|
|
1219
|
-
#
|
|
1219
|
+
# Every prefix spelling names the same address; all must be caught.
|
|
1220
1220
|
with pytest.raises(ValueError, match="zero address"):
|
|
1221
1221
|
AaveV3SupplyFuse(spelling)
|
|
1222
1222
|
|
|
@@ -2203,7 +2203,7 @@ class TestExternalStateSubstrates:
|
|
|
2203
2203
|
@pytest.mark.parametrize(
|
|
2204
2204
|
("encoder", "field"), _ADDRESS_ENCODERS, ids=_ADDRESS_ENCODER_IDS
|
|
2205
2205
|
)
|
|
2206
|
-
@pytest.mark.parametrize("spelling", [ZERO_ADDRESS, "0" * 40])
|
|
2206
|
+
@pytest.mark.parametrize("spelling", [ZERO_ADDRESS, "0X" + "0" * 40, "0" * 40])
|
|
2207
2207
|
def test_zero_address_rejected(self, encoder, field, spelling):
|
|
2208
2208
|
# Mirrors ExternalStateErrors.ExternalStateZeroAddress on-chain. The
|
|
2209
2209
|
# bare spelling matters: config files and CSV exports drop the 0x, and
|
|
@@ -21,6 +21,7 @@ from ipor_fusion import (
|
|
|
21
21
|
)
|
|
22
22
|
from ipor_fusion.hypercore import (
|
|
23
23
|
HyperCoreActionClass,
|
|
24
|
+
HyperCoreBbo,
|
|
24
25
|
HyperCoreEffectKind,
|
|
25
26
|
HyperCoreNav,
|
|
26
27
|
HyperCorePendingReader,
|
|
@@ -152,11 +153,33 @@ class TestPrecompileCalls:
|
|
|
152
153
|
self.reader.core_user_exists(VAULT).decode(encode(["bool"], [True])) is True
|
|
153
154
|
)
|
|
154
155
|
|
|
156
|
+
def test_bbo_takes_the_action_asset(self):
|
|
157
|
+
call = self.reader.bbo(110_002)
|
|
158
|
+
# The literal, so a wrong BBO_PRECOMPILE fails.
|
|
159
|
+
assert call.to == Web3.to_checksum_address("0x" + "00" * 18 + "080e")
|
|
160
|
+
assert call.data == encode(["uint32"], [110_002])
|
|
161
|
+
bbo = call.decode(encode(["uint64", "uint64"], [213_750, 213_770]))
|
|
162
|
+
assert bbo == HyperCoreBbo(bid=213_750, ask=213_770)
|
|
163
|
+
|
|
164
|
+
def test_bbo_reads_an_empty_side_as_none(self):
|
|
165
|
+
empty_ask = self.reader.bbo(10_200).decode(
|
|
166
|
+
encode(["uint64", "uint64"], [18_700_000, 0])
|
|
167
|
+
)
|
|
168
|
+
assert empty_ask == HyperCoreBbo(bid=18_700_000, ask=None)
|
|
169
|
+
empty_bid = self.reader.bbo(10_200).decode(
|
|
170
|
+
encode(["uint64", "uint64"], [0, 18_800_000])
|
|
171
|
+
)
|
|
172
|
+
assert empty_bid == HyperCoreBbo(bid=None, ask=18_800_000)
|
|
173
|
+
empty = self.reader.bbo(10_220).decode(encode(["uint64", "uint64"], [0, 0]))
|
|
174
|
+
assert empty == HyperCoreBbo(bid=None, ask=None)
|
|
175
|
+
|
|
155
176
|
def test_arguments_are_width_checked(self):
|
|
156
177
|
with pytest.raises(ValueError, match="uint64"):
|
|
157
178
|
self.reader.spot_balance(VAULT, 1 << 64)
|
|
158
179
|
with pytest.raises(ValueError, match="uint32"):
|
|
159
180
|
self.reader.perp_asset_info(1 << 32)
|
|
181
|
+
with pytest.raises(ValueError, match="uint32"):
|
|
182
|
+
self.reader.bbo(1 << 32)
|
|
160
183
|
|
|
161
184
|
|
|
162
185
|
USDC = Web3.to_checksum_address("0xb88339cb7199b77e23db6e890353e22632ba630f")
|
|
@@ -467,6 +467,7 @@ _ALL_SNAPSHOT: dict[str, frozenset[str]] = {
|
|
|
467
467
|
"HyperCoreActionSettledArgs",
|
|
468
468
|
"HyperCoreActionSettledEvent",
|
|
469
469
|
"HyperCoreAsset",
|
|
470
|
+
"HyperCoreBbo",
|
|
470
471
|
"HyperCoreBuilderFeeFuse",
|
|
471
472
|
"HyperCoreBuilderFeeFuseEnterArgs",
|
|
472
473
|
"HyperCoreBuilderFeeFuseEnterEvent",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/examples/advanced_euler_v2_credit_market_base.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/examples/advanced_euler_v2_looping_arbitrum.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/examples/external_state_margin_leg_base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/cli/oracle_mapping_view.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/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
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/external_state_executor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/simulation_result.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/core/withdraw_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/ccip/__init__.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/ccip/chainlink.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/ccip/codec.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/ccip/contracts.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/ccip/events.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/ccip/indexer.py
RENAMED
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/ccip/quote.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/ccip/transport.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/fuses/__init__.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/fuses/base.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/fuses/ccip.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/fuses/stargate.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/simulation.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/stargate/__init__.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/stargate/contracts.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/stargate/lane.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/stargate/layerzero.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/crosschain/stargate/transport.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/fluid_instadapp.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/fuses/hypercore_pre_hooks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/hypercore_outcome.py
RENAMED
|
File without changes
|
{ipor_fusion-4.1.0.dev40 → ipor_fusion-4.1.0.dev44}/src/ipor_fusion/readers/lending_health.py
RENAMED
|
File without changes
|