Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions quantara/soroban/adapters/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@

from .AMMAdapter import AMMAdapter, AMMAdapterFactory, PoolKey, PoolPrice, SwapRoute
from .soroswap_adapter import SoroswapAMMAdapter
from .LendingAdapter import LendingAdapter, LendingAdapterFactory, ReserveData, UserPosition
from .blend_adapter import BlendLendingAdapter

from . import _register # noqa: F401 auto-registers concrete adapters

Expand All @@ -16,4 +18,9 @@
"PoolPrice",
"SwapRoute",
"SoroswapAMMAdapter",
"LendingAdapter",
"LendingAdapterFactory",
"ReserveData",
"UserPosition",
"BlendLendingAdapter",
]
5 changes: 4 additions & 1 deletion quantara/soroban/adapters/_register.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
"""
quantara/soroban/adapters/_register.py
Explicit registration of concrete AMM adapters with AMMAdapterFactory.
Explicit registration of concrete adapters with factories.
This avoids import-time circular dependencies and makes registration obvious.
"""

from .soroswap_adapter import SoroswapAMMAdapter
from .blend_adapter import BlendLendingAdapter


def register_adapters() -> None:
from .AMMAdapter import AMMAdapterFactory
from .LendingAdapter import LendingAdapterFactory

AMMAdapterFactory.register("soroswap", SoroswapAMMAdapter)
LendingAdapterFactory.register("blend", BlendLendingAdapter)
Loading