Description
Today, all the UTXOs and assets referenced occupy a single namespace. This works for instances where one primary users is controlling the daemon, but falls short in situations wherein multiple users might be sharing the daemon, or a daemon mapped to many down stream clients.
To address, this we should add an account/namespace overlay layer. This would be similar to the namespacing scheme we already have in the db for the Universe trees. Instead, we'd add this new namespace field to all the relevant on-chain tables. Users should be able to mint assets into a namespace, and have those assets be invisible from outside the namespace. The same goes for addresses, UTXOs, and transfers.
A sketch of the table would look something like:
CREATE TABLE IF NOT EXISTS onchain_namespace (
id INTEGER PRIMARY KEY,
name TEXT UNIQUE
);
We'd then add a new foreign key ref from the relevant tables into this new namespace table. Then any of the relevant RPC calls can then use that as an extra filter argument.