ipor-fusion 4.0.0.dev149__tar.gz → 4.0.0.dev151__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.
Files changed (300) hide show
  1. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/PKG-INFO +1 -1
  2. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/examples/advanced_euler_v2_credit_market_base.py +2 -2
  3. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/examples/advanced_euler_v2_looping_arbitrum.py +4 -4
  4. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/examples/composed_hypercore_flow_arbitrum_hyperevm.py +1 -2
  5. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/examples/crosschain_ccip_usdc_arbitrum_hyperevm.py +2 -2
  6. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/examples/external_state_margin_leg_base.py +2 -2
  7. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/examples/simple_aave_v3_supply_base.py +2 -2
  8. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/pyproject.toml +1 -1
  9. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/readers/hypercore.py +1 -1
  10. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/_crosschain.py +3 -3
  11. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/_euler_v2.py +2 -2
  12. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_cli_helpers.py +1 -1
  13. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_cli_vault_info_golden.py +5 -5
  14. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_vault_from_scratch_base.py +2 -2
  15. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_unpriceable_tokens.py +2 -5
  16. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_validation.py +4 -4
  17. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/.claude-plugin/marketplace.json +0 -0
  18. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/.claude-plugin/plugin.json +0 -0
  19. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/.env.example +0 -0
  20. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/.gemini/settings.json +0 -0
  21. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/.git-blame-ignore-revs +0 -0
  22. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/.github/workflows/cd.yml +0 -0
  23. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/.github/workflows/ci.yml +0 -0
  24. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/.github/workflows/commit-lint.yml +0 -0
  25. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/.github/workflows/notify-slack.yml +0 -0
  26. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/.github/workflows/python-build.yml +0 -0
  27. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/.github/workflows/python-publish.yml +0 -0
  28. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/.github/workflows/release.yml +0 -0
  29. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/.github/workflows/report-slack.yml +0 -0
  30. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/.gitignore +0 -0
  31. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/.mcp.json +0 -0
  32. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/.pre-commit-config.yaml +0 -0
  33. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/.python-version +0 -0
  34. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/AGENTS.md +0 -0
  35. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/CHANGELOG.md +0 -0
  36. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/CLAUDE.md +0 -0
  37. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/CODEOWNERS +0 -0
  38. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/LICENSE +0 -0
  39. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/MIGRATION_4.md +0 -0
  40. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/README.md +0 -0
  41. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/build.sh +0 -0
  42. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/examples/CONTRIBUTING.md +0 -0
  43. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/examples/README.md +0 -0
  44. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/pytest.ini +0 -0
  45. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/scripts/commit-check.sh +0 -0
  46. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/scripts/crosschain_readiness.py +0 -0
  47. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/skills/ipor-deploy-vault/SKILL.md +0 -0
  48. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/__init__.py +0 -0
  49. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/about.py +0 -0
  50. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/cache.py +0 -0
  51. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/chains.py +0 -0
  52. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/cli/__init__.py +0 -0
  53. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/cli/changelog_cmd.py +0 -0
  54. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/cli/config_cmd.py +0 -0
  55. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/cli/config_store.py +0 -0
  56. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/cli/main.py +0 -0
  57. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/cli/market_cmd.py +0 -0
  58. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/cli/options.py +0 -0
  59. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/cli/oracle_mapping_view.py +0 -0
  60. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/cli/vault_cmd.py +0 -0
  61. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/cli/vault_health.py +0 -0
  62. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/cli/vault_info_view.py +0 -0
  63. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/cli/vault_markets_view.py +0 -0
  64. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/cli/vault_rendering.py +0 -0
  65. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/config/__init__.py +0 -0
  66. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/config/roles.py +0 -0
  67. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/__init__.py +0 -0
  68. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/access.py +0 -0
  69. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/address.py +0 -0
  70. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/context.py +0 -0
  71. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/contract.py +0 -0
  72. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/erc20.py +0 -0
  73. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/external_state_executor.py +0 -0
  74. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/fee_manager.py +0 -0
  75. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/fuse.py +0 -0
  76. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/fuse_action.py +0 -0
  77. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/fusion_factory.py +0 -0
  78. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/logs.py +0 -0
  79. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/multicall.py +0 -0
  80. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/oracle.py +0 -0
  81. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/plasma_vault.py +0 -0
  82. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/rewards_manager.py +0 -0
  83. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/simulation.py +0 -0
  84. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/core/withdraw_manager.py +0 -0
  85. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/__init__.py +0 -0
  86. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/ccip/__init__.py +0 -0
  87. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/ccip/chainlink.py +0 -0
  88. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/ccip/codec.py +0 -0
  89. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/ccip/contracts.py +0 -0
  90. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/ccip/events.py +0 -0
  91. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/ccip/indexer.py +0 -0
  92. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/ccip/lane.py +0 -0
  93. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/ccip/quote.py +0 -0
  94. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/ccip/transport.py +0 -0
  95. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/contracts.py +0 -0
  96. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/discovery.py +0 -0
  97. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/errors.py +0 -0
  98. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/fuses/__init__.py +0 -0
  99. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/fuses/base.py +0 -0
  100. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/fuses/ccip.py +0 -0
  101. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/fuses/stargate.py +0 -0
  102. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/lane.py +0 -0
  103. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/logs.py +0 -0
  104. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/messages.py +0 -0
  105. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/simulation.py +0 -0
  106. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/stargate/__init__.py +0 -0
  107. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/stargate/contracts.py +0 -0
  108. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/stargate/lane.py +0 -0
  109. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/stargate/layerzero.py +0 -0
  110. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/stargate/transport.py +0 -0
  111. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/crosschain/transport.py +0 -0
  112. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/dependency_graph.py +0 -0
  113. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/entry_cli.py +0 -0
  114. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/entry_mcp.py +0 -0
  115. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/errors.py +0 -0
  116. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/explorer.py +0 -0
  117. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/field_docs.py +0 -0
  118. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/__init__.py +0 -0
  119. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/aave_v3.py +0 -0
  120. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/async_action.py +0 -0
  121. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/base.py +0 -0
  122. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/compound_v3.py +0 -0
  123. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/erc4626.py +0 -0
  124. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/euler_v2.py +0 -0
  125. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/events.py +0 -0
  126. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/external_state.py +0 -0
  127. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/external_state_events.py +0 -0
  128. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/fluid_instadapp.py +0 -0
  129. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/gearbox_v3.py +0 -0
  130. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/hypercore.py +0 -0
  131. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/hypercore_events.py +0 -0
  132. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/merkl.py +0 -0
  133. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/morpho.py +0 -0
  134. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/ramses_v2.py +0 -0
  135. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/uniswap_v3.py +0 -0
  136. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/fuses/universal.py +0 -0
  137. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/guide/__init__.py +0 -0
  138. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/guide/architecture.md +0 -0
  139. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/guide/glossary.md +0 -0
  140. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/guide/invariants.md +0 -0
  141. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/guide/quickstart.md +0 -0
  142. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/market_ids.py +0 -0
  143. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/market_info.py +0 -0
  144. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/mcp/__init__.py +0 -0
  145. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/mcp/guide.py +0 -0
  146. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/mcp/models.py +0 -0
  147. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/mcp/server.py +0 -0
  148. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/morpho_api.py +0 -0
  149. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/py.typed +0 -0
  150. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/readers/__init__.py +0 -0
  151. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/readers/aave_v3.py +0 -0
  152. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/readers/aave_v4.py +0 -0
  153. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/readers/compound_v3.py +0 -0
  154. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/readers/hypercore_outcome.py +0 -0
  155. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/readers/lending_health.py +0 -0
  156. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/readers/morpho.py +0 -0
  157. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/readers/oracle_mapping.py +0 -0
  158. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/readers/oracle_mapping_nodes.py +0 -0
  159. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/readers/oracle_mapping_reader.py +0 -0
  160. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/readers/position_manager.py +0 -0
  161. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/readers/ramses_v2.py +0 -0
  162. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/readers/uniswap_v3.py +0 -0
  163. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/readers/unpriceable.py +0 -0
  164. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/substrates.py +0 -0
  165. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/types.py +0 -0
  166. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/validation.py +0 -0
  167. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/vault_data.py +0 -0
  168. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/vault_erc20.py +0 -0
  169. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/vault_info.py +0 -0
  170. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/vault_managers.py +0 -0
  171. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/vault_positions.py +0 -0
  172. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/src/ipor_fusion/vault_reads.py +0 -0
  173. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/UniswapV3UniversalRouter.py +0 -0
  174. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/_crosschain_lifecycle.py +0 -0
  175. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/_crosschain_recovery.py +0 -0
  176. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/_foundry.py +0 -0
  177. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/_guide.py +0 -0
  178. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/_hypercore_model.py +0 -0
  179. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/_hypercore_shadow.py +0 -0
  180. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/_multicall.py +0 -0
  181. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/_simulate.py +0 -0
  182. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/_validation.py +0 -0
  183. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/addresses.py +0 -0
  184. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/conftest.py +0 -0
  185. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/constants.py +0 -0
  186. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/fixtures/hypercore_hip3_flow.json +0 -0
  187. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/fixtures/hypercore_market55.json +0 -0
  188. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/fixtures/vault_info_golden/clean.json +0 -0
  189. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/fixtures/vault_info_golden/clean.txt +0 -0
  190. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/fixtures/vault_info_golden/rich.json +0 -0
  191. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/fixtures/vault_info_golden/rich.txt +0 -0
  192. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_about.py +0 -0
  193. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_access_manager.py +0 -0
  194. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_cache.py +0 -0
  195. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_chains.py +0 -0
  196. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_cli_changelog.py +0 -0
  197. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_cli_commands.py +0 -0
  198. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_cli_config_store.py +0 -0
  199. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_cli_hypercore.py +0 -0
  200. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_cli_lending_health.py +0 -0
  201. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_cli_market_morpho_blue.py +0 -0
  202. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_cli_oracle_mapping.py +0 -0
  203. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_cli_pending_requests_scan.py +0 -0
  204. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_cli_role_accounts.py +0 -0
  205. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_cli_vault_predates_getters.py +0 -0
  206. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_cli_vault_validate.py +0 -0
  207. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_contract_call.py +0 -0
  208. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_contract_encoder.py +0 -0
  209. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_crosschain_ccip_events.py +0 -0
  210. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_crosschain_ccip_indexer.py +0 -0
  211. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_crosschain_ccip_quote.py +0 -0
  212. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_crosschain_chainlink.py +0 -0
  213. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_crosschain_contracts.py +0 -0
  214. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_crosschain_encoding.py +0 -0
  215. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_crosschain_errors.py +0 -0
  216. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_crosschain_lane.py +0 -0
  217. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_crosschain_layering.py +0 -0
  218. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_crosschain_readiness.py +0 -0
  219. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_crosschain_readiness_report.py +0 -0
  220. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_crosschain_transport.py +0 -0
  221. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_docs_typing.py +0 -0
  222. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_erc20.py +0 -0
  223. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_error_hierarchy.py +0 -0
  224. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_examples_composed_hypercore.py +0 -0
  225. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_examples_crosschain.py +0 -0
  226. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_examples_euler_looping_arbitrum.py +0 -0
  227. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_examples_vaults.py +0 -0
  228. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_explorer.py +0 -0
  229. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_external_state_events.py +0 -0
  230. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_external_state_executor.py +0 -0
  231. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_fee_manager.py +0 -0
  232. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_fuse_encoding.py +0 -0
  233. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_fusion_instance.py +0 -0
  234. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_guide.py +0 -0
  235. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_hypercore_deployment.py +0 -0
  236. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_hypercore_events.py +0 -0
  237. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_hypercore_flow.py +0 -0
  238. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_hypercore_live.py +0 -0
  239. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_hypercore_outcome.py +0 -0
  240. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_hypercore_readers.py +0 -0
  241. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_hypercore_simulation.py +0 -0
  242. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_logs.py +0 -0
  243. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_mcp_hypercore.py +0 -0
  244. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_mcp_models.py +0 -0
  245. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_mcp_server.py +0 -0
  246. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_mcp_vault_validate.py +0 -0
  247. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_multicall.py +0 -0
  248. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_oracle.py +0 -0
  249. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_oracle_mapping.py +0 -0
  250. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_plasma_vault.py +0 -0
  251. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_public_api.py +0 -0
  252. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_public_type_reachability.py +0 -0
  253. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_reader_encoding.py +0 -0
  254. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_readiness_selection.py +0 -0
  255. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_revert_decoding.py +0 -0
  256. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_rewards_manager.py +0 -0
  257. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_roles.py +0 -0
  258. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_sdk_layering.py +0 -0
  259. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_borrow_aave_v3_mainnet.py +0 -0
  260. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_claim_merkl_wrapper_base.py +0 -0
  261. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_claim_morpho_rewards.py +0 -0
  262. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_crosschain_canary.py +0 -0
  263. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_crosschain_hypercore.py +0 -0
  264. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_crosschain_hyperevm.py +0 -0
  265. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_crosschain_lifecycle.py +0 -0
  266. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_euler_v2_batch_base.py +0 -0
  267. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_euler_v2_credit_market_base.py +0 -0
  268. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_euler_v2_swap_deploy_base.py +0 -0
  269. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_euler_v2_swap_reconfigure_base.py +0 -0
  270. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_euler_v2_swap_registry_base.py +0 -0
  271. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_examples_arbitrum.py +0 -0
  272. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_examples_base.py +0 -0
  273. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_examples_crosschain.py +0 -0
  274. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_external_state_executor_base.py +0 -0
  275. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_fusion_factory_clone_base.py +0 -0
  276. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_looping_aave_v3_base.py +0 -0
  277. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_looping_morpho_blue_base.py +0 -0
  278. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_morpho_blue.py +0 -0
  279. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_pilot_v3.py +0 -0
  280. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_pilot_v4_uniswap.py +0 -0
  281. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_pilot_v5_ramses.py +0 -0
  282. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_pilot_v5_scheduled.py +0 -0
  283. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_plasma_vault_setters_base.py +0 -0
  284. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_readers_integration.py +0 -0
  285. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_release_funds.py +0 -0
  286. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_simulate_swap_on_base.py +0 -0
  287. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_solidity_compiler.py +0 -0
  288. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_solidity_mirrors.py +0 -0
  289. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_substrates.py +0 -0
  290. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_types_and_events.py +0 -0
  291. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_vault_data_block.py +0 -0
  292. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_vault_dep_graph.py +0 -0
  293. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_vault_info_onchain_base.py +0 -0
  294. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_vault_info_onchain_base_no_withdraw_manager.py +0 -0
  295. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_vault_simulator_blocks.py +0 -0
  296. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_web3_context.py +0 -0
  297. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/test_withdraw_manager.py +0 -0
  298. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/typed_client/consumer.py +0 -0
  299. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/tests/typed_client/rejected.py +0 -0
  300. {ipor_fusion-4.0.0.dev149 → ipor_fusion-4.0.0.dev151}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: ipor-fusion
