MeteredMachine

Trait MeteredMachine 

Source
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.

Required Methods§

Source

fn ink_left(&self) -> MachineMeter

Source

fn set_meter(&mut self, meter: MachineMeter)

Provided Methods§

Source

fn ink_ready(&self) -> Result<Ink, Escape>

Source

fn set_ink(&mut self, ink: Ink)

Source

fn buy_ink(&mut self, ink: Ink) -> Result<(), Escape>

Source

fn require_ink(&mut self, ink: Ink) -> Result<(), Escape>

Source

fn pay_for_read(&mut self, bytes: u32) -> Result<(), Escape>

Source

fn pay_for_write(&mut self, bytes: u32) -> Result<(), Escape>

Source

fn pay_for_keccak(&mut self, bytes: u32) -> Result<(), Escape>

Implementors§