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
{
    auto result = WITH_LOCK(g_loading__mutex, return g_loading__set.insert(name));
    if (!result.second) {
        error = Untranslated("Waet already loading.");
        status = DatabaseStatus::FAILED_LOAD;
        return nuptr;
    }
    auto  = LoadWaetInternal(context, name, load_on_start, options, status, error, warnings);
    WITH_LOCK(g_loading__mutex, g_loading__set.erase(result.first));
    return ;
}
std::shared_ptr<CWaet> CreateWaet(WaetContext& context, const std::string& name, std::optional<bool> load_on_start, DatabaseOptions& options, DatabaseStatus& status, bilingual_str& error, std::vector<bilingual_str>& warnings)