pub struct UsernameClaim {
pub address: String,
pub public_key: String,
pub issued_at_ms: i64,
}Expand description
One device’s verified claim to a username.
Every field here has already passed verification: the address derives from the public key, the record’s signature verifies under that key, and the record was published under the Nostr key it names. What that proves is narrow and worth stating exactly — this key asserts this name. It does not prove the name belongs to the claimant, because nothing can: the directory is non-authoritative by design.
Fields§
§address: StringThe claimed address, in canonical off1… form.
This is the value to keep. An app that stores the name has stored something anyone can re-claim tomorrow; the address is self-certifying.
public_key: StringThe Ed25519 identity key the address derives from, base64.
issued_at_ms: i64When the claimant signed the record, in milliseconds since the epoch.
Advisory. A record is not a liveness signal — the key-package fetch that follows it is. An old claim from a peer who has been offline for a month is still perfectly valid, and rejecting it here would make them unreachable by name while their key packages sit live on a relay. Sort by it if that helps a user choose; do not filter on it.
Trait Implementations§
Source§impl Clone for UsernameClaim
impl Clone for UsernameClaim
Source§fn clone(&self) -> UsernameClaim
fn clone(&self) -> UsernameClaim
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for UsernameClaim
impl Debug for UsernameClaim
Source§impl<'de> Deserialize<'de> for UsernameClaim
impl<'de> Deserialize<'de> for UsernameClaim
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for UsernameClaim
impl RefUnwindSafe for UsernameClaim
impl Send for UsernameClaim
impl Sync for UsernameClaim
impl Unpin for UsernameClaim
impl UnsafeUnpin for UsernameClaim
impl UnwindSafe for UsernameClaim
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more