use crate::runtime::migration_data::{MigrationData, MigrationFlags};
use crate::{
hash::CryptoHash,
types::{Balance, BlockHeight, EpochHeight, EpochId, Gas},
version::ProtocolVersion,
};
use std::sync::Arc;
use unc_parameters::RuntimeConfig;
use unc_vm_runner::logic::CompiledContractCache;
#[derive(Debug)]
pub struct ApplyState {
pub block_height: BlockHeight,
pub prev_block_hash: CryptoHash,
pub block_hash: CryptoHash,
pub epoch_id: EpochId,
pub epoch_height: EpochHeight,
pub gas_price: Balance,
pub block_timestamp: u64,
pub gas_limit: Option<Gas>,
pub random_seed: CryptoHash,
pub current_protocol_version: ProtocolVersion,
pub config: Arc<RuntimeConfig>,
pub cache: Option<Box<dyn CompiledContractCache>>,
pub is_new_chunk: bool,
pub migration_data: Arc<MigrationData>,
pub migration_flags: MigrationFlags,
}