Skip to content

Commit

Permalink
Merge pull request #1476 from RoboSats/add-extra-tags-to-nostr
Browse files Browse the repository at this point in the history
Add extra tags to nostr
  • Loading branch information
KoalaSat authored Sep 16, 2024
2 parents e91fff8 + 50efa54 commit f9b5a84
Showing 1 changed file with 17 additions and 4 deletions.
21 changes: 17 additions & 4 deletions api/nostr.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,13 @@ async def send_order_event(self, order):
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()}")
Expand All @@ -41,18 +44,22 @@ async def send_order_event(self, order):
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)]),
Expand All @@ -73,7 +80,13 @@ def generate_tags(self, order, robot_name, currency):
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)),
Expand Down

0 comments on commit f9b5a84

Please sign in to comment.