Merge #12119: [wallet] use P2WPKH change output if any destination is P2WPKH or P2WSH
596c446 [wallet] use P2WPKH change output if any destination is P2WPKH or P2WSH (Sjors Provoost)
Pull request description:
If `-changetype` is not explicitly set, then regardless of `-addresstype`, the wallet will use a ~`bech32` change address~ `P2WPKH` change output if any destination is `P2WPKH` or `P2WSH`.
This seems more intuitive to me and more in line with the spirit of [BIP-69](https://github.com/bitcoin/bips/blob/master/bip-0069.mediawiki).
When combined with #11991 a QT user could opt to use `bech32` exclusively without having to figure out how to launch with `-changetype=bech32`, although so would #11937.
Tree-SHA512: 9238d3ccd1f3be8dfdd43444ccf45d6bdc6584ced3172a3045f3ecfec4a7cc8999db0cdb76ae49236492a84e6dbf3a1fdf18544d3eaf6d518e1f8bd241db33e7
strUsage+=HelpMessageOpt("-addresstype",strprintf(_("What type of addresses to use (\"legacy\", \"p2sh-segwit\", or \"bech32\", default: \"%s\")"),FormatOutputType(OUTPUT_TYPE_DEFAULT)));
strUsage+=HelpMessageOpt("-addresstype",strprintf(_("What type of addresses to use (\"legacy\", \"p2sh-segwit\", or \"bech32\", default: \"%s\")"),FormatOutputType(OUTPUT_TYPE_DEFAULT)));
strUsage+=HelpMessageOpt("-changetype",_("What type of change to use (\"legacy\", \"p2sh-segwit\", or \"bech32\", default is same as -addresstype)"));
strUsage+=HelpMessageOpt("-changetype",_("What type of change to use (\"legacy\", \"p2sh-segwit\", or \"bech32\"). Default is same as -addresstype, except when -addresstype=p2sh-segwit a native segwit output is used when sending to a native segwit address)"));
strUsage+=HelpMessageOpt("-disablewallet",_("Do not load the wallet and disable wallet RPC calls"));
strUsage+=HelpMessageOpt("-disablewallet",_("Do not load the wallet and disable wallet RPC calls"));
strUsage+=HelpMessageOpt("-keypool=<n>",strprintf(_("Set key pool size to <n> (default: %u)"),DEFAULT_KEYPOOL_SIZE));
strUsage+=HelpMessageOpt("-keypool=<n>",strprintf(_("Set key pool size to <n> (default: %u)"),DEFAULT_KEYPOOL_SIZE));
strUsage+=HelpMessageOpt("-fallbackfee=<amt>",strprintf(_("A fee rate (in %s/kB) that will be used when fee estimation has insufficient data (default: %s)"),
strUsage+=HelpMessageOpt("-fallbackfee=<amt>",strprintf(_("A fee rate (in %s/kB) that will be used when fee estimation has insufficient data (default: %s)"),