11use crate :: genesis:: L1Config ;
2+ use alloy_eips:: eip1559:: BaseFeeParams ;
23use alloy_primitives:: { address, b256, Address , B256 } ;
34
45/// The transaction fee recipient on the L2.
56pub const SCROLL_FEE_VAULT_ADDRESS : Address = address ! ( "5300000000000000000000000000000000000005" ) ;
67
8+ /// The system contract on L2 mainnet.
9+ pub const SCROLL_MAINNET_L2_SYSTEM_CONFIG_CONTRACT_ADDRESS : Address =
10+ address ! ( "331A873a2a85219863d80d248F9e2978fE88D0Ea" ) ;
11+
712/// The L1 message queue address for Scroll mainnet.
813/// <https://etherscan.io/address/0x0d7E906BD9cAFa154b048cFa766Cc1E54E39AF9B>.
914pub const SCROLL_MAINNET_L1_MESSAGE_QUEUE_ADDRESS : Address =
1015 address ! ( "0d7E906BD9cAFa154b048cFa766Cc1E54E39AF9B" ) ;
1116
17+ /// The L1 message queue v2 address for Scroll mainnet.
18+ /// <https://etherscan.io/address/0x56971da63A3C0205184FEF096E9ddFc7A8C2D18a>.
19+ pub const SCROLL_MAINNET_L1_MESSAGE_QUEUE_V2_ADDRESS : Address =
20+ address ! ( "56971da63A3C0205184FEF096E9ddFc7A8C2D18a" ) ;
21+
1222/// The L1 proxy address for Scroll mainnet.
1323/// <https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556>.
1424pub const SCROLL_MAINNET_L1_PROXY_ADDRESS : Address =
@@ -21,6 +31,8 @@ pub const SCROLL_MAINNET_MAX_L1_MESSAGES: u64 = 10;
2131pub const SCROLL_MAINNET_L1_CONFIG : L1Config = L1Config {
2232 l1_chain_id : alloy_chains:: NamedChain :: Mainnet as u64 ,
2333 l1_message_queue_address : SCROLL_MAINNET_L1_MESSAGE_QUEUE_ADDRESS ,
34+ l1_message_queue_v2_address : SCROLL_MAINNET_L1_MESSAGE_QUEUE_V2_ADDRESS ,
35+ l2_system_config_address : SCROLL_MAINNET_L2_SYSTEM_CONFIG_CONTRACT_ADDRESS ,
2436 scroll_chain_address : SCROLL_MAINNET_L1_PROXY_ADDRESS ,
2537 num_l1_messages_per_block : SCROLL_MAINNET_MAX_L1_MESSAGES ,
2638} ;
@@ -29,11 +41,20 @@ pub const SCROLL_MAINNET_L1_CONFIG: L1Config = L1Config {
2941pub const SCROLL_MAINNET_GENESIS_HASH : B256 =
3042 b256 ! ( "bbc05efd412b7cd47a2ed0e5ddfcf87af251e414ea4c801d78b6784513180a80" ) ;
3143
44+ /// The system contract on L2 sepolia.
45+ pub const SCROLL_SEPOLIA_L2_SYSTEM_CONFIG_CONTRACT_ADDRESS : Address =
46+ address ! ( "F444cF06A3E3724e20B35c2989d3942ea8b59124" ) ;
47+
3248/// The L1 message queue address for Scroll sepolia.
3349/// <https://sepolia.etherscan.io/address/0xF0B2293F5D834eAe920c6974D50957A1732de763>.
3450pub const SCROLL_SEPOLIA_L1_MESSAGE_QUEUE_ADDRESS : Address =
3551 address ! ( "F0B2293F5D834eAe920c6974D50957A1732de763" ) ;
3652
53+ /// The L1 message queue address v2 for Scroll sepolia.
54+ /// <https://sepolia.etherscan.io/address/0xA0673eC0A48aa924f067F1274EcD281A10c5f19F>.
55+ pub const SCROLL_SEPOLIA_L1_MESSAGE_QUEUE_V2_ADDRESS : Address =
56+ address ! ( "A0673eC0A48aa924f067F1274EcD281A10c5f19F" ) ;
57+
3758/// The L1 proxy address for Scroll sepolia.
3859/// <https://sepolia.etherscan.io/address/0x2D567EcE699Eabe5afCd141eDB7A4f2D0D6ce8a0>
3960pub const SCROLL_SEPOLIA_L1_PROXY_ADDRESS : Address =
@@ -46,14 +67,24 @@ pub const SCROLL_SEPOLIA_MAX_L1_MESSAGES: u64 = 10;
4667pub const SCROLL_SEPOLIA_L1_CONFIG : L1Config = L1Config {
4768 l1_chain_id : alloy_chains:: NamedChain :: Sepolia as u64 ,
4869 l1_message_queue_address : SCROLL_SEPOLIA_L1_MESSAGE_QUEUE_ADDRESS ,
70+ l1_message_queue_v2_address : SCROLL_SEPOLIA_L1_MESSAGE_QUEUE_V2_ADDRESS ,
71+ l2_system_config_address : SCROLL_SEPOLIA_L2_SYSTEM_CONFIG_CONTRACT_ADDRESS ,
4972 scroll_chain_address : SCROLL_SEPOLIA_L1_PROXY_ADDRESS ,
5073 num_l1_messages_per_block : SCROLL_SEPOLIA_MAX_L1_MESSAGES ,
5174} ;
5275
76+ /// The system contract on devnet.
77+ pub const SCROLL_DEV_L2_SYSTEM_CONFIG_CONTRACT_ADDRESS : Address =
78+ address ! ( "0000000000000000000000000000000000000000" ) ;
79+
5380/// The L1 message queue address for Scroll dev.
5481pub const SCROLL_DEV_L1_MESSAGE_QUEUE_ADDRESS : Address =
5582 address ! ( "0000000000000000000000000000000000000000" ) ;
5683
84+ /// The L1 message queue v2 address for Scroll dev.
85+ pub const SCROLL_DEV_L1_MESSAGE_QUEUE_V2_ADDRESS : Address =
86+ address ! ( "0000000000000000000000000000000000000000" ) ;
87+
5788/// The L1 proxy address for Scroll dev.
5889pub const SCROLL_DEV_L1_PROXY_ADDRESS : Address =
5990 address ! ( "0000000000000000000000000000000000000000" ) ;
@@ -65,10 +96,24 @@ pub const SCROLL_DEV_MAX_L1_MESSAGES: u64 = 10;
6596pub const SCROLL_DEV_L1_CONFIG : L1Config = L1Config {
6697 l1_chain_id : alloy_chains:: NamedChain :: Goerli as u64 ,
6798 l1_message_queue_address : SCROLL_DEV_L1_MESSAGE_QUEUE_ADDRESS ,
99+ l1_message_queue_v2_address : SCROLL_DEV_L1_MESSAGE_QUEUE_V2_ADDRESS ,
68100 scroll_chain_address : SCROLL_DEV_L1_PROXY_ADDRESS ,
101+ l2_system_config_address : SCROLL_DEV_L2_SYSTEM_CONFIG_CONTRACT_ADDRESS ,
69102 num_l1_messages_per_block : SCROLL_DEV_MAX_L1_MESSAGES ,
70103} ;
71104
72105/// The Scroll Sepolia genesis hash
73106pub const SCROLL_SEPOLIA_GENESIS_HASH : B256 =
74107 b256 ! ( "aa62d1a8b2bffa9e5d2368b63aae0d98d54928bd713125e3fd9e5c896c68592c" ) ;
108+
109+ /// The base fee params for Feynman.
110+ pub const SCROLL_BASE_FEE_PARAMS_FEYNMAN : BaseFeeParams = BaseFeeParams :: new (
111+ SCROLL_EIP1559_BASE_FEE_MAX_CHANGE_DENOMINATOR_FEYNMAN ,
112+ SCROLL_EIP1559_DEFAULT_ELASTICITY_MULTIPLIER_FEYNMAN ,
113+ ) ;
114+
115+ /// The scroll EIP1559 max change denominator for Feynman.
116+ pub const SCROLL_EIP1559_BASE_FEE_MAX_CHANGE_DENOMINATOR_FEYNMAN : u128 = 8 ;
117+
118+ /// The scroll EIP1559 default elasticity multiplier for Feynman.
119+ pub const SCROLL_EIP1559_DEFAULT_ELASTICITY_MULTIPLIER_FEYNMAN : u128 = 2 ;
0 commit comments