https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=56270
case Fragment::SHA256: {
                    std::vector<unsigned char> preimage;
                    Availability avail = ctx.SatSHA256(node.data, preimage);
                    return {ZERO32, InputStack(std::move(preimage)).SetAvailable(avail)};
                }
                case Fragment::RIPEMD160: {
                    std::vector<unsigned char> preimage;
                    Availability avail = ctx.SatRIPEMD160(node.data, preimage);
                    return {ZERO32, InputStack(std::move(preimage)).SetAvailable(avail)};
                }
                case Fragment::HASH256: {
                    std::vector<unsigned char> preimage;
                    Availability avail = ctx.SatHASH256(node.data, preimage);
                    return {ZERO32, InputStack(std::move(preimage)).SetAvailable(avail)};
                }
                case Fragment::HASH160: {
                    std::vector<unsigned char> preimage;
                    Availability avail = ctx.SatHASH160(node.data, preimage);
                    return {ZERO32, InputStack(std::move(preimage)).SetAvailable(avail)};
                }
                case Fragment::AND_V: {
                    auto& x = subres[0], &y = subres[1];
                    
                    
                    
                    
                    
                    
                    return {(y.nsat + x.sat).SetNonCanon(), y.sat + x.sat};
                }