diff --git a/nostr_dvm/tasks/content_discovery_currently_popular.py b/nostr_dvm/tasks/content_discovery_currently_popular.py index 6ef5b7b..9f2f80c 100644 --- a/nostr_dvm/tasks/content_discovery_currently_popular.py +++ b/nostr_dvm/tasks/content_discovery_currently_popular.py @@ -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, diff --git a/nostr_dvm/tasks/content_discovery_currently_popular_followers.py b/nostr_dvm/tasks/content_discovery_currently_popular_followers.py index e25faa8..9eabcb0 100644 --- a/nostr_dvm/tasks/content_discovery_currently_popular_followers.py +++ b/nostr_dvm/tasks/content_discovery_currently_popular_followers.py @@ -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, diff --git a/nostr_dvm/tasks/content_discovery_currently_popular_topic.py b/nostr_dvm/tasks/content_discovery_currently_popular_topic.py index 638c67a..3c259f5 100644 --- a/nostr_dvm/tasks/content_discovery_currently_popular_topic.py +++ b/nostr_dvm/tasks/content_discovery_currently_popular_topic.py @@ -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, diff --git a/nostr_dvm/utils/nip89_utils.py b/nostr_dvm/utils/nip89_utils.py index 2fa5630..31b76ce 100644 --- a/nostr_dvm/utils/nip89_utils.py +++ b/nostr_dvm/utils/nip89_utils.py @@ -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) diff --git a/setup.py b/setup.py index ede265c..dc51a4a 100644 --- a/setup.py +++ b/setup.py @@ -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')