BVM_GasPriceOracle
Stores L2 gas price configuration values. Provide the tokenRatio parameter to keep the gas fees more stable.
L1_BLOCK_NUMBER
Stores L1 block context information (e.g., latest known L1 block hash)
L2CrossDomainMessenger
High-level interface for sending messages to and receiving messages from L1
L2StandardBridge
Standardized system for transferring ERC20 tokens to/from L1
L2_TO_L1_MESSAGE_PASSER
Low-level message-passing interface
BaseFeeVault
Vault for L2 BaseFee transaction fees, more details here.
BVM_SequencerFeeVault
Vault for L2 transaction fees except for BaseFee, more details here.
L1Block
The L1Block gives users access to information about the last known L1 block.
OptimismMintableERC20Factory
OptimismMintableERC20Factory is a factory contract that generates OptimismMintableERC20 contracts on the network it’s deployed to.
Network Roles
Sequencer
The sequencer acts as block producers in the network, composed of op-node and op-geth in Mantle, with the following functions:
Accept off-chain transactions from users
Monitor user deposit transactions from L1
Produce blocks on L2
Verifier
The verifier exists in the network to provide Rollup data to users, also composed of op-node and op-geth, with the following functions:
Synchronize Rollup data from Mantle DA
Verify the state root submitted by op-proposer on L2
Initiate fraud proofs when invalid state data is detected
Provide verified block data and state to users
op-batcher
op-batcher is a crucial component that interacts with the DA provider in the network. It also handles transaction packing and uploading to L1, with specific functions:
Fetch data from the sequencer and process it (encoding and compressing) into frames based on different configurations, storing the frames as a channel
Interact with the DA provider through channels, providing batched transaction information
Upload processed batched transactions to L1
op-proposer
Similar to op-batcher but providing state root information. When submitting a single or batch of transactions, op-proposer needs to complete state changes through op-geth and write down state commitments sent to L2OutputOracle on L1.
DA Nodes
Nodes in the Mantle DA, forming the DA Network, are responsible for storing copies of Mantle transaction data. They use BLS signature schemes to sign the block data they provide, making commitments to ensure their availability. These signatures are verified by the EigenDA contract on Ethereum.
op-geth
As the execution client in the Mantle Network, op-geth has the following functions:
Responsible for executing blocks received from op-node and storing states.
Query blockchain data through the Engine API and submit transactions to the network.
op-node
As the consensus client in the Mantle Network, op-node has the following functions:
Derive L2 blocks from L1.
Send blocks to op-geth via the Engine API.
Retrieve block information from Mantle DA for subsequent validity verification.
Synchronize with a P2P network to sequencer-constructed but unsubmitted blocks.
1.Website https://www.mantle.xyz
2.X: https://twitter.com/0xMantle
Off-chain services for the mETH protocol.
The contest is active, you can submit your audit findings now.
The audit report is now available, you can review the findings.
Sep 19, 2023 (GMT) - Oct 6, 2023 (GMT)
Language
Project Type
Chains (deployed env)