diff --git a/nostr_dvm/utils/dvmconfig.py b/nostr_dvm/utils/dvmconfig.py index e3192e6..6b3878a 100644 --- a/nostr_dvm/utils/dvmconfig.py +++ b/nostr_dvm/utils/dvmconfig.py @@ -16,14 +16,19 @@ class DVMConfig: FIX_COST: float = None PER_UNIT_COST: float = None - RELAY_LIST = ["wss://relay.primal.net", - "wss://nostr.mom", - "wss://nostr.oxtr.dev", + # The relays the dvm is operating on and announces in its inbox relays + RELAY_LIST = ["wss://relay.nostrdvm.com", ] - + # DBs to sync with SYNC_DB_RELAY_LIST = ["wss://relay.damus.io", "wss://nostr.oxtr.dev", ] + # announce inbox relays, dm relays and NIP89 announcement to + ANNOUNCE_RELAY_LIST = ["wss://relay.primal.net", + "wss://nostr.mom", "wss://relay.damus.io", + "wss://nostr.oxtr.dev", "wss://nostr.mom", + "wss://relay.nostrdvm.com" + ] # Straight Censorship (reply guy spam) WOT_FILTERING = False diff --git a/nostr_dvm/utils/nip65_utils.py b/nostr_dvm/utils/nip65_utils.py index 025fb9d..de69aa2 100644 --- a/nostr_dvm/utils/nip65_utils.py +++ b/nostr_dvm/utils/nip65_utils.py @@ -8,7 +8,7 @@ from nostr_dvm.utils.print_utils import bcolors async def announce_dm_relays(dvm_config, client): tags = [] - relays_to_publish = DVMConfig.RELAY_LIST + relays_to_publish = DVMConfig.ANNOUNCE_RELAY_LIST for relay in dvm_config.RELAY_LIST: if relay not in relays_to_publish: @@ -38,7 +38,7 @@ async def nip65_announce_relays(dvm_config, client): tags = [] - relays_to_publish = DVMConfig.RELAY_LIST + relays_to_publish = DVMConfig.ANNOUNCE_RELAY_LIST for relay in dvm_config.RELAY_LIST: if relay not in relays_to_publish: diff --git a/nostr_dvm/utils/nip89_utils.py b/nostr_dvm/utils/nip89_utils.py index 082e38d..49cf3db 100644 --- a/nostr_dvm/utils/nip89_utils.py +++ b/nostr_dvm/utils/nip89_utils.py @@ -6,6 +6,7 @@ import dotenv from nostr_sdk import Tag, Keys, EventBuilder, Filter, Alphabet, PublicKey, Client, EventId, SingleLetterTag, Kind from nostr_dvm.utils.definitions import EventDefinitions, relay_timeout +from nostr_dvm.utils.dvmconfig import DVMConfig from nostr_dvm.utils.nostr_utils import send_event from nostr_dvm.utils.print_utils import bcolors @@ -30,6 +31,12 @@ async def nip89_announce_tasks(dvm_config, client): keys = Keys.parse(dvm_config.NIP89.PK) content = dvm_config.NIP89.CONTENT event = EventBuilder(EventDefinitions.KIND_ANNOUNCEMENT, content).tags([k_tag, d_tag]).sign_with_keys(keys) + + new_dvm_config = DVMConfig() + new_dvm_config.RELAY_LIST = new_dvm_config.ANNOUNCE_RELAY_LIST + for relay in dvm_config.RELAY_LIST: + if relay not in new_dvm_config.RELAY_LIST: + new_dvm_config.RELAY_LIST.append(relay) eventid = await send_event(event, client=client, dvm_config=dvm_config) print( @@ -70,7 +77,14 @@ async def nip89_delete_announcement(eid: str, keys: Keys, dtag: str, client: Cli ["a", str(EventDefinitions.KIND_ANNOUNCEMENT.as_u16()) + ":" + keys.public_key().to_hex() + ":" + dtag]) event = EventBuilder(Kind(5), "").tags([e_tag, a_tag]).sign_with_keys(keys) print(f"Deletion event: {event.as_json()}") - await send_event(event, client, config) + + new_dvm_config = DVMConfig() + new_dvm_config.RELAY_LIST = new_dvm_config.ANNOUNCE_RELAY_LIST + for relay in config.RELAY_LIST: + if relay not in new_dvm_config.RELAY_LIST: + new_dvm_config.RELAY_LIST.append(relay) + + await send_event(event, client, new_dvm_config) async def nip89_delete_announcement_pow(eid: str, keys: Keys, dtag: str, client: Client, config): @@ -79,7 +93,13 @@ async def nip89_delete_announcement_pow(eid: str, keys: Keys, dtag: str, client: ["a", str(EventDefinitions.KIND_ANNOUNCEMENT.as_u16()) + ":" + keys.public_key().to_hex() + ":" + dtag]) event = EventBuilder(Kind(5), "").tags([e_tag, a_tag]).pow(28).sign_with_keys(keys) print(f"POW event: {event.as_json()}") - await send_event(event, client, config) + new_dvm_config = DVMConfig() + new_dvm_config.RELAY_LIST = new_dvm_config.ANNOUNCE_RELAY_LIST + for relay in config.RELAY_LIST: + if relay not in new_dvm_config.RELAY_LIST: + new_dvm_config.RELAY_LIST.append(relay) + + await send_event(event, client, new_dvm_config) async def nip89_fetch_all_dvms(client):