3
- Version: 4.0.0.dev149
3
+ Version: 4.0.0.dev151
4
4
  Summary: The IPOR Fusion SDK for Python
5
5
  Project-URL: homepage, https://ipor.io
6
6
  Project-URL: repository, https://github.com/IPOR-Labs/ipor-fusion.py
@@ -72,7 +72,7 @@ from ipor_fusion.fuses import (
72
72
  euler_substrate,
73
73
  )
74
74
  from ipor_fusion.market_ids import IporFusionMarkets
75
- from ipor_fusion.types import MAX_UINT256, Amount, ChainId, MarketId, Period
75
+ from ipor_fusion.types import MAX_UINT256, Amount, ChainId, Period
76
76
 
77
77
  log = logging.getLogger("advanced_euler_v2_credit_market_base")
78
78
 
@@ -83,7 +83,7 @@ log = logging.getLogger("advanced_euler_v2_credit_market_base")
83
83
  # deployments -- see their note below.
84
84
 
85
85
  BASE_CHAIN_ID = ChainId(8453)
86
- EULER_MARKET = MarketId(IporFusionMarkets.EULER_V2)
86
+ EULER_MARKET = IporFusionMarkets.EULER_V2
87
87
 
88
88
  # IporFusionFactoryProxy on Base. Its clone(...) takes the six args in clone_args().
