mirror of
https://github.com/believethehype/nostrdvm.git
synced 2025-06-13 17:10:57 +02:00
use pow for deletion
This commit is contained in:
parent
128a5b1de6
commit
a667aefe0e
@ -24,6 +24,7 @@ class AdminConfig:
|
|||||||
DELETEUSER: bool = False
|
DELETEUSER: bool = False
|
||||||
LISTDATABASE: bool = False
|
LISTDATABASE: bool = False
|
||||||
ClEANDB: bool = False
|
ClEANDB: bool = False
|
||||||
|
POW: bool = False
|
||||||
INDEX: str = "1"
|
INDEX: str = "1"
|
||||||
|
|
||||||
USERNPUBS: list = []
|
USERNPUBS: list = []
|
||||||
@ -93,7 +94,7 @@ def admin_make_database_updates(adminconfig: AdminConfig = None, dvmconfig: DVMC
|
|||||||
event_id = adminconfig.EVENTID
|
event_id = adminconfig.EVENTID
|
||||||
keys = Keys.parse(
|
keys = Keys.parse(
|
||||||
adminconfig.PRIVKEY) # Private key from sender of Event (e.g. the key of an nip89 announcement you want to delete)
|
adminconfig.PRIVKEY) # Private key from sender of Event (e.g. the key of an nip89 announcement you want to delete)
|
||||||
fetch_nip89_parameters_for_deletion(keys, event_id, client, dvmconfig)
|
fetch_nip89_parameters_for_deletion(keys, event_id, client, dvmconfig, adminconfig.POW)
|
||||||
|
|
||||||
if adminconfig.DELETE_NIP88:
|
if adminconfig.DELETE_NIP88:
|
||||||
event_id = adminconfig.EVENTID
|
event_id = adminconfig.EVENTID
|
||||||
|
@ -34,7 +34,7 @@ def nip89_announce_tasks(dvm_config, client):
|
|||||||
print("Announced NIP 89 for " + dvm_config.NIP89.NAME)
|
print("Announced NIP 89 for " + dvm_config.NIP89.NAME)
|
||||||
|
|
||||||
|
|
||||||
def fetch_nip89_parameters_for_deletion(keys, eventid, client, dvmconfig):
|
def fetch_nip89_parameters_for_deletion(keys, eventid, client, dvmconfig, pow=False):
|
||||||
idfilter = Filter().id(EventId.from_hex(eventid)).limit(1)
|
idfilter = Filter().id(EventId.from_hex(eventid)).limit(1)
|
||||||
nip89events = client.get_events_of([idfilter], timedelta(seconds=dvmconfig.RELAY_TIMEOUT))
|
nip89events = client.get_events_of([idfilter], timedelta(seconds=dvmconfig.RELAY_TIMEOUT))
|
||||||
d_tag = ""
|
d_tag = ""
|
||||||
@ -52,6 +52,8 @@ def fetch_nip89_parameters_for_deletion(keys, eventid, client, dvmconfig):
|
|||||||
|
|
||||||
if event.author().to_hex() == keys.public_key().to_hex():
|
if event.author().to_hex() == keys.public_key().to_hex():
|
||||||
nip89_delete_announcement(event.id().to_hex(), keys, d_tag, client, dvmconfig)
|
nip89_delete_announcement(event.id().to_hex(), keys, d_tag, client, dvmconfig)
|
||||||
|
if pow:
|
||||||
|
nip89_delete_announcement_pow(event.id().to_hex(), keys, d_tag, client, dvmconfig)
|
||||||
print("NIP89 announcement deleted from known relays!")
|
print("NIP89 announcement deleted from known relays!")
|
||||||
else:
|
else:
|
||||||
print("Privatekey does not belong to event")
|
print("Privatekey does not belong to event")
|
||||||
@ -62,6 +64,15 @@ def nip89_delete_announcement(eid: str, keys: Keys, dtag: str, client: Client, c
|
|||||||
a_tag = Tag.parse(
|
a_tag = Tag.parse(
|
||||||
["a", str(EventDefinitions.KIND_ANNOUNCEMENT.as_u64()) + ":" + keys.public_key().to_hex() + ":" + dtag])
|
["a", str(EventDefinitions.KIND_ANNOUNCEMENT.as_u64()) + ":" + keys.public_key().to_hex() + ":" + dtag])
|
||||||
event = EventBuilder(Kind(5), "", [e_tag, a_tag]).to_event(keys)
|
event = EventBuilder(Kind(5), "", [e_tag, a_tag]).to_event(keys)
|
||||||
|
print(f"POW event: {event.as_json()}")
|
||||||
|
send_event(event, client, config)
|
||||||
|
|
||||||
|
def nip89_delete_announcement_pow(eid: str, keys: Keys, dtag: str, client: Client, config):
|
||||||
|
e_tag = Tag.parse(["e", eid])
|
||||||
|
a_tag = Tag.parse(
|
||||||
|
["a", str(EventDefinitions.KIND_ANNOUNCEMENT.as_u64()) + ":" + keys.public_key().to_hex() + ":" + dtag])
|
||||||
|
event = EventBuilder(Kind(5), "", [e_tag, a_tag]).to_pow_event(keys, 28)
|
||||||
|
print(f"POW event: {event.as_json()}")
|
||||||
send_event(event, client, config)
|
send_event(event, client, config)
|
||||||
|
|
||||||
|
|
||||||
|
2
setup.py
2
setup.py
@ -1,6 +1,6 @@
|
|||||||
from setuptools import setup, find_packages
|
from setuptools import setup, find_packages
|
||||||
|
|
||||||
VERSION = '0.4.6'
|
VERSION = '0.4.7'
|
||||||
DESCRIPTION = 'A framework to build and run Nostr NIP90 Data Vending Machines'
|
DESCRIPTION = 'A framework to build and run Nostr NIP90 Data Vending Machines'
|
||||||
LONG_DESCRIPTION = ('A framework to build and run Nostr NIP90 Data Vending Machines. See the github repository for more information')
|
LONG_DESCRIPTION = ('A framework to build and run Nostr NIP90 Data Vending Machines. See the github repository for more information')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user