diff --git a/lntypes/hash.go b/lntypes/hash.go index d2498f9c..719d1cd4 100644 --- a/lntypes/hash.go +++ b/lntypes/hash.go @@ -8,6 +8,9 @@ import ( // HashSize of array used to store hashes. const HashSize = 32 +// ZeroHash is a predefined hash containing all zeroes. +var ZeroHash Hash + // Hash is used in several of the lightning messages and common structures. It // typically represents a payment hash. type Hash [HashSize]byte diff --git a/rpcserver.go b/rpcserver.go index e2381987..66992551 100644 --- a/rpcserver.go +++ b/rpcserver.go @@ -67,8 +67,6 @@ const ( ) var ( - zeroHash [32]byte - // MaxPaymentMSat is the maximum allowed payment currently permitted as // defined in BOLT-002. This value depends on which chain is active. // It is set to the value under the Bitcoin chain as default. @@ -3018,7 +3016,9 @@ func extractPaymentIntent(rpcPayReq *rpcPaymentRequest) (rpcPaymentIntent, error // If we're in debug HTLC mode, then all outgoing HTLCs will pay to the // same debug rHash. Otherwise, we pay to the rHash specified within // the RPC request. - case cfg.DebugHTLC && bytes.Equal(payIntent.rHash[:], zeroHash[:]): + case cfg.DebugHTLC && + bytes.Equal(payIntent.rHash[:], lntypes.ZeroHash[:]): + copy(payIntent.rHash[:], invoices.DebugHash[:]) default: