https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=56270
if (!node->IsValidTopLevel()) return;
    
    auto decoded = miniscript::FromScript(script, PARSER_CTX);
    assert(decoded);
    
    
    
    assert(decoded->ToScript(PARSER_CTX) == script);
    assert(decoded->GetType() == node->GetType());
    if (provider.ConsumeBool() && node->GetOps() < MAX_OPS_PER_SCRIPT && node->ScriptSize() < MAX_STANDARD_P2WSH_SCRIPT_SIZE) {
        
        
        
        
        
        
        
        
        
        int add = std::min<int>(
            MAX_OPS_PER_SCRIPT - node->GetOps(),
            MAX_STANDARD_P2WSH_SCRIPT_SIZE - node->ScriptSize());
        for (int i = 0; i < add; ++i) script.push_back(OP_NOP);
    }
    
    const CScript script_pubkey = CScript() << OP_0 << WitnessV0ScriptHash(script);
    CScriptWitness witness_mal;
    const bool mal_success = node->Satisfy(SATISFIER_CTX, witness_mal.stack, false) == miniscript::Availability::YES;
    witness_mal.stack.push_back(std::vector<unsigned char>(script.begin(), script.end()));