Skip to main content

meter

pub fn meter<Mode: ExecutionMode>(
    meter: &mut TranslationMeter<'_, '_>,
    protocol_config: &ProtocolConfig,
    transaction: &Transaction,
) -> Result<(), Mode::Error>
Expand description

After loading and type checking, we do a second pass over the typed transaction to charge for type-related properties (before further analysis is done):

  • number of type nodes (including nested)
  • number of type references. These are charged non-linearly
  • number of references live at each command. These are charged non-linearly and limited, along with the number of references returned by each command. See live_references module.