superchain_primitives/
fee_params.rs1use alloy_eips::eip1559::BaseFeeParams;
4
5pub fn base_fee_params(chain_id: u64) -> BaseFeeParams {
7 match chain_id {
8 10 => OP_BASE_FEE_PARAMS,
9 11155420 => OP_SEPOLIA_BASE_FEE_PARAMS,
10 8453 => OP_BASE_FEE_PARAMS,
11 84532 => BASE_SEPOLIA_BASE_FEE_PARAMS,
12 _ => OP_BASE_FEE_PARAMS,
13 }
14}
15
16pub fn canyon_base_fee_params(chain_id: u64) -> BaseFeeParams {
18 match chain_id {
19 10 => OP_CANYON_BASE_FEE_PARAMS,
20 11155420 => OP_SEPOLIA_CANYON_BASE_FEE_PARAMS,
21 8453 => OP_CANYON_BASE_FEE_PARAMS,
22 84532 => BASE_SEPOLIA_CANYON_BASE_FEE_PARAMS,
23 _ => OP_CANYON_BASE_FEE_PARAMS,
24 }
25}
26
27pub const OP_MAINNET_EIP1559_DEFAULT_BASE_FEE_MAX_CHANGE_DENOMINATOR: u128 = 50;
30
31pub const OP_MAINNET_EIP1559_BASE_FEE_MAX_CHANGE_DENOMINATOR_CANYON: u128 = 250;
34
35pub const OP_MAINNET_EIP1559_DEFAULT_ELASTICITY_MULTIPLIER: u128 = 6;
38
39pub const OP_SEPOLIA_EIP1559_DEFAULT_BASE_FEE_MAX_CHANGE_DENOMINATOR: u128 = 50;
42
43pub const OP_SEPOLIA_EIP1559_BASE_FEE_MAX_CHANGE_DENOMINATOR_CANYON: u128 = 250;
46
47pub const OP_SEPOLIA_EIP1559_DEFAULT_ELASTICITY_MULTIPLIER: u128 = 6;
50
51pub const BASE_SEPOLIA_EIP1559_DEFAULT_ELASTICITY_MULTIPLIER: u128 = 10;
54
55pub const OP_SEPOLIA_BASE_FEE_PARAMS: BaseFeeParams = BaseFeeParams {
57 max_change_denominator: OP_SEPOLIA_EIP1559_DEFAULT_BASE_FEE_MAX_CHANGE_DENOMINATOR,
58 elasticity_multiplier: OP_SEPOLIA_EIP1559_DEFAULT_ELASTICITY_MULTIPLIER,
59};
60
61pub const OP_SEPOLIA_CANYON_BASE_FEE_PARAMS: BaseFeeParams = BaseFeeParams {
63 max_change_denominator: OP_SEPOLIA_EIP1559_BASE_FEE_MAX_CHANGE_DENOMINATOR_CANYON,
64 elasticity_multiplier: OP_SEPOLIA_EIP1559_DEFAULT_ELASTICITY_MULTIPLIER,
65};
66
67pub const BASE_SEPOLIA_BASE_FEE_PARAMS: BaseFeeParams = BaseFeeParams {
69 max_change_denominator: OP_SEPOLIA_EIP1559_DEFAULT_BASE_FEE_MAX_CHANGE_DENOMINATOR,
70 elasticity_multiplier: BASE_SEPOLIA_EIP1559_DEFAULT_ELASTICITY_MULTIPLIER,
71};
72
73pub const BASE_SEPOLIA_CANYON_BASE_FEE_PARAMS: BaseFeeParams = BaseFeeParams {
75 max_change_denominator: OP_SEPOLIA_EIP1559_BASE_FEE_MAX_CHANGE_DENOMINATOR_CANYON,
76 elasticity_multiplier: BASE_SEPOLIA_EIP1559_DEFAULT_ELASTICITY_MULTIPLIER,
77};
78
79pub const OP_BASE_FEE_PARAMS: BaseFeeParams = BaseFeeParams {
81 max_change_denominator: OP_MAINNET_EIP1559_DEFAULT_BASE_FEE_MAX_CHANGE_DENOMINATOR,
82 elasticity_multiplier: OP_MAINNET_EIP1559_DEFAULT_ELASTICITY_MULTIPLIER,
83};
84
85pub const OP_CANYON_BASE_FEE_PARAMS: BaseFeeParams = BaseFeeParams {
87 max_change_denominator: OP_MAINNET_EIP1559_BASE_FEE_MAX_CHANGE_DENOMINATOR_CANYON,
88 elasticity_multiplier: OP_MAINNET_EIP1559_DEFAULT_ELASTICITY_MULTIPLIER,
89};