Source code for nqs_sdk.interfaces.protocol_factory
from abc import ABC, abstractmethod
from typing import Any, List, Tuple
from nqs_sdk.nqs_sdk import MutBuilderSharedState, SimulationClock
from .protocol import Protocol
from .tx_generator import TxGenerator
[docs]
class ProtocolFactory(ABC):
[docs]
@abstractmethod
def id(self) -> str: ...
[docs]
def simulation_schema(self) -> str:
return "{}"
[docs]
def backtest_schema(self) -> str:
return "{}"
[docs]
def common_schema(self) -> str:
return "{}"
[docs]
@abstractmethod
def build(
self,
clock: SimulationClock,
builder_state: MutBuilderSharedState,
common_config: Any,
backtest: bool,
config: Any,
) -> Tuple[List[Protocol], List[TxGenerator]]: ...