From 9eecb2c4a6596e15c3fb6a2f45f0c860f70374ce Mon Sep 17 00:00:00 2001 From: Parthasarathy Ramanujam <1627026+ch4r10t33r@users.noreply.github.com> Date: Thu, 14 Dec 2023 08:03:20 +0000 Subject: [PATCH 01/11] Added `StrictNoSign` signature policy. Added `StrictNoSign` signature policy to be consistent with the ETH2 spec. --- p2p-specs/p2p-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/p2p-specs/p2p-interface.md b/p2p-specs/p2p-interface.md index 329e16a..5e85482 100644 --- a/p2p-specs/p2p-interface.md +++ b/p2p-specs/p2p-interface.md @@ -139,7 +139,7 @@ This defines both the type of data being sent on the topic and how the data fiel Each gossipsub [message](https://github.com/libp2p/go-libp2p-pubsub/blob/master/pb/rpc.proto#L17-L24) has a maximum size of `GOSSIP_MAX_SIZE`. Bundlers MUST reject (fail validation) messages that are over this size limit. -Likewise, Bundlers MUST NOT emit or propagate messages larger than this limit. +Likewise, Bundlers MUST NOT emit or propagate messages larger than this limit. As in ETH2, Client's MUST enforce the `StrictNoSign` [signature policy](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#why-are-we-using-the-strictnosign-signature-policy) on the messages. The `message-id` of a gossipsub message MUST be the following 20 byte value computed from the message data: * If `message.data` has a valid Snappy decompression, set `message-id` to the first 20 bytes of the `SHA256` hash of From 7557f81019e7b093f5b8666c10b433fd607dd3ee Mon Sep 17 00:00:00 2001 From: Parthasarathy Ramanujam <1627026+ch4r10t33r@users.noreply.github.com> Date: Tue, 9 Jan 2024 18:11:13 +0000 Subject: [PATCH 02/11] Create published_mempools.md --- p2p-specs/published_mempools.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 p2p-specs/published_mempools.md diff --git a/p2p-specs/published_mempools.md b/p2p-specs/published_mempools.md new file mode 100644 index 0000000..5230df2 --- /dev/null +++ b/p2p-specs/published_mempools.md @@ -0,0 +1,4 @@ +List of published canonical mempools + +CHAIN_ID | CHAIN_NAME | MEMPOOL_ID +---------+------------+------------ From a1c9aba0999a5248f778cb4b9c7b4ebfd2360d0e Mon Sep 17 00:00:00 2001 From: Parthasarathy Ramanujam <1627026+ch4r10t33r@users.noreply.github.com> Date: Tue, 9 Jan 2024 18:12:00 +0000 Subject: [PATCH 03/11] Delete p2p-specs/published_mempools.md --- p2p-specs/published_mempools.md | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 p2p-specs/published_mempools.md diff --git a/p2p-specs/published_mempools.md b/p2p-specs/published_mempools.md deleted file mode 100644 index 5230df2..0000000 --- a/p2p-specs/published_mempools.md +++ /dev/null @@ -1,4 +0,0 @@ -List of published canonical mempools - -CHAIN_ID | CHAIN_NAME | MEMPOOL_ID ----------+------------+------------ From 798b91be6f927c3cefe6be6ab4da1357d560687d Mon Sep 17 00:00:00 2001 From: Parthasarathy Ramanujam <1627026+ch4r10t33r@users.noreply.github.com> Date: Tue, 9 Jan 2024 18:37:17 +0000 Subject: [PATCH 04/11] Create canonical-mempools.md --- p2p-specs/canonical-mempools.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 p2p-specs/canonical-mempools.md diff --git a/p2p-specs/canonical-mempools.md b/p2p-specs/canonical-mempools.md new file mode 100644 index 0000000..bc084fb --- /dev/null +++ b/p2p-specs/canonical-mempools.md @@ -0,0 +1,8 @@ +## 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 + From 60b526e0bd7292cf7de2deb2d3addfa1ce58f69d Mon Sep 17 00:00:00 2001 From: ch4r10t33r Date: Mon, 22 Jan 2024 16:45:40 +0000 Subject: [PATCH 05/11] Added the canonical mempool yaml files for 3 networks --- p2p-specs/mempools/goerli_canonical_mempool.yml | 0 p2p-specs/mempools/mumbai_canonical_mempool.yml | 5 +++++ p2p-specs/mempools/sepolia_canonical_mempool.yml | 5 +++++ 3 files changed, 10 insertions(+) create mode 100644 p2p-specs/mempools/goerli_canonical_mempool.yml create mode 100644 p2p-specs/mempools/mumbai_canonical_mempool.yml create mode 100644 p2p-specs/mempools/sepolia_canonical_mempool.yml diff --git a/p2p-specs/mempools/goerli_canonical_mempool.yml b/p2p-specs/mempools/goerli_canonical_mempool.yml new file mode 100644 index 0000000..e69de29 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/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 From 44e97ff16cfd5a76609d3afd2f4e655f96710ae7 Mon Sep 17 00:00:00 2001 From: ch4r10t33r Date: Mon, 22 Jan 2024 17:27:08 +0000 Subject: [PATCH 06/11] Added content for the goerli yaml --- p2p-specs/mempools/goerli_canonical_mempool.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/p2p-specs/mempools/goerli_canonical_mempool.yml b/p2p-specs/mempools/goerli_canonical_mempool.yml index e69de29..2cfdd52 100644 --- a/p2p-specs/mempools/goerli_canonical_mempool.yml +++ 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 From 2d65f72961b4e903f690cb8e0ab0929e7a5c74dc Mon Sep 17 00:00:00 2001 From: ch4r10t33r Date: Mon, 22 Jan 2024 20:37:47 +0000 Subject: [PATCH 07/11] Added link to the canonical mempools in the p2p spec --- p2p-specs/p2p-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/p2p-specs/p2p-interface.md b/p2p-specs/p2p-interface.md index 953cb50..a1088dc 100644 --- a/p2p-specs/p2p-interface.md +++ b/p2p-specs/p2p-interface.md @@ -217,7 +217,7 @@ The `mempool-id` of the canonical mempool is `TBD` (IPFS hash of the yaml/JSON f #### 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. From 141f3a81bc56b5ef0e67b8caa5e919b3b342a38b Mon Sep 17 00:00:00 2001 From: Parthasarathy Ramanujam <1627026+ch4r10t33r@users.noreply.github.com> Date: Thu, 28 Mar 2024 12:49:14 +0000 Subject: [PATCH 08/11] Added the mempool yamls files for Polygon mainnet Added the mempool yamls files for Polygon mainnet --- p2p-specs/mempools/polygon_1000.yml | 5 +++++ p2p-specs/mempools/polygon_500.yml | 5 +++++ 2 files changed, 10 insertions(+) create mode 100644 p2p-specs/mempools/polygon_1000.yml create mode 100644 p2p-specs/mempools/polygon_500.yml 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 From 1afe29d97ff6e09f08e531a5815570c9c866d8dc Mon Sep 17 00:00:00 2001 From: Parthasarathy Ramanujam <1627026+ch4r10t33r@users.noreply.github.com> Date: Sun, 31 Mar 2024 15:46:04 +0100 Subject: [PATCH 09/11] Added the yaml file for Arbitrum sepolia canonical mempool Added the yaml file for Arbitrum sepolia canonical mempool --- p2p-specs/mempools/arbitrum_sepolia.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 p2p-specs/mempools/arbitrum_sepolia.yml 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 From f8ec9f2ec1730948959614e2e0a8d90c69c910ef Mon Sep 17 00:00:00 2001 From: Parthasarathy Ramanujam <1627026+ch4r10t33r@users.noreply.github.com> Date: Sun, 31 Mar 2024 15:53:21 +0100 Subject: [PATCH 10/11] Update canonical-mempools.md --- p2p-specs/canonical-mempools.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/p2p-specs/canonical-mempools.md b/p2p-specs/canonical-mempools.md index bc084fb..d337696 100644 --- a/p2p-specs/canonical-mempools.md +++ b/p2p-specs/canonical-mempools.md @@ -5,4 +5,7 @@ | `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 From a13f6a6057f439e102e065e974e3bb2c43da7462 Mon Sep 17 00:00:00 2001 From: ch4r10t33r Date: Mon, 25 Nov 2024 11:21:48 +0000 Subject: [PATCH 11/11] Published canonical mempool ids --- p2p-specs/canonical-mempools.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/p2p-specs/canonical-mempools.md b/p2p-specs/canonical-mempools.md index bc084fb..a9e7643 100644 --- a/p2p-specs/canonical-mempools.md +++ b/p2p-specs/canonical-mempools.md @@ -5,4 +5,11 @@ | `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 +| `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