diff --git a/p2p-specs/canonical-mempools.md b/p2p-specs/canonical-mempools.md new file mode 100644 index 0000000..8cea50f --- /dev/null +++ b/p2p-specs/canonical-mempools.md @@ -0,0 +1,17 @@ +## The list of published canonical mempools are: + +| Chain Name | Chain ID | Mempool ID | Description (Link to Mempool file) | +|---|---|---|---| +| `Goerli` | 5 | `QmTmj4cizhWpEFCCqk5dP67yws7R2PPgCtb2bd2RgVPCbF` | https://ipfs.io/ipfs/QmTmj4cizhWpEFCCqk5dP67yws7R2PPgCtb2bd2RgVPCbF?filename=goerli_canonical_mempool.yaml +| `Sepolia` | 11155111 | `QmdDwVFoEEcgv5qnaTB8ncnXGMnqrhnA5nYpRr4ouWe4AT` | https://ipfs.io/ipfs/QmdDwVFoEEcgv5qnaTB8ncnXGMnqrhnA5nYpRr4ouWe4AT?filename=sepolia_canonical_mempool.yaml +| `Mumbai` | 80001 | `QmQfRyE9iVTBqZ17hPSP4tuMzaez83Y5wD874ymyRtj9VE` | https://ipfs.io/ipfs/QmQfRyE9iVTBqZ17hPSP4tuMzaez83Y5wD874ymyRtj9VE?filename=mumbai_canonical_mempool.yaml +| `Arbitrum Sepolia` | 421614 | `QmVwhF77aVNzRUkMJNLDkeF9BtQMHLnfDY5ePpZ81uKLzA` | https://ipfs.io/ipfs/QmVwhF77aVNzRUkMJNLDkeF9BtQMHLnfDY5ePpZ81uKLzA +| `Polygon Mainnet 500` | 137 | `QmRJ1EPhmRDb8SKrPLRXcUBi2weUN8VJ8X9zUtXByC7eJg` | https://ipfs.io/ipfs/QmRJ1EPhmRDb8SKrPLRXcUBi2weUN8VJ8X9zUtXByC7eJg +| `Polygon Mainnet 1000` | 137 | `QmRJ1EPhmRDb8SKrPLRXcUBi2weUN8VJ8X9zUtXByC7eJg` | https://ipfs.io/ipfs/QmaHG3xiRYhxTth7vSTyZCyodBDrtj5hmEMz5DuzaJVKHH +| `Ethereum Mainnet` | 1 | `QmVEt8BqyX7mbPhMNkmhnxL7fLxcXxsReMQcjYMBSHBfy7` | https://ipfs.io/ipfs/QmVEt8BqyX7mbPhMNkmhnxL7fLxcXxsReMQcjYMBSHBfy7 +| `Arbitrum Mainnet` | 42161 | `QmSpr2Q6cMfZ2CvXecH843KtvnG3tzvxZVy1jKphYKd6tf` | https://ipfs.io/ipfs/QmSpr2Q6cMfZ2CvXecH843KtvnG3tzvxZVy1jKphYKd6tf +| `OP Mainnet`| 10 | `QmPkygym9oarrdiTeGBFQqbJcjpv4yHLLXrqQYGqKiXs7s` | https://ipfs.io/ipfs/QmPkygym9oarrdiTeGBFQqbJcjpv4yHLLXrqQYGqKiXs7s +| `Ethereum Mainnet EP7` | 1 | `Qma9Fv7qSahePTd5ACCFG8Jsd3qJqtFUqGmmGKoVqriajp` | https://ipfs.io/ipfs/Qma9Fv7qSahePTd5ACCFG8Jsd3qJqtFUqGmmGKoVqriajp +| `Arbitrum Mainnet EP7` | 42161 | `QmXH8oBNx1EjxYkSWpk8DMcyJgMxCk8Dujz1PswQGdGFyK` | https://ipfs.io/ipfs/QmXH8oBNx1EjxYkSWpk8DMcyJgMxCk8Dujz1PswQGdGFyK +| `OP Mainnet EP7` | 10 | `QmcBcc4nxdGiKyM6RC7fZAUtsYNaAYqfzf9wfNxYmdT9Fc` | https://ipfs.io/ipfs/QmcBcc4nxdGiKyM6RC7fZAUtsYNaAYqfzf9wfNxYmdT9Fc +| `XDC Mainnet EP7` | 50 | `QmTZbek6f737ghbyXMPFcQj2HbBTMvMRxB9A2nA7Qdf57Z` | https://ipfs.io/ipfs/QmTZbek6f737ghbyXMPFcQj2HbBTMvMRxB9A2nA7Qdf57Z diff --git a/p2p-specs/mempools/arbitrum_sepolia.yml b/p2p-specs/mempools/arbitrum_sepolia.yml new file mode 100644 index 0000000..0ac0054 --- /dev/null +++ b/p2p-specs/mempools/arbitrum_sepolia.yml @@ -0,0 +1,5 @@ +chainId: '421614' +entryPointContract: '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789' +description: >- + This is the default/canonical mempool, which will be used by most bundlers on Arbitrum Sepolia Testnet +minimumStake: '0.1' \ No newline at end of file diff --git a/p2p-specs/mempools/goerli_canonical_mempool.yml b/p2p-specs/mempools/goerli_canonical_mempool.yml new file mode 100644 index 0000000..2cfdd52 --- /dev/null +++ b/p2p-specs/mempools/goerli_canonical_mempool.yml @@ -0,0 +1,5 @@ +chainId: '5' +entryPointContract: '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789' +description: >- + This is the default/canonical mempool, which will be used by most bundlers on Goerli Testnet +minimumStake: '0.1' \ No newline at end of file diff --git a/p2p-specs/mempools/mumbai_canonical_mempool.yml b/p2p-specs/mempools/mumbai_canonical_mempool.yml new file mode 100644 index 0000000..02600d5 --- /dev/null +++ b/p2p-specs/mempools/mumbai_canonical_mempool.yml @@ -0,0 +1,5 @@ +chainId: '80001' +entryPointContract: '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789' +description: >- + This is the default/canonical mempool, which will be used by most bundlers on Mumbai Testnet +minimumStake: '0.5' \ No newline at end of file diff --git a/p2p-specs/mempools/polygon_1000.yml b/p2p-specs/mempools/polygon_1000.yml new file mode 100644 index 0000000..7d25f17 --- /dev/null +++ b/p2p-specs/mempools/polygon_1000.yml @@ -0,0 +1,5 @@ +chainId: '137' +entryPointContract: '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789' +description: >- + This is the Polygon mainnet (canonical) mempool which requires a minStake of 1000 MATIC +minimumStake: '1000' \ No newline at end of file diff --git a/p2p-specs/mempools/polygon_500.yml b/p2p-specs/mempools/polygon_500.yml new file mode 100644 index 0000000..e235649 --- /dev/null +++ b/p2p-specs/mempools/polygon_500.yml @@ -0,0 +1,5 @@ +chainId: '137' +entryPointContract: '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789' +description: >- + This is the Polygon mainnet mempool which requires a minStake of 500 MATIC +minimumStake: '500' \ No newline at end of file diff --git a/p2p-specs/mempools/sepolia_canonical_mempool.yml b/p2p-specs/mempools/sepolia_canonical_mempool.yml new file mode 100644 index 0000000..25085fd --- /dev/null +++ b/p2p-specs/mempools/sepolia_canonical_mempool.yml @@ -0,0 +1,5 @@ +chainId: '11155111' +entryPointContract: '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789' +description: >- + This is the default/canonical mempool, which will be used by most bundlers on Sepolia Testnet +minimumStake: '0.1' \ No newline at end of file diff --git a/p2p-specs/p2p-interface.md b/p2p-specs/p2p-interface.md index 70d8a26..e0eff12 100644 --- a/p2p-specs/p2p-interface.md +++ b/p2p-specs/p2p-interface.md @@ -236,7 +236,7 @@ The `mempool-id` of the canonical mempool is `TBD` (IPFS CID string of the yaml/ #### Canonical Mempools -There will be a published list of canonical mempools maintained by the bundler community. This list represents mempools that support the full [ERC-7562](https://github.com/ethereum/ERCs/pull/105) validation rules as well as certain mempool configuration parameters and a specific entry point contract. All bundlers SHOULD support these mempools. User operations that do not require access to alternative mempools will be supported by at least one of these canonical mempools. +There will be a published list of canonical mempools maintained by the bundler community. [This list](https://github.com/eth-infinitism/bundler-spec/blob/main/p2p-specs/canonical-mempools.md) represents mempools that support the full [ERC-7562](https://github.com/ethereum/ERCs/pull/105) validation rules as well as certain mempool configuration parameters and a specific entry point contract. All bundlers SHOULD support these mempools. User operations that do not require access to alternative mempools will be supported by at least one of these canonical mempools. These mempools will be published in precedence order. User operations should be sent ONLY on the first mempool topic which the operation is valid on.