#pragma once #include #include "pubkey.h" using std::function; using std::optional; using std::string; using std::vector; namespace erebos { class IdentityData { public: static optional load(const Ref &); const vector>> prev; const optional name; const optional>> owner; const Stored keyIdentity; const optional> keyMessage; }; class Identity::Priv { public: vector>> data; shared_future> name; optional owner; static bool verifySignatures(const Stored> & sdata); static shared_ptr validate(const vector>> & sdata); optional> lookupProperty( function sel) const; }; }