Skip to content

Commit f2c2a82

Browse files
Roasbeefguggero
authored andcommitted
lnwallet: add new AuxFundingDesc struct
This struct will house all the information we'll need to do a class of custom channels that relies primarily on adding additional items to the tapscript root of the HTLC/commitment/funding outputs.
1 parent dd357fb commit f2c2a82

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

lnwallet/wallet.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import (
3131
"github.com/lightningnetwork/lnd/lnwallet/chanvalidate"
3232
"github.com/lightningnetwork/lnd/lnwire"
3333
"github.com/lightningnetwork/lnd/shachain"
34+
"github.com/lightningnetwork/lnd/tlv"
3435
)
3536

3637
const (
@@ -89,6 +90,33 @@ func (p *PsbtFundingRequired) Error() string {
8990
return ErrPsbtFundingRequired.Error()
9091
}
9192

93+
// AuxFundingDesc stores a series of attributes that may be used to modify the
94+
// way the channel funding occurs. This struct contains information that can
95+
// only be derived once both sides have received and sent their contributions
96+
// to the channel (keys, etc.).
97+
type AuxFundingDesc struct {
98+
// CustomFundingBlob is a custom blob that'll be stored in the database
99+
// within the OpenChannel struct. This should represent information
100+
// static to the channel lifetime.
101+
CustomFundingBlob tlv.Blob
102+
103+
// CustomLocalCommitBlob is a custom blob that'll be stored in the
104+
// first commitment entry for the local party.
105+
CustomLocalCommitBlob tlv.Blob
106+
107+
// CustomRemoteCommitBlob is a custom blob that'll be stored in the
108+
// first commitment entry for the remote party.
109+
CustomRemoteCommitBlob tlv.Blob
110+
111+
// LocalInitAuxLeaves is the set of aux leaves that'll be used for our
112+
// very first commitment state.
113+
LocalInitAuxLeaves CommitAuxLeaves
114+
115+
// RemoteInitAuxLeaves is the set of aux leaves that'll be used for the
116+
// very first commitment state for the remote party.
117+
RemoteInitAuxLeaves CommitAuxLeaves
118+
}
119+
92120
// InitFundingReserveMsg is the first message sent to initiate the workflow
93121
// required to open a payment channel with a remote peer. The initial required
94122
// parameters are configurable across channels. These parameters are to be

0 commit comments

Comments
 (0)