mirror of
https://github.com/aljazceru/nutshell.git
synced 2025-12-20 18:44:20 +01:00
blink: return preimage (#447)
This commit is contained in:
@@ -223,13 +223,20 @@ class BlinkWallet(LightningBackend):
|
|||||||
.get("transaction", {})
|
.get("transaction", {})
|
||||||
.get("settlementFee")
|
.get("settlementFee")
|
||||||
)
|
)
|
||||||
|
|
||||||
checking_id = quote.request
|
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(
|
return PaymentResponse(
|
||||||
ok=paid,
|
ok=paid,
|
||||||
checking_id=checking_id,
|
checking_id=checking_id,
|
||||||
fee=Amount(Unit.sat, fee) if fee else None,
|
fee=Amount(Unit.sat, fee) if fee else None,
|
||||||
preimage=None,
|
preimage=preimage,
|
||||||
error_message=error_message,
|
error_message=error_message,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -283,6 +290,14 @@ class BlinkWallet(LightningBackend):
|
|||||||
status
|
status
|
||||||
direction
|
direction
|
||||||
settlementFee
|
settlementFee
|
||||||
|
settlementVia {
|
||||||
|
... on SettlementViaIntraLedger {
|
||||||
|
preImage
|
||||||
|
}
|
||||||
|
... on SettlementViaLn {
|
||||||
|
preImage
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -348,11 +363,12 @@ class BlinkWallet(LightningBackend):
|
|||||||
# we read the status of the payment
|
# we read the status of the payment
|
||||||
paid = self.payment_statuses[payment["status"]]
|
paid = self.payment_statuses[payment["status"]]
|
||||||
fee = payment["settlementFee"]
|
fee = payment["settlementFee"]
|
||||||
|
preimage = payment["settlementVia"].get("preImage")
|
||||||
|
|
||||||
return PaymentStatus(
|
return PaymentStatus(
|
||||||
paid=paid,
|
paid=paid,
|
||||||
fee=Amount(Unit.sat, fee),
|
fee=Amount(Unit.sat, fee),
|
||||||
preimage=None,
|
preimage=preimage,
|
||||||
)
|
)
|
||||||
|
|
||||||
async def get_payment_quote(self, bolt11: str) -> PaymentQuoteResponse:
|
async def get_payment_quote(self, bolt11: str) -> PaymentQuoteResponse:
|
||||||
|
|||||||
@@ -79,7 +79,12 @@ async def test_blink_pay_invoice():
|
|||||||
"data": {
|
"data": {
|
||||||
"lnInvoicePaymentSend": {
|
"lnInvoicePaymentSend": {
|
||||||
"status": "SUCCESS",
|
"status": "SUCCESS",
|
||||||
"transaction": {"settlementFee": 10},
|
"transaction": {
|
||||||
|
"settlementFee": 10,
|
||||||
|
"settlementVia": {
|
||||||
|
"preImage": "123",
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -163,6 +168,9 @@ async def test_blink_get_payment_status():
|
|||||||
"status": "SUCCESS",
|
"status": "SUCCESS",
|
||||||
"settlementFee": 10,
|
"settlementFee": 10,
|
||||||
"direction": "SEND",
|
"direction": "SEND",
|
||||||
|
"settlementVia": {
|
||||||
|
"preImage": "123",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -175,7 +183,7 @@ async def test_blink_get_payment_status():
|
|||||||
assert status.paid
|
assert status.paid
|
||||||
assert status.fee
|
assert status.fee
|
||||||
assert status.fee.amount == 10
|
assert status.fee.amount == 10
|
||||||
assert status.preimage is None
|
assert status.preimage == "123"
|
||||||
|
|
||||||
|
|
||||||
@respx.mock
|
@respx.mock
|
||||||
|
|||||||
Reference in New Issue
Block a user