From 6ac1ffd274900bdb661b8b2062f62c9a4052f7e8 Mon Sep 17 00:00:00 2001 From: Oliver Gugger Date: Mon, 2 Sep 2024 18:09:37 +0200 Subject: [PATCH 1/6] github+scripts: bump itests to bitcoind v28, allow testing with RCs --- .github/workflows/main.yml | 2 +- scripts/install_bitcoind.sh | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fe4a64d66a..0f101f866d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,7 +21,7 @@ defaults: shell: bash env: - BITCOIN_VERSION: "27" + BITCOIN_VERSION: "28" TRANCHES: 8 diff --git a/scripts/install_bitcoind.sh b/scripts/install_bitcoind.sh index b4faa4becd..8f74efa46a 100755 --- a/scripts/install_bitcoind.sh +++ b/scripts/install_bitcoind.sh @@ -4,13 +4,20 @@ set -ev BITCOIND_VERSION=$1 +# Useful for testing RCs: e.g. TAG_SUFFIX=.0rc1, DIR_SUFFIX=.0rc1 +TAG_SUFFIX= +DIR_SUFFIX=.0 + +# Useful for testing against an image pushed to a different Docker repo. +REPO=lightninglabs/bitcoin-core + if [ -z "$BITCOIND_VERSION" ]; then echo "Must specify a version of bitcoind to install." echo "Usage: install_bitcoind.sh " exit 1 fi -docker pull lightninglabs/bitcoin-core:${BITCOIND_VERSION} -CONTAINER_ID=$(docker create lightninglabs/bitcoin-core:${BITCOIND_VERSION}) -sudo docker cp $CONTAINER_ID:/opt/bitcoin-${BITCOIND_VERSION}.0/bin/bitcoind /usr/local/bin/bitcoind +docker pull ${REPO}:${BITCOIND_VERSION}${TAG_SUFFIX} +CONTAINER_ID=$(docker create ${REPO}:${BITCOIND_VERSION}${TAG_SUFFIX}) +sudo docker cp $CONTAINER_ID:/opt/bitcoin-${BITCOIND_VERSION}${DIR_SUFFIX}/bin/bitcoind /usr/local/bin/bitcoind docker rm $CONTAINER_ID From 56a36acf634ae7537a8f172d415cdb723a3144e3 Mon Sep 17 00:00:00 2001 From: Oliver Gugger Date: Tue, 3 Sep 2024 11:57:59 +0200 Subject: [PATCH 2/6] lntest: move debug flag, disable spammy libevent --- lntest/bitcoind.go | 1 - lntest/bitcoind_common.go | 2 ++ lntest/bitcoind_notxindex.go | 1 - lntest/bitcoind_rpcpolling.go | 1 - 4 files changed, 2 insertions(+), 3 deletions(-) diff --git a/lntest/bitcoind.go b/lntest/bitcoind.go index 37800169bb..6467164828 100644 --- a/lntest/bitcoind.go +++ b/lntest/bitcoind.go @@ -13,7 +13,6 @@ func NewBackend(miner string, netParams *chaincfg.Params) ( *BitcoindBackendConfig, func() error, error) { extraArgs := []string{ - "-debug", "-regtest", "-txindex", "-disablewallet", diff --git a/lntest/bitcoind_common.go b/lntest/bitcoind_common.go index 9cbcd23fde..ec26e6cc06 100644 --- a/lntest/bitcoind_common.go +++ b/lntest/bitcoind_common.go @@ -126,6 +126,8 @@ func newBackend(miner string, netParams *chaincfg.Params, extraArgs []string, fmt.Sprintf("-port=%d", p2pPort), "-zmqpubrawblock=" + zmqBlockAddr, "-zmqpubrawtx=" + zmqTxAddr, + "-debug", + "-debugexclude=libevent", "-debuglogfile=" + logFile, } cmdArgs = append(cmdArgs, extraArgs...) diff --git a/lntest/bitcoind_notxindex.go b/lntest/bitcoind_notxindex.go index de7959eba7..611b89f5ec 100644 --- a/lntest/bitcoind_notxindex.go +++ b/lntest/bitcoind_notxindex.go @@ -13,7 +13,6 @@ func NewBackend(miner string, netParams *chaincfg.Params) ( *BitcoindBackendConfig, func() error, error) { extraArgs := []string{ - "-debug", "-regtest", "-disablewallet", } diff --git a/lntest/bitcoind_rpcpolling.go b/lntest/bitcoind_rpcpolling.go index ca203ad2c2..1280e6f2f4 100644 --- a/lntest/bitcoind_rpcpolling.go +++ b/lntest/bitcoind_rpcpolling.go @@ -13,7 +13,6 @@ func NewBackend(miner string, netParams *chaincfg.Params) ( *BitcoindBackendConfig, func() error, error) { extraArgs := []string{ - "-debug", "-regtest", "-txindex", "-disablewallet", From 91ade89a78390ae9b4171ed44f700051932fb238 Mon Sep 17 00:00:00 2001 From: Oliver Gugger Date: Tue, 3 Sep 2024 11:58:34 +0200 Subject: [PATCH 3/6] lntest: avoid port collision on Tor listen port bitcoind now seems to listen on the -bind port at all times. So we need to make sure multiple instances don't collide by using a unique port. --- lntest/bitcoind_common.go | 2 ++ lntest/unittest/backend.go | 2 ++ 2 files changed, 4 insertions(+) diff --git a/lntest/bitcoind_common.go b/lntest/bitcoind_common.go index ec26e6cc06..c66532bbca 100644 --- a/lntest/bitcoind_common.go +++ b/lntest/bitcoind_common.go @@ -115,6 +115,7 @@ func newBackend(miner string, netParams *chaincfg.Params, extraArgs []string, zmqTxAddr := fmt.Sprintf("tcp://127.0.0.1:%d", port.NextAvailablePort()) rpcPort := port.NextAvailablePort() p2pPort := port.NextAvailablePort() + torBindPort := port.NextAvailablePort() cmdArgs := []string{ "-datadir=" + tempBitcoindDir, @@ -124,6 +125,7 @@ func newBackend(miner string, netParams *chaincfg.Params, extraArgs []string, "220110063096c221be9933c82d38e1", fmt.Sprintf("-rpcport=%d", rpcPort), fmt.Sprintf("-port=%d", p2pPort), + fmt.Sprintf("-bind=127.0.0.1:%d=onion", torBindPort), "-zmqpubrawblock=" + zmqBlockAddr, "-zmqpubrawtx=" + zmqTxAddr, "-debug", diff --git a/lntest/unittest/backend.go b/lntest/unittest/backend.go index be09b395c3..ac700044d2 100644 --- a/lntest/unittest/backend.go +++ b/lntest/unittest/backend.go @@ -82,6 +82,7 @@ func NewBitcoindBackend(t *testing.T, netParams *chaincfg.Params, tempBitcoindDir := t.TempDir() rpcPort := port.NextAvailablePort() + torBindPort := port.NextAvailablePort() zmqBlockPort := port.NextAvailablePort() zmqTxPort := port.NextAvailablePort() zmqBlockHost := fmt.Sprintf("tcp://127.0.0.1:%d", zmqBlockPort) @@ -94,6 +95,7 @@ func NewBitcoindBackend(t *testing.T, netParams *chaincfg.Params, "-rpcauth=weks:469e9bb14ab2360f8e226efed5ca6fd$507c670e800a95" + "284294edb5773b05544b220110063096c221be9933c82d38e1", fmt.Sprintf("-rpcport=%d", rpcPort), + fmt.Sprintf("-bind=127.0.0.1:%d=onion", torBindPort), "-disablewallet", "-zmqpubrawblock=" + zmqBlockHost, "-zmqpubrawtx=" + zmqTxHost, From c156d17da591a942f9f64cfeb6510ed5938c6f9c Mon Sep 17 00:00:00 2001 From: Oliver Gugger Date: Tue, 3 Sep 2024 13:10:54 +0200 Subject: [PATCH 4/6] lnwallet: turn off RBF detection in test --- lnwallet/test/test_interface.go | 151 +++++++++++++++----------------- 1 file changed, 71 insertions(+), 80 deletions(-) diff --git a/lnwallet/test/test_interface.go b/lnwallet/test/test_interface.go index 4a02f0324a..9910caefe5 100644 --- a/lnwallet/test/test_interface.go +++ b/lnwallet/test/test_interface.go @@ -1758,97 +1758,88 @@ func testPublishTransaction(r *rpctest.Harness, tx3, tx3Spend *wire.MsgTx ) t.Run("rbf_tests", func(t *testing.T) { - for _, rbf := range []bool{false, true} { - // Now we'll try to double spend an output with a - // different transaction. Create a new tx and publish - // it. This is the output we'll try to double spend. - tx3 = newTx(t, r, keyDesc.PubKey, alice, false) - err := alice.PublishTransaction(tx3, labels.External) - require.NoError(t, err) - - // Mine the transaction. - err = mineAndAssert(r, tx3) - require.NoError(t, err) + // Starting with bitcoind v28.0 and later, mempool full RBF is + // turned on, so there's no way to _not_ signal RBF anymore. + const rbf = true + + // Now we'll try to double spend an output with a + // different transaction. Create a new tx and publish + // it. This is the output we'll try to double spend. + tx3 = newTx(t, r, keyDesc.PubKey, alice, false) + err := alice.PublishTransaction(tx3, labels.External) + require.NoError(t, err) - // Now we create a transaction that spends the output - // from the tx just mined. - tx4, err := txFromOutput( - tx3, alice.Cfg.Signer, keyDesc.PubKey, - keyDesc.PubKey, txFee, rbf, - ) - require.NoError(t, err) + // Mine the transaction. + err = mineAndAssert(r, tx3) + require.NoError(t, err) - // This should be accepted into the mempool. - err = alice.PublishTransaction(tx4, labels.External) - require.NoError(t, err) + // Now we create a transaction that spends the output + // from the tx just mined. + tx4, err := txFromOutput( + tx3, alice.Cfg.Signer, keyDesc.PubKey, + keyDesc.PubKey, txFee, rbf, + ) + require.NoError(t, err) - // Keep track of the last successfully published tx to - // spend tx3. - tx3Spend = tx4 + // This should be accepted into the mempool. + err = alice.PublishTransaction(tx4, labels.External) + require.NoError(t, err) - txid4 := tx4.TxHash() - err = waitForMempoolTx(r, &txid4) - require.NoError(t, err, "tx not relayed to miner") + // Keep track of the last successfully published tx to + // spend tx3. + tx3Spend = tx4 - // Create a new key we'll pay to, to ensure we create a - // unique transaction. - keyDesc2, err := alice.DeriveNextKey( - keychain.KeyFamilyMultiSig, - ) - require.NoError(t, err, "unable to obtain public key") + txid4 := tx4.TxHash() + err = waitForMempoolTx(r, &txid4) + require.NoError(t, err, "tx not relayed to miner") - // Create a new transaction that spends the output from - // tx3, and that pays to a different address. - tx5, err := txFromOutput( - tx3, alice.Cfg.Signer, keyDesc.PubKey, - keyDesc2.PubKey, txFee, rbf, - ) - require.NoError(t, err) + // Create a new key we'll pay to, to ensure we create a + // unique transaction. + keyDesc2, err := alice.DeriveNextKey( + keychain.KeyFamilyMultiSig, + ) + require.NoError(t, err, "unable to obtain public key") - err = alice.PublishTransaction(tx5, labels.External) + // Create a new transaction that spends the output from + // tx3, and that pays to a different address. + tx5, err := txFromOutput( + tx3, alice.Cfg.Signer, keyDesc.PubKey, + keyDesc2.PubKey, txFee, rbf, + ) + require.NoError(t, err) - // If RBF is not enabled, we expect this to be rejected - // because it is a double spend. - expectedErr := lnwallet.ErrDoubleSpend + err = alice.PublishTransaction(tx5, labels.External) - // If RBF is enabled, we expect it to be rejected - // because it doesn't pay enough fees. - if rbf { - expectedErr = chain.ErrInsufficientFee - } + // We expect it to be rejected/ because it doesn't pay enough + // fees. + expectedErr := chain.ErrInsufficientFee - // Assert the expected error. - require.ErrorIsf(t, err, expectedErr, "has rbf=%v", rbf) + // Assert the expected error. + require.ErrorIsf(t, err, expectedErr, "has rbf=%v", rbf) - // Create another transaction that spends the same - // output, but has a higher fee. We expect also this tx - // to be rejected for non-RBF enabled transactions, - // while it should succeed otherwise. - pubKey3, err := alice.DeriveNextKey( - keychain.KeyFamilyMultiSig, - ) - require.NoError(t, err, "unable to obtain public key") + // Create another transaction that spends the same + // output, but has a higher fee. We expect also this tx + // to be rejected for non-RBF enabled transactions, + // while it should succeed otherwise. + pubKey3, err := alice.DeriveNextKey( + keychain.KeyFamilyMultiSig, + ) + require.NoError(t, err, "unable to obtain public key") - tx6, err := txFromOutput( - tx3, alice.Cfg.Signer, keyDesc.PubKey, - pubKey3.PubKey, 2*txFee, rbf, - ) - require.NoError(t, err) + tx6, err := txFromOutput( + tx3, alice.Cfg.Signer, keyDesc.PubKey, + pubKey3.PubKey, 2*txFee, rbf, + ) + require.NoError(t, err) - // Expect rejection in non-RBF case. - expErr := lnwallet.ErrDoubleSpend - if rbf { - // Expect success in rbf case. - expErr = nil - tx3Spend = tx6 - } - err = alice.PublishTransaction(tx6, labels.External) - require.ErrorIs(t, err, expErr) + // Expect rejection in non-RBF case. + tx3Spend = tx6 + err = alice.PublishTransaction(tx6, labels.External) + require.NoError(t, err) - // Mine the tx spending tx3. - err = mineAndAssert(r, tx3Spend) - require.NoError(t, err) - } + // Mine the tx spending tx3. + err = mineAndAssert(r, tx3Spend) + require.NoError(t, err) }) t.Run("tx_double_spend", func(t *testing.T) { @@ -3071,9 +3062,9 @@ func testSingleFunderExternalFundingTx(miner *rpctest.Harness, ) } -// TestInterfaces tests all registered interfaces with a unified set of tests -// which exercise each of the required methods found within the WalletController -// interface. +// TestLightningWallet tests all registered interfaces with a unified set of +// tests which exercise each of the required methods found within the +// WalletController interface. // // NOTE: In the future, when additional implementations of the WalletController // interface have been implemented, in order to ensure the new concrete From a63542b618a1e2053c0565deb0b86558355944ca Mon Sep 17 00:00:00 2001 From: Oliver Gugger Date: Tue, 3 Sep 2024 13:15:31 +0200 Subject: [PATCH 5/6] mod: fix unit tests by updating error matching in btcwallet --- go.mod | 14 +++++++------- go.sum | 32 ++++++++++++++++---------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/go.mod b/go.mod index 60af5fb3de..82b92375ee 100644 --- a/go.mod +++ b/go.mod @@ -10,11 +10,11 @@ require ( github.com/btcsuite/btcd/btcutil/psbt v1.1.8 github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f - github.com/btcsuite/btcwallet v0.16.10-0.20240809133323-7d3434c65ae2 - github.com/btcsuite/btcwallet/wallet/txauthor v1.3.4 - github.com/btcsuite/btcwallet/wallet/txrules v1.2.1 - github.com/btcsuite/btcwallet/walletdb v1.4.2 - github.com/btcsuite/btcwallet/wtxmgr v1.5.3 + github.com/btcsuite/btcwallet v0.16.10-0.20240912233857-ffb143c77cc5 + github.com/btcsuite/btcwallet/wallet/txauthor v1.3.5 + github.com/btcsuite/btcwallet/wallet/txrules v1.2.2 + github.com/btcsuite/btcwallet/walletdb v1.4.4 + github.com/btcsuite/btcwallet/wtxmgr v1.5.4 github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f github.com/davecgh/go-spew v1.1.1 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 @@ -73,7 +73,7 @@ require ( github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect github.com/aead/siphash v1.0.1 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/btcsuite/btcwallet/wallet/txsizes v1.2.4 // indirect + github.com/btcsuite/btcwallet/wallet/txsizes v1.2.5 // indirect github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd // indirect github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 // indirect github.com/btcsuite/winsvc v1.0.0 // indirect @@ -157,7 +157,7 @@ require ( github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec // indirect - go.etcd.io/bbolt v1.3.7 // indirect + go.etcd.io/bbolt v1.3.11 // indirect go.etcd.io/etcd/api/v3 v3.5.7 // indirect go.etcd.io/etcd/client/v2 v2.305.7 // indirect go.etcd.io/etcd/pkg/v3 v3.5.7 // indirect diff --git a/go.sum b/go.sum index 312b225780..86c2da9dd8 100644 --- a/go.sum +++ b/go.sum @@ -92,18 +92,18 @@ github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0/go.mod h1:7SFka0XMvUgj3hfZtyd github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f h1:bAs4lUbRJpnnkd9VhRV3jjAVU7DJVjMaK+IsvSeZvFo= github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= -github.com/btcsuite/btcwallet v0.16.10-0.20240809133323-7d3434c65ae2 h1:qa4Avm7p97JroZZyMJADbEb9u853pjleJYSeitENvLc= -github.com/btcsuite/btcwallet v0.16.10-0.20240809133323-7d3434c65ae2/go.mod h1:X2xDre+j1QphTRo54y2TikUzeSvreL1t1aMXrD8Kc5A= -github.com/btcsuite/btcwallet/wallet/txauthor v1.3.4 h1:poyHFf7+5+RdxNp5r2T6IBRD7RyraUsYARYbp/7t4D8= -github.com/btcsuite/btcwallet/wallet/txauthor v1.3.4/go.mod h1:GETGDQuyq+VFfH1S/+/7slLM/9aNa4l7P4ejX6dJfb0= -github.com/btcsuite/btcwallet/wallet/txrules v1.2.1 h1:UZo7YRzdHbwhK7Rhv3PO9bXgTxiOH45edK5qdsdiatk= -github.com/btcsuite/btcwallet/wallet/txrules v1.2.1/go.mod h1:MVSqRkju/IGxImXYPfBkG65FgEZYA4fXchheILMVl8g= -github.com/btcsuite/btcwallet/wallet/txsizes v1.2.4 h1:nmcKAVTv/cmYrs0A4hbiC6Qw+WTLYy/14SmTt3mLnCo= -github.com/btcsuite/btcwallet/wallet/txsizes v1.2.4/go.mod h1:YqJR8WAAHiKIPesZTr9Cx9Az4fRhRLcJ6GcxzRUZCAc= -github.com/btcsuite/btcwallet/walletdb v1.4.2 h1:zwZZ+zaHo4mK+FAN6KeK85S3oOm+92x2avsHvFAhVBE= -github.com/btcsuite/btcwallet/walletdb v1.4.2/go.mod h1:7ZQ+BvOEre90YT7eSq8bLoxTsgXidUzA/mqbRS114CQ= -github.com/btcsuite/btcwallet/wtxmgr v1.5.3 h1:QrWCio9Leh3DwkWfp+A1SURj8pYn3JuTLv3waP5uEro= -github.com/btcsuite/btcwallet/wtxmgr v1.5.3/go.mod h1:M4nQpxGTXiDlSOODKXboXX7NFthmiBNjzAKKNS7Fhjg= +github.com/btcsuite/btcwallet v0.16.10-0.20240912233857-ffb143c77cc5 h1:zYy233eUBvkF3lq2MUkybEhxhDsrRDSgiToIKN57mtk= +github.com/btcsuite/btcwallet v0.16.10-0.20240912233857-ffb143c77cc5/go.mod h1:1HJXYbjJzgumlnxOC2+ViR1U+gnHWoOn7WeK5OfY1eU= +github.com/btcsuite/btcwallet/wallet/txauthor v1.3.5 h1:Rr0njWI3r341nhSPesKQ2JF+ugDSzdPoeckS75SeDZk= +github.com/btcsuite/btcwallet/wallet/txauthor v1.3.5/go.mod h1:+tXJ3Ym0nlQc/iHSwW1qzjmPs3ev+UVWMbGgfV1OZqU= +github.com/btcsuite/btcwallet/wallet/txrules v1.2.2 h1:YEO+Lx1ZJJAtdRrjuhXjWrYsmAk26wLTlNzxt2q0lhk= +github.com/btcsuite/btcwallet/wallet/txrules v1.2.2/go.mod h1:4v+grppsDpVn91SJv+mZT7B8hEV4nSmpREM4I8Uohws= +github.com/btcsuite/btcwallet/wallet/txsizes v1.2.5 h1:93o5Xz9dYepBP4RMFUc9RGIFXwqP2volSWRkYJFrNtI= +github.com/btcsuite/btcwallet/wallet/txsizes v1.2.5/go.mod h1:lQ+e9HxZ85QP7r3kdxItkiMSloSLg1PEGis5o5CXUQw= +github.com/btcsuite/btcwallet/walletdb v1.4.4 h1:BDel6iT/ltYSIYKs0YbjwnEDi7xR3yzABIsQxN2F1L8= +github.com/btcsuite/btcwallet/walletdb v1.4.4/go.mod h1:jk/hvpLFINF0C1kfTn0bfx2GbnFT+Nvnj6eblZALfjs= +github.com/btcsuite/btcwallet/wtxmgr v1.5.4 h1:hJjHy1h/dJwSfD9uDsCwcH21D1iOrus6OrI5gR9E/O0= +github.com/btcsuite/btcwallet/wtxmgr v1.5.4/go.mod h1:lAv0b1Vj9Ig5U8QFm0yiJ9WqPl8yGO/6l7JxdHY1PKE= github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd h1:R/opQEbFEy9JGkIguV40SvRY1uliPX8ifOvi6ICsFCw= github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= github.com/btcsuite/golangcrypto v0.0.0-20150304025918-53f62d9b43e8/go.mod h1:tYvUd8KLhm/oXvUeSEs2VlLghFjQt9+ZaF9ghH0JNjc= @@ -274,8 +274,8 @@ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -623,8 +623,8 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec h1:FpfFs4EhNehiVfzQttTuxanPIT43FtkkCFypIod8LHo= gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec/go.mod h1:BZ1RAoRPbCxum9Grlv5aeksu2H8BiKehBYooU2LFiOQ= -go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= -go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= +go.etcd.io/bbolt v1.3.11 h1:yGEzV1wPz2yVCLsD8ZAiGHhHVlczyC9d1rP43/VCRJ0= +go.etcd.io/bbolt v1.3.11/go.mod h1:dksAq7YMXoljX0xu6VF5DMZGbhYYoLUalEiSySYAS4I= go.etcd.io/etcd/api/v3 v3.5.7 h1:sbcmosSVesNrWOJ58ZQFitHMdncusIifYcrBfwrlJSY= go.etcd.io/etcd/api/v3 v3.5.7/go.mod h1:9qew1gCdDDLu+VwmeG+iFpL+QlpHTo7iubavdVDgCAA= go.etcd.io/etcd/client/pkg/v3 v3.5.7 h1:y3kf5Gbp4e4q7egZdn5T7W9TSHUvkClN6u+Rq9mEOmg= From 4213ab89471d6ea53f8b951a48f5f360c50d5912 Mon Sep 17 00:00:00 2001 From: Oliver Gugger Date: Tue, 3 Sep 2024 13:15:44 +0200 Subject: [PATCH 6/6] docs: add release notes --- docs/release-notes/release-notes-0.18.4.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/release-notes/release-notes-0.18.4.md b/docs/release-notes/release-notes-0.18.4.md index e0c23dd380..f6a2f3967b 100644 --- a/docs/release-notes/release-notes-0.18.4.md +++ b/docs/release-notes/release-notes-0.18.4.md @@ -30,6 +30,10 @@ types](https://github.com/lightningnetwork/lnd/pull/8960). added [to turn on custom channel functionality](https://github.com/lightningnetwork/lnd/pull/8960). +* Compatibility with [`bitcoind + v28.0`](https://github.com/lightningnetwork/lnd/pull/9059) was ensured by + updating the version the CI pipeline is running against. + ## RPC Additions * Some new experimental [RPCs for managing SCID