From 5cb68a59c5d6d1da7cb55a339b192c9ce90db0e3 Mon Sep 17 00:00:00 2001 From: George Tsagkarelis Date: Wed, 15 May 2024 17:25:53 +0200 Subject: [PATCH] lnwallet: expose commitment blob from channel --- lnwallet/channel.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lnwallet/channel.go b/lnwallet/channel.go index 7af99f527..49d8df566 100644 --- a/lnwallet/channel.go +++ b/lnwallet/channel.go @@ -9119,3 +9119,19 @@ func (lc *LightningChannel) MultiSigKeys() (keychain.KeyDescriptor, return lc.channelState.LocalChanCfg.MultiSigKey, lc.channelState.RemoteChanCfg.MultiSigKey } + +// LocalCommitmentBlob returns the custom blob of the local commitment. +func (lc *LightningChannel) LocalCommitmentBlob() fn.Option[tlv.Blob] { + lc.RLock() + defer lc.RUnlock() + + chanState := lc.channelState + localBalance := chanState.LocalCommitment.CustomBlob + + return fn.MapOption(func(b tlv.Blob) tlv.Blob { + newBlob := make([]byte, len(b)) + copy(newBlob, b) + + return newBlob + })(localBalance) +}