mirror of
https://github.com/aljazceru/nutshell.git
synced 2025-12-21 02:54:20 +01:00
* add websockets for quote updates * add test (not working) * wip: emit events to everyone * wip: emit events to everyone * wip, lots of things broken but invoice callback works * wip * add wip files * tests almost passing * add task * refactor nut constants * startup fix * works with old mints * wip cli * fix mypy * remove automatic invoice test now with websockets * remove comment * better logging * send back response * add rate limiter to websocket * add rate limiter to subscriptions * refactor websocket ratelimit * websocket tests * subscription kinds * doesnt start * remove circular import * update * fix mypy * move test file in test because it fails if it runs later... dunno why * adjust websocket NUT-06 settings * local import and small fix * disable websockets in CLI if "no_check" is selected * move subscription test to where it was * check proof state with callback, add tests * tests: run mint fixture per module instead of per session * subscription command name fix * test per session again * update test race conditions * fix tests * clean up * tmp * fix db issues and remove cached secrets * fix tests * blindly try pipeline * remove comments * comments
22 lines
486 B
Python
22 lines
486 B
Python
from abc import ABC, abstractmethod
|
|
|
|
from pydantic import BaseModel
|
|
|
|
from ...core.json_rpc.base import JSONRPCSubscriptionKinds
|
|
|
|
|
|
class LedgerEvent(ABC, BaseModel):
|
|
"""AbstractBaseClass for BaseModels that can be sent to the
|
|
LedgerEventManager for broadcasting subscription events to clients.
|
|
"""
|
|
|
|
@property
|
|
@abstractmethod
|
|
def identifier(self) -> str:
|
|
pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def kind(self) -> JSONRPCSubscriptionKinds:
|
|
pass
|