Currently, the multisig descriptor constructions are limited to 16 keys only possibly because of template parsing reasons. Under p2sh context, such scripts would be invalid anyway because of 520-byte rule, but we can support up to 20 keys for CHECKMULTISIG in witness script context. 


{
    bool found_apostrophes_in_prv = false;
    bool found_apostrophes_in_pub = false;
    
    DoCheck(prv, pub, norm_prv, norm_pub, flags, scripts, type, paths);
    
    if (prv.find('\'') != std::string::npos) {
        found_apostrophes_in_prv = true;
        DoCheck(prv, pub, norm_prv, norm_pub, flags, scripts, type, paths, true, false);
    }
    
    if (pub.find('\'') != std::string::npos) {
        found_apostrophes_in_pub = true;
        DoCheck(prv, pub, norm_prv, norm_pub, flags, scripts, type, paths, false, true);
    }
    
    if (found_apostrophes_in_prv && found_apostrophes_in_pub) {
        DoCheck(prv, pub, norm_prv, norm_pub, flags, scripts, type, paths, true, true);
    }
}
}
BOOST_FIXTURE_TEST_SUITE(descriptor_tests, BasicTestingSetup)
BOOST_AUTO_TEST_CASE(descriptor_test)