pub struct Program { /* private fields */ }Implementations§
Source§impl Program
impl Program
pub fn new(source: &'static str, arguments: Box<dyn ArgumentsTrait>) -> Program
pub fn with_pub_key(self, pub_key: XOnlyPublicKey) -> Program
pub fn with_storage_capacity(self, capacity: usize) -> Program
pub fn set_storage_at(&mut self, index: usize, new_value: [u8; 32])
pub fn get_storage_len(&self) -> usize
pub fn get_storage(&self) -> &[[u8; 32]]
pub fn get_storage_at(&self, index: usize) -> [u8; 32]
pub fn get_tr_address(&self, network: &SimplicityNetwork) -> Address
pub fn get_script_pubkey(&self, network: &SimplicityNetwork) -> Script
pub fn get_script_hash(&self, network: &SimplicityNetwork) -> [u8; 32]
pub fn get_argument_types(&self) -> Result<Parameters, ProgramError>
pub fn get_witness_types(&self) -> Result<WitnessTypes, ProgramError>
Trait Implementations§
Source§impl ProgramTrait for Program
impl ProgramTrait for Program
fn get_argument_types(&self) -> Result<Parameters, ProgramError>
fn get_witness_types(&self) -> Result<WitnessTypes, ProgramError>
fn get_env( &self, pst: &PartiallySignedTransaction, input_index: usize, network: &SimplicityNetwork, ) -> Result<ElementsEnv<Arc<Transaction>>, ProgramError>
fn execute( &self, pst: &PartiallySignedTransaction, witness: &WitnessValues, input_index: usize, network: &SimplicityNetwork, ) -> Result<(Arc<Node<Redeem<Elements>>>, Value), ProgramError>
fn finalize( &self, pst: &PartiallySignedTransaction, witness: &WitnessValues, input_index: usize, network: &SimplicityNetwork, ) -> Result<Vec<Vec<u8>>, ProgramError>
Auto Trait Implementations§
impl Freeze for Program
impl !RefUnwindSafe for Program
impl !Send for Program
impl !Sync for Program
impl Unpin for Program
impl UnsafeUnpin for Program
impl !UnwindSafe for Program
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more