snarkvm_synthesizer_process

Trait CallTrait

Source
pub trait CallTrait<N: Network> {
    // Required methods
    fn evaluate<A: Aleo<Network = N>>(
        &self,
        stack: &(impl StackEvaluate<N> + StackMatches<N> + StackProgram<N>),
        registers: &mut Registers<N, A>,
    ) -> Result<()>;
    fn execute<A: Aleo<Network = N>, R: CryptoRng + Rng>(
        &self,
        stack: &(impl StackEvaluate<N> + StackExecute<N> + StackMatches<N> + StackProgram<N>),
        registers: &mut (impl RegistersCall<N> + RegistersSigner<N> + RegistersSignerCircuit<N, A> + RegistersLoadCircuit<N, A> + RegistersStoreCircuit<N, A>),
        rng: &mut R,
    ) -> Result<()>;
}

Required Methods§

Source

fn evaluate<A: Aleo<Network = N>>( &self, stack: &(impl StackEvaluate<N> + StackMatches<N> + StackProgram<N>), registers: &mut Registers<N, A>, ) -> Result<()>

Evaluates the instruction.

Source

fn execute<A: Aleo<Network = N>, R: CryptoRng + Rng>( &self, stack: &(impl StackEvaluate<N> + StackExecute<N> + StackMatches<N> + StackProgram<N>), registers: &mut (impl RegistersCall<N> + RegistersSigner<N> + RegistersSignerCircuit<N, A> + RegistersLoadCircuit<N, A> + RegistersStoreCircuit<N, A>), rng: &mut R, ) -> Result<()>

Executes the instruction.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<N: Network> CallTrait<N> for Call<N>

Source§

fn evaluate<A: Aleo<Network = N>>( &self, stack: &(impl StackEvaluate<N> + StackMatches<N> + StackProgram<N>), registers: &mut Registers<N, A>, ) -> Result<()>

Evaluates the instruction.

Source§

fn execute<A: Aleo<Network = N>, R: Rng + CryptoRng>( &self, stack: &(impl StackEvaluate<N> + StackExecute<N> + StackMatches<N> + StackProgram<N>), registers: &mut (impl RegistersCall<N> + RegistersSigner<N> + RegistersSignerCircuit<N, A> + RegistersLoadCircuit<N, A> + RegistersStoreCircuit<N, A>), rng: &mut R, ) -> Result<()>

Executes the instruction.

Implementors§