@jonasschnelli wrote in #14979:
> #14573 broke < Qt5.6 compatibility due to calling the lambda version of `addAction` that was added in Qt5.6.

We currently [support](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md) QT >=5.2, but hardly anyone tests with that. If we make one of the Travis machines use it, we should have a better change of catching this.

See also discussion about minimum QT version in #13478 
}
        }
        
        ImportData import_data;
        if (strRedeemScript.size()) {
            if (!IsHex(strRedeemScript)) {
                throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid redeem script \"" + strRedeemScript + "\": must be hex string");
            }
            auto parsed_redeemscript = ParseHex(strRedeemScript);
            import_data.redeemscript = MakeUnique<CScript>(parsed_redeemscript.begin(), parsed_redeemscript.end());
        }
        if (witness_script_hex.size()) {
            if (!IsHex(witness_script_hex)) {
                throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid witness script \"" + witness_script_hex + "\": must be hex string");
            }
            auto parsed_witnessscript = ParseHex(witness_script_hex);
            import_data.witnessscript = MakeUnique<CScript>(parsed_witnessscript.begin(), parsed_witnessscript.end());
        }
        std::map<CKeyID, CPubKey> pubkey_map;
        for (size_t i = 0; i < pubKeys.size(); ++i) {
            const auto& str = pubKeys[i].get_str();
            if (!IsHex(str)) {
                throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Pubkey \"" + str + "\" must be a hex string");
            }
            auto parsed_pubkey = ParseHex(str);
            CPubKey pubkey(parsed_pubkey.begin(), parsed_pubkey.end());
            if (!pubkey.IsFullyValid()) {
                throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Pubkey \"" + str + "\" is not a valid public key");
            }
            pubkey_map.emplace(pubkey.GetID(), pubkey);