From 50efa54a81277c798dba37b9dd36ac4e4d73a1c1 Mon Sep 17 00:00:00 2001 From: koalasat Date: Mon, 16 Sep 2024 12:11:56 +0200 Subject: [PATCH] Add extra tags to nostr --- api/nostr.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/api/nostr.py b/api/nostr.py index 2792aa7d..6c2654b2 100644 --- a/api/nostr.py +++ b/api/nostr.py @@ -29,10 +29,13 @@ class Nostr: await client.connect() robot_name = await self.get_robot_name(order) + robot_hash_id = await self.get_robot_hash_id(order) currency = await self.get_robot_currency(order) event = EventBuilder( - Kind(38383), "", self.generate_tags(order, robot_name, currency) + Kind(38383), + "", + self.generate_tags(order, robot_name, robot_hash_id, currency), ).to_event(keys) await client.send_event(event) print(f"Nostr event sent: {event.as_json()}") @@ -41,18 +44,22 @@ class Nostr: def get_robot_name(self, order): return order.maker.username + @sync_to_async + def get_robot_hash_id(self, order): + return order.maker.robot.hash_id + @sync_to_async def get_robot_currency(self, order): return str(order.currency) - def generate_tags(self, order, robot_name, currency): + def generate_tags(self, order, robot_name, robot_hash_id, currency): hashed_id = hashlib.md5( f"{config("COORDINATOR_ALIAS", cast=str)}{order.id}".encode("utf-8") ).hexdigest() tags = [ Tag.parse(["d", str(uuid.UUID(hashed_id))]), - Tag.parse(["name", robot_name]), + Tag.parse(["name", robot_name, robot_hash_id]), Tag.parse(["k", "sell" if order.type == Order.Types.SELL else "buy"]), Tag.parse(["f", currency]), Tag.parse(["s", self.get_status_tag(order)]), @@ -73,7 +80,13 @@ class Nostr: f"http://{config("HOST_NAME")}/order/{config("COORDINATOR_ALIAS", cast=str).lower()}/{order.id}", ] ), - Tag.parse(["expiration", str(int(order.expires_at.timestamp()))]), + Tag.parse( + [ + "expiration", + str(int(order.expires_at.timestamp())), + str(order.escrow_duration), + ] + ), Tag.parse(["y", "robosats", config("COORDINATOR_ALIAS", cast=str).lower()]), Tag.parse(["n", str(config("NETWORK"))]), Tag.parse(["layer"] + self.get_layer_tag(order)),