pub trait StackProgram<N: Network> {
Show 13 methods
// Required methods
fn program(&self) -> &Program<N>;
fn program_id(&self) -> &ProgramID<N>;
fn program_depth(&self) -> usize;
fn contains_external_record(&self, locator: &Locator<N>) -> bool;
fn get_external_stack(
&self,
program_id: &ProgramID<N>,
) -> Result<&Arc<Self>>;
fn get_external_program(
&self,
program_id: &ProgramID<N>,
) -> Result<&Program<N>>;
fn get_external_record(
&self,
locator: &Locator<N>,
) -> Result<&RecordType<N>>;
fn get_finalize_cost(&self, function_name: &Identifier<N>) -> Result<u64>;
fn get_function(&self, function_name: &Identifier<N>) -> Result<Function<N>>;
fn get_function_ref(
&self,
function_name: &Identifier<N>,
) -> Result<&Function<N>>;
fn get_number_of_calls(
&self,
function_name: &Identifier<N>,
) -> Result<usize>;
fn sample_value<R: Rng + CryptoRng>(
&self,
burner_address: &Address<N>,
value_type: &ValueType<N>,
rng: &mut R,
) -> Result<Value<N>>;
fn sample_record<R: Rng + CryptoRng>(
&self,
burner_address: &Address<N>,
record_name: &Identifier<N>,
record_nonce: Group<N>,
rng: &mut R,
) -> Result<Record<N, Plaintext<N>>>;
}
Required Methods§
Sourcefn program_id(&self) -> &ProgramID<N>
fn program_id(&self) -> &ProgramID<N>
Returns the program ID.
Sourcefn program_depth(&self) -> usize
fn program_depth(&self) -> usize
Returns the program depth.
Sourcefn contains_external_record(&self, locator: &Locator<N>) -> bool
fn contains_external_record(&self, locator: &Locator<N>) -> bool
Returns true
if the stack contains the external record.
Sourcefn get_external_stack(&self, program_id: &ProgramID<N>) -> Result<&Arc<Self>>
fn get_external_stack(&self, program_id: &ProgramID<N>) -> Result<&Arc<Self>>
Returns the external stack for the given program ID.
Sourcefn get_external_program(&self, program_id: &ProgramID<N>) -> Result<&Program<N>>
fn get_external_program(&self, program_id: &ProgramID<N>) -> Result<&Program<N>>
Returns the external program for the given program ID.
Sourcefn get_external_record(&self, locator: &Locator<N>) -> Result<&RecordType<N>>
fn get_external_record(&self, locator: &Locator<N>) -> Result<&RecordType<N>>
Returns true
if the stack contains the external record.
Sourcefn get_finalize_cost(&self, function_name: &Identifier<N>) -> Result<u64>
fn get_finalize_cost(&self, function_name: &Identifier<N>) -> Result<u64>
Returns the expected finalize cost for the given function name.
Sourcefn get_function(&self, function_name: &Identifier<N>) -> Result<Function<N>>
fn get_function(&self, function_name: &Identifier<N>) -> Result<Function<N>>
Returns the function with the given function name.
Sourcefn get_function_ref(
&self,
function_name: &Identifier<N>,
) -> Result<&Function<N>>
fn get_function_ref( &self, function_name: &Identifier<N>, ) -> Result<&Function<N>>
Returns a reference to the function with the given function name.
Sourcefn get_number_of_calls(&self, function_name: &Identifier<N>) -> Result<usize>
fn get_number_of_calls(&self, function_name: &Identifier<N>) -> Result<usize>
Returns the expected number of calls for the given function name.
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.