/// <summary>
 /// Pay-to-witness-pubkey-hash (P2WPKH) output for public key P.
 /// </summary>
 /// <param name="pubkey"></param>
 /// <returns></returns>
 public static ScanTxoutDescriptor WPKH(ScanTxoutPubkey pubkey)
 {
     if (pubkey == null)
     {
         throw new ArgumentNullException(nameof(pubkey));
     }
     return(new ScanTxoutDescriptor($"wpkh({pubkey.ToString()})"));
 }
        /// <summary>
        /// Combination of P2PK, P2PKH, P2WPKH, and P2SH-P2WPKH for public key P.
        /// </summary>
        /// <param name="descriptor"></param>
        /// <returns></returns>
        public static ScanTxoutDescriptor Combo(ScanTxoutPubkey pubkey)
        {
            if (pubkey == null)
            {
                throw new ArgumentNullException(nameof(pubkey));
            }

            return(new ScanTxoutDescriptor($"combo({pubkey})"));
        }