pub enum SpendingConditions {
P2PKConditions {
data: PublicKey,
conditions: Option<Conditions>,
},
HTLCConditions {
data: Hash,
conditions: Option<Conditions>,
},
}Expand description
Spending Conditions
Defined in NUT10
Variants§
P2PKConditions
NUT11 Spending conditions
Defined in NUT11
Fields
conditions: Option<Conditions>Additional Optional Spending Conditions
HTLCConditions
NUT14 Spending conditions
Dedined in NUT14
Fields
conditions: Option<Conditions>Additional Optional Spending Conditions
Implementations§
Source§impl SpendingConditions
impl SpendingConditions
Sourcepub fn kind(&self) -> Kind
pub fn kind(&self) -> Kind
Kind of SpendingConditions
Sourcepub fn refund_keys(&self) -> Option<Vec<PublicKey>>
pub fn refund_keys(&self) -> Option<Vec<PublicKey>>
Refund keys
Source§impl SpendingConditions
impl SpendingConditions
Sourcepub fn validate(&self) -> Result<(), Error>
pub fn validate(&self) -> Result<(), Error>
Enforce the NUT-10/11 construction rules, rejecting duplicate keys.
Keys are compared by x-coordinate within a signing pathway, the way
verification compares them, so a lock that validates here is one the
mint will accept. The duplicate check runs before the signature
thresholds so a repeated key always reports the repetition. Only
protocol rules are enforced; the authoring policy in
Conditions::new is not applied here.
Source§impl SpendingConditions
impl SpendingConditions
Sourcepub fn new_p2pk(
pubkey: PublicKey,
conditions: Option<Conditions>,
) -> SpendingConditions
pub fn new_p2pk( pubkey: PublicKey, conditions: Option<Conditions>, ) -> SpendingConditions
New P2PK SpendingConditions
Source§impl SpendingConditions
impl SpendingConditions
Sourcepub fn new_htlc(
preimage: String,
conditions: Option<Conditions>,
) -> Result<SpendingConditions, Error>
pub fn new_htlc( preimage: String, conditions: Option<Conditions>, ) -> Result<SpendingConditions, Error>
New HTLC SpendingConditions
Sourcepub fn new_htlc_hash(
hash: &str,
conditions: Option<Conditions>,
) -> Result<SpendingConditions, Error>
pub fn new_htlc_hash( hash: &str, conditions: Option<Conditions>, ) -> Result<SpendingConditions, Error>
New HTLC SpendingConditions from a hash directly instead of preimage
Trait Implementations§
Source§impl Clone for SpendingConditions
impl Clone for SpendingConditions
Source§fn clone(&self) -> SpendingConditions
fn clone(&self) -> SpendingConditions
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 SpendingConditions
impl Debug for SpendingConditions
Source§impl<'de> Deserialize<'de> for SpendingConditions
impl<'de> Deserialize<'de> for SpendingConditions
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SpendingConditions, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SpendingConditions, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for SpendingConditions
Source§impl Hash for SpendingConditions
impl Hash for SpendingConditions
Source§impl PartialEq for SpendingConditions
impl PartialEq for SpendingConditions
Source§impl Serialize for SpendingConditions
impl Serialize for SpendingConditions
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for SpendingConditions
Source§impl TryFrom<&Secret> for SpendingConditions
impl TryFrom<&Secret> for SpendingConditions
Source§impl TryFrom<Secret> for SpendingConditions
impl TryFrom<Secret> for SpendingConditions
Source§impl TryFrom<SpendingConditions> for Secret
The only door from an author-supplied lock to wire bytes, so the
construction rules are enforced here instead of at each caller.
impl TryFrom<SpendingConditions> for Secret
The only door from an author-supplied lock to wire bytes, so the construction rules are enforced here instead of at each caller.
Source§impl TryFrom<SpendingConditions> for Secret
impl TryFrom<SpendingConditions> for Secret
Source§impl TryFrom<SpendingConditions> for Nut10SecretRequest
A request advertises a lock the payer will build, so it has to pass the same
construction rules the secret itself would.
impl TryFrom<SpendingConditions> for Nut10SecretRequest
A request advertises a lock the payer will build, so it has to pass the same construction rules the secret itself would.