superchain_primitives/
lib.rs

1#![doc = include_str!("../README.md")]
2#![doc(
3    html_logo_url = "https://raw.githubusercontent.com/anton-rs/superchain/main/assets/superchain.png",
4    html_favicon_url = "https://avatars.githubusercontent.com/u/139668603?s=256",
5    issue_tracker_base_url = "https://github.com/anton-rs/superchain/issues/"
6)]
7#![warn(missing_debug_implementations, missing_docs, rustdoc::all)]
8#![deny(unused_must_use, rust_2018_idioms)]
9#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
10#![cfg_attr(not(test), warn(unused_crate_dependencies))]
11#![cfg_attr(not(feature = "std"), no_std)]
12
13extern crate alloc;
14
15/// Re-export the Genesis type from [alloy_genesis].
16pub use alloy_genesis::Genesis;
17
18pub mod superchain;
19pub use superchain::{Superchain, SuperchainConfig, SuperchainL1Info, SuperchainLevel};
20
21pub mod predeploys;
22pub use predeploys::{
23    BASE_FEE_VAULT, BEACON_BLOCK_ROOT, EAS, GAS_PRICE_ORACLE, GOVERNANCE_TOKEN, L1_BLOCK,
24    L1_BLOCK_NUMBER, L1_FEE_VAULT, L2_CROSS_DOMAIN_MESSENGER, L2_ERC721_BRIDGE, L2_STANDARD_BRIDGE,
25    L2_TO_L1_MESSAGE_PASSER, OPTIMISM_MINTABLE_ERC20_FACTORY, OPTIMISM_MINTABLE_ERC721_FACTORY,
26    PROXY_ADMIN, SCHEMA_REGISTRY, SEQUENCER_FEE_VAULT, WETH9,
27};
28
29pub mod fee_params;
30pub use fee_params::{
31    BASE_SEPOLIA_BASE_FEE_PARAMS, BASE_SEPOLIA_CANYON_BASE_FEE_PARAMS,
32    BASE_SEPOLIA_EIP1559_DEFAULT_ELASTICITY_MULTIPLIER, OP_BASE_FEE_PARAMS,
33    OP_CANYON_BASE_FEE_PARAMS, OP_SEPOLIA_BASE_FEE_PARAMS, OP_SEPOLIA_CANYON_BASE_FEE_PARAMS,
34    OP_SEPOLIA_EIP1559_BASE_FEE_MAX_CHANGE_DENOMINATOR_CANYON,
35    OP_SEPOLIA_EIP1559_DEFAULT_BASE_FEE_MAX_CHANGE_DENOMINATOR,
36    OP_SEPOLIA_EIP1559_DEFAULT_ELASTICITY_MULTIPLIER,
37};
38
39pub mod rollup_config;
40pub use rollup_config::{
41    load_op_stack_rollup_config, rollup_config_from_chain_id, RollupConfig, BASE_MAINNET_CONFIG,
42    BASE_SEPOLIA_CONFIG, OP_MAINNET_CONFIG, OP_SEPOLIA_CONFIG,
43};
44
45pub mod chain_config;
46pub use chain_config::{AltDAConfig, ChainConfig, HardForkConfiguration};
47
48pub mod genesis;
49pub use genesis::ChainGenesis;
50
51pub mod block;
52pub use block::BlockID;
53
54pub mod system_config;
55pub use system_config::SystemConfig;
56
57pub mod addresses;
58pub use addresses::AddressList;