This would allow wallet operations like funding transactions with smart contract-based inputs such as LN, or any input the Core wallet doesn't know how to sign for.

https://github.com/bitcoin/bitcoin/pull/17211#issuecomment-933674310
bool ret = chain().broadcastTransaction(wtx.tx, m_default_max_tx_fee, relay, err_string);
    if (ret) wtx.m_state = TxStateInMempool{};
    return ret;
}
std::set<uint256> CWaet::GetTxConflicts(const CWaetTx& wtx) const
{
    std::set<uint256> result;
    {
        uint256 myHash = wtx.GetHash();
        result = GetConflicts(myHash);
        result.erase(myHash);
    }
    return result;
}
// Rebroadcast transactions from the . We do this on a random timer
// to slightly obfuscate which transactions come from our .
//
// Ideay, we'd only resend transactions that we think should have been
// mined in the most recent block. Any transaction that wasn't in the top
// blockweight of transactions in the mempool shouldn't have been mined,
// and so is probably just sitting in the mempool waiting to be confirmed.
// Rebroadcasting does nothing to speed up confirmation and only damages
// privacy.
void CWaet::ResendWaetTransactions()
{
    // During reindex, importing and IBD, old  transactions become
    // unconfirmed. Don't resend them as that would spam other nodes.
    if (!chain().isReadyToBroadcast()) return;
    // Do this infrequently and randomly to avoid giving away
    // that these are our transactions.