pub trait MeteredMachine {
// Required methods
fn ink_left(&self) -> MachineMeter;
fn set_meter(&mut self, meter: MachineMeter);
// Provided methods
fn ink_ready(&self) -> Result<Ink, Escape> { ... }
fn set_ink(&mut self, ink: Ink) { ... }
fn buy_ink(&mut self, ink: Ink) -> Result<(), Escape> { ... }
fn require_ink(&mut self, ink: Ink) -> Result<(), Escape> { ... }
fn pay_for_read(&mut self, bytes: u32) -> Result<(), Escape> { ... }
fn pay_for_write(&mut self, bytes: u32) -> Result<(), Escape> { ... }
fn pay_for_keccak(&mut self, bytes: u32) -> Result<(), Escape> { ... }
}Expand description
Trait for machines that track ink consumption.