dynamically build amount tag in nip89

This commit is contained in:
Believethehype 2024-05-23 09:22:07 +02:00
parent 73f071b6ae
commit 925c55baf6
5 changed files with 18 additions and 9 deletions

View File

@ -10,7 +10,7 @@ from nostr_dvm.utils.admin_utils import AdminConfig
from nostr_dvm.utils.definitions import EventDefinitions
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
from nostr_dvm.utils.nip88_utils import NIP88Config, check_and_set_d_tag_nip88, check_and_set_tiereventid_nip88
from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag
from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag, create_amount_tag
from nostr_dvm.utils.output_utils import post_process_list_to_events
"""
@ -226,7 +226,7 @@ def build_example(name, identifier, admin_config, options, cost=0, update_rate=
"encryptionSupported": True,
"cashuAccepted": True,
"personalized": False,
"amount": "free",
"amount": create_amount_tag(cost),
"nip90Params": {
"max_results": {
"required": False,

View File

@ -11,7 +11,7 @@ from nostr_dvm.utils.admin_utils import AdminConfig
from nostr_dvm.utils.definitions import EventDefinitions
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
from nostr_dvm.utils.nip88_utils import NIP88Config, check_and_set_d_tag_nip88, check_and_set_tiereventid_nip88
from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag
from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag, create_amount_tag
from nostr_dvm.utils.output_utils import post_process_list_to_events
"""
@ -241,7 +241,7 @@ def build_example(name, identifier, admin_config, options, cost=0, update_rate=
"encryptionSupported": True,
"cashuAccepted": True,
"personalized": True,
"amount": "free",
"amount": create_amount_tag(cost),
"nip90Params": {
"max_results": {
"required": False,

View File

@ -10,7 +10,7 @@ from nostr_dvm.utils.admin_utils import AdminConfig
from nostr_dvm.utils.definitions import EventDefinitions
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
from nostr_dvm.utils.nip88_utils import NIP88Config, check_and_set_d_tag_nip88, check_and_set_tiereventid_nip88
from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag
from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag, create_amount_tag
from nostr_dvm.utils.output_utils import post_process_list_to_events
"""
@ -256,7 +256,7 @@ def build_example(name, identifier, admin_config, options, image, description, u
"encryptionSupported": True,
"cashuAccepted": True,
"personalized": False,
"amount": "free",
"amount": create_amount_tag(cost),
"nip90Params": {
"max_results": {
"required": False,

View File

@ -59,7 +59,8 @@ def fetch_nip89_parameters_for_deletion(keys, eventid, client, dvmconfig):
def nip89_delete_announcement(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])
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_event(keys)
send_event(event, client, config)
@ -76,7 +77,6 @@ def nip89_fetch_all_dvms(client):
def nip89_fetch_events_pubkey(client, pubkey, kind):
ktags = [str(kind.as_u64())]
nip89filter = (Filter().kind(EventDefinitions.KIND_ANNOUNCEMENT).author(PublicKey.parse(pubkey)).
custom_tag(SingleLetterTag.lowercase(Alphabet.K), ktags))
@ -112,3 +112,12 @@ def nip89_add_dtag_to_env_file(dtag, oskey):
print(f'loading environment from {env_path.resolve()}')
dotenv.load_dotenv(env_path, verbose=True, override=True)
dotenv.set_key(env_path, dtag, oskey)
def create_amount_tag(cost=None):
if cost is None:
return "flexible"
elif cost == 0:
return "free"
else:
return str(cost)

View File

@ -1,6 +1,6 @@
from setuptools import setup, find_packages
VERSION = '0.4.5'
VERSION = '0.4.6'
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')