Developers
Contracts
Introduction
The mev-commit contracts verify and manage the movement of funds as a response to bid and commitment activities that occur on our p2p network.
For mev-commit testnet contract addresses please refer to Testnet section.
Core Contracts
The mev-commit protocol has 5 core contracts, which are all deployed on the mev-commit chain:
- Preconf Manager
- This will persist details about the commitments that have been made into contract storage.
- Bidder Registry
- This will be where the bulk of monetary transfer occurs.
- Bidders deposit for bids into this contract.
- The payment gets processed into a provider-allocated section that a provider can later retrieve.
- Provider Registry
- This contract stores the stake a provider bounds to ensure it doesn’t break its promises under preconfirmations.
- Oracle
- This simply retrieves details on which commitments to process for rewarding or slashing.
- Access to the functions on this contract is restricted to the owner of the Oracle key.
- Block Tracker
- This will track Ethereum blocks and their winners, so commitments could be rewarded or slashed
- Access to the functions on this contract is restricted to the owner of the Oracle key.
Validator Registry Contracts
The validator registry contracts are deployed on L1, and enable three methods of validator opt-in:
- Validator Opt-In Router
- ValidatorOptInRouter enables actors to query whether a validator is opted-in to the mev-commit protocol from any of the below three methods.
- Vanilla Registry
- VanillaRegistry allows validators to opt-in to mev-commit by staking native ETH directly with the contract.
- This stake is separate from a validator’s 32 ETH already staked with the beacon chain.
- Mev-commit AVS
- MevCommitAVS acts as a tie-in to Eigenlayer core contracts, enabling validators to opt-in to the mev-commit protocol via native restaking.
- Mev-commit middleware
- MevCommitMiddleware serves as tie-in to Symbiotic core contracts, enabling validators to opt-in to the mev-commit protocol via restaking ERC20 tokens with vaults.
Deploying Custom Contracts
you can deploy any EVM compatible contracts to the mev-commit chain, simply set your Chain ID to 17864 and RPC Url to https://chainrpc.testnet.mev-commit.xyz
.