blink: return preimage (#447)

This commit is contained in:
callebtc
2024-02-19 20:17:04 +01:00
committed by GitHub
parent 1c2c01ccfa
commit c630fc8c40
2 changed files with 28 additions and 4 deletions

View File

@@ -223,13 +223,20 @@ class BlinkWallet(LightningBackend):
.get("transaction", {})
.get("settlementFee")
)
checking_id = quote.request
# we check the payment status to get the preimage
preimage: Union[None, str] = None
payment_status = await self.get_payment_status(checking_id)
if payment_status.paid:
preimage = payment_status.preimage
return PaymentResponse(
ok=paid,
checking_id=checking_id,
fee=Amount(Unit.sat, fee) if fee else None,
preimage=None,
preimage=preimage,
error_message=error_message,
)
@@ -283,6 +290,14 @@ class BlinkWallet(LightningBackend):
status
direction
settlementFee
settlementVia {
... on SettlementViaIntraLedger {
preImage
}
... on SettlementViaLn {
preImage
}
}
}
}
}
@@ -348,11 +363,12 @@ class BlinkWallet(LightningBackend):
# we read the status of the payment
paid = self.payment_statuses[payment["status"]]
fee = payment["settlementFee"]
preimage = payment["settlementVia"].get("preImage")
return PaymentStatus(
paid=paid,
fee=Amount(Unit.sat, fee),
preimage=None,
preimage=preimage,
)
async def get_payment_quote(self, bolt11: str) -> PaymentQuoteResponse:

View File

@@ -79,7 +79,12 @@ async def test_blink_pay_invoice():
"data": {
"lnInvoicePaymentSend": {
"status": "SUCCESS",
"transaction": {"settlementFee": 10},
"transaction": {
"settlementFee": 10,
"settlementVia": {
"preImage": "123",
},
},
}
}
}
@@ -163,6 +168,9 @@ async def test_blink_get_payment_status():
"status": "SUCCESS",
"settlementFee": 10,
"direction": "SEND",
"settlementVia": {
"preImage": "123",
},
}
]
}
@@ -175,7 +183,7 @@ async def test_blink_get_payment_status():
assert status.paid
assert status.fee
assert status.fee.amount == 10
assert status.preimage is None
assert status.preimage == "123"
@respx.mock