89
89
  BASE_FUSION_FACTORY = Web3.to_checksum_address(
@@ -61,7 +61,7 @@ from ipor_fusion.fuses import (
61
61
  euler_substrate,
62
62
  )
63
63
  from ipor_fusion.market_ids import IporFusionMarkets
64
- from ipor_fusion.types import Amount, ChainId, MarketId, Period
64
+ from ipor_fusion.types import Amount, ChainId, Period
65
65
 
66
66
  log = logging.getLogger("advanced_euler_v2_looping_arbitrum")
67
67
 
@@ -71,9 +71,9 @@ log = logging.getLogger("advanced_euler_v2_looping_arbitrum")
71
71
  # mainnet-arbitrum-fusion/addresses.json
72
72
 
73
73
  ARBITRUM_CHAIN_ID = ChainId(42161)
74
- EULER_MARKET = MarketId(IporFusionMarkets.EULER_V2)
75
- SWAPPER_MARKET = MarketId(IporFusionMarkets.UNIVERSAL_TOKEN_SWAPPER_V2)
76
- MORPHO_FLASH_MARKET = MarketId(IporFusionMarkets.MORPHO_FLASH_LOAN)
74
+ EULER_MARKET = IporFusionMarkets.EULER_V2
75
+ SWAPPER_MARKET = IporFusionMarkets.UNIVERSAL_TOKEN_SWAPPER_V2
76
+ MORPHO_FLASH_MARKET = IporFusionMarkets.MORPHO_FLASH_LOAN
77
77
 
78
78
  ARBITRUM_FUSION_FACTORY = Web3.to_checksum_address(
79
79
  "0x134fCAce7a2C7Ef3dF2479B62f03ddabAEa922d5"
@@ -113,7 +113,6 @@ from ipor_fusion.types import (
113
113
  Decimals,
114
114
  HyperCoreAsset,
115
115
  HyperCoreClientOrderId,
116
- MarketId,
117
116
  Period,
118
117
  Shares,
119
118
  )
@@ -162,7 +161,7 @@ HYPERCORE_BALANCE_FUSE = parse_fuse_address(
162
161
  "0xaC7404Ec2Bc3F2d3c0853633e0c3edfA25DC50F9"
163
162
  )
164
163
  HYPERCORE_MARKET = IporFusionMarkets.HYPERCORE
165
- CROSSCHAIN_MARKET = MarketId(int(IporFusionMarkets.CROSSCHAIN))
164
+ CROSSCHAIN_MARKET = IporFusionMarkets.CROSSCHAIN
166
165
 
167
166
  # ── Actors ───────────────────────────────────────────────────────────────────
168
167
  # One EOA holds the alpha role on both vaults in this test deployment; the two
@@ -86,7 +86,7 @@ from ipor_fusion import (
86
86
  parse_plasma_vault_address,
87
87
  )
88
88
  from ipor_fusion.market_ids import IporFusionMarkets
89
- from ipor_fusion.types import Amount, ChainId, Decimals, MarketId, Period, Shares
89
+ from ipor_fusion.types import Amount, ChainId, Decimals, Period, Shares
90
90
 
91
91
  log = logging.getLogger("crosschain_ccip_usdc_arbitrum_hyperevm")
92
92
 
@@ -123,7 +123,7 @@ EXECUTOR = Web3.to_checksum_address("0xcb83A78BD8e8c284d5704B62945EF2C454266dB0"
123
123
  SPOKE_VAULT = parse_plasma_vault_address("0xA342eBA00bD725799828A34EA55D25a55958f643")
124
124
  # ``IporFusionMarkets.CROSSCHAIN``: the market the four crosschain fuses are
125
125
  # registered under on the hub vault.
126
- CROSSCHAIN_MARKET = MarketId(int(IporFusionMarkets.CROSSCHAIN))
126
+ CROSSCHAIN_MARKET = IporFusionMarkets.CROSSCHAIN
127
127
 
128
128
  # ── Actors ───────────────────────────────────────────────────────────────────
129
129
  # Role separation: the alpha is an online, least-privilege key that can only
@@ -96,7 +96,7 @@ from ipor_fusion import (
96
96
  )
97
97
  from ipor_fusion.fuses import ExternalStateOperationFuse
98
98
  from ipor_fusion.market_ids import IporFusionMarkets
99
- from ipor_fusion.types import Amount, ChainId, MarketId, Period, ProposalHash, Shares
99
+ from ipor_fusion.types import Amount, ChainId, Period, ProposalHash, Shares
100
100
 
101
101
  log = logging.getLogger("external_state_margin_leg_base")
102
102
 
@@ -121,7 +121,7 @@ BASE_FUSION_FACTORY = Web3.to_checksum_address(
121
121
  BASE_USDC = Web3.to_checksum_address("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913")
122
122
 
123
123
  # External-state market (IporFusionMarkets.EXTERNAL_STATE).
124
- EXTERNAL_STATE_MARKET = MarketId(IporFusionMarkets.EXTERNAL_STATE)
124
+ EXTERNAL_STATE_MARKET = IporFusionMarkets.EXTERNAL_STATE
125
125
 
126
126
  # External-state *operation* fuse (enter/exit) -- the functional fuse. It also
127
127
  # lazily deploys the per-vault ExternalStateExecutor on the first enter.
@@ -53,7 +53,7 @@ from ipor_fusion import (
53
53
  )
54
54
  from ipor_fusion.fuses import AaveV3SupplyFuse
55
55
  from ipor_fusion.market_ids import IporFusionMarkets
56
- from ipor_fusion.types import Amount, ChainId, MarketId, Period
56
+ from ipor_fusion.types import Amount, ChainId, Period
57
57
 
58
58
  log = logging.getLogger("simple_aave_v3_supply_base")
59
59
 
@@ -75,7 +75,7 @@ BASE_FUSION_FACTORY = Web3.to_checksum_address(
75
75
  BASE_USDC = Web3.to_checksum_address("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913")
76
76
 
77
77
  # Aave V3 market (IporFusionMarkets.AAVE_V3).
78
- AAVE_MARKET = MarketId(IporFusionMarkets.AAVE_V3)
78
+ AAVE_MARKET = IporFusionMarkets.AAVE_V3
79
79
 
80
80
  # Aave V3 *supply* fuse (registry name SupplyFuseAaveV3) -- the functional fuse
81
81
  # that encodes supply/withdraw.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "ipor-fusion"
3
- version = "4.0.0.dev149"
3
+ version = "4.0.0.dev151"
4
4
  description = "The IPOR Fusion SDK for Python"
5
5
  authors = [
6
6
  { name = "Adam Mydlarz", email = "amydlarz@gmail.com" },
@@ -68,7 +68,7 @@ from ipor_fusion.types import (
68
68
  T = TypeVar("T")
69
69
 
70
70
  #: New HyperCore vaults use market 55; the abandoned pilot still keys 54.
71
- HYPERCORE_MARKET = MarketId(IporFusionMarkets.HYPERCORE)
71
+ HYPERCORE_MARKET = IporFusionMarkets.HYPERCORE
72
72
  #: The only chain with the HyperCore precompiles.
73
73
  HYPEREVM_CHAIN_ID = ChainId(999)
74
74
  #: Known ``HyperCorePendingReader`` deployments per chain. The reader is a
@@ -46,7 +46,7 @@ from ipor_fusion import (
46
46
  from ipor_fusion.crosschain import CrosschainTransportKind
47
47
  from ipor_fusion.crosschain.fuses import crosschain_market_id
48
48
  from ipor_fusion.market_ids import IporFusionMarkets
49
- from ipor_fusion.types import ChainId
49
+ from ipor_fusion.types import ChainId, MarketId
50
50
 
51
51
  ETHEREUM = ChainId(1)
52
52
  BASE = ChainId(8453)
@@ -292,7 +292,7 @@ class Deployment:
292
292
  owner: str # holds ATOMIST, ALPHA, FUSE_MANAGER and UPDATE_MARKETS_BALANCES
293
293
  balance_proposer: str
294
294
  balance_approver: str
295
- market_id: int
295
+ market_id: MarketId
296
296
  transports: dict[CrosschainTransportKind, TransportDeployment]
297
297
  claim_fuse: str
298
298
  spokes: tuple[Spoke, ...]
@@ -407,7 +407,7 @@ CANARY = Deployment(
407
407
  balance_approver=Web3.to_checksum_address(
408
408
  "0x64D345FE416EE6b841B544F27277d9B61b61A02a"
409
409
  ),
410
- market_id=int(IporFusionMarkets.CROSSCHAIN),
410
+ market_id=IporFusionMarkets.CROSSCHAIN,
411
411
  transports={
412
412
  CrosschainTransportKind.CHAINLINK_CCIP: TransportDeployment(
413
413
  executor=Web3.to_checksum_address(
@@ -36,7 +36,7 @@ from ipor_fusion.fuses import (
36
36
  euler_substrate,
37
37
  )
38
38
  from ipor_fusion.market_ids import IporFusionMarkets
39
- from ipor_fusion.types import Amount, MarketId, Period
39
+ from ipor_fusion.types import Amount, Period
40
40
 
41
41
  ZERO_ADDRESS = Web3.to_checksum_address("0x0000000000000000000000000000000000000000")
42
42
 
@@ -98,7 +98,7 @@ SUPPLY_AMOUNT = Amount(10 * 10**18)
98
98
  OWNER = Web3.to_checksum_address("0x533ac556E288625B267bD71B7928E0a8B46DcE82")
99
99
 
100
100
  SUB_ACCOUNT = 0x01
101
- EULER_MARKET = MarketId(IporFusionMarkets.EULER_V2)
101
+ EULER_MARKET = IporFusionMarkets.EULER_V2
102
102
 
103
103
  # Uniswap-v4 hook-flag constraint on the pool address (EulerSwap v2):
104
104
  # low 14 bits must equal exactly beforeInitialize|beforeAddLiquidity|beforeSwap|
@@ -1859,7 +1859,7 @@ class TestFetchAavePools:
1859
1859
  ctx = MagicMock()
1860
1860
  morpho_only = [
1861
1861
  BalanceFuse(
1862
- market_id=MarketId(IporFusionMarkets.MORPHO),
1862
+ market_id=IporFusionMarkets.MORPHO,
1863
1863
  fuse=self._FUSES[IporFusionMarkets.MORPHO],
1864
1864
  )
1865
1865
  ]
@@ -43,7 +43,7 @@ from ipor_fusion.core.plasma_vault import BalanceFuse, PlasmaVault
43
43
  from ipor_fusion.market_ids import IporFusionMarkets
44
44
  from ipor_fusion.readers.lending_health import LendingMarketHealth, VaultLendingHealth
45
45
  from ipor_fusion.readers.unpriceable import MiddlewarePricedToken
46
- from ipor_fusion.types import ChainId, MarketId, Shares
46
+ from ipor_fusion.types import ChainId, Shares
47
47
  from ipor_fusion.vault_data import (
48
48
  GET_TOTAL_SUPPLY_CAP,
49
49
  VaultData,
@@ -74,10 +74,10 @@ FUSE_AAVE_DUP = _addr("f4")
74
74
  FUSE_ORPHAN = _addr("f5")
75
75
  PRICE_SOURCE = _addr("5e")
76
76
 
77
- AAVE = MarketId(IporFusionMarkets.AAVE_V3)
78
- MORPHO = MarketId(IporFusionMarkets.MORPHO)
79
- ERC20_MARKET = MarketId(IporFusionMarkets.ERC20_VAULT_BALANCE)
80
- ORPHAN_MARKET = MarketId(IporFusionMarkets.COMPOUND_V3_USDC)
77
+ AAVE = IporFusionMarkets.AAVE_V3
78
+ MORPHO = IporFusionMarkets.MORPHO
79
+ ERC20_MARKET = IporFusionMarkets.ERC20_VAULT_BALANCE
80
+ ORPHAN_MARKET = IporFusionMarkets.COMPOUND_V3_USDC
81
81
 
82
82
  USDC = 10**6
83
83
  WAD = 10**18
@@ -40,7 +40,7 @@ from ipor_fusion import (
40
40
  from ipor_fusion.core import FusionFactory
41
41
  from ipor_fusion.fuses import AaveV3SupplyFuse
42
42
  from ipor_fusion.market_ids import IporFusionMarkets
43
- from ipor_fusion.types import Amount, ChainId, MarketId
43
+ from ipor_fusion.types import Amount, ChainId
44
44
 
45
45
  logging.basicConfig(level=logging.INFO)
46
46
  log = logging.getLogger(__name__)
@@ -54,7 +54,7 @@ BASE_FUSION_FACTORY = Web3.to_checksum_address(
54
54
  # works since validation=False lets us impersonate it.
55
55
  OWNER = Web3.to_checksum_address("0x533ac556E288625B267bD71B7928E0a8B46DcE82")
56
56
 
57
- AAVE_MARKET = MarketId(IporFusionMarkets.AAVE_V3)
57
+ AAVE_MARKET = IporFusionMarkets.AAVE_V3
58
58
  ONE_YEAR_SECONDS = 365 * 24 * 3600
59
59
 
60
60
  # --- deployment-specific values (BASE mainnet) ------------------------------
@@ -13,7 +13,6 @@ from ipor_fusion.readers.unpriceable import (
13
13
  MiddlewarePricedToken,
14
14
  fetch_unpriceable_priced_tokens,
15
15
  )
16
- from ipor_fusion.types import MarketId
17
16
  from ipor_fusion.validation import _unpriceable_token_findings
18
17
 
19
18
 
@@ -244,15 +243,13 @@ class TestFetch:
244
243
  def test_aave_v3_only_the_middleware_variant(self, chain, code, flagged):
245
244
  chain.ctx.web3.eth.get_code.return_value = code
246
245
  chain.answers.update(_oracle_answers({UNPRICED: ZERO}, priced=set()))
247
- market = MarketId(IporFusionMarkets.AAVE_V3)
246
+ market = IporFusionMarkets.AAVE_V3
248
247
  result = _fetch(
249
248
  chain,
250
249
  {market: [_plain(UNPRICED)]},
251
250
  balance_fuses=[
252
251
  BalanceFuse(market_id=market, fuse=AAVE_FUSE),
253
- BalanceFuse(
254
- market_id=MarketId(IporFusionMarkets.MORPHO), fuse=AAVE_FUSE
255
- ),
252
+ BalanceFuse(market_id=IporFusionMarkets.MORPHO, fuse=AAVE_FUSE),
256
253
  ],
257
254
  )
258
255
  assert bool(result) is flagged
@@ -34,7 +34,7 @@ from ipor_fusion import (
34
34
  from ipor_fusion.cache import NullCache
35
35
  from ipor_fusion.core.oracle import price_oracle_middleware
36
36
  from ipor_fusion.market_ids import IporFusionMarkets
37
- from ipor_fusion.types import ChainId, MarketId
37
+ from ipor_fusion.types import ChainId
38
38
  from ipor_fusion.validation import GET_MARKET_SUBSTRATES, Reconciliation
39
39
  from ipor_fusion.vault_data import VaultData, _MarketReads
40
40
  from ipor_fusion.vault_erc20 import _Asset, _erc20_holdings, _read_erc20_market
@@ -51,9 +51,9 @@ TOKEN = _addr("b1")
51
51
  OTHER = _addr("b2")
52
52
  FUSE = _addr("f1")
53
53
  ORPHAN_FUSE = _addr("f5")
54
- AAVE = MarketId(IporFusionMarkets.AAVE_V3)
55
- MORPHO = MarketId(IporFusionMarkets.MORPHO)
56
- ERC20_MARKET = MarketId(IporFusionMarkets.ERC20_VAULT_BALANCE)
54
+ AAVE = IporFusionMarkets.AAVE_V3
55
+ MORPHO = IporFusionMarkets.MORPHO
56
+ ERC20_MARKET = IporFusionMarkets.ERC20_VAULT_BALANCE
57
57
  WAD = 10**18
58
58
 
59
59