Merge branch 'main' into FinalAdminUI

This commit is contained in:
Vlad Stan
2022-12-12 10:49:31 +02:00
committed by GitHub
10 changed files with 139 additions and 47 deletions
+15 -1
View File
@@ -1,6 +1,8 @@
import datetime
import hashlib
import hmac
import json
import time
from sqlite3 import Row
from typing import Dict, List, NamedTuple, Optional
@@ -85,6 +87,7 @@ class Payment(BaseModel):
bolt11: str
preimage: str
payment_hash: str
expiry: Optional[float]
extra: Optional[Dict] = {}
wallet_id: str
webhook: Optional[str]
@@ -103,6 +106,7 @@ class Payment(BaseModel):
fee=row["fee"],
memo=row["memo"],
time=row["time"],
expiry=row["expiry"],
wallet_id=row["wallet"],
webhook=row["webhook"],
webhook_status=row["webhook_status"],
@@ -130,6 +134,10 @@ class Payment(BaseModel):
def is_out(self) -> bool:
return self.amount < 0
@property
def is_expired(self) -> bool:
return self.expiry < time.time() if self.expiry else False
@property
def is_uncheckable(self) -> bool:
return self.checking_id.startswith("internal_")
@@ -173,7 +181,13 @@ class Payment(BaseModel):
logger.debug(f"Status: {status}")
if self.is_out and status.failed:
if self.is_in and status.pending and self.is_expired and self.expiry:
expiration_date = datetime.datetime.fromtimestamp(self.expiry)
logger.debug(
f"Deleting expired incoming pending payment {self.checking_id}: expired {expiration_date}"
)
await self.delete(conn)
elif self.is_out and status.failed:
logger.warning(
f"Deleting outgoing failed payment {self.checking_id}: {status}"
)