Source code for nqs_sdk.interfaces.protocol

from abc import ABC, abstractmethod
from typing import Any

from nqs_sdk.nqs_sdk import MutSharedState, SimulationClock, TxRequest


[docs] class Protocol(ABC):
[docs] @abstractmethod def id(self) -> str: ...
[docs] @abstractmethod def build_tx_payload(self, source: str, sender: str, call: Any) -> TxRequest: ...
[docs] @abstractmethod def execute_tx(self, clock: SimulationClock, states: MutSharedState, tx: TxRequest) -> None: ...