mirror of
https://github.com/aljazceru/nostrdvm.git
synced 2025-12-23 17:04:27 +01:00
dynamically build amount tag in nip89
This commit is contained in:
@@ -10,7 +10,7 @@ from nostr_dvm.utils.admin_utils import AdminConfig
|
|||||||
from nostr_dvm.utils.definitions import EventDefinitions
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
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.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
|
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,
|
"encryptionSupported": True,
|
||||||
"cashuAccepted": True,
|
"cashuAccepted": True,
|
||||||
"personalized": False,
|
"personalized": False,
|
||||||
"amount": "free",
|
"amount": create_amount_tag(cost),
|
||||||
"nip90Params": {
|
"nip90Params": {
|
||||||
"max_results": {
|
"max_results": {
|
||||||
"required": False,
|
"required": False,
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from nostr_dvm.utils.admin_utils import AdminConfig
|
|||||||
from nostr_dvm.utils.definitions import EventDefinitions
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
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.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
|
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,
|
"encryptionSupported": True,
|
||||||
"cashuAccepted": True,
|
"cashuAccepted": True,
|
||||||
"personalized": True,
|
"personalized": True,
|
||||||
"amount": "free",
|
"amount": create_amount_tag(cost),
|
||||||
"nip90Params": {
|
"nip90Params": {
|
||||||
"max_results": {
|
"max_results": {
|
||||||
"required": False,
|
"required": False,
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from nostr_dvm.utils.admin_utils import AdminConfig
|
|||||||
from nostr_dvm.utils.definitions import EventDefinitions
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
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.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
|
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,
|
"encryptionSupported": True,
|
||||||
"cashuAccepted": True,
|
"cashuAccepted": True,
|
||||||
"personalized": False,
|
"personalized": False,
|
||||||
"amount": "free",
|
"amount": create_amount_tag(cost),
|
||||||
"nip90Params": {
|
"nip90Params": {
|
||||||
"max_results": {
|
"max_results": {
|
||||||
"required": False,
|
"required": False,
|
||||||
|
|||||||
@@ -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):
|
def nip89_delete_announcement(eid: str, keys: Keys, dtag: str, client: Client, config):
|
||||||
e_tag = Tag.parse(["e", eid])
|
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)
|
event = EventBuilder(Kind(5), "", [e_tag, a_tag]).to_event(keys)
|
||||||
send_event(event, client, config)
|
send_event(event, client, config)
|
||||||
|
|
||||||
@@ -76,7 +77,6 @@ def nip89_fetch_all_dvms(client):
|
|||||||
|
|
||||||
|
|
||||||
def nip89_fetch_events_pubkey(client, pubkey, kind):
|
def nip89_fetch_events_pubkey(client, pubkey, kind):
|
||||||
|
|
||||||
ktags = [str(kind.as_u64())]
|
ktags = [str(kind.as_u64())]
|
||||||
nip89filter = (Filter().kind(EventDefinitions.KIND_ANNOUNCEMENT).author(PublicKey.parse(pubkey)).
|
nip89filter = (Filter().kind(EventDefinitions.KIND_ANNOUNCEMENT).author(PublicKey.parse(pubkey)).
|
||||||
custom_tag(SingleLetterTag.lowercase(Alphabet.K), ktags))
|
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()}')
|
print(f'loading environment from {env_path.resolve()}')
|
||||||
dotenv.load_dotenv(env_path, verbose=True, override=True)
|
dotenv.load_dotenv(env_path, verbose=True, override=True)
|
||||||
dotenv.set_key(env_path, dtag, oskey)
|
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)
|
||||||
|
|||||||
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.5'
|
VERSION = '0.4.6'
|
||||||
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')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user