As we see segwit and taproot usage grow, it seems reasonable to stop making wallets that are able to generate legacy and p2sh-segwit addresses. We have already made it difficult to make legacy addresses through the GUI (starting with -addresstype=legacy
is the only way). The default address type is bech32. So it seems that we should consider stop automatically generating legacy, and probably p2sh-segwit, descriptors.
This would simply be removing the automatic creation of descriptors for the LEGACY
and P2SH_SEGWIT
output types for new wallets. We would still retain the ability to spend those outputs, parse those descriptors, and make those types of addresses if the user’s wallet has descriptors for these output types. Additionally, if a user wanted to add such a descriptor to their wallet, they could via importdescriptors
. There can also be some RPC which can add an automatically generated single key descriptor of whatever type that could legacy and p2sh-segwit descriptors to the wallet. Such an RPC would be the generic version of the one that will add tr
descriptors (or perhaps the same RPC).