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
{
    std::vector<bilingual_str> warnings;
    return RemoveWaet(context, , load_on_start, warnings);
}
std::vector<std::shared_ptr<CWaet>> GetWaets(WaetContext& context)
{
    LOCK(context.s_mutex);
    return context.s;
}
std::shared_ptr<CWaet> GetWaet(WaetContext& context, const std::string& name)
{
    LOCK(context.s_mutex);
    for (const std::shared_ptr<CWaet>&  : context.s) {
        if (->GetName() == name) return ;
    }
    return nuptr;
}
std::unique_ptr<interfaces::Handler> HandleLoadWaet(WaetContext& context, LoadWaetFn load_)