mercurymesh-privacy-preserv.../mercurymesh_privacy_preserv.../registry.py

24 lines
676 B
Python

from __future__ import annotations
from dataclasses import dataclass, field
from typing import Dict, List
from .contracts import Signal, SignalDelta
@dataclass
class GraphOfContractsRegistry:
version: int = 1
contracts: Dict[str, Dict] = field(default_factory=dict)
adapters: List[str] = field(default_factory=list)
def register_contract(self, name: str, contract: dict) -> None:
self.contracts[name] = contract
def list_contracts(self) -> List[str]:
return list(self.contracts.keys())
def add_adapter(self, adapter_name: str) -> None:
if adapter_name not in self.adapters:
self.adapters.append(adapter_name)