From 23e9fa2e0eaef54670713fcebc2d9376c81187ad Mon Sep 17 00:00:00 2001 From: "joe.miyamoto" Date: Wed, 27 May 2020 21:22:30 +0900 Subject: [PATCH] add contructor overload to PaymentRequest * for convenience. * If an user does not use separate device for signing. They will probably just want to pass a `Key` instead of learning about `IMessageSigner` --- src/DotNetLightning.Core/Payment/PaymentRequest.fs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/DotNetLightning.Core/Payment/PaymentRequest.fs b/src/DotNetLightning.Core/Payment/PaymentRequest.fs index 7c219d4b7..d095a5e4a 100644 --- a/src/DotNetLightning.Core/Payment/PaymentRequest.fs +++ b/src/DotNetLightning.Core/Payment/PaymentRequest.fs @@ -661,6 +661,11 @@ type PaymentRequest = private { Signature = (sigCompact, recv) |> Some } } + static member TryCreate(prefix: string, amount: LNMoney option, timestamp, nodeId, tags: TaggedFields, nodeSecret: Key) = + let msgSigner = { new IMessageSigner + with + member this.SignMessage(data) = nodeSecret.SignCompact(data, false) } + PaymentRequest.TryCreate(prefix, amount, timestamp, nodeId, tags, msgSigner) /// signer must sign by node_secret which corresponds to node_id static member TryCreate (prefix: string, amount: LNMoney option, timestamp, nodeId, tags: TaggedFields, signer: IMessageSigner) =