@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 
#include <memory>
#include <string>
#include <utility>
#include <vector>
namespace interfaces {
namespace {
class PendingWalletTxImpl : public PendingWalletTx
{
public:
    explicit PendingWalletTxImpl(CWallet& wallet) : m_wallet(wallet), m_key(&wallet) {}
    const CTransaction& get() override { return *m_tx; }
    int64_t getVirtualSize() override { return GetVirtualTransactionSize(*m_tx); }
    bool commit(WalletValueMap value_map,
        WalletOrderForm order_form,
        std::string& reject_reason) override
    {
        auto locked_chain = m_wallet.chain().lock();
        LOCK(m_wallet.cs_wallet);
        CValidationState state;
        if (!m_wallet.CommitTransaction(m_tx, std::move(value_map), std::move(order_form), m_key, g_connman.get(), state)) {
            reject_reason = state.GetRejectReason();
            return false;
        }
        return true;
    }
    CTransactionRef m_tx;
    CWallet& m_wallet;
    CReserveKey m_key;
};
WalletTx MakeWalletTx(interfaces::Chain::Lock& locked_chain, CWallet& wallet, const CWalletTx& wtx)