pub trait StackExecute<N>
where N: Network,
{ // Required methods fn execute_closure<A>( &self, closure: &ClosureCore<N, Instruction<N>>, inputs: &[Value<A>], call_stack: CallStack<N>, signer: Address<A>, caller: Address<A>, tvk: Field<A> ) -> Result<Vec<Value<A>>, Error> where A: Aleo<Network = N>; fn execute_function<A, R>( &self, call_stack: CallStack<N>, console_caller: Option<ProgramID<N>>, rng: &mut R ) -> Result<Response<N>, Error> where A: Aleo<Network = N>, R: CryptoRng + Rng; }

Required Methods§

fn execute_closure<A>( &self, closure: &ClosureCore<N, Instruction<N>>, inputs: &[Value<A>], call_stack: CallStack<N>, signer: Address<A>, caller: Address<A>, tvk: Field<A> ) -> Result<Vec<Value<A>>, Error>
where A: Aleo<Network = N>,

Executes a program closure on the given inputs.

Errors

This method will halt if the given inputs are not the same length as the input statements.

fn execute_function<A, R>( &self, call_stack: CallStack<N>, console_caller: Option<ProgramID<N>>, rng: &mut R ) -> Result<Response<N>, Error>
where A: Aleo<Network = N>, R: CryptoRng + Rng,

Executes a program function on the given inputs.

Note: To execute a transition, do not call this method. Instead, call Process::execute.

Errors

This method will halt if the given inputs are not the same length as the input statements.

Object Safety§

This trait is not object safe.

Implementors§

§

impl<N> StackExecute<N> for Stack<N>
where N: Network,