foundry_evm_networks/
optimism.rs1use crate::{NetworkConfigs, NetworkVariant};
4use alloy_eips::eip1559::BaseFeeParams;
5use alloy_op_hardforks::{OpChainHardforks, OpHardforks};
6
7impl NetworkConfigs {
8 pub fn with_optimism() -> Self {
9 Self { network: Some(NetworkVariant::Optimism), optimism: true, ..Default::default() }
10 }
11
12 pub const fn is_optimism(&self) -> bool {
13 matches!(self.resolved_network(), Some(NetworkVariant::Optimism))
14 }
15
16 pub(crate) fn op_base_fee_params(&self, timestamp: u64) -> BaseFeeParams {
18 let op_hardforks = OpChainHardforks::op_mainnet();
19 if op_hardforks.is_canyon_active_at_timestamp(timestamp) {
20 BaseFeeParams::optimism_canyon()
21 } else {
22 BaseFeeParams::optimism()
23 }
24 }
25}