cairo_lang_sierra_gas::core_libfunc_cost

Trait InvocationCostInfoProvider

Source
pub trait InvocationCostInfoProvider {
    // Required methods
    fn type_size(&self, ty: &ConcreteTypeId) -> usize;
    fn token_usages(&self, token_type: CostTokenType) -> usize;
    fn ap_change_var_value(&self) -> usize;
    fn circuit_info(&self, ty: &ConcreteTypeId) -> &CircuitInfo;
}
Expand description

Trait for providing extra information required for calculating costs for a specific libfunc invocation.

Required Methods§

Source

fn type_size(&self, ty: &ConcreteTypeId) -> usize

Provides the sizes of types.

Source

fn token_usages(&self, token_type: CostTokenType) -> usize

Number of tokens provided by the libfunc invocation (currently only relevant for withdraw_gas_all).

Source

fn ap_change_var_value(&self) -> usize

Provides the ap change variable value of the current statement.

Source

fn circuit_info(&self, ty: &ConcreteTypeId) -> &CircuitInfo

Provides the info for the circuit.

Implementors§