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§
Sourcefn evaluate<A: Aleo<Network = N>>(
&self,
stack: &(impl StackEvaluate<N> + StackMatches<N> + StackProgram<N>),
registers: &mut Registers<N, A>,
) -> Result<()>
fn evaluate<A: Aleo<Network = N>>( &self, stack: &(impl StackEvaluate<N> + StackMatches<N> + StackProgram<N>), registers: &mut Registers<N, A>, ) -> Result<()>
Evaluates the instruction.
Sourcefn 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<()>
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>
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<()>
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<()>
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.