Struct miniscript::plan::Plan
source · pub struct Plan {
pub absolute_timelock: Option<LockTime>,
pub relative_timelock: Option<LockTime>,
/* private fields */
}
Expand description
Representation of a particular spending path on a descriptor. Contains the witness template
and the timelocks needed for satisfying the plan.
Calling plan
on a Descriptor will return this structure,
containing the cheapest spending path possible (considering the Assets
given)
Fields§
§absolute_timelock: Option<LockTime>
The absolute timelock this plan uses
relative_timelock: Option<LockTime>
The relative timelock this plan uses
Implementations§
source§impl Plan
impl Plan
sourcepub fn witness_template(&self) -> &Vec<Placeholder<DefiniteDescriptorKey>>
pub fn witness_template(&self) -> &Vec<Placeholder<DefiniteDescriptorKey>>
Returns the witness template
sourcepub fn witness_version(&self) -> Option<WitnessVersion>
pub fn witness_version(&self) -> Option<WitnessVersion>
Returns the witness version
sourcepub fn satisfaction_weight(&self) -> usize
pub fn satisfaction_weight(&self) -> usize
The weight, in witness units, needed for satisfying this plan (includes both the script sig weight and the witness weight)
sourcepub fn scriptsig_size(&self) -> usize
pub fn scriptsig_size(&self) -> usize
The size in bytes of the script sig that satisfies this plan
sourcepub fn witness_size(&self) -> usize
pub fn witness_size(&self) -> usize
The size in bytes of the witness that satisfies this plan
sourcepub fn satisfy<Sat: Satisfier<DefiniteDescriptorKey>>(
&self,
stfr: &Sat
) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
pub fn satisfy<Sat: Satisfier<DefiniteDescriptorKey>>( &self, stfr: &Sat ) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
Try creating the final script_sig and witness using a Satisfier
sourcepub fn update_psbt_input(&self, input: &mut Input)
pub fn update_psbt_input(&self, input: &mut Input)
Update a PSBT input with the metadata required to complete this plan
This will only add the metadata for items required to complete this plan. For example, if there are multiple keys present in the descriptor, only the few used by this plan will be added to the PSBT.