From 6ee71182e992be35d543bc422d9b5739b04e23bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dni=20=E2=9A=A1?= Date: Thu, 16 May 2024 09:28:27 +0200 Subject: [PATCH] fix: expiry should default to 3600 (#43) https://github.com/lnbits/lnbits/pull/2506 --- bolt11/types.py | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/bolt11/types.py b/bolt11/types.py index ba16cbb..5b348b5 100644 --- a/bolt11/types.py +++ b/bolt11/types.py @@ -63,8 +63,6 @@ def validate(self, strict: bool = False) -> None: raise Bolt11DescriptionException() def has_expired(self) -> bool: - if self.expiry is None: - return False return time.time() > self.date + self.expiry def is_mainnet(self) -> bool: @@ -104,20 +102,18 @@ def date_time(self) -> datetime: return datetime.fromtimestamp(self.date) @property - def expiry(self) -> Optional[int]: + def expiry(self) -> int: tag = self.tags.get(TagChar.expire_time) - return tag.data if tag else None + if not tag: + return 3600 + return tag.data @property - def expiry_date(self) -> Optional[datetime]: - if not self.expiry: - return None + def expiry_date(self) -> datetime: return datetime.fromtimestamp(self.date + self.expiry) @property - def expiry_time(self) -> Optional[int]: - if not self.expiry: - return None + def expiry_time(self) -> int: return self.date + self.expiry @property @@ -167,6 +163,7 @@ def data(self) -> dict: "amount_msat": int(self.amount_msat) if self.amount_msat else 0, "date": self.date, "signature": self.signature.hex if self.signature else "", + "expiry": self.expiry, } if self.has_payment_hash: data["payment_hash"] = self.payment_hash @@ -178,8 +175,6 @@ def data(self) -> dict: data["description_hash"] = self.description_hash if self.metadata: data["metadata"] = self.metadata - if self.expiry: - data["expiry"] = self.expiry if self.features: data["features"] = self.features.readable if self.fallback: