smplx_sdk/program/witness.rs
1use dyn_clone::DynClone;
2use simplicityhl::WitnessValues;
3
4/// An interface for structs capable of generating Simplicity program witness mappings.
5/// See the ` include_simc!()` macro, which generates an automatic `WitnessTrait` implementation.
6pub trait WitnessTrait: DynClone {
7 /// Compiles and generates the fully populated `WitnessValues` map for execution.
8 fn build_witness(&self) -> WitnessValues;
9}
10
11dyn_clone::clone_trait_object!(WitnessTrait);