pub trait Executor {
type Kernel: Kernel;
// Required methods
fn execute_message(
&mut self,
msg: Message,
apply_kind: ApplyKind,
raw_length: usize,
) -> Result<ApplyRet>;
fn flush(&mut self) -> Result<Cid>;
}
Expand description
An executor executes messages on the underlying machine/kernel. It’s responsible for:
- Validating messages (nonce, sender, etc).
- Creating message receipts.
- Charging message inclusion gas, overestimation gas, miner tip, etc.