diff options
Diffstat (limited to 'src/ark/lightning.js')
| -rw-r--r-- | src/ark/lightning.js | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/ark/lightning.js b/src/ark/lightning.js index c9d3ce1..bbfe958 100644 --- a/src/ark/lightning.js +++ b/src/ark/lightning.js @@ -222,3 +222,18 @@ export async function cancelLightningReceive(ark, paymentHash) { w.bytesField(1, paymentHash); await grpcCall(ark, 'bark_server.ArkService/CancelLightningReceive', w.finish()); } + +// --------------------------------------------------------------------------- +// third-party HTLCs (proposed VtxoPolicy::Htlc — see docs/third-party-htlc.md) +// --------------------------------------------------------------------------- + +// The preimage revealed by a cosigned claim of an HTLC-policy vtxo, or null +// until it has been revealed. This is how a swap provider learns the preimage +// for the invoice it is holding. +export async function getHtlcPreimage(ark, paymentHash) { + const w = pbWriter(); + w.bytesField(1, paymentHash); + const data = await grpcCall(ark, 'bark_server.ArkService/GetHtlcPreimage', w.finish()); + for (const { field, value } of pbFields(data)) if (field === 1) return hex.encode(value); + return null; +} |
