input+lnwallet: update taproot scripts to accept optional aux leaf

In this commit, we update all the taproot scripts to also accept an
optional aux leaf. This aux leaf can be used to add more redemption
paths for advanced channels, or just as an extra commitment space.
This commit is contained in:
Olaoluwa Osuntokun authored and Oliver Gugger committed 2024-08-28 11:52:31 +02:00
1 parent 8588c9bfd7
commit 1aae47fd71
11 files changed
+273 -108

No files matched your search

+13 -8
View File
@@ -853,7 +853,7 @@ var witnessSizeTests = []witnessSizeTest{
signer := &dummySigner{}
commitScriptTree, err := input.NewLocalCommitScriptTree(
testCSVDelay, testKey.PubKey(),
testKey.PubKey(),
testKey.PubKey(), input.NoneTapLeaf(),
)
require.NoError(t, err)
@@ -887,7 +887,7 @@ var witnessSizeTests = []witnessSizeTest{
signer := &dummySigner{}
commitScriptTree, err := input.NewLocalCommitScriptTree(
testCSVDelay, testKey.PubKey(),
testKey.PubKey(),
testKey.PubKey(), input.NoneTapLeaf(),
)
require.NoError(t, err)
@@ -921,7 +921,7 @@ var witnessSizeTests = []witnessSizeTest{
signer := &dummySigner{}
//nolint:lll
commitScriptTree, err := input.NewRemoteCommitScriptTree(
testKey.PubKey(),
testKey.PubKey(), input.NoneTapLeaf(),
)
require.NoError(t, err)
@@ -988,6 +988,7 @@ var witnessSizeTests = []witnessSizeTest{
scriptTree, err := input.SecondLevelHtlcTapscriptTree(
testKey.PubKey(), testCSVDelay,
input.NoneTapLeaf(),
)
require.NoError(t, err)
@@ -1027,6 +1028,7 @@ var witnessSizeTests = []witnessSizeTest{
scriptTree, err := input.SecondLevelHtlcTapscriptTree(
testKey.PubKey(), testCSVDelay,
input.NoneTapLeaf(),
)
require.NoError(t, err)
@@ -1075,6 +1077,7 @@ var witnessSizeTests = []witnessSizeTest{
htlcScriptTree, err := input.SenderHTLCScriptTaproot(
senderKey.PubKey(), receiverKey.PubKey(),
revokeKey.PubKey(), payHash[:], lntypes.Remote,
input.NoneTapLeaf(),
)
require.NoError(t, err)
@@ -1116,7 +1119,7 @@ var witnessSizeTests = []witnessSizeTest{
htlcScriptTree, err := input.ReceiverHTLCScriptTaproot(
testCLTVExpiry, senderKey.PubKey(),
receiverKey.PubKey(), revokeKey.PubKey(),
payHash[:], lntypes.Remote,
payHash[:], lntypes.Remote, input.NoneTapLeaf(),
)
require.NoError(t, err)
@@ -1158,7 +1161,7 @@ var witnessSizeTests = []witnessSizeTest{
htlcScriptTree, err := input.ReceiverHTLCScriptTaproot(
testCLTVExpiry, senderKey.PubKey(),
receiverKey.PubKey(), revokeKey.PubKey(),
payHash[:], lntypes.Remote,
payHash[:], lntypes.Remote, input.NoneTapLeaf(),
)
require.NoError(t, err)
@@ -1205,6 +1208,7 @@ var witnessSizeTests = []witnessSizeTest{
htlcScriptTree, err := input.SenderHTLCScriptTaproot(
senderKey.PubKey(), receiverKey.PubKey(),
revokeKey.PubKey(), payHash[:], lntypes.Remote,
input.NoneTapLeaf(),
)
require.NoError(t, err)
@@ -1265,6 +1269,7 @@ var witnessSizeTests = []witnessSizeTest{
htlcScriptTree, err := input.SenderHTLCScriptTaproot(
senderKey.PubKey(), receiverKey.PubKey(),
revokeKey.PubKey(), payHash[:], lntypes.Remote,
input.NoneTapLeaf(),
)
require.NoError(t, err)
@@ -1310,7 +1315,7 @@ var witnessSizeTests = []witnessSizeTest{
htlcScriptTree, err := input.ReceiverHTLCScriptTaproot(
testCLTVExpiry, senderKey.PubKey(),
receiverKey.PubKey(), revokeKey.PubKey(),
payHash[:], lntypes.Remote,
payHash[:], lntypes.Remote, input.NoneTapLeaf(),
)
require.NoError(t, err)
@@ -1396,7 +1401,7 @@ func genTimeoutTx(t *testing.T,
if chanType.IsTaproot() {
tapscriptTree, err = input.SenderHTLCScriptTaproot(
testPubkey, testPubkey, testPubkey, testHash160,
lntypes.Remote,
lntypes.Remote, input.NoneTapLeaf(),
)
require.NoError(t, err)
@@ -1465,7 +1470,7 @@ func genSuccessTx(t *testing.T, chanType channeldb.ChannelType) *wire.MsgTx {
if chanType.IsTaproot() {
tapscriptTree, err = input.ReceiverHTLCScriptTaproot(
testCLTVExpiry, testPubkey, testPubkey, testPubkey,
testHash160, lntypes.Remote,
testHash160, lntypes.Remote, input.NoneTapLeaf(),
)
require.NoError(t, err)