degenbot.types.abstract ======================= .. py:module:: degenbot.types.abstract .. autoapi-nested-parse:: Abstract base classes and protocols for pools, tokens, and state. Submodules ---------- .. toctree:: :maxdepth: 1 /autoapi/degenbot/types/abstract/deployment/index /autoapi/degenbot/types/abstract/erc20_token/index /autoapi/degenbot/types/abstract/liquidity_pool/index /autoapi/degenbot/types/abstract/pool_state/index /autoapi/degenbot/types/abstract/pool_tracker/index Package Contents ---------------- .. py:class:: AbstractExchangeDeployment AbstractExchangeDeployment class. .. py:attribute:: name :type: str .. py:attribute:: chain_id :type: degenbot.types.aliases.ChainId .. py:class:: AbstractErc20Token Bases: :py:obj:`degenbot.types.address_comparable.AddressComparable` AbstractErc20Token class. .. py:attribute:: address :type: degenbot._ffi.ChecksummedAddress .. py:attribute:: symbol :type: str .. py:attribute:: name :type: str .. py:attribute:: decimals :type: int .. py:class:: AbstractLiquidityPool Bases: :py:obj:`degenbot.types.address_comparable.AddressComparable`, :py:obj:`abc.ABC` AbstractLiquidityPool class. .. py:attribute:: address :type: degenbot.types.chain.ChecksummedAddress .. py:attribute:: name :type: str .. py:property:: tokens :type: tuple[degenbot.erc20.erc20.Erc20Token, ...] :abstractmethod: Tokens. .. py:class:: AbstractPoolState AbstractPoolState class. .. py:attribute:: address :type: degenbot.types.chain.ChecksummedAddress .. py:attribute:: block :type: degenbot.types.aliases.BlockNumber | None .. py:class:: AbstractPoolTracker[Pool: degenbot.types.abstract.liquidity_pool.AbstractLiquidityPool](factory_address: str, bot: degenbot.bot.Bot, *, chain_id: degenbot.types.aliases.ChainId | None = None, **kwargs: Any) Base class for liquidity trackers. .. py:attribute:: pool_factory :type: type[Pool] .. py:method:: remove(pool_address: degenbot.types.chain.ChecksummedAddress | str) -> None Perform remove. .. py:method:: tracked_pool_count() -> int Return the number of pools currently tracked. Narrow teardown-introspection probe: ``Bot.release_python_state`` / ``Bot.close`` clear the tracker caches; this exposes the tracked cache size without reaching into the private ``_tracked_pools`` dict. Idempotent and side-effect free. :returns: The number of pools in ``_tracked_pools``. .. py:method:: untracked_pool_count() -> int Return the number of pools explicitly known to be untracked. Counterpart to :meth:`tracked_pool_count` for the ``_untracked_pools`` set; side-effect free. :returns: The number of addresses in ``_untracked_pools``. .. py:property:: chain_id :type: degenbot.types.aliases.ChainId Chain id. .. py:property:: deployer_address :type: degenbot.types.chain.ChecksummedAddress Deployer address. .. py:property:: factory_address :type: degenbot.types.chain.ChecksummedAddress Factory address. .. py:class:: AbstractSimulationResult Pool-agnostic result of a swap simulation. .. py:attribute:: amount0_delta :type: int .. py:attribute:: amount1_delta :type: int .. py:attribute:: initial_state :type: pool_state.AbstractPoolState .. py:attribute:: final_state :type: pool_state.AbstractPoolState .. py:class:: AbstractRegistry Abstract base for pool and token registries.