pub trait StackEvaluate<N>: Clone
where N: Network,
{ // Required methods fn evaluate_closure<A>( &self, closure: &ClosureCore<N, Instruction<N>>, inputs: &[Value<N>], call_stack: CallStack<N>, signer: Address<N>, caller: Address<N>, tvk: Field<N> ) -> Result<Vec<Value<N>>, Error> where A: Aleo<Network = N>; fn evaluate_function<A>( &self, call_stack: CallStack<N>, caller: Option<ProgramID<N>> ) -> Result<Response<N>, Error> where A: Aleo<Network = N>; }

Required Methods§

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

Evaluates 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 evaluate_function<A>( &self, call_stack: CallStack<N>, caller: Option<ProgramID<N>> ) -> Result<Response<N>, Error>
where A: Aleo<Network = N>,

Evaluates a program function on the given inputs.

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> StackEvaluate<N> for Stack<N>
where N: Network,