pub struct TokenContent {
pub mint: String,
pub unit: Option<String>,
pub proofs: Vec<CashuProof>,
pub del: Vec<String>,
}Available on crate feature
nip44 only.Expand description
Inner JSON payload of a kind-7375 token event.
Fields§
§mint: StringURL of the mint these proofs belong to.
unit: Option<String>Base unit (sat, usd, …); spec default is sat when
omitted.
proofs: Vec<CashuProof>Unspent proofs.
del: Vec<String>Token event ids destroyed by the creation of this token (spec §“Spending token” rollover).
Implementations§
Source§impl TokenContent
impl TokenContent
Sourcepub fn new(mint: impl Into<String>, proofs: Vec<CashuProof>) -> Self
pub fn new(mint: impl Into<String>, proofs: Vec<CashuProof>) -> Self
Build an unencrypted token bundle.
Sourcepub fn del(self, del: impl IntoIterator<Item = impl Into<String>>) -> Self
pub fn del(self, del: impl IntoIterator<Item = impl Into<String>>) -> Self
Mark token-event ids destroyed by this rollover.
Sourcepub fn amount(&self) -> u64
pub fn amount(&self) -> u64
Total amount across Self::proofs.
Sourcepub fn encrypt(&self, owner: &Keys) -> Result<String, Nip60Error>
pub fn encrypt(&self, owner: &Keys) -> Result<String, Nip60Error>
NIP-44 self-encrypt the bundle.
§Errors
Forwarded from JSON serialisation and crate::nips::nip44::encrypt.
Sourcepub fn decrypt(payload: &str, owner: &Keys) -> Result<Self, Nip60Error>
pub fn decrypt(payload: &str, owner: &Keys) -> Result<Self, Nip60Error>
Decrypt a kind-7375 .content payload.
§Errors
Forwarded from crate::nips::nip44::decrypt and JSON parse.
Sourcepub fn from_event(event: &Event, owner: &Keys) -> Result<Self, Nip60Error>
pub fn from_event(event: &Event, owner: &Keys) -> Result<Self, Nip60Error>
Parse a signed kind-7375 event.
§Errors
Returns Nip60Error::WrongKind when the event’s kind is
not 7375; otherwise forwards every error from
Self::decrypt.
Trait Implementations§
Source§impl Clone for TokenContent
impl Clone for TokenContent
Source§fn clone(&self) -> TokenContent
fn clone(&self) -> TokenContent
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TokenContent
impl Debug for TokenContent
Source§impl<'de> Deserialize<'de> for TokenContent
impl<'de> Deserialize<'de> for TokenContent
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for TokenContent
Source§impl PartialEq for TokenContent
impl PartialEq for TokenContent
Source§impl Serialize for TokenContent
impl Serialize for TokenContent
impl StructuralPartialEq for TokenContent
Auto Trait Implementations§
impl Freeze for TokenContent
impl RefUnwindSafe for TokenContent
impl Send for TokenContent
impl Sync for TokenContent
impl Unpin for TokenContent
impl UnsafeUnpin for TokenContent
impl UnwindSafe for TokenContent
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.