diff --git a/src/script/descriptor.cpp b/src/script/descriptor.cpp index 84a8b06c5c..5da249b7f9 100644 --- a/src/script/descriptor.cpp +++ b/src/script/descriptor.cpp @@ -646,11 +646,13 @@ static std::optional OutputTypeFromDestination(const CTxDestination& return OutputType::LEGACY; } if (std::holds_alternative(dest) || - std::holds_alternative(dest) || - std::holds_alternative(dest) || - std::holds_alternative(dest)) { + std::holds_alternative(dest)) { return OutputType::BECH32; } + if (std::holds_alternative(dest) || + std::holds_alternative(dest)) { + return OutputType::BECH32M; + } return std::nullopt; } @@ -874,7 +876,7 @@ public: { assert(m_subdescriptor_args.size() == m_depths.size()); } - std::optional GetOutputType() const override { return OutputType::BECH32; } + std::optional GetOutputType() const override { return OutputType::BECH32M; } bool IsSingleType() const final { return true; } }; diff --git a/test/functional/wallet_taproot.py b/test/functional/wallet_taproot.py index 1547a90125..b085a6eab6 100755 --- a/test/functional/wallet_taproot.py +++ b/test/functional/wallet_taproot.py @@ -226,7 +226,7 @@ class WalletTaprootTest(BitcoinTestFramework): result = self.addr_gen.importdescriptors([{"desc": desc_pub, "active": True, "timestamp": "now"}]) assert(result[0]['success']) for i in range(4): - addr_g = self.addr_gen.getnewaddress(address_type='bech32') + addr_g = self.addr_gen.getnewaddress(address_type='bech32m') if treefn is not None: addr_r = self.make_addr(treefn, keys, i) assert_equal(addr_g, addr_r) @@ -259,7 +259,7 @@ class WalletTaprootTest(BitcoinTestFramework): result = self.rpc_online.importdescriptors([{"desc": desc_change, "active": True, "timestamp": "now", "internal": True}]) assert(result[0]['success']) for i in range(4): - addr_g = self.rpc_online.getnewaddress(address_type='bech32') + addr_g = self.rpc_online.getnewaddress(address_type='bech32m') if treefn is not None: addr_r = self.make_addr(treefn, keys_pay, i) assert_equal(addr_g, addr_r) @@ -290,7 +290,7 @@ class WalletTaprootTest(BitcoinTestFramework): result = self.psbt_offline.importdescriptors([{"desc": desc_change, "active": True, "timestamp": "now", "internal": True}]) assert(result[0]['success']) for i in range(4): - addr_g = self.psbt_online.getnewaddress(address_type='bech32') + addr_g = self.psbt_online.getnewaddress(address_type='bech32m') if treefn is not None: addr_r = self.make_addr(treefn, keys_pay, i) assert_equal(addr_g, addr_r)