Struct bdk::descriptor::policy::Policy[][src]

pub struct Policy {
    pub id: String,
    pub item: SatisfiableItem,
    pub satisfaction: Satisfaction,
    pub contribution: Satisfaction,

Descriptor spending policy


id: String

Identifier for this policy node

item: SatisfiableItem

Type of this policy node

satisfaction: Satisfaction

How a much given PSBT already satisfies this polcy node (currently unused)

contribution: Satisfaction

How the wallet's descriptor can satisfy this policy node


impl Policy[src]

pub fn requires_path(&self) -> bool[src]

Return whether or not a specific path in the policy tree is required to unambiguously create a transaction

What this means is that for some spending policies the user should select which paths in the tree it intends to satisfy while signing, because the transaction must be created differently based on that.

pub fn get_condition(
    path: &BTreeMap<String, Vec<usize>>
) -> Result<Condition, PolicyError>

Return the conditions that are set by the spending policy for a given path in the policy tree

Trait Implementations

impl Clone for Policy[src]

impl Debug for Policy[src]

impl From<SatisfiableItem> for Policy[src]

impl Serialize for Policy[src]

Auto Trait Implementations

impl RefUnwindSafe for Policy

impl Send for Policy

impl Sync for Policy

impl Unpin for Policy

impl UnwindSafe for Policy

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,