1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
use std::mem; use engine_shared::newtypes::Blake2bHash; use types::ProtocolVersion; use super::{deploy_item::DeployItem, execution_result::ExecutionResult}; pub struct ExecuteRequest { pub parent_state_hash: Blake2bHash, pub block_time: u64, pub deploys: Vec<Result<DeployItem, ExecutionResult>>, pub protocol_version: ProtocolVersion, } impl ExecuteRequest { pub fn new( parent_state_hash: Blake2bHash, block_time: u64, deploys: Vec<Result<DeployItem, ExecutionResult>>, protocol_version: ProtocolVersion, ) -> Self { Self { parent_state_hash, block_time, deploys, protocol_version, } } pub fn take_deploys(&mut self) -> Vec<Result<DeployItem, ExecutionResult>> { mem::replace(&mut self.deploys, vec![]) } } impl Default for ExecuteRequest { fn default() -> Self { Self { parent_state_hash: [0u8; 32].into(), block_time: 0, deploys: vec![], protocol_version: Default::default(), } } }