nostrdvm/nostr_dvm/utils/definitions.py

121 lines
3.7 KiB
Python

from dataclasses import dataclass
from datetime import timedelta
from nostr_sdk import Event, Kind
class EventDefinitions:
KIND_PROFILE = Kind(0)
KIND_NOTE = Kind(1)
KIND_FOLLOW_LIST = Kind(3)
KIND_DM = Kind(4)
KIND_DELETION = Kind(5)
KIND_REPOST = Kind(6)
KIND_REACTION = Kind(7)
KIND_NIP68_IMAGEEVENT = Kind(20)
KIND_GIFTWRAP = Kind(59)
KIND_PRIVATE_DM = Kind(60)
KIND_NIP94_METADATA = Kind(1063)
KIND_NIP22_COMMENT = Kind(1111)
KIND_NIP93_GALLERYENTRY = Kind(1163)
KIND_NIP90_EXTRACT_TEXT = Kind(5000)
KIND_NIP90_RESULT_EXTRACT_TEXT = Kind(6000)
KIND_NIP90_SUMMARIZE_TEXT = Kind(5001)
KIND_NIP90_RESULT_SUMMARIZE_TEXT = Kind(6001)
KIND_NIP90_TRANSLATE_TEXT = Kind(5002)
KIND_NIP90_RESULT_TRANSLATE_TEXT = Kind(6002)
KIND_NIP90_GENERATE_TEXT = Kind(5050)
KIND_NIP90_RESULT_GENERATE_TEXT = Kind(6050)
KIND_NIP90_GENERATE_IMAGE = Kind(5100)
KIND_NIP90_RESULT_GENERATE_IMAGE = Kind(6100)
KIND_NIP90_CONVERT_VIDEO = Kind(5200)
KIND_NIP90_RESULT_CONVERT_VIDEO = Kind(6200)
KIND_NIP90_GENERATE_VIDEO = Kind(5202)
KIND_NIP90_RESULT_GENERATE_VIDEO = Kind(6202)
KIND_NIP90_TEXT_TO_SPEECH = Kind(5250)
KIND_NIP90_RESULT_TEXT_TO_SPEECH = Kind(6250)
KIND_NIP90_GENERATE_MUSIC = Kind(5251)
KIND_NIP90_RESULT_GENERATE_MUSIC = Kind(5651)
KIND_NIP90_CONTENT_DISCOVERY = Kind(5300)
KIND_NIP90_RESULT_CONTENT_DISCOVERY = Kind(6300)
KIND_NIP90_PEOPLE_DISCOVERY = Kind(5301)
KIND_NIP90_RESULT_PEOPLE_DISCOVERY = Kind(6301)
KIND_NIP90_CONTENT_SEARCH = Kind(5302)
KIND_NIP90_RESULTS_CONTENT_SEARCH = Kind(6302)
KIND_NIP90_USER_SEARCH = Kind(5303)
KIND_NIP90_RESULTS_USER_SEARCH = Kind(6303)
KIND_NIP90_VISUAL_DISCOVERY = Kind(5304)
KIND_NIP90_RESULT_VISUAL_DISCOVERY = Kind(6304)
KIND_NIP90_MCP = Kind(5910)
KIND_NIP90_MCP_RESULT = Kind(6910)
KIND_NIP90_DVM_SUBSCRIPTION = Kind(5906)
KIND_NIP90_RESULT_DVM_SUBSCRIPTION = Kind(6906)
KIND_NIP90_GENERIC = Kind(5999)
KIND_NIP90_RESULT_GENERIC = Kind(6999)
KIND_FEEDBACK = Kind(7000)
KIND_NIP88_SUBSCRIBE_EVENT = Kind(7001)
KIND_NIP88_STOP_SUBSCRIPTION_EVENT = Kind(7002)
KIND_NIP88_PAYMENT_RECIPE = Kind(7003)
KIND_NIP90_PING = Kind(7007)
KIND_NIP60_NUT_PROOF = Kind(7375)
KIND_NIP60_NUT_HISTORY = Kind(7376)
KIND_NIP61_NUT_ZAP = Kind(9321)
KIND_ZAP = Kind(9735)
KIND_RELAY_ANNOUNCEMENT = Kind(10002)
KIND_ANNOUNCEMENT = Kind(31990)
KIND_WIKI = Kind(30818)
KIND_LONGFORM = Kind(30023)
KIND_NIP88_TIER_EVENT = Kind(37001)
KIND_NUT_WALLET = Kind(37375)
ANY_RESULT = [KIND_NIP90_RESULT_EXTRACT_TEXT,
KIND_NIP90_RESULT_SUMMARIZE_TEXT,
KIND_NIP90_RESULT_TRANSLATE_TEXT,
KIND_NIP90_RESULT_GENERATE_TEXT,
KIND_NIP90_RESULT_GENERATE_IMAGE,
KIND_NIP90_CONTENT_DISCOVERY,
KIND_NIP90_PEOPLE_DISCOVERY,
KIND_NIP90_RESULT_CONVERT_VIDEO,
KIND_NIP90_RESULT_CONTENT_DISCOVERY,
KIND_NIP90_RESULT_PEOPLE_DISCOVERY,
KIND_NIP90_RESULT_GENERATE_VIDEO,
KIND_NIP90_RESULT_GENERIC]
@dataclass
class JobToWatch:
event: str
timestamp: int
is_paid: bool
amount: int
status: str
result: str
is_processed: bool
bolt11: str
payment_hash: str
expires: int
@dataclass
class RequiredJobToWatch:
event: Event
timestamp: int
@dataclass
class InvoiceToWatch:
sender: str
bolt11: str
amount: int
payment_hash: str
is_paid: bool
expires: int
relay_timeout = timedelta(seconds=5)
relay_timeout_long = timedelta(seconds=10)