Source code for celestia.node_api.das

from typing import Callable

from _jsonrpc import Wrapper
from celestia.types.das import SamplingStats


[docs] class DasClient(Wrapper): """Client for interacting with Celestia's Das API."""
[docs] async def sampling_stats(self, *, deserializer: Callable | None = None) -> SamplingStats: """Returns the current statistics over the DA sampling process. Args: deserializer (Callable | None): Custom deserializer. Defaults to :meth:`~celestia.types.das.SamplingStats.deserializer`. Returns: SamplingStats: The current sampling statistics. """ deserializer = deserializer if deserializer is not None else SamplingStats.deserializer return await self._rpc.call("das.SamplingStats", (), deserializer)
[docs] async def wait_catch_up(self) -> None: """Blocks until DASer finishes catching up to the network head. Returns: None """ return await self._rpc.call("das.WaitCatchUp")