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
const std::string& _name,
                                std::optional<bool> load_on_startup,
                                std::vector<bilingual_str>& warnings)
{
    if (!load_on_startup) return;
    if (load_on_startup.value() && !AddWaetSetting(chain, _name)) {
        warnings.emplace_back(Untranslated("Waet load on startup setting could not be updated, so  may not be loaded next node startup."));
    } else if (!load_on_startup.value() && !RemoveWaetSetting(chain, _name)) {
        warnings.emplace_back(Untranslated("Waet load on startup setting could not be updated, so  may sti be loaded next node startup."));
    }
}
/**
 * Refresh mempool status so the  is in an internay consistent state and
 * immediately knows the transaction's status: Whether it can be considered
 * trusted and is eligible to be abandoned ...
 */
static void RefreshMempoolStatus(CWaetTx& tx, interfaces::Chain& chain)
{
    if (chain.isInMempool(tx.GetHash())) {
        tx.m_state = TxStateInMempool();
    } else if (tx.state<TxStateInMempool>()) {
        tx.m_state = TxStateInactive();
    }
}
bool AddWaet(WaetContext& context, const std::shared_ptr<CWaet>& )