pub trait Executor<Database: ?Sized>: Sync + Send {
// Required methods
fn execute_without_commit(
&self,
block: ExecutionBlock,
) -> Result<UncommittedResult<DBTransaction<Database>>, ExecutorError>;
fn dry_run(
&self,
block: ExecutionBlock,
utxo_validation: Option<bool>,
) -> Result<Vec<Vec<Receipt>>, ExecutorError>;
}
Required Methods§
Sourcefn execute_without_commit(
&self,
block: ExecutionBlock,
) -> Result<UncommittedResult<DBTransaction<Database>>, ExecutorError>
fn execute_without_commit( &self, block: ExecutionBlock, ) -> Result<UncommittedResult<DBTransaction<Database>>, ExecutorError>
Executes the block and returns the result of execution with uncommitted database transaction.
Sourcefn dry_run(
&self,
block: ExecutionBlock,
utxo_validation: Option<bool>,
) -> Result<Vec<Vec<Receipt>>, ExecutorError>
fn dry_run( &self, block: ExecutionBlock, utxo_validation: Option<bool>, ) -> Result<Vec<Vec<Receipt>>, ExecutorError>
Executes the block without committing it to the database. During execution collects the
receipts to return them. The utxo_validation
field can be used to disable the validation
of utxos during execution.